/* Restyling scheda cliente coerente con la nuova identità */
.cliente-operativo{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.cliente-operativo .panel,
.cliente-operativo .cliente-toolbar-principale,
.cliente-operativo .cliente-meta-compatta{
  border:1px solid #d8dfeb !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%) !important;
  box-shadow:0 14px 32px rgba(22,34,56,.07) !important;
}

.cliente-toolbar-principale,
.cliente-meta-compatta{
  padding:18px 20px !important;
  margin-bottom:0 !important;
  border-top:0 !important;
  position:relative;
  overflow:hidden;
}
.cliente-toolbar-principale::before,
.cliente-meta-compatta::before,
.cliente-card-operativa::before,
.cliente-operativo .panel[id]::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-900) 0%,var(--brand-600) 100%);
}
.cliente-toolbar-principale::after,
.cliente-meta-compatta::after{
  content:"";
  position:absolute;
  right:-30px;
  top:-30px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,82,119,.10),rgba(59,82,119,0) 66%);
  pointer-events:none;
}

.cliente-actions-title{
  margin:0 0 4px !important;
  color:var(--brand-900) !important;
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:-.03em;
}
.cliente-meta-compatta .cliente-actions-title,
.cliente-toolbar-principale .cliente-actions-title{
  font-size:18px !important;
}
.cliente-actions-help{
  margin:0 0 14px !important;
  color:var(--muted) !important;
  font-weight:700 !important;
  line-height:1.45;
}

.cliente-actions-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
}
.cliente-secondary-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  width:100% !important;
  align-items:stretch !important;
}
.cliente-secondary-grid > .btn,
.cliente-secondary-grid > .inline-form,
.cliente-secondary-grid > a,
.cliente-secondary-grid > button{
  flex:0 0 auto;
}

.cliente-toolbar .tool-btn,
.cliente-toolbar a.tool-btn,
.cliente-toolbar button.tool-btn{
  min-width:0 !important;
  min-height:112px !important;
  padding:16px 14px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5f7fc 100%) !important;
  border:1px solid #d7deea !important;
  color:var(--brand-800) !important;
  box-shadow:0 10px 24px rgba(21,33,54,.08) !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  text-align:left !important;
  gap:10px !important;
}
.cliente-toolbar .tool-btn span{
  font-size:22px !important;
  width:46px;
  height:46px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#eff3fb,#e6ecf8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.cliente-toolbar .tool-btn b{
  font-size:17px !important;
  line-height:1.15;
  font-weight:900 !important;
}
.cliente-toolbar .tool-btn.primary{
  background:linear-gradient(145deg,var(--brand-700) 0%,var(--brand-900) 100%) !important;
  border-color:rgba(40,51,79,.15) !important;
  color:#fff !important;
}
.cliente-toolbar .tool-btn.primary span{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.cliente-toolbar .tool-btn:hover,
.cliente-toolbar a.tool-btn:hover,
.cliente-toolbar button.tool-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 16px 30px rgba(21,33,54,.12) !important;
  border-color:#bfc9d8 !important;
}
.cliente-toolbar .tool-btn.primary:hover{
  box-shadow:0 18px 34px rgba(23,36,59,.18) !important;
}
.cliente-toolbar .tool-btn.disabled{
  opacity:.55 !important;
}

.cliente-meta-compatta .btn,
.cliente-meta-compatta .inline-form button{
  min-height:46px !important;
  border-radius:14px !important;
  padding:10px 14px !important;
}
.cliente-meta-line{
  display:block !important;
  width:100%;
  margin:2px 0 0 !important;
  color:var(--muted) !important;
  font-size:12px !important;
}

.cliente-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 290px !important;
  gap:18px !important;
  align-items:start;
}
.cliente-main{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.cliente-card-operativa{
  position:relative;
  padding:22px !important;
  overflow:hidden;
}
.cliente-anagrafica-completa{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}
.cliente-anagrafica-completa .field-line,
#pannello-accesso-web .field-line{
  min-height:88px !important;
  padding:12px 13px !important;
  border-radius:16px !important;
  border:1px solid #e0e6f0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:6px !important;
}
.cliente-anagrafica-completa .field-line.large{grid-column:span 2 !important;}
.cliente-anagrafica-completa .field-line.email-line{grid-column:span 3 !important;}
.cliente-anagrafica-completa .field-line label,
#pannello-accesso-web .field-line label{
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted) !important;
  font-weight:800 !important;
}
.cliente-anagrafica-completa .field-line b,
#pannello-accesso-web .field-line b{
  font-size:20px !important;
  line-height:1.18 !important;
  color:var(--brand-900) !important;
  font-weight:900 !important;
}
.cliente-anagrafica-completa .field-line.small b,
.cliente-anagrafica-completa .field-line.tiny b{
  font-size:16px !important;
}
.cliente-anagrafica-completa .field-line.codice b{
  color:var(--brand-700) !important;
}
.access-web-inline{
  min-height:88px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid #e0e6f0;
  background:linear-gradient(180deg,#f7f9fc 0%,#ffffff 100%);
}
.access-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.02em;
  background:#eef2f7;
}
.access-status.ok{background:var(--success-100);color:var(--success-700) !important;}
.access-status.ko{background:var(--danger-100);color:var(--danger-700) !important;}

.cliente-avvisi{
  margin-top:14px;
  padding:16px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#f8fafc 0%,#f3f6fb 100%) !important;
  border:1px solid #dde4ef !important;
}
.cliente-avvisi label{
  display:block;
  margin-bottom:8px;
  color:#1b2a45;
  font-weight:900;
}
.cliente-avvisi textarea{
  min-height:110px !important;
  border-radius:15px !important;
  background:#fff !important;
}

.cliente-bottom-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
}
.cliente-bottom-actions .btn,
.cliente-bottom-actions a.btn,
.cliente-bottom-actions .inline-form button{
  min-height:46px !important;
  border-radius:14px !important;
}

.cliente-operativo .panel > h2{
  margin:0 0 14px !important;
  color:var(--brand-900) !important;
  font-size:24px !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.cliente-operativo .panel.warning{
  border-color:#e6d3d9 !important;
  background:linear-gradient(180deg,#fff8fa 0%,#fffdfd 100%) !important;
}

.cliente-side-actions{
  position:sticky !important;
  top:84px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
.cliente-operativo .side-action{
  border-radius:18px !important;
  border:1px solid #d7deea !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  box-shadow:0 12px 26px rgba(22,34,56,.07) !important;
  padding:14px 15px !important;
}
.cliente-operativo .side-action.primary{
  border-left:1px solid #d7deea !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5f7fa 100%) !important;
}
.cliente-operativo .side-action b{
  margin-bottom:6px !important;
  color:var(--brand-900) !important;
  font-size:16px !important;
  font-weight:900 !important;
}
.cliente-operativo .side-action span{
  color:#66748d !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.35;
}
.cliente-operativo .side-action:hover{
  transform:translateY(-2px);
  border-color:#c1cbde !important;
  box-shadow:0 16px 30px rgba(22,34,56,.11) !important;
}

.cliente-operativo .table-wrap{
  border:1px solid #dfe5ef;
  border-radius:18px;
  overflow:auto;
  background:#fff;
}
.cliente-operativo table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.cliente-operativo table th{
  position:sticky;
  top:0;
  background:#f5f7fb;
  color:#51617e;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  border-bottom:1px solid #e1e7f0;
}
.cliente-operativo table th,
.cliente-operativo table td{
  padding:12px 10px;
  vertical-align:top;
}
.cliente-operativo table tbody tr:nth-child(even){
  background:#fbfcfe;
}
.cliente-operativo table tbody tr:hover{
  background:#f4f8fb;
}

@media (max-width: 1180px){
  .cliente-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .cliente-layout{grid-template-columns:1fr !important;}
  .cliente-side-actions{position:static !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 900px){
  .cliente-anagrafica-completa{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cliente-anagrafica-completa .field-line.large,
  .cliente-anagrafica-completa .field-line.email-line{grid-column:span 2 !important;}
}
@media (max-width: 760px){
  .cliente-toolbar-principale,
  .cliente-meta-compatta,
  .cliente-card-operativa,
  .cliente-operativo .panel{padding:16px !important; border-radius:20px !important;}
  .cliente-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cliente-secondary-grid{display:grid !important; grid-template-columns:1fr !important;}
  .cliente-secondary-grid > *{width:100% !important;}
  .cliente-side-actions{grid-template-columns:1fr !important;}
}
@media (max-width: 560px){
  .cliente-anagrafica-completa{grid-template-columns:1fr !important;}
  .cliente-anagrafica-completa .field-line.large,
  .cliente-anagrafica-completa .field-line.email-line{grid-column:auto !important;}
  .cliente-actions-grid{grid-template-columns:1fr !important;}
  .cliente-toolbar .tool-btn,
  .cliente-toolbar a.tool-btn,
  .cliente-toolbar button.tool-btn{min-height:92px !important;}
}
