/* =====================================================================
   acw_v3.css  -  AreaClientiWEB - Grammatica grafica centralizzata V3
   ---------------------------------------------------------------------
   Foglio CONDIVISO (ACW + RENT + futuro). ADDITIVO: convive col legacy,
   non sostituisce style.css. Nessuna pagina lo carica finche' non viene
   collegata esplicitamente (a partire da admin_accesso).
   Sorgente grammatica .acc-*: admin_accesso.php (banco di prova V3).
   Rosso unificato: #cc232a (campionato dal logo) al posto del vecchio #be123c.
   ===================================================================== */

:root{
  /* brand / azione */
  --acc-blu:#1f6fb2; --acc-blu-h:#1a5f9c; --acc-blu-2:#2980b9;
  /* guscio grafite */
  --navy:#2a2e36; --navy-2:#343b46; --navy-line:rgba(255,255,255,.08); --navy-ink:#d4dae3; --navy-ink-dim:#9aa3b4;
  /* marchio */
  --brand-red:#cc232a;
  /* stati */
  --acc-ok:#15803d; --acc-warn:#b45309; --acc-danger:#cc232a; --acc-info:#1f6fb2;
  /* neutri */
  --acc-ink:#1f242c; --acc-slate:15,23,42; --acc-head:#3d5573;
  /* forma — Regola R1 */
  --acc-radius:6px; --acc-radius-sm:4px;
  /* ombre */
  --shadow-soft:0 2px 8px rgba(15,23,42,.06); --shadow-raise:0 10px 24px rgba(2,6,23,.10);
  /* misure layout — Regola R6 */
  --hh:100px; --sw:260px; --logo-h:60px; --wrap:1360px;
  /* alias compat (rimovibili a fine bonifica) */
  --acc-grafite:var(--navy); --acc-grafite-2:var(--navy-2); --acc-r:var(--acc-radius);
  --acc-hh:var(--hh); --acc-sw:var(--sw); --acc-logo-h:var(--logo-h); --acc-wrap:var(--wrap);
}

/* ===== Grammatica .acc-* (da admin_accesso, invariata salvo rosso) ===== */
  /* i pannelli azione (cambia ruolo / sospendi / reimposta / aggiungi) nascono CHIUSI e si aprono UNO ALLA VOLTA al clic */
  [hidden]{display:none !important;}
  .acc-pactions button.is-on{border-color:#1f6fb2;color:#1f6fb2;background:rgba(31,111,178,.07);}
  .acc-pcard{border:1px solid rgba(31,111,178,.22);background:rgba(31,111,178,.04);border-radius:8px;padding:12px 14px;margin-bottom:10px;}
  .acc-pcard .acc-persona{border-top:none;padding:0;}
  .acc-statebadge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:4px;}
  .acc-statebadge .acc-dot{width:7px;height:7px;border-radius:50%;}
  .acc-statebadge.is-att{color:#15803d;background:rgba(21,128,61,.10);} .acc-statebadge.is-att .acc-dot{background:#15803d;}
  .acc-statebadge.is-sus{color:#cc232a;background:rgba(204,35,42,.09);} .acc-statebadge.is-sus .acc-dot{background:#cc232a;}
  .acc-statebadge.is-neu{color:rgba(15,23,42,.62);background:rgba(15,23,42,.06);} .acc-statebadge.is-neu .acc-dot{background:rgba(15,23,42,.45);}
  .acc-statebadge.is-inline{margin-left:0;}
  .acc-codestat{border:1px solid rgba(15,23,42,.12);background:rgba(15,23,42,.025);border-radius:8px;padding:8px 12px;margin:2px 0 12px;}
  .acc-srow{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;padding:4px 0;}
  .acc-srow .acc-k{color:rgba(15,23,42,.55);}
  .acc-sval-ok{color:#15803d;font-weight:700;display:inline-flex;align-items:center;gap:5px;}
  .acc-sval-warn{color:#b45309;font-weight:700;display:inline-flex;align-items:center;gap:5px;}
  .acc-sval-ok svg,.acc-sval-warn svg{width:14px;height:14px;flex:0 0 auto;}
  .acc-susnote{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#cc232a;font-weight:700;padding-bottom:7px;margin-bottom:5px;border-bottom:1px solid rgba(204,35,42,.18);}
  .acc-susnote svg{width:14px;height:14px;flex:0 0 auto;}
  .acc-wrap{max-width:1140px;}
  /* icone nei tasti: ereditano colore (currentColor) e si dimensionano qui */
  .acc-actions button svg,.acc-pactions button svg,.acc-confirm-a button svg,.acc-send svg,.acc-padd>button svg,.acc-pinline button svg,.acc-esito-pwd button svg{width:14px;height:14px;vertical-align:-2px;margin-right:5px;}
  /* i 3 tasti del codice riempiono la riga -> bordo destro simmetrico col riquadro sopra */
  .acc-actions button{flex:1;white-space:nowrap;}
  /* STEP 2: accesso ai servizi come INTERRUTTORI che si salvano da soli (no form, no bottone) */
  .acc-svcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin:2px 0 4px;}
  .acc-svcbox{display:flex;align-items:center;gap:10px;border:1px solid rgba(15,23,42,.12);border-radius:8px;padding:9px 12px;background:#fff;cursor:pointer;}
  .acc-svcico{display:inline-flex;color:#1f6fb2;flex:0 0 auto;}
  .acc-svcico svg{width:18px;height:18px;}
  .acc-svclbl{flex:1;font-size:13px;font-weight:700;color:#1f242c;line-height:1.25;}
  .acc-switch{position:relative;display:inline-block;width:38px;height:21px;flex:0 0 auto;}
  .acc-switch input{position:absolute;opacity:0;width:0;height:0;}
  .acc-slider{position:absolute;inset:0;background:rgba(15,23,42,.22);border-radius:21px;transition:background .15s;}
  .acc-slider::before{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s;}
  .acc-switch input:checked + .acc-slider{background:#15803d;}
  .acc-switch input:checked + .acc-slider::before{transform:translateX(17px);}
  .acc-svcmsg{font-size:11px;font-weight:800;white-space:nowrap;}
  .acc-svcmsg.is-saving{color:rgba(15,23,42,.45);}
  .acc-svcmsg.is-ok{color:#15803d;}
  .acc-svcmsg.is-err{color:#b42318;white-space:normal;}
  .acc-svctoggle:disabled + .acc-slider{opacity:.6;}
  /* FASE 2: servizi PER-PERSONA (eredita / personalizza) */
  .acc-psvc{margin-top:8px;border-top:1px solid rgba(31,111,178,.18);padding-top:11px;}
  .acc-psvc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;flex-wrap:wrap;}
  .acc-psvc-ttl{font-size:12.5px;font-weight:800;color:rgba(15,23,42,.6);}
  .acc-modeseg{display:inline-flex;border:1px solid rgba(31,111,178,.30);border-radius:6px;overflow:hidden;}
  .acc-modebtn{font-size:12px;font-weight:800;padding:4px 13px;border:none;background:#fff;color:#1f6fb2;cursor:pointer;}
  .acc-modebtn + .acc-modebtn{border-left:1px solid rgba(31,111,178,.30);}
  .acc-modebtn.is-on{background:#1f6fb2;color:#fff;}
  .acc-psvc-note{font-size:12px;color:rgba(15,23,42,.55);margin-bottom:9px;}
  .acc-psvc-erow{display:flex;align-items:center;gap:9px;padding:5px 2px;border-top:1px solid rgba(15,23,42,.06);}
  .acc-psvc-erow:first-of-type{border-top:none;}
  .acc-psvc-lbl{flex:1;font-size:13px;font-weight:700;color:#1f242c;}
  .acc-psvc-pill{font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:4px;white-space:nowrap;}
  .acc-psvc-pill.is-on{color:#15803d;background:rgba(21,128,61,.10);}
  .acc-psvc-pill.is-off{color:rgba(15,23,42,.5);background:rgba(15,23,42,.06);}
  .acc-psvc-box{cursor:pointer;margin-bottom:7px;}
  .acc-psvc-box.is-diff{border-color:#1f6fb2;background:rgba(31,111,178,.06);}
  .acc-psvc-box.is-capped{opacity:.62;}
  .acc-psvc-ref{display:block;font-size:11px;font-weight:600;color:rgba(15,23,42,.45);}
  .acc-psvc-cap{font-size:10.5px;font-weight:800;color:#b45309;white-space:nowrap;}
  .acc-psvc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;flex-wrap:wrap;}
  .acc-psvc-hint{font-size:11px;color:rgba(31,111,178,.75);font-weight:700;}
  .acc-psvc-reset{font-size:12px;font-weight:800;padding:4px 10px;border:1px solid rgba(15,23,42,.18);border-radius:5px;background:#fff;color:rgba(15,23,42,.6);cursor:pointer;}
  .acc-psvc-reset:hover{border-color:rgba(204,35,42,.4);color:#cc232a;}
  .acc-psvc-reset svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px;}
  .acc-search{display:flex;gap:10px;margin:4px 0 4px;flex-wrap:wrap;align-items:center;}
  .acc-search input[type=text]{flex:1;min-width:240px;padding:11px 14px;border:1px solid rgba(31,111,178,.30);border-radius:6px;font-size:15px;}
  .acc-tahost{position:relative;flex:1;min-width:240px;}
  .acc-tahost input[type=text]{width:100%;min-width:0;box-sizing:border-box;}
  .acc-sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:#fff;border:1px solid rgba(31,111,178,.25);border-radius:6px;box-shadow:0 8px 24px rgba(15,23,42,.12);overflow:hidden;}
  .acc-sitem{display:flex;align-items:center;gap:11px;padding:9px 12px;text-decoration:none;color:inherit;border-top:1px solid rgba(15,23,42,.06);}
  .acc-sitem:first-child{border-top:none;}
  .acc-sitem:hover,.acc-sitem.is-sel{background:rgba(31,111,178,.06);}
  .acc-savatar{width:32px;height:32px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.08);flex:0 0 auto;}
  .acc-sinit{display:flex;align-items:center;justify-content:center;background:rgba(31,111,178,.10);color:#1f6fb2;font-weight:800;font-size:12px;border:none;}
  .acc-sinfo{flex:1;min-width:0;}
  .acc-sname{display:block;font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .acc-ssub{display:block;font-size:12px;color:rgba(15,23,42,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .acc-go{padding:11px 18px;border:none;border-radius:6px;background:#1f6fb2;color:#fff;font-size:14px;font-weight:700;cursor:pointer;}
  .acc-go:hover{background:#1a5f9c;}
  .acc-clear{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(15,23,42,.16);border-radius:6px;background:#fff;color:rgba(15,23,42,.6);font-size:13px;font-weight:700;text-decoration:none;}
  .acc-clear:hover{border-color:rgba(15,23,42,.30);background:rgba(15,23,42,.03);}
  .acc-hint{font-size:12px;color:rgba(15,23,42,.5);margin-bottom:18px;}
  .acc-sub{font-size:13.5px;color:rgba(15,23,42,.6);line-height:1.5;}
  .acc-card{background:#fff;border:1px solid rgba(31,111,178,.16);border-radius:6px;padding:18px 20px;margin-bottom:18px;}
  .acc-head{display:flex;align-items:center;gap:13px;margin-bottom:16px;}
  .acc-ava{width:46px;height:46px;border-radius:6px;background:rgba(31,111,178,.10);color:#1f6fb2;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:0 0 auto;}
  .acc-logo{width:46px;height:46px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.08);flex:0 0 auto;}
  .acc-badge{font-size:12px;font-weight:800;padding:4px 11px;border-radius:4px;background:rgba(31,111,178,.08);color:#1f6fb2;}
  .acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
  .acc-box{border:1px solid rgba(15,23,42,.10);border-radius:6px;padding:14px 16px;}
  .acc-box h3{margin:0 0 10px;font-size:14px;font-weight:800;color:var(--acc-head);display:flex;align-items:center;gap:7px;}
  .acc-box h3 svg{width:16px;height:16px;color:var(--acc-blu);}
  .acc-row{font-size:14px;line-height:1.95;}
  .acc-k{color:rgba(15,23,42,.5);}
  .acc-ok{color:#15803d;font-weight:700;}
  .acc-warn{color:#b45309;font-weight:700;}
  .acc-no{color:rgba(15,23,42,.4);}
  .acc-persona{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid rgba(15,23,42,.07);}
  .acc-pname{font-weight:700;}
  .acc-prole{font-size:12px;color:#1f6fb2;font-weight:700;white-space:nowrap;}
  .acc-psub{font-size:12px;color:rgba(15,23,42,.5);}
  .acc-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
  .acc-actions button{font-size:12px;padding:5px 12px;border-radius:4px;border:1px solid rgba(15,23,42,.16);background:#fff;color:rgba(15,23,42,.5);cursor:not-allowed;}
  .acc-soon{font-size:12px;color:rgba(15,23,42,.45);margin-top:7px;}
  .acc-services{display:flex;flex-wrap:wrap;gap:8px;}
  .acc-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid;border-radius:4px;font-size:13px;font-weight:700;}
  .acc-chip svg{width:14px;height:14px;}
  .acc-chip--on{border-color:rgba(21,128,61,.30);color:#15803d;background:rgba(21,128,61,.05);}
  .acc-chip--off{border-color:rgba(15,23,42,.14);color:rgba(15,23,42,.42);background:#fff;}
  .acc-results{display:flex;flex-direction:column;gap:8px;}
  .acc-result{display:flex;align-items:center;gap:12px;border:1px solid rgba(15,23,42,.12);border-radius:6px;padding:11px 14px;background:#fff;text-decoration:none;color:inherit;}
  .acc-result:hover{border-color:rgba(31,111,178,.45);background:rgba(31,111,178,.03);}
  .acc-rlogo{width:38px;height:38px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.08);flex:0 0 auto;}
  .acc-rava{width:38px;height:38px;border-radius:6px;background:rgba(31,111,178,.10);color:#1f6fb2;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 auto;}
  .acc-rinfo{flex:1;min-width:0;}
  .acc-rname{display:block;font-weight:700;}
  .acc-rsub{display:block;font-size:12.5px;color:rgba(15,23,42,.55);}
  .acc-rchev{width:18px;height:18px;color:rgba(15,23,42,.4);flex:0 0 auto;}
  .acc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:2px 0 18px;}
  .acc-tile{display:block;text-decoration:none;color:inherit;border:1px solid rgba(15,23,42,.12);border-radius:6px;padding:13px 15px;background:#fff;}
  .acc-tile:hover{border-color:rgba(31,111,178,.45);background:rgba(31,111,178,.03);}
  .acc-tile.is-active{border:2px solid rgba(31,111,178,.55);}
  .acc-tile svg{width:19px;height:19px;color:#1f6fb2;}
  .acc-tile .tt{font-size:13.5px;font-weight:800;margin-top:6px;}
  .acc-tile .td{font-size:12px;color:rgba(15,23,42,.55);}
  .acc-th{margin:0 0 12px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px;}
  .acc-th svg{width:16px;height:16px;color:#1f6fb2;}
  .acc-tab{width:100%;border-collapse:collapse;font-size:13.5px;}
  .acc-tab th{text-align:left;font-weight:800;color:rgba(15,23,42,.5);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:6px 10px;border-bottom:1px solid rgba(15,23,42,.12);}
  .acc-tab td{padding:8px 10px;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:top;}
  .acc-tab td:first-child{color:rgba(15,23,42,.55);white-space:nowrap;}
  .acc-tab td:nth-child(2){font-weight:700;white-space:nowrap;}
  .acc-empty{color:rgba(15,23,42,.5);font-size:14px;padding:8px 0;}
  .acc-pager{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08);}
  .acc-pager button{padding:5px 12px;border:1px solid rgba(15,23,42,.16);border-radius:4px;background:#fff;color:rgba(15,23,42,.7);font-size:13px;font-weight:700;cursor:pointer;}
  .acc-pager button:disabled{opacity:.4;cursor:default;}
  .acc-pg-lbl{color:rgba(15,23,42,.55);font-size:13px;}
  .acc-actions button.acc-pri{font-size:12.5px;font-weight:800;padding:6px 14px;border:1px solid #1f6fb2;background:#1f6fb2;color:#fff;cursor:pointer;border-radius:5px;}
  .acc-actions button.acc-pri:hover{background:#1a5f9c;}
  .acc-actions button.acc-pri:disabled{opacity:.5;cursor:default;}
  .acc-confirm{margin-top:12px;border:1px solid rgba(180,83,9,.35);background:rgba(180,83,9,.05);border-radius:7px;padding:13px 15px;}
  .acc-confirm-h{display:flex;align-items:center;gap:7px;font-weight:800;font-size:14px;margin-bottom:5px;}
  .acc-confirm-h svg{width:17px;height:17px;color:#b45309;flex:0 0 auto;}
  .acc-confirm-t{font-size:13px;color:rgba(15,23,42,.7);line-height:1.5;margin-bottom:12px;}
  .acc-confirm-a{display:flex;gap:8px;justify-content:flex-end;}
  .acc-confirm-a button{padding:6px 14px;border:1px solid rgba(15,23,42,.18);border-radius:5px;background:#fff;color:rgba(15,23,42,.75);font-size:13px;font-weight:700;cursor:pointer;}
  .acc-confirm-a button.acc-cdanger{border-color:rgba(204,35,42,.5);color:#cc232a;}
  .acc-confirm-a button.acc-cdanger:hover{background:rgba(204,35,42,.06);}
  .acc-esito{margin-top:12px;border:1px solid rgba(15,23,42,.12);border-radius:7px;padding:13px 15px;background:#fff;}
  .acc-esito.ok{border-color:rgba(21,128,61,.32);background:rgba(21,128,61,.04);}
  .acc-esito.err{border-color:rgba(204,35,42,.4);background:rgba(204,35,42,.05);color:#cc232a;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;}
  .acc-esito.err svg{width:18px;height:18px;flex:0 0 auto;}
  .acc-esito-h{display:flex;align-items:center;gap:7px;font-weight:800;font-size:14px;color:#15803d;margin-bottom:11px;}
  .acc-esito-h svg{width:18px;height:18px;color:#15803d;flex:0 0 auto;}
  .acc-esito-pwd{display:flex;align-items:center;gap:10px;background:rgba(15,23,42,.04);border-radius:6px;padding:9px 12px;margin-bottom:11px;flex-wrap:wrap;}
  .acc-esito-pwd code{font-family:Consolas,Menlo,monospace;font-size:15px;font-weight:700;letter-spacing:.5px;color:#1f242c;}
  .acc-esito-pwd button{margin-left:auto;padding:3px 11px;border:1px solid rgba(15,23,42,.18);border-radius:4px;background:#fff;font-size:12.5px;font-weight:700;cursor:pointer;color:rgba(15,23,42,.7);}
  .acc-esito-pwd button:hover{border-color:#1f6fb2;color:#1f6fb2;}
  .acc-esito-send{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:9px;}
  .acc-send{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border:1px solid rgba(15,23,42,.16);border-radius:5px;background:#fff;color:rgba(15,23,42,.8);font-size:13px;font-weight:700;text-decoration:none;}
  .acc-send:hover{border-color:#1f6fb2;color:#1f6fb2;}
  .acc-esito-note{font-size:12px;color:rgba(15,23,42,.5);}
  /* tasti persona su DUE righe (3 + 2): wrap + un break a tutta larghezza dopo "servizi"; flex:1 riempie ogni riga */
  .acc-pactions{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 2px;}
  .acc-pactions button{flex:1;font-size:12px;padding:5px 10px;border-radius:4px;border:1px solid rgba(15,23,42,.16);background:#fff;color:rgba(15,23,42,.72);cursor:pointer;white-space:nowrap;}
  .acc-pbreak{flex:0 0 100%;height:0;}
  .acc-pactions button:hover{border-color:#1f6fb2;color:#1f6fb2;}
  .acc-pactions button.acc-del{color:#cc232a;border-color:rgba(204,35,42,.30);}
  .acc-pactions button.acc-del:hover,.acc-pactions button.acc-del.is-on{border-color:#cc232a;color:#cc232a;background:rgba(204,35,42,.06);}
  .acc-pinline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:2px 0 10px;padding:10px 12px;background:rgba(15,23,42,.03);border-radius:6px;}
  .acc-pinline select{padding:5px 8px;border:1px solid rgba(15,23,42,.2);border-radius:5px;font-size:13px;background:#fff;}
  .acc-pinline input[type=text],.acc-pinline input[type=email]{padding:5px 8px;border:1px solid rgba(15,23,42,.2);border-radius:5px;font-size:13px;background:#fff;min-width:200px;}
  .acc-pinline button{font-size:12.5px;padding:5px 12px;border-radius:5px;border:1px solid rgba(15,23,42,.18);background:#fff;color:rgba(15,23,42,.72);cursor:pointer;}
  button.acc-pri2{border:1px solid #1f6fb2;color:#fff;background:#1f6fb2;font-weight:700;cursor:pointer;}
  button.acc-pri2:hover{background:#1a5f9c;}
  .acc-padd{margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08);}
  .acc-padd>button.acc-pri{font-size:12.5px;font-weight:800;padding:6px 13px;border:1px solid #1f6fb2;background:#1f6fb2;color:#fff;border-radius:5px;cursor:pointer;}
  .acc-padd>button.acc-pri i{font-style:normal;}
  .acc-paddform{margin-top:11px;padding:13px 15px;border:1px solid rgba(15,23,42,.12);border-radius:7px;background:#fff;}
  .acc-paddgrid{display:grid;grid-template-columns:auto 1fr;gap:9px 10px;align-items:center;max-width:380px;}
  .acc-paddgrid label{font-size:12.5px;color:rgba(15,23,42,.6);}
  .acc-paddgrid input,.acc-paddgrid select{padding:7px 10px;border:1px solid rgba(15,23,42,.2);border-radius:5px;font-size:13.5px;width:100%;box-sizing:border-box;background:#fff;}

/* ============================================================
   V3-GUSCIO-ADMIN-ACCESSO  —  skin guscio (header + sidebar)
   Additivo, attivo SOLO con body.acw-v3 (oggi: admin_accesso in Formazione).
   Sopra il legacy (style.css + sidebar_premium inline). Niente PHP/JS.
   Riferimento bloccato: _ACW_V3_REF/acw_v2_admin_accesso_guscio_preload.html
   NOTA: sezione HEADER scritta con valori LETTERALI (niente var()/calc() nel
   gradiente) perche' un gradiente con calc()/stop "0" veniva scartato dal browser.
   ============================================================ */
body.acw-v3{--navy:#2a2e36;--navy-2:#343b46;--navy-line:rgba(255,255,255,.08);--navy-ink:#d4dae3;--navy-ink-dim:#9aa3b4;--g-blu:#1f6fb2;--g-hh:100px;--g-sw:260px;--g-logo:60px;--g-r:6px;}

/* ---------- HEADER: .top-bar = corpo grafite->bianco, riquadro logo grafite (LETTERALE) ---------- */
body.acw-v3 .top-bar{background:linear-gradient(90deg,#2a2e36 0px,#2a2e36 262px,#2e333c 292px,#454c57 322px,#6f7682 354px,#a9aeb8 388px,#dfe3e9 420px,#ffffff 470px) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border-bottom:1px solid rgba(31,111,178,.20) !important;box-shadow:none !important;}
body.acw-v3 .top-bar-inner{display:flex !important;align-items:center !important;gap:0 !important;width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;height:100px !important;}
body.acw-v3 .top-bar-inner>.brand{flex:0 0 260px !important;justify-self:auto !important;height:100px !important;margin:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;background:#2a2e36 !important;min-width:0 !important;}
body.acw-v3 .brand img.logo-small{height:70px !important;width:auto !important;max-width:none !important;background:#ffffff !important;border-radius:6px !important;padding:9px 16px !important;backdrop-filter:none !important;box-shadow:0 10px 26px rgba(0,0,0,.28),inset 0 1px 2px rgba(255,255,255,.55) !important;}
body.acw-v3 .brand img.logo-small:hover{transform:none !important;}
body.acw-v3 .brand-name{display:none !important;}

/* orologio = chip bianco discreto, subito dopo il logo */
body.acw-v3 .header-clock{width:auto !important;height:auto !important;min-width:96px !important;aspect-ratio:auto !important;justify-self:auto !important;margin:0 0 0 22px !important;flex:0 0 auto !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;background:#ffffff !important;border:1px solid rgba(15,23,42,.08) !important;border-radius:6px !important;backdrop-filter:none !important;box-shadow:0 1px 3px rgba(15,23,42,.05) !important;padding:6px 13px !important;}
body.acw-v3 .clock-time{font-size:17px !important;font-weight:800 !important;letter-spacing:.3px !important;color:#1f242c !important;line-height:1 !important;}
body.acw-v3 .clock-day{font-size:9.5px !important;font-weight:700 !important;color:rgba(15,23,42,.55) !important;margin-top:3px !important;text-transform:capitalize !important;}
body.acw-v3 .clock-date{font-size:9px !important;color:rgba(15,23,42,.45) !important;opacity:1 !important;margin-top:1px !important;}

/* area utente a destra: logo cliente se presente (come legacy), poi saluto+nome, badge */
body.acw-v3 .user-box{justify-self:auto !important;margin-left:auto !important;margin-right:26px !important;gap:12px !important;min-width:0 !important;}
body.acw-v3 .client-identity{gap:11px !important;}
body.acw-v3 .client-logo-img{width:42px !important;height:42px !important;border-radius:6px !important;padding:3px !important;background:#ffffff !important;object-fit:contain !important;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08) !important;}
body.acw-v3 .client-logo-img:hover{transform:none !important;filter:none !important;}
body.acw-v3 .client-icon-svg{width:42px !important;height:42px !important;}
body.acw-v3 .user-hello{font-size:12.5px !important;color:rgba(15,23,42,.55) !important;opacity:1 !important;}
body.acw-v3 .user-name{font-size:clamp(15px,1.18vw,18px) !important;font-weight:800 !important;color:#1f242c !important;}
body.acw-v3 .online-icon,body.acw-v3 .notif-icon{width:40px !important;height:40px !important;border-radius:6px !important;background:rgba(15,23,42,.05) !important;color:rgba(15,23,42,.6) !important;border:1px solid rgba(15,23,42,.06) !important;}
body.acw-v3 .online-icon:hover,body.acw-v3 .notif-icon:hover{background:rgba(31,111,178,.08) !important;color:#1f6fb2 !important;border-color:rgba(31,111,178,.18) !important;box-shadow:none !important;}
body.acw-v3 .notif-badge{background:#cc232a !important;}
body.acw-v3 .online-badge{background:#15803d !important;}
body.acw-v3 .logout-icon{border-radius:6px !important;}

/* ---------- SIDEBAR: .acw-sidebar = grafite, fissa, sempre aperta 260 ---------- */
body.acw-v3 .acw-sidebar{left:0 !important;top:100px !important;width:260px !important;height:calc(100vh - 100px) !important;border:0 !important;border-radius:0 !important;background:#2a2e36 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:2px 0 0 rgba(0,0,0,.04) !important;padding:14px 12px !important;}
body.acw-v3 .acw-sidebar::before,body.acw-v3 .acw-sidebar::after{display:none !important;}
body.acw-v3 .acw-sidebar-inner{padding:0 !important;}
body.acw-v3 .acw-sb-top{padding:0 !important;}
body.acw-v3 .acw-sb-topbox{background:transparent !important;border:0 !important;box-shadow:none !important;justify-content:flex-start !important;padding:4px 11px 2px !important;}
body.acw-v3 .acw-sb-app-abbr{display:none !important;}
body.acw-v3 .acw-sb-app-meta{display:flex !important;align-items:flex-start !important;text-align:left !important;}
body.acw-v3 .acw-sb-app-title{color:#ffffff !important;font-weight:800 !important;font-size:15px !important;letter-spacing:.2px !important;}
body.acw-v3 .acw-sb-app-release{color:#9aa3b4 !important;font-size:11px !important;font-weight:700 !important;opacity:1 !important;}
body.acw-v3 .acw-sb-top-sep{border-color:rgba(255,255,255,.08) !important;margin:6px 8px 8px !important;}
body.acw-v3 .acw-sidebar-controls{display:none !important;}
body.acw-v3 .acw-sidebar-nav{scrollbar-width:none !important;-ms-overflow-style:none !important;}
body.acw-v3 .acw-sidebar-nav::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;}
body.acw-v3 .acw-sb-link{justify-content:flex-start !important;color:#d4dae3 !important;background:transparent !important;border:1px solid transparent !important;border-radius:6px !important;padding:9px 11px !important;font-size:13.5px !important;font-weight:600 !important;box-shadow:none !important;transform:none !important;}
body.acw-v3 .acw-sb-label{display:inline !important;color:#d4dae3 !important;font-weight:600 !important;}
body.acw-v3 .acw-sb-ico{color:#d4dae3 !important;opacity:.92 !important;}
body.acw-v3 .acw-sb-caret{display:inline !important;color:#9aa3b4 !important;}
body.acw-v3 .acw-sb-link:hover{background:rgba(255,255,255,.06) !important;color:#ffffff !important;border-color:transparent !important;box-shadow:none !important;transform:none !important;}
body.acw-v3 .acw-sb-link:hover .acw-sb-label,body.acw-v3 .acw-sb-link:hover .acw-sb-ico{color:#ffffff !important;}
body.acw-v3 .acw-sb-item.is-active>.acw-sb-link{background:#1f6fb2 !important;border-color:rgba(255,255,255,.14) !important;box-shadow:0 8px 20px rgba(31,111,178,.32) !important;}
body.acw-v3 .acw-sb-item.is-active>.acw-sb-link .acw-sb-label,body.acw-v3 .acw-sb-item.is-active>.acw-sb-link .acw-sb-ico{color:#ffffff !important;}
body.acw-v3 .acw-sb-sub{background:transparent !important;border:0 !important;border-left:1px solid rgba(255,255,255,.08) !important;border-radius:0 !important;margin:2px 0 4px 32px !important;padding:0 0 0 7px !important;box-shadow:none !important;}
body.acw-v3 .acw-sb-sub-link{color:#9aa3b4 !important;font-size:12.5px !important;font-weight:600 !important;}
body.acw-v3 .acw-sb-sub-link:hover{background:rgba(255,255,255,.05) !important;color:#ffffff !important;}
body.acw-v3 .acw-sb-sub-item.is-active .acw-sb-sub-link{color:#ffffff !important;background:rgba(31,111,178,.30) !important;}
body.acw-v3 .acw-sidebar-bottom,body.acw-v3 .acw-sidebar-bottom-exit{border-color:rgba(255,255,255,.08) !important;}
body.acw-v3 .acw-sb-link.acw-accent-green:hover,body.acw-v3 .acw-sb-link.acw-accent-green:hover .acw-sb-label,body.acw-v3 .acw-sb-link.acw-accent-green:hover .acw-sb-ico{color:#34d27a !important;}
body.acw-v3 .acw-sb-link.acw-accent-red:hover,body.acw-v3 .acw-sb-link.acw-accent-red:hover .acw-sb-label,body.acw-v3 .acw-sb-link.acw-accent-red:hover .acw-sb-ico{color:#ff6b6b !important;}

/* ---------- contenuto: spazio per la sidebar fissa 260 ---------- */
body.acw-v3.acw-has-sidebar .content{padding-left:284px !important;}
/* larghezza "blocco centrale" V3 = 1360 (grammatica V3), promossa a TUTTE le pagine V3 tranne il login (card centrata) */
body.acw-v3:not(.login-page) .content{max-width:1360px !important;}
@media (max-width:979px){body.acw-v3.acw-has-sidebar .content{padding-left:16px !important;}}

/* ---- icone validate (swap via CSS mask, scopato body.acw-v3 — niente markup, niente Produzione) ---- */
body.acw-v3 .acw-sb-link[data-tip="Dashboard"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Dashboard"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="Pratiche"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Pratiche"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M9%203h6l1%202h3a2%202%200%200%201%202%202v12a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V7a2%202%200%200%201%202-2h3l1-2z%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M7.5%2012h9M7.5%2016h6.5%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M9%203h6l1%202h3a2%202%200%200%201%202%202v12a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V7a2%202%200%200%201%202-2h3l1-2z%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M7.5%2012h9M7.5%2016h6.5%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="Servizi"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Servizi"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%207V5a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M3%2012h18%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%207V5a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M3%2012h18%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="Impostazioni"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Impostazioni"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M12%2015.2a3.2%203.2%200%201%200%200-6.4%203.2%203.2%200%200%200%200%206.4z%27%2F%3E%3Cpath%20d%3D%27M19.4%2013a7.9%207.9%200%200%200%200-2l2-1.2-2-3.4-2.3.6a7.8%207.8%200%200%200-1.7-1L15%203h-4l-.4%202.9a7.8%207.8%200%200%200-1.7%201L6.6%206.3l-2%203.4L6.6%2011a7.9%207.9%200%200%200%200%202l-2%201.2%202%203.4%202.3-.6a7.8%207.8%200%200%200%201.7%201L11%2021h4l.4-2.9a7.8%207.8%200%200%200%201.7-1l2.3.6%202-3.4-2-1.2z%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M12%2015.2a3.2%203.2%200%201%200%200-6.4%203.2%203.2%200%200%200%200%206.4z%27%2F%3E%3Cpath%20d%3D%27M19.4%2013a7.9%207.9%200%200%200%200-2l2-1.2-2-3.4-2.3.6a7.8%207.8%200%200%200-1.7-1L15%203h-4l-.4%202.9a7.8%207.8%200%200%200-1.7%201L6.6%206.3l-2%203.4L6.6%2011a7.9%207.9%200%200%200%200%202l-2%201.2%202%203.4%202.3-.6a7.8%207.8%200%200%200%201.7%201L11%2021h4l.4-2.9a7.8%207.8%200%200%200%201.7-1l2.3.6%202-3.4-2-1.2z%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="WhatsApp"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="WhatsApp"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%3E%3Cpath%20d%3D%27M12%202a10%2010%200%200%200-8.6%2015l-1.3%204.9%205-1.3A10%2010%200%201%200%2012%202zm0%2018a8%208%200%200%201-4.1-1.1l-.3-.2-3%20.8.8-2.9-.2-.3A8%208%200%201%201%2012%2020zm4.4-6c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.5.1-.6.8-.8%201-.3.2-.5.1a6.5%206.5%200%200%201-3.2-2.8c-.2-.4.2-.4.6-1.2a.4.4%200%200%200%200-.4l-.8-1.8c-.2-.5-.4-.4-.5-.4h-.5a.9.9%200%200%200-.7.3%202.8%202.8%200%200%200-.9%202.1%204.9%204.9%200%200%200%201%202.6%2011%2011%200%200%200%204.3%203.8c1.6.6%201.9.5%202.3.5a2.4%202.4%200%200%200%201.6-1.1%202%202%200%200%200%20.1-1.1c0-.1-.2-.2-.4-.3z%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%3E%3Cpath%20d%3D%27M12%202a10%2010%200%200%200-8.6%2015l-1.3%204.9%205-1.3A10%2010%200%201%200%2012%202zm0%2018a8%208%200%200%201-4.1-1.1l-.3-.2-3%20.8.8-2.9-.2-.3A8%208%200%201%201%2012%2020zm4.4-6c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.5.1-.6.8-.8%201-.3.2-.5.1a6.5%206.5%200%200%201-3.2-2.8c-.2-.4.2-.4.6-1.2a.4.4%200%200%200%200-.4l-.8-1.8c-.2-.5-.4-.4-.5-.4h-.5a.9.9%200%200%200-.7.3%202.8%202.8%200%200%200-.9%202.1%204.9%204.9%200%200%200%201%202.6%2011%2011%200%200%200%204.3%203.8c1.6.6%201.9.5%202.3.5a2.4%202.4%200%200%200%201.6-1.1%202%202%200%200%200%20.1-1.1c0-.1-.2-.2-.4-.3z%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="Help Center"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Help Center"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M9.5%209.5a2.7%202.7%200%200%201%205%201.2c0%201.7-2%202.2-2%203.8%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M12%2017.3h.01%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M9.5%209.5a2.7%202.7%200%200%201%205%201.2c0%201.7-2%202.2-2%203.8%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M12%2017.3h.01%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}
body.acw-v3 .acw-sb-link[data-tip="Esci"] .acw-sb-ico>svg{display:none !important;}
body.acw-v3 .acw-sb-link[data-tip="Esci"] .acw-sb-ico{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M10%206H6a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h4%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M14%2016l4-4-4-4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M18%2012H10%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M10%206H6a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h4%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M14%2016l4-4-4-4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M18%2012H10%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / 18px no-repeat !important;background-color:currentColor !important;}

/* ---- sidebar un filo piu\' compatta (densita\' interna, larghezza invariata) ---- */
body.acw-v3 .acw-sidebar{padding:12px 10px !important;}
body.acw-v3 .acw-sb-list{gap:0 !important;}
body.acw-v3 .acw-sb-link{padding:5px 10px !important;font-size:13px !important;gap:9px !important;border-radius:4px !important;}
body.acw-v3 .acw-sb-app-title{font-size:14px !important;}
body.acw-v3 .acw-sb-sub-link{padding:3px 9px !important;border-radius:3px !important;}
body.acw-v3 .acw-sb-sub{margin:1px 0 3px 32px !important;}
/* ---- refuso: spegne i tooltip legacy (.acw-tip) nella sidebar: nel guscio fisso le etichette sono gia' visibili ---- */
body.acw-v3 .acw-sidebar .acw-tip::after,body.acw-v3 .acw-sidebar .acw-tip::before{content:none !important;display:none !important;}

/* ---- box pagina = raggio canonico R1 6px ; micro-elementi --acc-radius-sm 4px (promozione foundation .acc-*, 19/06) ---- */
body.acw-v3 .acc-card,body.acw-v3 .acc-box,body.acw-v3 .acc-pcard,body.acw-v3 .acc-codestat,body.acw-v3 .acc-svcbox,body.acw-v3 .acc-pinline,body.acw-v3 .acc-paddform,body.acw-v3 .acc-confirm,body.acw-v3 .acc-esito,body.acw-v3 .acc-result,body.acw-v3 .acc-tile{border-radius:var(--acc-radius) !important;}
body.acw-v3 .acc-statebadge,body.acw-v3 .acc-badge,body.acw-v3 .acc-psvc-pill,body.acw-v3 .acc-chip{border-radius:var(--acc-radius-sm) !important;}

/* ============================================================ FINE V3-GUSCIO-ADMIN-ACCESSO ============================================================ */

/* ============================================================
   V3-MESSAGGI  —  componenti globali di messaggistica vestiti V3
   Attivo SOLO con body.acw-v3. Vivono nel footer condiviso -> valgono su tutte le pagine V3.
   Riferimenti deliberati: acw_v3_messaggi_confronto.html + acw_v3_banner/overlay preload + styleguide R13/R14/R15.
   Additivo, sopra il legacy. Cambia aspetto (radius, palette, chip), non le animazioni JS.
   ============================================================ */

/* ---------------- 1) TOAST (angolo basso destra, auto-dismiss) ---------------- */
body.acw-v3 .acw-toast-stack{left:auto !important;right:18px !important;bottom:18px !important;width:auto !important;transform:none !important;}
body.acw-v3 .acw-toast{width:320px !important;max-width:320px !important;border-radius:8px !important;background:#fff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border:0 !important;border-left:4px solid var(--tc,#1f6fb2) !important;box-shadow:0 16px 38px rgba(2,6,23,.2) !important;padding:11px 13px 13px !important;}
body.acw-v3 .acw-toast.is-success{--tc:#15803d;} body.acw-v3 .acw-toast.is-info{--tc:#1f6fb2;}
body.acw-v3 .acw-toast.is-warning{--tc:#b45309;} body.acw-v3 .acw-toast.is-error{--tc:#cc232a;}
body.acw-v3 .acw-toast-ico{width:24px !important;height:24px !important;border-radius:6px !important;background:color-mix(in srgb,var(--tc,#1f6fb2) 12%,#fff) !important;color:var(--tc,#1f6fb2) !important;}
body.acw-v3 .acw-toast-title{font-weight:800 !important;font-size:13px !important;}
body.acw-v3 .acw-toast-msg{font-size:12px !important;color:rgba(15,23,42,.6) !important;}
body.acw-v3 .acw-toast-x{border-radius:6px !important;}

/* ---------------- 2) INLINE (mattoncino in pagina, non blocca) ---------------- */
body.acw-v3 .alert{border-radius:7px !important;border:1px solid rgba(15,23,42,.14) !important;background:#fff !important;box-shadow:none !important;}
body.acw-v3 .alert-info{border-color:rgba(31,111,178,.22) !important;background:rgba(31,111,178,.05) !important;}
body.acw-v3 .alert-success{border-color:rgba(21,128,61,.32) !important;background:rgba(21,128,61,.05) !important;}
body.acw-v3 .alert-warning{border-color:rgba(180,83,9,.30) !important;background:rgba(180,83,9,.06) !important;}
body.acw-v3 .alert-error{border-color:rgba(204,35,42,.35) !important;background:rgba(204,35,42,.05) !important;}
body.acw-v3 .acw-errbanner{border-radius:7px !important;border-width:1px !important;}
body.acw-v3 .acw-errbanner--warn{border-color:rgba(180,83,9,.35) !important;}
body.acw-v3 .acw-errbanner--ko{border-color:rgba(204,35,42,.40) !important;}

/* ---------------- 3) OVERLAY / MODAL / BANNER (al centro, blocca) ---------------- */
/* backdrop sfocato V3 */
body.acw-v3 .welcome-backdrop,
body.acw-v3 .acw-modal-backdrop,
body.acw-v3 .acw-ask-backdrop{background:rgba(15,23,42,.5) !important;backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important;}
/* scatola: 14px, bianca pulita (niente glass legacy), ombra V3 */
body.acw-v3 .premium-dialog,
body.acw-v3 .acw-modal-box,
body.acw-v3 .acw-modal,
body.acw-v3 .acw-ask-box{border-radius:14px !important;background:#fff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:0 34px 80px rgba(2,6,23,.5),inset 0 0 0 1px rgba(255,255,255,.5) !important;}
/* icona = CHIP squircle (R15): non piu' cerchio; il gradiente tonale per stato resta dal legacy */
body.acw-v3 .welcome-icon-circle,
body.acw-v3 .acw-modal-icon-circle{border-radius:18px !important;}
/* titolo piu' contenuto + info-box squadrato */
body.acw-v3 .premium-title,
body.acw-v3 .acw-modal-title{font-size:19px !important;font-weight:800 !important;}
body.acw-v3 .premium-info-box,
body.acw-v3 .acw-modal-infobox{border-radius:4px !important;}
/* pulsanti modali: squadrati 6px, blu costruttivo */
body.acw-v3 .premium-btn,
body.acw-v3 .acw-modal-btn{border-radius:6px !important;background:#1f6fb2 !important;}
body.acw-v3 .premium-close,
body.acw-v3 .acw-modal-close{border-radius:6px !important;}
/* ask dialog: bottoni 6px (R1) */
body.acw-v3 .acw-ask-box{border-radius:14px !important;}
body.acw-v3 .acw-ask-btn{border-radius:6px !important;}
body.acw-v3 .acw-ask-btn.ok{background:#1f6fb2 !important;}
body.acw-v3 .acw-ask-btn.danger{background:#cc232a !important;color:#fff !important;}

/* ---------------- V3-BANNER-SKIN : completamento modale/banner premium (target preload approvato) ---------------- */
body.acw-v3 .premium-dialog{--c:#1f6fb2;position:relative !important;overflow:hidden !important;max-width:440px !important;padding:26px 24px 22px !important;text-align:center !important;border-radius:14px !important;}
body.acw-v3 .premium-dialog.is-success,body.acw-v3 .premium-dialog.banner-success{--c:#15803d;}
body.acw-v3 .premium-dialog.is-warning,body.acw-v3 .premium-dialog.banner-warning{--c:#b45309;}
body.acw-v3 .premium-dialog.is-error,body.acw-v3 .premium-dialog.banner-error{--c:#cc232a;}
body.acw-v3 .premium-dialog.is-info,body.acw-v3 .premium-dialog.banner-info{--c:#1f6fb2;}
body.acw-v3 .premium-dialog::before{content:"" !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:4px !important;background:var(--c) !important;}
body.acw-v3 .welcome-icon-circle{width:64px !important;height:64px !important;border-radius:18px !important;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,#fff),color-mix(in srgb,var(--c) 7%,#fff)) !important;box-shadow:0 12px 26px color-mix(in srgb,var(--c) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.75) !important;color:var(--c) !important;margin:4px auto 14px !important;display:flex !important;align-items:center !important;justify-content:center !important;}
body.acw-v3 .welcome-icon-circle::after{display:none !important;}
body.acw-v3 .welcome-icon{color:var(--c) !important;font-size:30px !important;line-height:1 !important;}
body.acw-v3 .premium-eyebrow{font-size:11px !important;font-weight:800 !important;text-transform:uppercase !important;letter-spacing:.07em !important;color:var(--c) !important;margin:0 0 4px !important;}
body.acw-v3 .premium-title{font-size:19px !important;font-weight:800 !important;color:var(--acc-ink) !important;margin:0 0 8px !important;}
body.acw-v3 .premium-dialog p{font-size:14px !important;color:rgba(var(--acc-slate),.7) !important;line-height:1.55 !important;}
body.acw-v3 .premium-info-box{border-radius:4px !important;background:rgba(31,111,178,.06) !important;border:1px solid rgba(31,111,178,.18) !important;border-left:3px solid var(--c) !important;text-align:left !important;}
body.acw-v3 .premium-btn,body.acw-v3 .welcome-btn{border-radius:6px !important;background:var(--acc-blu) !important;color:#fff !important;border:none !important;padding:11px 20px !important;font-weight:800 !important;font-size:14px !important;cursor:pointer !important;}
body.acw-v3 .premium-btn:hover,body.acw-v3 .welcome-btn:hover{background:var(--acc-blu-h) !important;}
body.acw-v3 .welcome-close,body.acw-v3 .premium-close{position:absolute !important;top:12px !important;right:14px !important;background:transparent !important;border:none !important;color:rgba(var(--acc-slate),.4) !important;font-size:20px !important;line-height:1 !important;cursor:pointer !important;}
body.acw-v3 .welcome-close:hover,body.acw-v3 .premium-close:hover{color:var(--acc-danger) !important;}
/* ============================================================ FINE V3-BANNER-SKIN ============================================================ */
/* ============================================================ FINE V3-MESSAGGI ============================================================ */

/* ============================================================
   V3-FORM  —  componente form V3 (campi), scopato body.acw-v3.
   Generale: vale su tutte le pagine V3 con .form-row/.field (ACI e future).
   Veste i campi reali con !important per battere gli stili inline delle pagine.
   I pulsanti (.primary-btn/.secondary-btn) sono gia' V3 dal blocco dashboard.
   Riferimento deliberato: _ACW_V3_REF/acw_v3_form_legacy_vs_v3.html
   ============================================================ */

/* etichette: nette, 13px semibold, slate */
body.acw-v3 .form-row label,
body.acw-v3 .field label{font-size:13px !important;font-weight:700 !important;color:#1f242c !important;margin-bottom:6px !important;}

/* campi: bordo sottile 1px, angoli 6px, focus blu con alone */
body.acw-v3 .form-row input[type="text"],
body.acw-v3 .form-row input[type="search"],
body.acw-v3 .form-row input:not([type]),
body.acw-v3 .field input[type="text"],
body.acw-v3 .field input:not([type]),
body.acw-v3 .form-row select,
body.acw-v3 .field select,
body.acw-v3 .form-row textarea,
body.acw-v3 .field textarea{border:1px solid rgba(15,23,42,.22) !important;border-radius:6px !important;padding:10px 12px !important;font-size:14px !important;background-color:#fff !important;color:#1f242c !important;font-family:inherit !important;transition:border-color .15s, box-shadow .15s !important;}

body.acw-v3 .form-row input:focus,
body.acw-v3 .field input:focus,
body.acw-v3 .form-row select:focus,
body.acw-v3 .field select:focus,
body.acw-v3 .form-row textarea:focus,
body.acw-v3 .field textarea:focus{outline:none !important;border-color:#1f6fb2 !important;box-shadow:0 0 0 3px rgba(31,111,178,.18) !important;}

body.acw-v3 .form-row input::placeholder,
body.acw-v3 .field input::placeholder,
body.acw-v3 .field textarea::placeholder{color:rgba(15,23,42,.4) !important;}

/* select rivestito: freccia custom V3 (niente stile browser grezzo) */
body.acw-v3 .form-row select,
body.acw-v3 .field select{appearance:none !important;-webkit-appearance:none !important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%231f242c'%20stroke-width='2'%3E%3Cpath%20d='M6%209l6%206%206-6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 11px center !important;background-size:16px !important;padding-right:34px !important;}

/* textarea (es. revisione: area incolla) */
body.acw-v3 .field textarea,
body.acw-v3 .form-row textarea{min-height:74px !important;resize:vertical !important;}
/* ============================================================ FINE V3-FORM ============================================================ */

/* ============================================================
   V3-LOADER (CANONICO) — styleguide acw_v3_styleguide.html righe 198-210, 1:1.
   Barra "percentuale che viaggia" (.acc-bar / .fill / .rb), anello overlay (.acc-ring),
   spinner (.acc-spin), scheletro (.acc-sk). Selettori .acc-* NUDI come la grammatica canonica.
   Markup barra: <div class="acc-bar"><div class="fill" style="width:N%"></div><div class="rb" style="left:N%">N%</div></div>
   Le pagine adotteranno questa struttura in fase di BONIFICA (oggi i servizi usano ancora .acw-load-bar legacy).
   ============================================================ */
.acc-bar{height:10px;border-radius:10px;background:rgba(15,23,42,.09);position:relative;}
.acc-bar .fill{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--acc-blu),#2f8fd0);position:relative;overflow:hidden;}
.acc-bar .fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-120%);animation:acc-sheen 1.3s linear infinite;}
@keyframes acc-sheen{to{transform:translateX(260%);}}
.acc-bar .rb{position:absolute;top:-30px;transform:translateX(-50%);background:var(--acc-blu);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 5px 14px rgba(31,111,178,.4);}
.acc-bar .rb::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--acc-blu);}
.acc-ring{transform:rotate(-90deg);}
.acc-ring .trk{stroke:rgba(15,23,42,.10);}
.acc-ring .ind{stroke:var(--acc-blu);stroke-linecap:round;}
.acc-spin{width:30px;height:30px;border-radius:50%;background:conic-gradient(var(--acc-blu),rgba(31,111,178,0));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);animation:acc-spinrot .9s linear infinite;}
@keyframes acc-spinrot{to{transform:rotate(1turn);}}
.acc-sk{background:linear-gradient(100deg,rgba(15,23,42,.06) 30%,rgba(15,23,42,.12) 50%,rgba(15,23,42,.06) 70%);background-size:200% 100%;border-radius:6px;animation:acc-sk 1.3s ease-in-out infinite;}
@keyframes acc-sk{to{background-position:-200% 0;}}
/* ============================================================ FINE V3-LOADER ============================================================ */

/* ============================================================
   V3-COMPONENTI — componenti "display" canonici, styleguide acw_v3_styleguide.html, 1:1.
   Accordion (211-221), Tabella V3 (240-252), Stati a colore (253-263),
   Dropdown/menu (265-281), KPI dashboard (283-296), Stepper (298-310).
   Selettori .acc-*/.st*/.kpi*/.stp-* NUDI (canonici). var(--r) -> var(--acc-radius) (token reale).
   MOTORE PURO: nessuna pagina li usa ancora; si vedranno in bonifica.
   ============================================================ */

/* ----- Accordion ----- */
.acc-ac{border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius);background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);margin:0 0 10px;}
.acc-ac:last-child{margin-bottom:0;}
.acc-ac>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;font-weight:800;font-size:13.5px;color:var(--acc-ink);user-select:none;border-radius:var(--acc-radius);transition:background .15s,color .15s;}
.acc-ac>summary::-webkit-details-marker{display:none;}
.acc-ac>summary:hover{background:rgba(31,111,178,.05);}
.acc-ac>summary:focus-visible{outline:3px solid rgba(31,111,178,.32);outline-offset:-3px;}
.acc-ac>summary .chev{margin-left:auto;flex:0 0 auto;width:17px;height:17px;color:rgba(15,23,42,.42);transition:transform .2s ease,color .2s;}
.acc-ac[open]>summary{color:var(--acc-blu);background:rgba(31,111,178,.045);border-bottom-left-radius:0;border-bottom-right-radius:0;}
.acc-ac[open]>summary .chev{transform:rotate(90deg);color:var(--acc-blu);}
.acc-ac .bdy{padding:12px 14px 14px;font-size:13px;color:rgba(15,23,42,.74);line-height:1.55;border-top:1px solid rgba(15,23,42,.08);}
@supports selector(::details-content){.acc-ac::details-content{block-size:0;overflow:clip;transition:block-size .25s ease;}.acc-ac[open]::details-content{block-size:auto;}}

/* ----- Tabella V3 (compatta, zebra, header fisso) ----- */
.sgt-wrap{border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius);overflow:hidden;}
table.acc-t{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;}
table.acc-t thead th{text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(15,23,42,.55);background:#f8fafc;padding:7px 10px;border-bottom:1px solid rgba(15,23,42,.14);white-space:nowrap;}
table.acc-t th.sortable{cursor:pointer;}
table.acc-t th.sortable .sx{margin-left:5px;color:var(--acc-blu);font-size:10px;}
table.acc-t tbody td{padding:7px 10px;border-bottom:1px solid rgba(15,23,42,.07);vertical-align:middle;color:var(--acc-ink);}
table.acc-t tbody tr:last-child td{border-bottom:none;}
table.acc-t tbody tr:nth-child(even) td{background:rgba(15,23,42,.025);}
table.acc-t tbody tr:hover td{background:rgba(31,111,178,.045);}
table.acc-t tbody tr.sel td{background:rgba(31,111,178,.08);}
table.acc-t input[type=checkbox]{width:15px;height:15px;accent-color:var(--acc-blu);}
.tmono{font-family:Consolas,monospace;font-weight:700;color:rgba(15,23,42,.72);}

/* ----- Stati a colore (un colore = un significato) ----- */
.st{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;white-space:nowrap;}
.st::before{content:"";width:8px;height:8px;border-radius:50%;}
.st-ok{color:#15803d;}.st-ok::before{background:#15803d;}
.st-warn{color:#b45309;}.st-warn::before{background:#b45309;}
.st-bad{color:#cc232a;}.st-bad::before{background:#cc232a;}
.st-info{color:#1f6fb2;}.st-info::before{background:#1f6fb2;}
.st-neu{color:rgba(15,23,42,.5);}.st-neu::before{background:rgba(15,23,42,.4);}
.stv{display:flex;flex-direction:column;gap:7px;}
.stv .vr{display:flex;align-items:center;gap:10px;font-size:12.5px;color:rgba(15,23,42,.6);}
.stv .vr .st{min-width:120px;}

/* ----- Dropdown / menu ----- */
.acc-menu{min-width:230px;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius);box-shadow:0 10px 28px rgba(15,23,42,.16);padding:6px;}
.acc-mi{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:none;background:transparent;padding:8px 9px;border-radius:5px;font-size:13px;color:var(--acc-ink);cursor:pointer;font-family:inherit;}
.acc-mi:hover{background:rgba(31,111,178,.08);}
.acc-mi .ck{margin-left:auto;color:var(--acc-blu);opacity:0;}
.acc-mi.is-sel{color:var(--acc-blu);font-weight:700;}
.acc-mi.is-sel .ck{opacity:1;}
.acc-mi.danger{color:var(--acc-danger);}
.acc-mi.danger:hover{background:rgba(204,35,42,.08);}
.acc-mi svg{width:16px;height:16px;flex:0 0 auto;}
.acc-mi .av{width:30px;height:30px;border-radius:6px;background:rgba(31,111,178,.1);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:0 0 auto;}
.acc-mi .tx{display:flex;flex-direction:column;gap:1px;}
.acc-mi .nm{font-weight:700;}
.acc-mi .sub{font-size:11.5px;color:rgba(15,23,42,.5);}
.acc-div{height:1px;background:rgba(15,23,42,.08);margin:5px 4px;}
.ndot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;margin-top:6px;}
.ndot.new{background:var(--acc-blu);}.ndot.alert{background:var(--acc-danger);}.ndot.read{background:rgba(15,23,42,.28);}

/* ----- KPI + barra stato (dashboard) ----- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;}
.kpi{background:#fff;border:1px solid rgba(15,23,42,.10);border-left:4px solid var(--c,#1f6fb2);border-radius:10px;padding:14px 16px;}
.kpi .l{font-size:11.5px;font-weight:700;color:rgba(15,23,42,.55);text-transform:uppercase;letter-spacing:.03em;}
.kpi .n{font-size:28px;font-weight:800;line-height:1.1;margin:4px 0 2px;color:var(--acc-ink);}
.kpi .d{font-size:12px;color:rgba(15,23,42,.5);}
.kpi.k-warn{--c:#b45309;}.kpi.k-warn .n{color:#b45309;}
.kpi.k-bad{--c:#cc232a;}.kpi.k-bad .n{color:#cc232a;}
.kpi.k-info{--c:#1f6fb2;}
.sbar{display:flex;height:15px;border-radius:8px;overflow:hidden;background:rgba(15,23,42,.06);}
.sbar i{display:block;height:100%;}
.slegend{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px;font-size:12px;color:rgba(15,23,42,.6);}
.slegend span{display:inline-flex;align-items:center;gap:6px;}
.dotc{width:9px;height:9px;border-radius:2px;display:inline-block;}

/* ----- Stepper (wizard a passi) ----- */
.stp-ind{display:flex;align-items:flex-start;}
.stp-node{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto;}
.stp-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;border:2px solid rgba(15,23,42,.22);background:#fff;color:rgba(15,23,42,.5);}
.stp-circle svg{width:15px;height:15px;}
.stp-lbl{font-size:12px;font-weight:700;color:rgba(15,23,42,.5);white-space:nowrap;}
.stp-line{background:rgba(15,23,42,.16);flex:1;height:2px;margin:15px 6px 0;min-width:22px;}
.stp-node.current .stp-circle{border-color:var(--acc-blu);background:var(--acc-blu);color:#fff;box-shadow:0 0 0 4px rgba(31,111,178,.15);}
.stp-node.current .stp-lbl{color:var(--acc-blu);}
.stp-node.done .stp-circle{border-color:var(--acc-ok);background:var(--acc-ok);color:#fff;}
.stp-node.done .stp-lbl{color:var(--acc-ink);}
.stp-line.done{background:var(--acc-ok);}
@media(max-width:560px){.stp-ind{flex-direction:column;align-items:stretch;}.stp-node{flex-direction:row;gap:11px;}.stp-line{width:2px;height:18px;min-width:0;flex:none;margin:3px 0 3px 15px;}}
/* ============================================================ FINE V3-COMPONENTI ============================================================ */

/* ============================================================
   V3-MINORI — componenti minori canonici, styleguide acw_v3_styleguide.html, 1:1.
   Note box (140-146), Card-esito col visto (148-155), Bottone-icona base (163-168),
   Tooltip (184-186), Pager (192-197). Tutti ASSENTI prima d'ora -> aggiunta pulita.
   Selettori .acc-* NUDI (canonici). MOTORE PURO: nessuna pagina li usa ancora.
   ============================================================ */

/* ----- Note box (info / warn) ----- */
.acc-note{border:1px solid rgba(15,23,42,.12);border-radius:7px;padding:14px 16px;background:rgba(15,23,42,.02);}
.acc-note--info{border-color:rgba(31,111,178,.22);background:rgba(31,111,178,.04);}
.acc-note--warn{border-color:rgba(180,83,9,.30);background:rgba(180,83,9,.05);}
.acc-note-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;margin-bottom:7px;}
.acc-note-h svg{width:17px;height:17px;}
.acc-note--info .acc-note-h{color:#1f6fb2;} .acc-note--warn .acc-note-h{color:#b45309;}
.acc-note p{margin:0;font-size:13px;color:rgba(15,23,42,.72);line-height:1.55;}

/* ----- Card-esito grande (visto nel cerchio) ----- */
.acc-rescard{flex:1 1 280px;min-width:260px;border-radius:6px;border:2px solid rgba(15,23,42,.10);background:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.acc-rescard__eyebrow{font-weight:800;letter-spacing:.05em;font-size:11px;text-transform:uppercase;color:rgba(15,23,42,.55);}
.acc-rescard__status{margin-top:8px;font-weight:800;font-size:28px;line-height:1.05;}
.acc-rescard__note{margin-top:12px;font-size:12px;color:rgba(15,23,42,.62);font-weight:600;text-transform:uppercase;letter-spacing:.02em;}
.acc-rescard__iconwrap{flex:0 0 auto;width:104px;height:104px;border-radius:999px;border:10px solid rgba(15,23,42,.07);display:flex;align-items:center;justify-content:center;}
.acc-rescard__icon{width:52px;height:52px;} .acc-rescard__icon svg{width:100%;height:100%;}
.acc-rescard--ok{border-color:rgba(21,128,61,.45);} .acc-rescard--ok .acc-rescard__status{color:#15803d;} .acc-rescard--ok .acc-rescard__iconwrap{border-color:rgba(21,128,61,.15);} .acc-rescard--ok .acc-rescard__icon{color:#15803d;}
.acc-rescard--danger{border-color:rgba(204,35,42,.5);} .acc-rescard--danger .acc-rescard__status{color:#cc232a;} .acc-rescard--danger .acc-rescard__iconwrap{border-color:rgba(204,35,42,.15);} .acc-rescard--danger .acc-rescard__icon{color:#cc232a;}

/* ----- Bottone-icona (base) ----- */
.acc-iconbtn{width:44px;height:44px;border-radius:6px;border:1px solid rgba(15,23,42,.16);background:#fff;color:rgba(15,23,42,.6);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;}
.acc-iconbtn:hover{border-color:var(--acc-blu);color:var(--acc-blu);}
.acc-iconbtn svg{width:18px;height:18px;}
.acc-iconbtn--go{background:var(--acc-blu);border-color:var(--acc-blu);color:#fff;}
.acc-iconbtn--go:hover{background:var(--acc-blu-h);color:#fff;}
.acc-iconbtn--danger:hover{border-color:var(--acc-danger);color:var(--acc-danger);background:rgba(204,35,42,.06);}

/* ----- Tooltip ----- */
.acc-tip{position:relative;display:inline-flex;}
.acc-tip[data-tip]:hover::after,.acc-tip[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1f242c;color:#fff;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;padding:6px 9px;border-radius:6px;box-shadow:0 6px 18px rgba(15,23,42,.28);z-index:6;}
.acc-tip[data-tip]:hover::before,.acc-tip[data-tip]:focus-visible::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1f242c;z-index:6;}

/* ----- Pager ----- */
.acc-pg{display:inline-flex;gap:4px;align-items:center;}
.acc-pg button{min-width:34px;height:34px;padding:0 9px;border:1px solid rgba(15,23,42,.14);background:#fff;border-radius:6px;font-weight:700;font-size:13px;color:#334155;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.acc-pg button:hover:not(:disabled){border-color:var(--acc-blu);color:var(--acc-blu);}
.acc-pg button.on{background:var(--acc-blu);border-color:var(--acc-blu);color:#fff;}
.acc-pg button:disabled{opacity:.45;cursor:not-allowed;}
.acc-pg .dots{padding:0 4px;color:rgba(15,23,42,.4);}
/* variante SERVER-SIDE del pager numerato: link <a> (+ .on corrente, [aria-disabled] estremi) come i button */
.acc-pg a{min-width:34px;height:34px;padding:0 9px;border:1px solid rgba(15,23,42,.14);background:#fff;border-radius:6px;font-weight:700;font-size:13px;color:#334155;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;}
.acc-pg a:hover{border-color:var(--acc-blu);color:var(--acc-blu);}
.acc-pg .on{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--acc-blu);background:var(--acc-blu);border-radius:6px;font-weight:700;font-size:13px;color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.acc-pg [aria-disabled="true"]{min-width:34px;height:34px;padding:0 9px;border:1px solid rgba(15,23,42,.14);border-radius:6px;font-weight:700;font-size:13px;color:#334155;display:inline-flex;align-items:center;justify-content:center;opacity:.45;cursor:default;pointer-events:none;}
/* ============================================================ FINE V3-MINORI ============================================================ */

/* ============================================================
   V3-FORMCAN — form canonico (styleguide acw_v3_styleguide.html 224-239, 1:1) con DUE disposizioni:
     .acc-form          = etichetta a SINISTRA (default canonico, form lunghi/verticali)
     .acc-form--inline  = etichetta SOPRA (variante compatta, form in riga es. servizi ACI) — ampliamento R10 (19/06/2026)
   Obbligatori "a parole" (label[data-req]) + validazione inline (.is-invalid / .is-valid). var(--r) -> var(--acc-radius).
   MOTORE PURO: in bonifica sostituira' il blocco V3-FORM legacy (agganciato a .form-row/.field).
   ============================================================ */
.acc-form .acc-field{display:grid;grid-template-columns:148px 1fr;gap:2px 14px;align-items:start;margin-bottom:13px;}
.acc-form .acc-label{font-size:12.5px;font-weight:700;color:var(--acc-ink);padding-top:9px;}
.acc-form .acc-label[data-req]::after{content:" (obbligatorio)";font-weight:500;color:rgba(15,23,42,.45);font-size:11px;}
.acc-form .acc-control{width:100%;padding:9px 11px;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);font-size:13.5px;background:#fff;font-family:inherit;color:var(--acc-ink);}
.acc-form .acc-control:focus{outline:none;border-color:var(--acc-blu);box-shadow:0 0 0 3px rgba(31,111,178,.18);}
.acc-form select.acc-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f242c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px;}
.acc-form textarea.acc-control{min-height:58px;resize:vertical;}
.acc-form .acc-help{grid-column:2;font-size:11.5px;color:rgba(15,23,42,.55);margin-top:4px;}
.acc-form .acc-err{grid-column:2;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--acc-danger);margin-top:4px;}
.acc-form .acc-err svg{width:13px;height:13px;flex:0 0 auto;}
.acc-form .acc-okm{grid-column:2;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--acc-ok);margin-top:4px;}
.acc-form .acc-okm svg{width:13px;height:13px;flex:0 0 auto;}
.acc-form .is-invalid .acc-control{border-color:var(--acc-danger);}
.acc-form .is-valid .acc-control{border-color:var(--acc-ok);}
.acc-form .req{color:var(--acc-danger);}
/* variante compatta: etichetta SOPRA (form in riga) — ampliamento R10 */
.acc-form--inline .acc-field{display:flex;flex-direction:column;gap:6px;}
.acc-form--inline .acc-label{padding-top:0;}
.acc-form--inline .acc-help,.acc-form--inline .acc-err,.acc-form--inline .acc-okm{grid-column:auto;}
/* ============================================================ FINE V3-FORMCAN ============================================================ */

/* ============================================================
   V3-SEMANTICA — semantica colori azioni (Regola R2), styleguide acw_v3_styleguide.html 170-177, 1:1.
   Conferma (anche di azioni rischiose) = BLU ("procedi"): il rischio lo segnala il CONTESTO
   (pannello ambra + testo), non un bottone rosso. ROSSO = annullamento: Annulla / Pulisci / X virano
   al rosso in hover. Override con !important: CORREGGE .acc-cdanger (oggi rosso -> BLU) e gli hover.
   VISIBILE dove si usano queste classi (es. admin_accesso). NON include .acc-empty (gestito a parte).
   ============================================================ */
.acc-cdanger{border:1px solid var(--acc-blu) !important;background:var(--acc-blu) !important;color:#fff !important;}
.acc-cdanger:hover{background:var(--acc-blu-h) !important;}
.acc-clear:hover{border-color:var(--acc-danger) !important;color:var(--acc-danger) !important;background:rgba(204,35,42,.06) !important;}
.acc-confirm-a button:not(.acc-cdanger):not(.acc-pri2):hover{border-color:var(--acc-danger) !important;color:var(--acc-danger) !important;background:rgba(204,35,42,.06) !important;}
.acc-iconbtn--danger:hover{border-color:var(--acc-danger) !important;color:var(--acc-danger) !important;background:rgba(204,35,42,.06) !important;}
/* ============================================================ FINE V3-SEMANTICA ============================================================ */

/* ============================================================
   V3-LOGIN-INDEX  —  skin login (index.php), attivo SOLO con body.acw-v3
   Additivo, sopra il legacy (style.css + <style> inline icone). Niente PHP/JS.
   Riferimento deliberato: _ACW_V3_REF/acw_v3_login_confronto_v3.html (versione di destra)
   BONIFICA Fase 2 (19/06/2026): angoli 4px -> var(--acc-radius)=6px; colori/neutri agganciati
   ai token canonici (--acc-blu/-h, --brand-red, --acc-slate). Restano locali (R9) SOLO le 2 tinte
   d'accento semitrasparenti prive di tripletta nel :root (alone focus blu 14%, sfondo alert rosso 8%).
   ============================================================ */

/* card login: angoli canonici, niente barra blu in alto, ombra V3 (geometria locale, colore tokenizzato) */
body.acw-v3.login-page .login-card{border-radius:var(--acc-radius) !important;border-top:0 !important;box-shadow:0 1px 3px rgba(var(--acc-slate),.06),0 12px 30px rgba(var(--acc-slate),.10) !important;padding:30px 28px !important;}
/* via la barretta-accento del componente card (.acw-card--primary::before): il login deliberato non ha accento */
body.acw-v3.login-page .login-card::before,
body.acw-v3.login-page .acw-card--primary::before{display:none !important;content:none !important;}

/* intro + etichette in tono slate V3 */
body.acw-v3.login-page .login-intro{font-size:14.5px !important;color:rgba(var(--acc-slate),.6) !important;}
body.acw-v3.login-page .login-form label{font-size:12.5px !important;color:rgba(var(--acc-slate),.6) !important;font-weight:700 !important;}

/* campi: angoli canonici, bordo slate, focus blu con alone */
body.acw-v3.login-page .login-input{border-radius:var(--acc-radius) !important;border:1px solid rgba(var(--acc-slate),.18) !important;font-size:15px !important;}
body.acw-v3.login-page .login-input:focus{border-color:var(--acc-blu) !important;box-shadow:0 0 0 3px rgba(31,111,178,.14) !important;outline:none !important;} /* alone = blu @14% (tinta locale R9: no tripletta nel :root) */

/* icone campi: via lo sfondo legacy ridondante (resta la sola icona span nel markup) */
body.acw-v3.login-page #user.login-input,
body.acw-v3.login-page #pass.login-input,
body.acw-v3.login-page #user,
body.acw-v3.login-page #pass{background-image:none !important;}
body.acw-v3.login-page .input-icon{color:rgba(var(--acc-slate),.5) !important;}

/* fix occhio: via il reveal/clear nativo di Edge (resta il toggle custom del markup) */
body.login-page input[type="password"]::-ms-reveal,
body.login-page input[type="password"]::-ms-clear{display:none !important;}

/* pulsante: blu V3, angoli canonici */
body.acw-v3.login-page .login-btn,
body.acw-v3.login-page .primary-btn.login-btn{border-radius:var(--acc-radius) !important;background:var(--acc-blu) !important;}
body.acw-v3.login-page .login-btn:hover{background:var(--acc-blu-h) !important;}

/* box info: angoli canonici, tono slate */
body.acw-v3.login-page .login-info-box{border-radius:var(--acc-radius) !important;background:rgba(var(--acc-slate),.04) !important;border:1px solid rgba(var(--acc-slate),.08) !important;}

/* alert errore: rosso marchio V3 */
body.acw-v3.login-page .login-error-alert{background:rgba(204,35,42,.08) !important;border-left:4px solid var(--brand-red) !important;border-radius:var(--acc-radius) !important;} /* sfondo = rosso @8% (tinta locale R9: no tripletta nel :root) */

/* ============================================================
   NOTA INFORMATIVA V3 — componente strutturale (ex privacy-note)
   Riusabile su tutte le pagine con body.acw-v3; testo contestuale per pagina.
   ============================================================ */
/* Dal 10/07/2026 (delibera Paolo): SENZA icona interna (il bordo blu a sinistra basta da segnale);
   vale anche per .dash-privacy (dashboard/hub), UNIFICATA a questo componente. */
body.acw-v3 .privacy-note, body.acw-v3 .dash-privacy{position:relative !important;text-align:left !important;border-radius:var(--acc-radius) !important;background:rgba(var(--acc-slate),.03) !important;border:1px solid rgba(var(--acc-slate),.10) !important;border-left:3px solid var(--acc-blu) !important;box-shadow:none !important;padding:11px 14px !important;font-size:13px !important;line-height:1.5 !important;color:rgba(var(--acc-slate),.62) !important;overflow:visible !important;}
body.acw-v3 .privacy-note::after, body.acw-v3 .dash-privacy::after{display:none !important;}
/* ============================================================ FINE V3-LOGIN-INDEX ============================================================ */

/* ============================================================
   V3-DASHBOARD  —  skin contenuto dashboard, attivo SOLO con body.acw-v3
   Additivo, sopra il legacy (style.css). Header = guscio V3 (gia' in acw_v3.css).
   Riferimento deliberato: _ACW_V3_REF/acw_v3_dashboard_confronto.html (sezione "domani")
   BONIFICA Fase 2 (19/06/2026): angoli 4px -> var(--acc-radius)=6px; colori/neutri agganciati
   ai token canonici (--acc-blu/-h, --acc-ink, --acc-slate). Restano locali (R9) SOLO i grigi
   degli stati "disabled"/"off" (#e3e6ea, #9aa3b4, #fafbfc), privi di token pulito.
   ============================================================ */

/* riga 1: 3 macro aree (Inserimento / Ricerca / Servizi) */
body.acw-v3 .dashboard-grid--top{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
@media (max-width:980px){body.acw-v3 .dashboard-grid--top{grid-template-columns:1fr !important;}}

/* card: angoli canonici, niente barretta-accento, bordo sottile + ombra leggera V3 */
body.acw-v3 .search-card{border-radius:var(--acc-radius) !important;border:1px solid rgba(var(--acc-slate),.10) !important;box-shadow:0 1px 3px rgba(var(--acc-slate),.05) !important;background:#fff !important;}
body.acw-v3 .acw-card--primary::before,
body.acw-v3 .acw-card--secondary::before{display:none !important;content:none !important;}

/* titoli: sobri (niente linea decorativa, niente pulse) */
body.acw-v3 .card-title,body.acw-v3 .card-title--wow{font-size:18px !important;color:var(--acc-ink) !important;}
body.acw-v3 .card-title--wow::after{display:none !important;content:none !important;}
body.acw-v3 .card-title--wow .card-ico{filter:none !important;animation:none !important;}
body.acw-v3 .card-ico svg{width:20px !important;height:20px !important;}

/* info-box: stile V3 (angoli canonici, filetto blu a sinistra, tono slate; icona info legacy gia' blu) */
body.acw-v3 .dashboard-info-box{border-radius:var(--acc-radius) !important;background:rgba(var(--acc-slate),.03) !important;border:1px solid rgba(var(--acc-slate),.10) !important;border-left:3px solid var(--acc-blu) !important;color:rgba(var(--acc-slate),.66) !important;}

/* pulsanti: blu piatto, angoli canonici + piu' aria sopra */
body.acw-v3 .primary-btn{border-radius:var(--acc-radius) !important;background:var(--acc-blu) !important;box-shadow:none !important;}
body.acw-v3 .primary-btn:hover{background:var(--acc-blu-h) !important;filter:none !important;}
body.acw-v3 .secondary-btn{border-radius:var(--acc-radius) !important;}
body.acw-v3 .secondary-btn[disabled]{background:#e3e6ea !important;color:#9aa3b4 !important;cursor:not-allowed !important;border:1px solid rgba(var(--acc-slate),.10) !important;box-shadow:none !important;} /* grigi disabled = locali R9 (no token pulito) */
body.acw-v3 .buttons-row{margin-top:16px !important;}

/* card SERVIZI in stato "Utente non abilitato" (acw-card-off) */
body.acw-v3 .acw-card-off{opacity:.72 !important;background:#fafbfc !important;} /* off-bg = locale R9 */
body.acw-v3 .acw-card-off .card-desc{color:rgba(var(--acc-slate),.5) !important;}
/* ============================================================ FINE V3-DASHBOARD ============================================================ */

/* ============================================================
   V3-SERVIZI-DASH  —  servizi_dashboard.php (pagina con sidebar)
   Riusa i componenti V3 gia' promossi (blocco V3-DASHBOARD: card/info-box/pulsanti/titoli),
   quindi angoli 6px + token sono GIA' ereditati (qui niente colori/raggi).
   Solo la griglia delle 4 card servizio, scopata alle pagine con sidebar (acw-has-sidebar),
   cosi' NON tocca le 3 macro aree della dashboard (3 colonne, senza sidebar).
   GRIGLIA: 2x2 (deliberato). Il 4-in-fila e' stato provato (19/06) e SCARTATO da Paolo:
   con sidebar il contenuto e' ~1040px e con 4 card (titolo + descrizione + info-box) risultano
   troppo strette e allungate. >>> NON ritentare il 4-in-fila su questa pagina. <<<
   ============================================================ */
body.acw-v3.acw-has-sidebar .dashboard-grid--top{grid-template-columns:1fr 1fr !important;}
@media (max-width:860px){body.acw-v3.acw-has-sidebar .dashboard-grid--top{grid-template-columns:1fr !important;}}
/* card servizio: via l'altezza minima legacy (320px) che le lascia alte/vuote (solo pagine con sidebar) */
body.acw-v3.acw-has-sidebar .search-card{min-height:0 !important;}
/* ============================================================ FINE V3-SERVIZI-DASH ============================================================ */

/* ============================================================
   V3-ACI-COMMON — blocco COMUNE dei servizi ACI (bollo/formalita/regime/revisione)
   Estratto dai <style> inline di pagina (de-duplicato), scopato body.acw-v3, tokenizzato.
   Copre: layout form di ricerca in riga (.aci-search, sui campi canonici .acc-* di V3-FORMCAN),
   loader timeline, card-risultato, tabella esiti, note. Creato 19/06/2026 (bonifica ACI, pilota = formalita).
   Riusabile dalle 4 ACI. Le trasparenze blu (rgba 31,111,178) restano locali (no tripletta nel :root).
   ============================================================ */

/* layout form di ricerca: campi canonici .acc-field affiancati in riga (R10 additivo) */
body.acw-v3 .aci-search{display:flex !important;gap:14px !important;align-items:flex-end !important;flex-wrap:wrap !important;}
body.acw-v3 .aci-search .acc-field{margin-bottom:0 !important;}
body.acw-v3 .aci-search .acc-field--targa{flex:0 0 220px !important;}
body.acw-v3 .aci-search .acc-field--grow{flex:1 1 240px !important;min-width:240px !important;}
body.acw-v3 .aci-search .acc-field--actions{flex:0 0 auto !important;}
body.acw-v3 .aci-actions{display:flex !important;gap:10px !important;align-items:center !important;}
/* tasti ricerca al canone: Verifica (.acc-pri) e Pulisci (.acc-send) stessa altezza 38px, allineati ai campi */
body.acw-v3 .aci-actions .acc-send{padding:9px 16px;min-height:38px;font-size:14px;border-radius:var(--acc-radius);}
@media (max-width:860px){
  body.acw-v3 .aci-search{flex-direction:column !important;align-items:stretch !important;}
  body.acw-v3 .aci-search .acc-field--targa,
  body.acw-v3 .aci-search .acc-field--grow{flex:1 1 auto !important;}
  body.acw-v3 .aci-actions .acc-pri,
  body.acw-v3 .aci-actions .acc-send{flex:1 1 auto !important;}
}

/* loader timeline */
body.acw-v3 .acw-loader{display:none;margin-top:12px;font-size:13px;color:var(--acc-blu);font-weight:700;}
body.acw-v3 .acw-load-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
body.acw-v3 .acw-load-msg{display:flex;align-items:center;gap:8px;}
body.acw-v3 .acw-mini-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(31,111,178,.25);border-top-color:rgba(31,111,178,.85);border-radius:50%;animation:acwSpin .8s linear infinite;}
@keyframes acwSpin{to{transform:rotate(360deg);}}
body.acw-v3 .acw-load-bar{height:10px;border-radius:999px;background:rgba(31,111,178,.12);overflow:hidden;margin-top:8px;}
body.acw-v3 .acw-load-bar-fill{height:100%;border-radius:999px;background:var(--acc-blu);transition:width .35s ease;}

/* card-risultato */
body.acw-v3 .acw-result{margin-top:16px;padding:14px;border-radius:var(--acc-radius);border:1px solid rgba(var(--acc-slate),.10);background:#fff;box-shadow:var(--shadow-soft);}
body.acw-v3 .acw-muted{font-size:13px;color:rgba(var(--acc-slate),.6);margin-top:10px;}

/* tabella esiti */
body.acw-v3 .acw-table{width:100%;border-collapse:collapse;margin-top:12px;}
body.acw-v3 .acw-table th,body.acw-v3 .acw-table td{padding:8px;border-bottom:1px solid rgba(var(--acc-slate),.08);font-size:13px;vertical-align:top;}
body.acw-v3 .acw-table th{text-align:left;color:var(--acc-ink);font-weight:700;}
body.acw-v3 .acw-empty{padding:10px 0;color:rgba(var(--acc-slate),.7);font-weight:700;}
/* ============================================================ FINE V3-ACI-COMMON ============================================================ */

/* ============================================================
   V3-FOOTER — footer centrato nella colonna contenuto (al netto della sidebar).
   .acw-footer e' full-width fuori da .content e ha solo text-align:center (style.css):
   con la sidebar fissa (260px) il testo si centrava sul viewport pieno. Qui si rifa'
   l'offset orizzontale di .content (padding-left 284 = 260 sidebar + 24) mantenendo la
   barra a tutta larghezza. Scoped body.acw-v3.acw-has-sidebar. NON tocca style.css.
   ============================================================ */
body.acw-v3.acw-has-sidebar .acw-footer{box-sizing:border-box !important;padding-left:284px !important;}
@media (max-width:979px){body.acw-v3.acw-has-sidebar .acw-footer{padding-left:12px !important;}}
/* ============================================================ FINE V3-FOOTER ============================================================ */

/* ============================================================
   V3-ACI-REGIME - componenti custom di servizi_aci_regime_vincoli (cards esito,
   info-box, meta veicolo, pill, separatore). Estratti dallo <style> inline, scopati
   body.acw-v3.acw-regime per ISOLARLI da V3-ACI-BOLLO (le .acw-bollo-card qui hanno
   valori divergenti). Blu #1f6fb2 -> var(--acc-blu); tinte stato letterali (semantiche).
   ============================================================ */
body.acw-v3.acw-regime .acw-result h3{margin:0 0 8px 0; font-size:16px;}
/* .acw-pill rimosso 2026-07-14: badge non piu' nel DOM (pill=null); il JS setPill resta no-op, come nel bollo */
body.acw-v3.acw-regime .acw-small{font-size:13px; color:#444;}
body.acw-v3.acw-regime .acw-kv{display:flex; gap:10px; margin-top:10px; flex-wrap:wrap;}
body.acw-v3.acw-regime .acw-kv .acw-meta-item{padding:10px 13px; border:1px solid rgba(15,23,42,0.12); border-radius:var(--acc-radius); background:#fff; min-width:140px; flex:1 1 160px;}
@media (min-width: 980px){
  body.acw-v3.acw-regime .acw-kv{flex-wrap:nowrap;}
  body.acw-v3.acw-regime .acw-kv .acw-meta-targa{flex:0 0 110px; min-width:110px;}
  body.acw-v3.acw-regime .acw-kv .acw-meta-tipo{flex:0 0 170px; min-width:170px;}
  body.acw-v3.acw-regime .acw-kv .acw-meta-telaio{flex:1 1 260px; min-width:260px;}
  body.acw-v3.acw-regime .acw-kv .acw-meta-imm{flex:0 0 180px; min-width:180px;}
}
body.acw-v3.acw-regime .acw-kv .acw-meta-item b{display:block; font-size:12px; color:var(--acc-blu); margin-bottom:2px;}
body.acw-v3.acw-regime table.acc-t tbody tr.acw-row-debt td:first-child::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#b42318; margin-right:7px; vertical-align:middle;}
body.acw-v3.acw-regime table.acc-t tbody tr.acw-row-credit td:first-child::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#0b6b3a; margin-right:7px; vertical-align:middle;}
body.acw-v3.acw-regime hr.acw-sep{border:0; height:1px; background:rgba(15,23,42,0.10); margin:14px 0;}
body.acw-v3.acw-regime .acw-bollo-cards{margin-top:12px; display:flex; gap:14px; align-items:stretch;}
body.acw-v3.acw-regime .acw-bollo-cards .acw-bollo-card{margin-top:0; flex:1 1 0;}
body.acw-v3.acw-regime .acw-bollo-card--compact{padding:16px 16px;}
body.acw-v3.acw-regime .acw-bollo-card--compact .acw-bollo-card__iconWrap{width:112px; height:112px; border-width:10px;}
body.acw-v3.acw-regime .acw-bollo-card--compact .acw-bollo-card__icon{width:60px; height:60px;}
body.acw-v3.acw-regime .acw-bollo-card--compact .acw-bollo-card__status{font-size:30px;}
body.acw-v3.acw-regime .acw-bollo-card{margin-top:12px; min-height:200px; border-radius:var(--acc-radius); border:1px solid rgba(15,23,42,0.14); background:#fff; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; box-sizing:border-box; box-shadow:0 1px 3px rgba(15,23,42,.05);}
body.acw-v3.acw-regime .acw-bollo-card__left{min-width:0;}
body.acw-v3.acw-regime .acw-bollo-card__eyebrow{font-weight:800; letter-spacing:0.04em; font-size:11px; color:rgba(15,23,42,.5); text-transform:uppercase;}
body.acw-v3.acw-regime .acw-bollo-card__status{margin-top:8px; font-weight:800; font-size:30px; line-height:1.05;}
body.acw-v3.acw-regime .acw-bollo-card__period{margin-top:6px; font-size:16px; color:#1f1f1f;}
body.acw-v3.acw-regime .acw-bollo-card__note{margin-top:18px; font-size:14px; color:#2b2b2b; font-weight:700;}
body.acw-v3.acw-regime .acw-bollo-card__iconWrap{flex:0 0 auto; width:140px; height:140px; border-radius:999px; border:12px solid rgba(0,0,0,0.08); display:flex; align-items:center; justify-content:center;}
body.acw-v3.acw-regime .acw-bollo-card__icon{width:72px; height:72px; display:block;}
body.acw-v3.acw-regime .acw-bollo-card--ok{border-color:rgba(11,107,58,0.55);}
body.acw-v3.acw-regime .acw-bollo-card--ok .acw-bollo-card__status{color:#0b6b3a;}
body.acw-v3.acw-regime .acw-bollo-card--ok .acw-bollo-card__iconWrap{border-color:rgba(11,107,58,0.15);}
body.acw-v3.acw-regime .acw-bollo-card--ok .acw-bollo-card__icon path{stroke:#0b6b3a;}
body.acw-v3.acw-regime .acw-bollo-card--info{border-color:rgba(13, 92, 190, 0.55);}
body.acw-v3.acw-regime .acw-bollo-card--info .acw-bollo-card__status{color:#0d5cbe;}
body.acw-v3.acw-regime .acw-bollo-card--info .acw-bollo-card__iconWrap{border-color:rgba(13, 92, 190, 0.16);}
body.acw-v3.acw-regime .acw-bollo-card--info .acw-bollo-card__icon path{stroke:#0d5cbe;}
body.acw-v3.acw-regime .acw-bollo-card--ko{border-color:rgba(180,35,24,0.55);}
body.acw-v3.acw-regime .acw-bollo-card--ko .acw-bollo-card__status{color:#b42318;}
body.acw-v3.acw-regime .acw-bollo-card--ko .acw-bollo-card__iconWrap{border-color:rgba(180,35,24,0.15);}
body.acw-v3.acw-regime .acw-bollo-card--ko .acw-bollo-card__icon path{stroke:#b42318;}
body.acw-v3.acw-regime .acw-bollo-card--unk{border-color:rgba(179,129,0,0.55);}
body.acw-v3.acw-regime .acw-bollo-card--unk .acw-bollo-card__status{color:#6b4f00;}
body.acw-v3.acw-regime .acw-bollo-card--unk .acw-bollo-card__iconWrap{border-color:rgba(179,129,0,0.18);}
body.acw-v3.acw-regime .acw-bollo-card--unk .acw-bollo-card__icon path{stroke:#6b4f00;}
body.acw-v3.acw-regime .acw-bollo-card--warn{border-color:rgba(255,122,0,0.65);}
body.acw-v3.acw-regime .acw-bollo-card--warn .acw-bollo-card__status{color:#ff7a00;}
body.acw-v3.acw-regime .acw-bollo-card--warn .acw-bollo-card__iconWrap{border-color:rgba(255,122,0,0.22);}
body.acw-v3.acw-regime .acw-bollo-card--warn .acw-bollo-card__icon path{stroke:#ff7a00;}
body.acw-v3.acw-regime .acw-bollo-card__icon text{font-family:inherit; font-weight:1000;}
body.acw-v3.acw-regime .acw-bollo-card--ok .acw-bollo-card__icon text{fill:#0b6b3a;}
body.acw-v3.acw-regime .acw-bollo-card--info .acw-bollo-card__icon text{fill:#0d5cbe;}
body.acw-v3.acw-regime .acw-bollo-card--warn .acw-bollo-card__icon text{fill:#ff7a00;}
body.acw-v3.acw-regime .acw-bollo-card--ko .acw-bollo-card__icon text{fill:#b00020;}
body.acw-v3.acw-regime .acw-bollo-card--unk .acw-bollo-card__icon text{fill:#666;}
@media (max-width: 700px){
  body.acw-v3.acw-regime .acw-bollo-cards{flex-direction:column;}
  body.acw-v3.acw-regime .acw-bollo-card{flex-direction:column; align-items:flex-start;}
  body.acw-v3.acw-regime .acw-bollo-card__iconWrap{width:110px; height:110px; border-width:10px;}
  body.acw-v3.acw-regime .acw-bollo-card__status{font-size:30px;}
}
body.acw-v3.acw-regime .acw-info-box{margin-top:14px; border-radius:var(--acc-radius); border:1px solid rgba(0,0,0,0.10); background:rgba(0,0,0,0.03); padding:14px 14px; color:#2b2b2b; font-weight:700; line-height:1.45;}
body.acw-v3.acw-regime .acw-info-box--warn{background:rgba(255,122,0,0.08); border-color:rgba(255,122,0,0.22);}
body.acw-v3.acw-regime .acw-info-box--danger{background:rgba(180,35,24,0.06); border-color:rgba(180,35,24,0.20);}
body.acw-v3.acw-regime .acw-info-box--info{background:rgba(13, 92, 190, 0.07); border-color:rgba(13, 92, 190, 0.20);}
body.acw-v3.acw-regime .acw-info-box--ok{background:rgba(11,107,58,0.06); border-color:rgba(11,107,58,0.20);}
body.acw-v3.acw-regime .acw-info-box__title{display:flex; align-items:center; gap:8px; font-weight:1000; text-transform:uppercase; letter-spacing:.03em; font-size:12px; margin-bottom:8px; color:#3a3a3a;}
body.acw-v3.acw-regime .acw-info-box__title svg{width:18px; height:18px;}
body.acw-v3.acw-regime .acw-info-box__title svg path{stroke:currentColor;}
body.acw-v3.acw-regime .acw-info-box--warn .acw-info-box__title{color:#ff7a00;}
body.acw-v3.acw-regime .acw-info-box--danger .acw-info-box__title{color:#b42318;}
body.acw-v3.acw-regime .acw-info-box--info .acw-info-box__title{color:#0d5cbe;}
body.acw-v3.acw-regime .acw-info-box--ok .acw-info-box__title{color:#0b6b3a;}
/* ============================================================ FINE V3-ACI-REGIME ============================================================ */

/* ============================================================
   V3-REVNEO - stili della pagina ridisegnata servizi_revisione_neopatentati
   (switch controllo, stepper, blocchi passo, pill esito, dettaglio). Scoped
   body.acw-v3.acw-revneo. Blu/inchiostro/neutri via token canonici; stati letterali.
   ============================================================ */
body.acw-v3.acw-revneo .acw-result h3{margin:0 0 8px 0; font-size:16px;}
body.acw-v3.acw-revneo .acw-small{font-size:13px; color:rgba(var(--acc-slate),.75);}
body.acw-v3.acw-revneo .acw-pill{display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-weight:800; font-size:12px; border:1px solid rgba(var(--acc-slate),.18);}
body.acw-v3.acw-revneo .acw-pill.ok{color:#0b6b3a; background:rgba(11,107,58,0.10); border-color:rgba(11,107,58,0.22);}
body.acw-v3.acw-revneo .acw-pill.ko{color:#b42318; background:rgba(180,35,24,0.10); border-color:rgba(180,35,24,0.22);}
body.acw-v3.acw-revneo .acw-pill.unk{color:#6b4f00; background:rgba(179,129,0,0.12); border-color:rgba(179,129,0,0.22);}
body.acw-v3.acw-revneo .acw-details{margin-top:10px;}
body.acw-v3.acw-revneo .acw-details summary{cursor:pointer; font-weight:800; color:var(--acc-ink);}
body.acw-v3.acw-revneo .rn-textarea{min-height:120px; resize:vertical;}
body.acw-v3.acw-revneo .rn-seg{display:inline-flex; border:1px solid rgba(var(--acc-slate),.20); border-radius:var(--acc-radius); overflow:hidden;}
body.acw-v3.acw-revneo .rn-seg-btn{border:0; background:transparent; padding:8px 16px; font-size:14px; font-weight:700; color:rgba(var(--acc-slate),.75); cursor:pointer;}
body.acw-v3.acw-revneo .rn-seg-btn + .rn-seg-btn{border-left:1px solid rgba(var(--acc-slate),.20);}
body.acw-v3.acw-revneo .rn-seg-btn.is-on{background:var(--acc-blu); color:#fff;}
body.acw-v3.acw-revneo .rn-steps{list-style:none; margin:16px 0 0 0; padding:0; display:flex; gap:14px; flex-wrap:wrap; align-items:center; color:rgba(var(--acc-slate),.6); font-size:13px;}
body.acw-v3.acw-revneo .rn-steps li{display:flex; align-items:center; gap:7px;}
body.acw-v3.acw-revneo .rn-steps li.is-on{color:var(--acc-ink);}
body.acw-v3.acw-revneo .rn-num{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:999px; font-size:12px; font-weight:800; color:rgba(var(--acc-slate),.7); background:rgba(var(--acc-slate),.08);}
body.acw-v3.acw-revneo .rn-steps li.is-on .rn-num{color:#fff; background:var(--acc-blu);}
body.acw-v3.acw-revneo .rn-block{margin-top:18px;}
body.acw-v3.acw-revneo .rn-block-lab{display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--acc-ink); margin-bottom:10px;}
body.acw-v3.acw-revneo .rn-block-lab .rn-num{flex:0 0 auto;}
/* ============================================================ FINE V3-REVNEO ============================================================ */

/* ============================================================
   V3-PRATICHE-CANON - TAPPA 2: rifiniture canoniche (SOLO CSS, pagina non toccata). Scoped body.pratiche-list.
   badge/contatori -> look canonico; titoli sottocard/docs/legacy senza glow/pulse (coerenza col globale .card-title--wow).
   Le card bespoke (.acw-pratica-esito-*, .select-pratica-card, contenitori) restano custom (come .acw-bollo-card).
   ============================================================ */
body.pratiche-list .legacy-badge,body.pratiche-list .docs-count,body.pratiche-list .legacy-count{border-radius:var(--acc-radius-sm) !important;box-shadow:none !important;}
body.pratiche-list .subcard-title--wow::after,body.pratiche-list .docs-title--wow::after,body.pratiche-list .legacy-title--wow::after{display:none !important;content:none !important;}
body.pratiche-list .subcard-title--wow .subcard-ico,body.pratiche-list .docs-title--wow .docs-ico,body.pratiche-list .legacy-title--wow .legacy-ico{animation:none !important;filter:none !important;}
/* ============================================================ FINE V3-PRATICHE-CANON ============================================================ */

/* ============================================================
   V3-PRATICHE-CANON2 - TAPPA 3: re-skin canonico (SOLO CSS, pagina non toccata). Scoped body.pratiche-list.
   Lista documenti, filtri, badge, bottoni-azione, card esito -> resa V3; densita' del form ricerca.
   STRUTTURA invariata (lista ricca file-manager). Funzioni (scarica/sostituisci/elimina/filtri) non toccate.
   ============================================================ */
/* form ricerca: i campi riempiono la riga (via l'aria a destra) */
body.pratiche-list #sec-ricerca .pra-row .field{flex:1 1 0 !important;max-width:none !important;}
/* filtri documenti -> chip canonici */
body.pratiche-list .docs-filter{border-radius:var(--acc-radius-sm) !important;}
body.pratiche-list .docs-filter:hover{box-shadow:none !important;transform:none !important;}
body.pratiche-list .docs-filter.is-active{background:var(--acc-blu) !important;border-color:var(--acc-blu) !important;color:#fff !important;}
/* badge provenienza -> raggio micro */
body.pratiche-list .doc-origin{border-radius:var(--acc-radius-sm) !important;}
/* riga/voce documento: niente ombra pesante */
body.pratiche-list .file-item{box-shadow:none !important;}
/* bottoni-azione -> icon-button canonici outline */
body.pratiche-list .file-actions-buttons .file-action-btn{background:#fff !important;border:1px solid rgba(15,23,42,.2) !important;border-radius:var(--acc-radius) !important;box-shadow:none !important;color:#1f4a72 !important;}
body.pratiche-list .file-actions-buttons .file-action-btn:hover{border-color:var(--acc-blu) !important;color:var(--acc-blu) !important;box-shadow:none !important;transform:none !important;filter:none !important;}
body.pratiche-list .file-actions-buttons .file-action-btn--delete:hover{border-color:#cc232a !important;color:#cc232a !important;}
/* indicatori di stato (scaricato/aggiornato): mantenuti, solo piatti */
body.pratiche-list .file-actions-status .file-action-btn{box-shadow:none !important;}
/* card esito stato pratica -> tokenizzata + accento di stato a sinistra (mantiene il colore di stato) */
body.pratiche-list .acw-pratica-esito-card{border-radius:var(--acc-radius) !important;box-shadow:none !important;border-width:1px !important;border-left-width:4px !important;}
/* card scelta multi-match -> bordi netti */
body.pratiche-list .select-pratica-card .choice-item{border-radius:var(--acc-radius) !important;box-shadow:none !important;}
/* ============================================================ FINE V3-PRATICHE-CANON2 ============================================================ */

/* ============================================================
   V3-PRATICHE-CANON3 - TAPPA 4 (strada A): allineamento di densita ai valori canonici .acc-* (SOLO CSS). Scoped body.pratiche-list.
   Interim: la resa NATIVA piena arriva con la strada B (ricostruzione strutturale).
   ============================================================ */
body.pratiche-list .search-card{padding:18px 20px !important;}
body.pratiche-list .folder-subcard{padding:14px 16px !important;}
body.pratiche-list .card-header{margin-bottom:12px !important;}
body.pratiche-list .card-desc{font-size:13px !important;margin-top:3px !important;}
body.pratiche-list .field input,body.pratiche-list .field select,body.pratiche-list .pra-row input,body.pratiche-list .pra-row select{font-size:13.5px !important;padding:9px 11px !important;min-height:38px !important;}
body.pratiche-list .pra-row{gap:12px !important;}
/* ============================================================ FINE V3-PRATICHE-CANON3 ============================================================ */

/* ============================================================
   V3-NPACC - rifiniture refactoring nuova_pratica_acc + tipografia testata allineata al preload (scoped body.nuova-pratica-page).
   .acc-ava svg globale ; valori/righe/icone testata ; lucchetto badge VERDE (icona-titolo blu solo su figlio diretto) ; formalita su 1 riga + valori a sinistra in BLOCCO (niente rientro sospeso). Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acc-ava svg{width:24px;height:24px;}
body.nuova-pratica-page .acc-srow{gap:12px;padding:5px 0;border-top:1px solid rgba(15,23,42,.06);}
body.nuova-pratica-page .acc-srow:first-child{border-top:none;}
body.nuova-pratica-page .acc-sval{font-weight:700;color:#111827;text-align:right;}
body.nuova-pratica-page .acc-sval.is-new{color:var(--acc-warn);}
body.nuova-pratica-page .acc-box h3 > svg{color:var(--acc-blu);}
body.nuova-pratica-page #npFormBadge svg{color:var(--acc-ok);}
body.nuova-pratica-page .acc-box .acc-form--row .acc-label{white-space:nowrap;}
body.nuova-pratica-page #npFormCellTipo,body.nuova-pratica-page #npFormCellSub{display:grid;grid-template-columns:140px 1fr;gap:2px 12px;align-items:start;}
body.nuova-pratica-page #npFormCellTipo .acc-k,body.nuova-pratica-page #npFormCellSub .acc-k{white-space:nowrap;}
body.nuova-pratica-page #npFormCellTipo .acc-sval,body.nuova-pratica-page #npFormCellSub .acc-sval{text-align:left;}
/* ============================================================ FINE V3-NPACC ============================================================ */

/* ============================================================
   V3-NPACC-SG - PASSO 0: classi styleguide V3 MANCANTI per il reskin di nuova_pratica_acc
   (Veicolo/Intestatario/Documenti/Invio). Scoped body.nuova-pratica-page (blast radius ZERO).
   ESCLUSA la macchina-stati a fasi (acc-phase/ph-*, D1): il motore resta np-hidden.
   NON ridefinisce il canonico (acc-head-t/acc-sub/acc-form--row/acc-field/acc-pri/acc-send/
   acc-srow/acc-sval-ok/acc-services/acc-chip): aggiunge SOLO il mancante (diff 28/06 §2). Prima di V3-GUSCIO-NERO.
   ============================================================ */
/* numero fase nel cerchio (1/2/3) negli header delle card */
body.nuova-pratica-page .acc-step{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--acc-blu);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;line-height:1;}
/* badge stato "bloccato" (mancava: esistono gia' is-att/is-sus/is-neu) */
body.nuova-pratica-page .acc-statebadge.is-lock{color:rgba(15,23,42,.55);background:rgba(15,23,42,.06);}
body.nuova-pratica-page .acc-statebadge.is-lock svg{width:13px;height:13px;flex:0 0 auto;}
/* badge di stato STANDARD a 4 stati: is-neu(grigio)/is-info(azzurro=trovato)/is-warn(arancio=non confermato)/is-att(verde=confermato) */
body.nuova-pratica-page .acc-statebadge.is-warn{color:var(--acc-warn);background:rgba(180,83,9,.10);}
body.nuova-pratica-page .acc-statebadge.is-info{color:var(--acc-blu);background:rgba(31,111,178,.10);}
/* dimensione STANDARD del badge di stato = come il vecchio badge PROVA (uguale su tutte le card) */
body.nuova-pratica-page .acc-statebadge{font-size:12px;font-weight:800;letter-spacing:.4px;padding:6px 12px;gap:8px;}
body.nuova-pratica-page .acc-statebadge svg{width:14px;height:14px;flex:0 0 auto;}
body.nuova-pratica-page .acc-statebadge .acc-dot{width:8px;height:8px;}
/* banner verde "trovato" (esito ricerca veicolo / intestatario) */
body.nuova-pratica-page .acc-found{display:flex;align-items:center;gap:10px;border:1px solid rgba(21,128,61,.32);background:rgba(21,128,61,.05);border-radius:var(--acc-radius);padding:11px 14px;font-size:13.5px;font-weight:700;color:var(--acc-ok);}
body.nuova-pratica-page .acc-found svg{width:18px;height:18px;flex:0 0 auto;}
/* barra azione finale (blocco Invio): testo guida a sx + azioni a dx */
body.nuova-pratica-page .acc-finalbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid rgba(31,111,178,.16);background:rgba(31,111,178,.03);border-radius:var(--acc-radius);padding:14px 16px;}
body.nuova-pratica-page .acc-finalbar .acc-actions{margin-top:0;}
/* banner "pratica inviata" (esito invio OK) */
body.nuova-pratica-page .acc-ok-banner{display:flex;align-items:center;gap:10px;border:1px solid rgba(21,128,61,.40);background:rgba(21,128,61,.06);border-radius:var(--acc-radius);padding:14px 16px;font-size:14px;font-weight:800;color:var(--acc-ok);}
body.nuova-pratica-page .acc-ok-banner svg{width:20px;height:20px;flex:0 0 auto;}
/* aiuti larghezza per i campi affiancati .acc-form--row .acc-field (prefisso np- = nessuna collisione) */
body.nuova-pratica-page .acc-form--row .acc-field.np-w-lg{flex:2 1 260px;}
body.nuova-pratica-page .acc-form--row .acc-field.np-w-md{flex:1 1 180px;}
body.nuova-pratica-page .acc-form--row .acc-field.np-w-sm{flex:0 1 120px;}
body.nuova-pratica-page .acc-form--row .acc-field.np-w-xs{flex:0 1 90px;}
/* --- supporto reskin card (Veicolo e successive): pannello ricerca azzurro, etichetta sezione, riga tecnica su 1 riga, taglia secondario, badge-hide a conferma --- */
body.nuova-pratica-page .acc-srch{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:rgba(31,111,178,.04);border:1px solid rgba(31,111,178,.14);border-radius:var(--acc-radius);padding:12px 14px;}
body.nuova-pratica-page .acc-srch .np-field{display:flex;flex-direction:column;gap:6px;flex:0 1 320px;min-width:220px;margin-bottom:0;}
body.nuova-pratica-page .acc-srch .np-lookup-btns{display:flex;gap:8px;align-items:flex-end;}
body.nuova-pratica-page .acc-secline{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(15,23,42,.5);margin:16px 0 9px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:5px;}
body.nuova-pratica-page .acc-secline:first-child{margin-top:4px;}
body.nuova-pratica-page .acc-form--row.np-tech2{flex-wrap:nowrap;}
body.nuova-pratica-page .acc-form--row.np-tech2 .acc-field{min-width:0;}
@media(max-width:860px){body.nuova-pratica-page .acc-form--row.np-tech2{flex-wrap:wrap;}}
body.nuova-pratica-page .acc-form--row .np-field label{margin-bottom:0;}
body.nuova-pratica-page .acc-send{font-size:13px;padding:9px 14px;min-height:38px;box-sizing:border-box;border-radius:var(--acc-radius);}
body.nuova-pratica-page .acc-send svg{width:15px;height:15px;vertical-align:-2px;margin-right:5px;}
/* riepilogo veicolo (trovato/confermato): contenitori puliti + box impilati con celle orizzontali */
body.nuova-pratica-page #npVeicResult.np-veic-detail,body.nuova-pratica-page #npVeicCompact.np-veic-detail{border:none;background:transparent;padding:0;margin:8px 0 0;}
body.nuova-pratica-page .acc-vstack{display:flex;flex-direction:column;gap:14px;}
body.nuova-pratica-page .acc-vstack .acc-box{padding:13px 16px;}
body.acw-v3 .acc-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px 20px;}
body.acw-v3 .acc-cell{display:flex;flex-direction:column;gap:2px;min-width:0;}
body.acw-v3 .acc-cl{font-size:11px;color:rgba(15,23,42,.5);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.acw-v3 .acc-cv{font-weight:700;color:#111827;font-size:13.5px;word-break:break-word;}
body.acw-v3 .acc-vrow .acc-cells + .acc-cells{margin-top:11px;}
/* ============================================================ FINE V3-NPACC-SG ============================================================ */

/* ============================================================
   V3-NPRAIL - rail destro "stato pratica" (mattoni sticky) di nuova_pratica_acc.
   De-inline 07/07 dal <style> di pagina. Regole 1:1 (nessuna modifica di resa), solo scope + prefisso body.nuova-pratica-page.
   Il markup (#npRailIn/.npr-tile) e il JS (nprStick/nprFromBadge) restano nella pagina.
   ============================================================ */
body.nuova-pratica-page #npLayout{position:relative;}
/* CENTRATURA insieme blocco+rail (larghezze card INTATTE). Costante empirica da verificare dal vivo se il pannello cambia larghezza. */
@media(min-width:1650px){ body.nuova-pratica-page:not(.login-page) .content{ margin-left:max(0px, calc((100vw - 1622px) / 2)) !important; margin-right:auto !important; } }
/* LANE del rail: colonna alta nella gronda destra (assoluta = NON tocca la larghezza delle card). */
body.nuova-pratica-page #npRail{position:absolute; left:100%; top:0; bottom:0; width:236px; margin-left:20px;}
/* PANNELLO UNICO "stato pratica" = position:sticky NATIVO (via il vecchio fixed + setInterval(100)):
   il contenitore alto #npRail fa da binario, il pannello si incolla in alto mentre scorre il modulo. */
body.nuova-pratica-page #npRailIn{position:sticky; top:96px;}
body.nuova-pratica-page .rt-panel{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.05);}
body.nuova-pratica-page .rt-head{display:flex;align-items:center;gap:9px;padding:18px 13px 0;}
body.nuova-pratica-page .rt-ava{width:32px;height:32px;border-radius:var(--acc-radius,6px);background:rgba(31,111,178,.10);color:var(--acc-blu,#1f6fb2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.nuova-pratica-page .rt-ava svg{width:17px;height:17px;}
body.nuova-pratica-page .rt-htitle{flex:1;min-width:0;}
body.nuova-pratica-page .rt-htitle .t{font-size:13.5px;font-weight:800;color:var(--acc-ink);line-height:1.15;}
body.nuova-pratica-page .rt-htitle .s{font-size:10.5px;color:rgba(15,23,42,.55);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.nuova-pratica-page .rt-prog{padding:10px 13px 11px;}
body.nuova-pratica-page .rt-bar{display:flex;height:6px;border-radius:var(--acc-radius-sm,4px);overflow:hidden;background:rgba(15,23,42,.06);}
body.nuova-pratica-page .rt-bar i{display:block;height:100%;}
body.nuova-pratica-page #nprBarOk{background:var(--acc-ok,#15803d);}
body.nuova-pratica-page #nprBarRun{background:var(--acc-blu,#1f6fb2);}
body.nuova-pratica-page .rt-cap{font-size:9.5px;color:rgba(15,23,42,.5);margin-top:6px;text-transform:uppercase;letter-spacing:.03em;}
body.nuova-pratica-page .rt-track{position:relative;padding:2px 12px 6px;}
body.nuova-pratica-page .npr-t{display:none;}
body.nuova-pratica-page .npr-tile{position:relative;display:flex;gap:10px;padding:6px;cursor:pointer;border-radius:var(--acc-radius-sm,4px);transition:background .15s;box-sizing:border-box;}
body.nuova-pratica-page .npr-tile:hover{background:rgba(15,23,42,.03);}
body.nuova-pratica-page .npr-tile.open{background:rgba(15,23,42,.03);}
body.nuova-pratica-page .npr-node{position:relative;z-index:1;flex:0 0 auto;width:22px;height:22px;border-radius:var(--acc-radius-sm,4px);display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid rgba(15,23,42,.20);font-size:11px;font-weight:800;color:rgba(15,23,42,.5);box-sizing:border-box;}
body.nuova-pratica-page .npr-node svg{width:13px;height:13px;}
body.nuova-pratica-page .npr-main{flex:1;min-width:0;padding-top:1px;}
body.nuova-pratica-page .npr-h{display:flex;align-items:center;gap:8px;}
body.nuova-pratica-page .npr-name{flex:1;min-width:0;font-size:12px;font-weight:800;color:var(--acc-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.nuova-pratica-page .npr-chip{display:none;flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:rgba(15,23,42,.42);background:transparent;padding:0;border-radius:0;white-space:nowrap;}
body.nuova-pratica-page .npr-tile.open .npr-chip{display:inline-block;}
body.nuova-pratica-page .npr-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .26s ease,margin-top .26s ease,opacity .22s;}
body.nuova-pratica-page .npr-tile.open .npr-body{max-height:360px;margin-top:6px;opacity:1;}
body.nuova-pratica-page .npr-r{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px solid rgba(15,23,42,.06);font-size:11px;}
body.nuova-pratica-page .npr-r:last-child{border-bottom:none;}
body.nuova-pratica-page .npr-k{color:rgba(15,23,42,.48);}
body.nuova-pratica-page .npr-v{font-weight:700;color:var(--acc-ink);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.nuova-pratica-page .npr-v.wrap{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;}
body.nuova-pratica-page .npr-tile.st-lock .npr-name{color:rgba(15,23,42,.45);}
body.nuova-pratica-page .npr-tile.st-run .npr-node{background:var(--acc-blu,#1f6fb2);border-color:var(--acc-blu,#1f6fb2);color:#fff;} body.nuova-pratica-page .npr-tile.st-run .npr-chip{color:var(--acc-blu,#1f6fb2);}
body.nuova-pratica-page .npr-tile.st-ok .npr-node{background:var(--acc-ok,#15803d);border-color:var(--acc-ok,#15803d);color:#fff;} body.nuova-pratica-page .npr-tile.st-ok .npr-chip{color:var(--acc-ok,#15803d);}
body.nuova-pratica-page .npr-tile.st-warn .npr-node{background:var(--acc-warn,#b45309);border-color:var(--acc-warn,#b45309);color:#fff;} body.nuova-pratica-page .npr-tile.st-warn .npr-chip{color:var(--acc-warn,#b45309);}
body.nuova-pratica-page .npr-tile.st-edit .npr-node{background:#4f46b5;border-color:#4f46b5;color:#fff;} body.nuova-pratica-page .npr-tile.st-edit .npr-chip{color:#4f46b5;}
body.nuova-pratica-page .npr-link{width:2px;height:12px;margin:0 0 0 16px;background:rgba(15,23,42,.14);border-radius:2px;transition:background .3s;}
body.nuova-pratica-page .npr-link.ok{background:var(--acc-ok,#15803d);}
body.nuova-pratica-page .rt-foot{border-top:1px solid rgba(15,23,42,.08);padding:10px 13px 12px;}
body.nuova-pratica-page .rt-foot .npr-recu{width:100%;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid rgba(15,23,42,.18);border-radius:var(--acc-radius,6px);padding:9px 11px;cursor:pointer;color:var(--acc-blu,#1f6fb2);font-weight:800;font-size:11.5px;font-family:inherit;transition:border-color .18s,box-shadow .18s;}
body.nuova-pratica-page .rt-foot .npr-recu:hover{border-color:var(--acc-blu,#1f6fb2);box-shadow:0 3px 10px rgba(31,111,178,.12);background:#fff;}
@media(max-width:1649px){ body.nuova-pratica-page #npRail{display:none;} }
/* ============================================================ FINE V3-NPRAIL ============================================================ */

/* ============================================================
   V3-RAIL (canonico, riusabile) - rail "stato" a mattoni sticky, PROMOSSO dal V3-NPRAIL di nuova_pratica (11/07/2026).
   Scoped a un contenitore .acw-rail (NON a una pagina): qualunque pagina lo usa con il markup
   .acw-rail-layout > (contenuto) + aside.acw-rail > .acw-rail-in > .rt-panel ...
   Regole 1:1 di resa col NPRAIL; soglia responsive generica 1240px. NPRAIL di nuova_pratica NON toccato.
   ============================================================ */
.acw-rail-layout{position:relative;}
/* Back-link canonico (torna indietro) - inline, SVG dimensionato (fix 11/07: mancava la regola, l'SVG si dilatava a tutta la pagina) */
.acw-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1f6fb2;text-decoration:none;margin:0 0 14px;padding:4px 2px;border-radius:6px;line-height:1;}
.acw-back:hover{color:#155a94;text-decoration:underline;}
.acw-back svg{width:16px;height:16px;flex:0 0 auto;}
.acw-rail{position:absolute; left:100%; top:0; bottom:0; width:236px; margin-left:20px;}
.acw-rail-in{position:sticky; top:96px;}
.acw-rail .rt-panel{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.05);}
.acw-rail .rt-head{display:flex;align-items:center;gap:9px;padding:18px 13px 0;}
.acw-rail .rt-ava{width:32px;height:32px;border-radius:var(--acc-radius,6px);background:rgba(31,111,178,.10);color:var(--acc-blu,#1f6fb2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.acw-rail .rt-ava svg{width:17px;height:17px;}
.acw-rail .rt-htitle{flex:1;min-width:0;}
.acw-rail .rt-htitle .t{font-size:13.5px;font-weight:800;color:var(--acc-ink);line-height:1.15;}
.acw-rail .rt-htitle .s{font-size:10.5px;color:rgba(15,23,42,.55);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acw-rail .rt-prog{padding:10px 13px 11px;}
.acw-rail .rt-bar{display:flex;height:6px;border-radius:var(--acc-radius-sm,4px);overflow:hidden;background:rgba(15,23,42,.06);}
.acw-rail .rt-bar i{display:block;height:100%;}
.acw-rail .rt-bar .rt-ok{background:var(--acc-ok,#15803d);}
.acw-rail .rt-bar .rt-run{background:var(--acc-blu,#1f6fb2);}
.acw-rail .rt-cap{font-size:9.5px;color:rgba(15,23,42,.5);margin-top:6px;text-transform:uppercase;letter-spacing:.03em;}
.acw-rail .rt-track{position:relative;padding:2px 12px 6px;}
.acw-rail .npr-tile{position:relative;display:flex;gap:10px;padding:6px;cursor:pointer;border-radius:var(--acc-radius-sm,4px);transition:background .15s;box-sizing:border-box;}
.acw-rail .npr-tile:hover{background:rgba(15,23,42,.03);}
.acw-rail .npr-tile.open{background:rgba(15,23,42,.03);}
.acw-rail .npr-node{position:relative;z-index:1;flex:0 0 auto;width:22px;height:22px;border-radius:var(--acc-radius-sm,4px);display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid rgba(15,23,42,.20);font-size:11px;font-weight:800;color:rgba(15,23,42,.5);box-sizing:border-box;}
.acw-rail .npr-node svg{width:13px;height:13px;}
.acw-rail .npr-main{flex:1;min-width:0;padding-top:1px;}
.acw-rail .npr-h{display:flex;align-items:center;gap:8px;}
.acw-rail .npr-name{flex:1;min-width:0;font-size:12px;font-weight:800;color:var(--acc-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acw-rail .npr-chip{display:none;flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:rgba(15,23,42,.42);white-space:nowrap;}
.acw-rail .npr-tile.open .npr-chip{display:inline-block;}
.acw-rail .npr-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .26s ease,margin-top .26s ease,opacity .22s;font-size:11px;color:rgba(15,23,42,.6);line-height:1.5;}
.acw-rail .npr-tile.open .npr-body{max-height:360px;margin-top:6px;opacity:1;}
.acw-rail .npr-tile.st-lock .npr-name{color:rgba(15,23,42,.45);}
.acw-rail .npr-tile.st-run .npr-node{background:var(--acc-blu,#1f6fb2);border-color:var(--acc-blu,#1f6fb2);color:#fff;} .acw-rail .npr-tile.st-run .npr-chip{color:var(--acc-blu,#1f6fb2);}
.acw-rail .npr-tile.st-ok .npr-node{background:var(--acc-ok,#15803d);border-color:var(--acc-ok,#15803d);color:#fff;} .acw-rail .npr-tile.st-ok .npr-chip{color:var(--acc-ok,#15803d);}
.acw-rail .npr-tile.st-warn .npr-node{background:var(--acc-warn,#b45309);border-color:var(--acc-warn,#b45309);color:#fff;} .acw-rail .npr-tile.st-warn .npr-chip{color:var(--acc-warn,#b45309);}
.acw-rail .npr-tile.st-sus .npr-node{background:var(--acc-rosso,#cc232a);border-color:var(--acc-rosso,#cc232a);color:#fff;} .acw-rail .npr-tile.st-sus .npr-chip{color:var(--acc-rosso,#cc232a);}
.acw-rail .npr-link{width:2px;height:12px;margin:0 0 0 16px;background:rgba(15,23,42,.14);border-radius:2px;transition:background .3s;}
.acw-rail .npr-link.ok{background:var(--acc-ok,#15803d);}
@media(max-width:1240px){ .acw-rail{display:none;} }
/* ============================================================ FINE V3-RAIL ============================================================ */

/* ============================================================
   V3-RECUPERA - trigger "Riprendi pratica" (assestante, staccato dai mattoni) + modale ricerca. Scoped body.nuova-pratica-page.
   ============================================================ */
body.nuova-pratica-page .npr-recu-sep{height:1px;background:rgba(15,23,42,.10);margin:10px 2px 8px;}
body.nuova-pratica-page .npr-recu{width:150px;display:flex;align-items:center;gap:8px;background:#eaf2fb;border:1px solid #c7dcf0;border-radius:var(--acc-radius,6px);padding:9px 10px;cursor:pointer;color:#1f6fb2;font-weight:800;font-size:11.5px;transition:background .18s,box-shadow .18s;}
body.nuova-pratica-page .npr-recu:hover{background:#dcebf9;box-shadow:0 3px 10px rgba(31,111,178,.14);}
body.nuova-pratica-page .npr-recu-ico{width:20px;height:20px;flex:0 0 auto;display:inline-flex;} body.nuova-pratica-page .npr-recu-ico svg{width:18px;height:18px;}
body.nuova-pratica-page .np-recu-box{width:640px;max-width:94%;background:#fff;border-radius:12px;box-shadow:0 24px 60px rgba(15,23,42,.28);padding:20px 22px;margin-top:20px;}
body.nuova-pratica-page .np-recu-crit{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
body.nuova-pratica-page .np-recu-crit .np-field{display:flex;flex-direction:column;gap:5px;}
body.nuova-pratica-page .np-recu-crit label{font-size:12px;font-weight:700;color:var(--acc-ink);}
body.nuova-pratica-page .np-recu-proto{display:flex;align-items:center;gap:6px;} body.nuova-pratica-page .np-recu-proto .acc-control{width:100px;}
body.nuova-pratica-page .np-recu-yy{font-size:13px;font-weight:800;color:var(--acc-head);background:#eef2f6;border-radius:var(--acc-radius,6px);padding:9px 8px;}
body.nuova-pratica-page .np-recu-lista{margin-top:14px;border-top:1px solid #eef2f6;padding-top:12px;display:flex;flex-direction:column;gap:8px;}
body.nuova-pratica-page .np-recu-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);background:#fff;cursor:pointer;transition:background .15s,border-color .15s;}
body.nuova-pratica-page .np-recu-row:hover{background:#f4f9fe;border-color:#c7dcf0;}
body.nuova-pratica-page .np-recu-row .rn{font-weight:800;color:var(--acc-head);min-width:80px;}
body.nuova-pratica-page .np-recu-row .rm{flex:1;min-width:0;font-size:12.5px;color:#64748b;}
body.nuova-pratica-page .np-recu-empty{font-size:13px;color:#64748b;padding:8px 2px;}
/* ============================================================ FINE V3-RECUPERA ============================================================ */

/* ============================================================
   V3-NPREGIME - feature "regime di proprietà" nella formalità (proprietà piena/leasing/patto riservato dominio).
   Mattoncini scelta + sotto-pannello prezzo/scadenza. Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .np-reg-q{font-size:12.5px;font-weight:700;margin:16px 0 9px;}
body.nuova-pratica-page .np-reg-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
body.nuova-pratica-page .np-reg-tile{text-align:left;border:1.5px solid rgba(15,23,42,.14);border-radius:8px;background:#fff;padding:12px 13px;cursor:pointer;position:relative;transition:border-color .15s,background .15s;font-family:inherit;color:inherit;}
body.nuova-pratica-page .np-reg-tile:hover{border-color:rgba(31,111,178,.5);background:rgba(31,111,178,.03);}
body.nuova-pratica-page .np-reg-tile.is-on{border-color:var(--acc-blu);border-width:2px;background:rgba(31,111,178,.06);}
body.nuova-pratica-page .np-reg-tile .np-rtic{width:32px;height:32px;border-radius:7px;background:rgba(31,111,178,.10);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
body.nuova-pratica-page .np-reg-tile .np-rtic svg{width:18px;height:18px;}
body.nuova-pratica-page .np-reg-tile .np-rtt{display:block;font-weight:800;font-size:13px;line-height:1.2;}
body.nuova-pratica-page .np-reg-tile .np-rts{display:block;font-size:11.5px;color:rgba(15,23,42,.55);margin-top:4px;line-height:1.35;}
body.nuova-pratica-page .np-reg-tile .np-rchk{position:absolute;top:10px;right:10px;color:var(--acc-blu);opacity:0;}
body.nuova-pratica-page .np-reg-tile.is-on .np-rchk{opacity:1;}
body.nuova-pratica-page .np-reg-tile .np-rchk svg{width:17px;height:17px;}
body.nuova-pratica-page .np-reg-sub{margin-top:12px;border:1px dashed rgba(31,111,178,.35);background:rgba(31,111,178,.035);border-radius:7px;padding:13px 14px;}
body.nuova-pratica-page .np-reg-fields{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;}
body.nuova-pratica-page .np-reg-fields .acc-field{margin-bottom:0;}
body.nuova-pratica-page .np-reg-fields .acc-control{width:170px;max-width:100%;}
body.nuova-pratica-page .np-reg-note{font-size:11.5px;color:var(--acc-blu-h);margin-top:11px;display:flex;gap:6px;align-items:flex-start;}
body.nuova-pratica-page .np-reg-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px;}
/* ============================================================ FINE V3-NPREGIME ============================================================ */

/* ============================================================
   V3-NPFORM2 - formalità: tabulazione sinistra righe regime/scadenza/prezzo, numero protocollo piu' grande,
   DUE tasti modifica + EDITOR INLINE COESO (calco admin: box .acc-confirm-like, tasti .acc-confirm-a/.acc-pri2 con icone X/spunta)
   con Annulla+Conferma, sotto-pannello scadenza/prezzo integrato. Visto verde valori = .acc-sval-ok (JS). Scoped body.nuova-pratica-page.
   Prima di V3-GUSCIO-NERO.
   ============================================================ */
/* tabulazione a sinistra: stesse colonne di tipo/formalità (grid 140px) */
body.nuova-pratica-page #npFormCellReg,body.nuova-pratica-page #npFormCellScad,body.nuova-pratica-page #npFormCellPrezzo{display:grid;grid-template-columns:140px 1fr;gap:2px 12px;align-items:start;}
body.nuova-pratica-page #npFormCellReg .acc-k,body.nuova-pratica-page #npFormCellScad .acc-k,body.nuova-pratica-page #npFormCellPrezzo .acc-k{white-space:nowrap;}
body.nuova-pratica-page #npFormCellReg .acc-sval,body.nuova-pratica-page #npFormCellScad .acc-sval,body.nuova-pratica-page #npFormCellPrezzo .acc-sval{text-align:left;}
/* numero protocollo piu' grande (valore piu' importante) */
body.nuova-pratica-page #npProtoVal{font-size:15.5px;}
body.nuova-pratica-page #npProtoVal small{font-size:12.5px;font-weight:700;}
body.nuova-pratica-page #npProtoVal small .np-proto-n{font-size:15.5px;}
/* due tasti modifica (secondari, testo) */
body.nuova-pratica-page #npFormLockRow{display:flex;gap:8px;flex-wrap:wrap;}
body.nuova-pratica-page .np-formbtn{font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;border:1px solid rgba(15,23,42,.16);background:#fff;color:#334155;cursor:pointer;transition:border-color .15s,color .15s,background .15s;}
body.nuova-pratica-page .np-formbtn:hover{border-color:var(--acc-blu);color:var(--acc-blu-h);background:rgba(31,111,178,.04);}
body.nuova-pratica-page .np-formbtn svg{width:15px;height:15px;flex:0 0 auto;}
/* editor in fondo alla card formalità */
body.nuova-pratica-page #npFormBox{display:flex;flex-direction:column;}
body.nuova-pratica-page #npFormBox > #npFormSelect{order:5;}
/* in MODIFICA: box COESO (non bordo tratteggiato sganciato), fade discreto */
body.nuova-pratica-page #npFormSelect.np-edit-form,body.nuova-pratica-page #npFormSelect.np-edit-reg{margin-top:14px;padding:14px 16px;border:1px solid rgba(31,111,178,.28);border-radius:8px;background:rgba(31,111,178,.05);animation:npEdFade .18s ease;}
@keyframes npEdFade{from{opacity:0;}to{opacity:1;}}
body.nuova-pratica-page #npFormSelect.np-edit-form #npRegime{display:none;}
body.nuova-pratica-page #npFormSelect.np-edit-reg #npFormRow{display:none;}
body.nuova-pratica-page #npFormSelect.np-edit-reg #npFormChosen{display:none;}
/* titoletti editor (dentro il box) */
body.nuova-pratica-page .np-ed-head{display:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--acc-blu-h);margin:0 0 12px;}
body.nuova-pratica-page #npFormSelect.np-edit-form .np-edh-form{display:block;}
body.nuova-pratica-page #npFormSelect.np-edit-reg .np-edh-reg{display:block;}
/* riga tasti = riuso admin .acc-confirm-a; icone X/spunta gestite dalla regola globale .acc-confirm-a button svg */
body.nuova-pratica-page .np-ed-actions{margin-top:14px;}
/* Annulla solo in modifica (nel primo flusso resta nascosto) */
body.nuova-pratica-page #npFormEditCancel{display:none;}
body.nuova-pratica-page #npFormSelect.np-edit-form #npFormEditCancel,body.nuova-pratica-page #npFormSelect.np-edit-reg #npFormEditCancel{display:inline-flex;}
/* sotto-pannello scadenza/prezzo: INTEGRATO nella pagina (separatore pulito, niente box tecnico tratteggiato) */
body.nuova-pratica-page .np-reg-sub{margin-top:14px;border:none;background:transparent;border-radius:0;padding:13px 0 0;border-top:1px solid rgba(15,23,42,.08);}
/* in Cambia regime il titolo del pannello copre gia' "regime di proprietà": evita la ripetizione */
body.nuova-pratica-page #npFormSelect.np-edit-reg .np-reg-q{display:none;}
/* ============================================================ FINE V3-NPFORM2 ============================================================ */

/* ============================================================
   V3-NPBONIFICA - bonifica nuova_pratica: de-inline modale rappresentante (sblocca il gate audit_canonici: niente border-radius:Npx inline).
   Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .np-rappr-box{background:#fff;border-radius:var(--acc-radius);max-width:920px;width:100%;padding:22px;box-shadow:0 12px 48px rgba(0,0,0,.35);}
/* ============================================================ FINE V3-NPBONIFICA ============================================================ */

/* ============================================================
   V3-NPREGFIELDS - campi regime (scadenza/prezzo) in veste CANONICA V3: con .acc-form--inline (etichetta sopra + input .acc-control)
   ricevono lo styling canonico; il prezzo diventa input-valuta integrato (gruppo bordato + prefisso €, input borderless).
   Token-based. Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .np-reg-fields{align-items:flex-start;}
body.nuova-pratica-page .np-reg-fields .acc-field{flex:1 1 175px;margin-bottom:0;}
body.nuova-pratica-page .np-reg-fields .acc-field > .acc-control{width:100%;}
body.nuova-pratica-page .np-eurgrp{display:flex;align-items:stretch;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);overflow:hidden;background:#fff;}
body.nuova-pratica-page .np-eurgrp:focus-within{border-color:var(--acc-blu);box-shadow:0 0 0 3px rgba(31,111,178,.18);}
body.nuova-pratica-page .np-eurgrp .np-eurcur{display:flex;align-items:center;padding:0 11px;background:rgba(15,23,42,.04);color:rgba(15,23,42,.55);font-weight:700;border-right:1px solid rgba(15,23,42,.12);}
body.nuova-pratica-page .np-eurgrp .acc-control{border:none;border-radius:0;flex:1;min-width:0;width:auto;}
body.nuova-pratica-page .np-eurgrp .acc-control:focus{box-shadow:none;border:none;}
/* ============================================================ FINE V3-NPREGFIELDS ============================================================ */

/* ============================================================
   V3-NPSTEP - REGOLA: il numero di sequenza/fase va a DESTRA nell'header della card (come il canonico .acc-step).
   Allinea il legacy .np-step-tag (Intestatario/Invio/Documenti) a destra. Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .card-header .card-title{display:flex;align-items:center;}
body.nuova-pratica-page .np-step-tag{order:2;margin-left:auto;margin-right:0;}
/* ============================================================ FINE V3-NPSTEP ============================================================ */

/* ============================================================
   V3-NPVEIC - card "Dati del veicolo": campi del form manuale (#npVeicForm) e input di ricerca
   in veste CANONICA V3 (stesso look dei .acc-control della card Formalita): padding/altezza/sfondo/font
   uniformi + freccia select custom + etichette canoniche + titolo interno grigio-blu (--acc-head).
   Il bordo/focus arriva gia' dal blocco "controlli uniformi". + banner "non in archivio" tokenizzato
   + badge "in elaborazione" (is-edit, indaco + matita). Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page #npVeicForm .acc-control,
body.nuova-pratica-page #npVeicForm .np-ac-q,
body.nuova-pratica-page .acc-srch .np-field input{padding:9px 11px;min-height:38px;box-sizing:border-box;font-size:13.5px;background-color:#fff;color:var(--acc-ink);font-family:inherit;width:100%;}
body.nuova-pratica-page #npVeicForm select.acc-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f242c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px;}
body.nuova-pratica-page #npVeicForm .acc-label,
body.nuova-pratica-page .acc-srch .np-field label{font-size:12.5px;font-weight:700;color:var(--acc-ink);text-transform:none;line-height:1.25;margin-bottom:0;}
body.nuova-pratica-page #npVeicFormTitle{color:var(--acc-head);font-size:14px;font-weight:800;}
body.nuova-pratica-page .np-nf-warn{font-weight:800;color:var(--acc-warn);margin-bottom:6px;}
body.nuova-pratica-page .np-nf-new{font-weight:800;color:var(--acc-blu);margin-bottom:6px;}
body.nuova-pratica-page .acc-statebadge.is-edit{background:#eef0fb;color:#4f46b5;border:1px solid #cdd0f5;}
/* --- FASE C (02/07): form CLIENTE (#npClientForm) e RAPPRESENTANTE (#npRapprForm) 1:1 col form veicolo --- */
body.nuova-pratica-page #npClientForm .acc-control,
body.nuova-pratica-page #npRapprForm .acc-control{padding:9px 11px;min-height:38px;box-sizing:border-box;font-size:13.5px;background-color:#fff;color:var(--acc-ink);font-family:inherit;width:100%;}
body.nuova-pratica-page #npClientForm select.acc-control,
body.nuova-pratica-page #npRapprForm select.acc-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f242c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px;}
body.nuova-pratica-page #npClientForm .acc-label,
body.nuova-pratica-page #npRapprForm .acc-label{font-size:12.5px;font-weight:700;color:var(--acc-ink);text-transform:none;line-height:1.25;}
body.nuova-pratica-page .np-form2 .np-section{font-size:11px;letter-spacing:.04em;color:rgba(15,23,42,.5);}
body.nuova-pratica-page .acc-statebadge.is-edit svg{color:#4f46b5;}
/* ============================================================ FINE V3-NPVEIC ============================================================ */

/* ============================================================
   V3-NPANAG - tendina "spotlight" ricerca anagrafica (card Intestatario): risultati per
   nome/cognome/ragione sociale (endpoint anag_search). Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .acc-srch .np-field{position:relative;}
body.nuova-pratica-page .np-anag-dd{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:340px;max-width:560px;background:#fff;border:1px solid rgba(15,23,42,.15);border-radius:var(--acc-radius);box-shadow:0 8px 24px rgba(15,23,42,.12);overflow:hidden;}
body.nuova-pratica-page .np-anag-item{display:flex;align-items:center;gap:11px;padding:9px 12px;cursor:pointer;border-top:1px solid rgba(15,23,42,.06);}
body.nuova-pratica-page .np-anag-item:first-child{border-top:none;}
body.nuova-pratica-page .np-anag-item.is-active,body.nuova-pratica-page .np-anag-item:hover{background:rgba(31,111,178,.07);}
body.nuova-pratica-page .np-anag-ava{width:30px;height:30px;border-radius:50%;background:rgba(31,111,178,.10);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.nuova-pratica-page .np-anag-ava svg{width:17px;height:17px;}
body.nuova-pratica-page .np-anag-main{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;}
body.nuova-pratica-page .np-anag-nome{font-weight:700;color:var(--acc-ink);font-size:13.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.nuova-pratica-page .np-anag-sub{font-size:11.5px;color:rgba(15,23,42,.55);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.nuova-pratica-page .np-anag-cod{font-size:11.5px;color:var(--acc-blu);font-weight:700;white-space:nowrap;}
body.nuova-pratica-page .np-anag-foot{padding:7px 12px;font-size:11.5px;color:rgba(15,23,42,.5);border-top:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.02);}

/* ============================================================
   V3-ANAG-SEARCH (canonico, 30/07/2026) - RICERCA ANAGRAFICA a campo unico.
   REGOLA STRUTTURALE (delibera Paolo): ovunque si cerchi un'anagrafica il campo
   e' UNO SOLO e accetta sia il codice fiscale sia cognome/nome (motore condiviso
   wec_pra_cerca_anagrafiche_by_nome, endpoint ?ajax=anag_search), con la tendina
   qui sotto; accanto a "Cerca" ci deve SEMPRE essere il tasto "Pulisci".
   PROMOZIONE: regole copiate 1:1 da body.nuova-pratica-page (che resta INTATTA,
   resa identica) e ri-scopate a body.acw-v3 per essere riusabili ovunque.
   NOVITA': .np-anag-host - in nuova_pratica la tendina si ancora per caso al
   wrapper di layout della pagina; l'host esplicito la rende corretta ovunque.
   ============================================================ */
body.acw-v3 .np-anag-host{position:relative;}
body.acw-v3 .np-anag-dd{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:340px;max-width:560px;background:#fff;border:1px solid rgba(15,23,42,.15);border-radius:var(--acc-radius);box-shadow:0 8px 24px rgba(15,23,42,.12);overflow:hidden;}
body.acw-v3 .np-anag-item{display:flex;align-items:center;gap:11px;padding:9px 12px;cursor:pointer;border-top:1px solid rgba(15,23,42,.06);}
body.acw-v3 .np-anag-item:first-child{border-top:none;}
body.acw-v3 .np-anag-item.is-active,body.acw-v3 .np-anag-item:hover{background:rgba(31,111,178,.07);}
body.acw-v3 .np-anag-ava{width:30px;height:30px;border-radius:50%;background:rgba(31,111,178,.10);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.acw-v3 .np-anag-ava svg{width:17px;height:17px;}
body.acw-v3 .np-anag-main{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;}
body.acw-v3 .np-anag-nome{font-weight:700;color:var(--acc-ink);font-size:13.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.acw-v3 .np-anag-sub{font-size:11.5px;color:rgba(15,23,42,.55);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.acw-v3 .np-anag-cod{font-size:11.5px;color:var(--acc-blu);font-weight:700;white-space:nowrap;}
body.acw-v3 .np-anag-foot{padding:7px 12px;font-size:11.5px;color:rgba(15,23,42,.5);border-top:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.02);}
/* stati del badge inline: esistevano solo su due pagine, qui diventano canonici
   (is-att e is-sus erano gia' globali: mancavano proprio i due piu' frequenti) */
body.acw-v3 .acc-statebadge.is-warn{color:var(--acc-warn);background:rgba(180,83,9,.10);}
body.acw-v3 .acc-statebadge.is-warn .acc-dot{background:var(--acc-warn);}
body.acw-v3 .acc-statebadge.is-edit{color:#4f46b5;background:#eef0fb;}
body.acw-v3 .acc-statebadge.is-edit .acc-dot{background:#4f46b5;}
/* ============================================================ FINE V3-ANAG-SEARCH ============================================================ */

/* ============================================================
   V3-CHOICE (canonico, 30/07/2026) - BOX DI SCELTA grafici.
   Delibera Paolo dopo il collaudo A104: al posto dei segmenti stretti
   (.rn-seg, nati per il servizio revisione) le scelte a 2-3 vie si fanno
   con box veri: icona, titolo e - dove serve - una riga di spiegazione.
   Uso: <div class="ch-grid"> (aggiungere .ch-3 per 3 scelte brevi)
        > <button class="ch-opt" data-val="..."> [.ch-sm = variante compatta]
            > .ch-ico (svg) + .ch-b (.ch-t titolo + .ch-d spiegazione) + .ch-chk
   Lo stato scelto e' la classe .is-on sul bottone (+ aria-pressed).
   Scope body.acw-v3: riusabile in qualunque pagina del portale.
   ============================================================ */
body.acw-v3 .ch-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:4px;width:100%;}
body.acw-v3 .ch-grid.ch-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
body.acw-v3 .ch-opt{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1.5px solid rgba(15,23,42,.14);border-radius:var(--acc-radius);background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s;}
body.acw-v3 .ch-opt:hover{border-color:rgba(31,111,178,.45);background:rgba(31,111,178,.02);}
body.acw-v3 .ch-opt.is-on{border-color:var(--acc-blu);background:rgba(31,111,178,.05);}
body.acw-v3 .ch-ico{width:34px;height:34px;border-radius:var(--acc-radius);background:rgba(15,23,42,.05);color:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.acw-v3 .ch-opt.is-on .ch-ico{background:rgba(31,111,178,.12);color:var(--acc-blu);}
body.acw-v3 .ch-ico svg{width:18px;height:18px;}
body.acw-v3 .ch-b{min-width:0;flex:1;}
body.acw-v3 .ch-t{display:block;font-size:13.5px;font-weight:700;line-height:1.25;}
body.acw-v3 .ch-d{display:block;font-size:11.5px;color:rgba(15,23,42,.55);line-height:1.45;margin-top:2px;}
body.acw-v3 .ch-chk{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(15,23,42,.20);flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#fff;}
body.acw-v3 .ch-opt.is-on .ch-chk{border-color:var(--acc-blu);background:var(--acc-blu);}
body.acw-v3 .ch-chk svg{width:11px;height:11px;stroke:#fff;opacity:0;}
body.acw-v3 .ch-opt.is-on .ch-chk svg{opacity:1;}
body.acw-v3 .ch-opt.ch-sm{flex-direction:column;align-items:center;text-align:center;gap:7px;padding:12px 10px;}
body.acw-v3 .ch-opt.ch-sm .ch-chk{display:none;}
body.acw-v3 .ch-opt.ch-sm .ch-t{font-size:13px;}
/* ============================================================ FINE V3-CHOICE ============================================================ */

/* ============================================================
   V3-A104-ESITO (31/07/2026) - il semaforo delle agevolazioni e gli attrezzi
   dell'operatore. Nasce col pannello operatore; la stessa grammatica rende
   la vista esito del cliente (Lotto 4), che vive sullo stesso scope pagina.
   - .a104-sem/.a104-tile : le cinque tessere (IVA, detrazione, bollo, IPT, contrassegno)
     con i tre stati ok (verde) / warn (arancio) / no (rosso);
   - .a104-scad           : il riquadro del termine dei 6 mesi per il ricorso;
   - .a104-azn            : le mosse numerate consigliate al cliente;
   - .a104-sw             : interruttore a tre vie dell'operatore;
   - .a104-pick           : elenchi a spunta dei vocabolari (trappole/azioni).
   ============================================================ */
body.analisi104-page .a104-sem{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 6px;}
body.analisi104-page .a104-tile{border-radius:var(--acc-radius);border:1.5px solid rgba(15,23,42,.14);padding:11px 9px 10px;text-align:center;background:#fff;}
body.analisi104-page .a104-tile .tico{width:32px;height:32px;border-radius:50%;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.06);}
body.analisi104-page .a104-tile .tico svg{width:18px;height:18px;stroke:rgba(15,23,42,.4);}
body.analisi104-page .a104-tile .tlab{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:rgba(15,23,42,.55);}
body.analisi104-page .a104-tile .tval{font-size:16px;font-weight:900;margin:2px 0 3px;color:rgba(15,23,42,.35);}
body.analisi104-page .a104-tile .tsub{font-size:11.5px;color:rgba(15,23,42,.6);line-height:1.4;}
body.analisi104-page .a104-tile.ok{border-color:rgba(21,128,61,.33);background:#f0fdf4;}
body.analisi104-page .a104-tile.ok .tico{background:#16a34a;} body.analisi104-page .a104-tile.ok .tico svg{stroke:#fff;} body.analisi104-page .a104-tile.ok .tval{color:#15803d;}
body.analisi104-page .a104-tile.warn{border-color:rgba(194,65,12,.33);background:#fff7ed;}
body.analisi104-page .a104-tile.warn .tico{background:#ea580c;} body.analisi104-page .a104-tile.warn .tico svg{stroke:#fff;} body.analisi104-page .a104-tile.warn .tval{color:#c2410c;}
body.analisi104-page .a104-tile.no{border-color:rgba(185,28,28,.33);background:#fef2f2;}
body.analisi104-page .a104-tile.no .tico{background:#dc2626;} body.analisi104-page .a104-tile.no .tico svg{stroke:#fff;} body.analisi104-page .a104-tile.no .tval{color:#b91c1c;}
body.analisi104-page .a104-scad{display:flex;align-items:center;gap:12px;border:1.5px solid rgba(194,65,12,.33);background:#fff7ed;border-radius:var(--acc-radius);padding:11px 14px;margin:12px 0;}
body.analisi104-page .a104-scad .sico{width:34px;height:34px;border-radius:50%;background:#ea580c;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
body.analisi104-page .a104-scad .sico svg{width:18px;height:18px;stroke:#fff;}
body.analisi104-page .a104-scad .stx{font-size:12.5px;line-height:1.5;}
body.analisi104-page .a104-scad b{color:#c2410c;}
body.analisi104-page .a104-azn{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid rgba(15,23,42,.07);align-items:flex-start;}
body.analisi104-page .a104-azn:last-child{border-bottom:0;}
body.analisi104-page .a104-azn .an{width:24px;height:24px;border-radius:var(--acc-radius-sm);background:var(--acc-blu);color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px;}
body.analisi104-page .a104-azn .at{font-size:12.5px;color:rgba(15,23,42,.72);line-height:1.5;}
body.analisi104-page .a104-azn .at b{display:block;font-size:13.5px;margin-bottom:2px;color:var(--acc-ink);}
body.analisi104-page .a104-sw{display:inline-flex;border:1px solid rgba(15,23,42,.18);border-radius:var(--acc-radius);overflow:hidden;margin-top:8px;}
body.analisi104-page .a104-sw button{border:0;background:#fff;padding:5px 10px;font-size:11.5px;font-weight:800;cursor:pointer;color:rgba(15,23,42,.5);min-height:0;}
body.analisi104-page .a104-sw button + button{border-left:1px solid rgba(15,23,42,.14);}
body.analisi104-page .a104-sw button.on-ok{background:#16a34a;color:#fff;}
body.analisi104-page .a104-sw button.on-warn{background:#ea580c;color:#fff;}
body.analisi104-page .a104-sw button.on-no{background:#dc2626;color:#fff;}
body.analisi104-page .a104-semnota{margin-top:8px;font-size:12px;padding:6px 9px;min-height:0;}
body.analisi104-page .a104-pick{display:flex;flex-direction:column;border:1px solid rgba(15,23,42,.10);border-radius:var(--acc-radius);max-height:260px;overflow:auto;}
body.analisi104-page .a104-pick label{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-bottom:1px solid rgba(15,23,42,.055);font-size:12.5px;line-height:1.45;cursor:pointer;}
body.analisi104-page .a104-pick label:last-child{border-bottom:0;}
body.analisi104-page .a104-pick label:hover{background:rgba(31,111,178,.03);}
body.analisi104-page .a104-pick input{margin-top:2px;flex:0 0 auto;}
body.analisi104-page .a104-pick .gv{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:var(--acc-radius-sm);margin-left:auto;flex:0 0 auto;}
body.analisi104-page .a104-pick .gv.blocco{background:rgba(185,28,28,.10);color:#b91c1c;}
body.analisi104-page .a104-pick .gv.alert{background:rgba(180,83,9,.10);color:#a16207;}
body.analisi104-page .a104-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;}
@media(max-width:860px){body.analisi104-page .a104-2col{grid-template-columns:1fr;}body.analisi104-page .a104-sem{grid-template-columns:repeat(2,1fr);}}
/* ============================================================ FINE V3-A104-ESITO ============================================================ */



/* ============================================================ FINE V3-NPANAG ============================================================ */

/* ============================================================
   V3-UPLOAD-PRATICA - sotto-card "Pratica" di upload_integrazione a nativo: LOOK di label/input
   dentro .acc-field (bridge scopato body.upload-page; gemello del bridge pratiche-list).
   Flex riga + ritmo 13 sono gia' globali (body.acw-v3 .acc-form--row). Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.upload-page .acc-box .acc-field{min-width:0;}
body.upload-page .acc-box .acc-field label{font-size:12.5px;font-weight:700;color:var(--acc-ink);margin-bottom:0;text-transform:none !important;line-height:1.25;}
body.upload-page .acc-box .acc-field input{width:100%;box-sizing:border-box;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);padding:9px 11px;font-size:13.5px;min-height:38px;color:var(--acc-ink);font-family:inherit;}
body.upload-page .acc-box .acc-field input:focus{outline:none;border-color:var(--acc-blu);box-shadow:0 0 0 3px rgba(31,111,178,.18);}
/* ============================================================ FINE V3-UPLOAD-PRATICA ============================================================ */

/* ============================================================
   V3-CHIPBTN - chip-bottone canonico per gruppi di filtri (toggle, attivo blu). Riusabile su tutte le pagine. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acc-chipbtn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:6px 13px;border:1px solid rgba(15,23,42,.16);border-radius:var(--acc-radius);background:#fff;color:rgba(15,23,42,.7);cursor:pointer;font-family:inherit;}
body.acw-v3 .acc-chipbtn:hover{border-color:var(--acc-blu);color:var(--acc-blu);}
body.acw-v3 .acc-chipbtn.is-active{background:var(--acc-blu);border-color:var(--acc-blu);color:#fff;}
/* ============================================================ FINE V3-CHIPBTN ============================================================ */

/* ============================================================
   V3-DOCS-BADGE - badge provenienza (.doc-origin) larghezza FISSA uniforme 140px (era 170px in style.css). Scoped pratiche-list.
   Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.pratiche-list .doc-origin{width:140px !important;min-width:140px !important;max-width:140px !important;flex:0 0 140px !important;}
/* ============================================================ FINE V3-DOCS-BADGE ============================================================ */

/* ============================================================
   V3-DOCS-TABLE - lista documenti come tabella canonica .acc-t (intestazioni + zebra + celle).
   Icona PDF a sinistra del testo ; AZIONI: tasti sopra, STATO con etichette (Scaricato VERDE / Aggiornato muto) su riga separata. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.pratiche-list table.acc-t.file-list{width:100%;border-collapse:collapse;margin-top:4px;}
body.pratiche-list table.acc-t.file-list thead th{text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(15,23,42,.55);background:#f8fafc;padding:8px 12px;border-bottom:1px solid rgba(15,23,42,.14);}
body.pratiche-list table.acc-t.file-list thead th.dc-h-act{text-align:right;}
body.pratiche-list table.acc-t.file-list tr.file-item{display:table-row;box-shadow:none;border:0;margin:0;padding:0;}
body.pratiche-list table.acc-t.file-list tr.file-item>td{padding:5px 12px;border-bottom:1px solid rgba(15,23,42,.07);vertical-align:middle;background:transparent;}
body.pratiche-list table.acc-t.file-list tr.file-item:nth-child(even)>td{background:rgba(15,23,42,.025);}
body.pratiche-list .dc-prov{width:1%;white-space:nowrap;}
body.pratiche-list .dc-act{width:1%;white-space:nowrap;text-align:right;}
body.pratiche-list .dc-doc .pdf-icon-img{float:left !important;display:block !important;width:22px !important;height:22px !important;margin:1px 9px 0 0;}
body.pratiche-list .dc-doc .file-text{display:block;overflow:hidden;}
body.pratiche-list .dc-act .file-actions{display:inline-flex;flex-direction:column;align-items:flex-end;gap:14px;}
body.pratiche-list .dc-act .file-actions-buttons{display:inline-flex;gap:5px;align-items:center;}
body.pratiche-list .dc-act .file-actions-status{display:inline-flex;gap:12px;align-items:center;padding-top:8px;border-top:1px solid rgba(15,23,42,.10);}
body.pratiche-list .dc-act .file-actions-status .file-action-btn{display:inline-flex;align-items:center;gap:4px;border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;min-width:0 !important;width:auto !important;height:auto !important;cursor:default;font-size:11px;font-weight:700;}
body.pratiche-list .dc-act .file-actions-status .file-action-btn svg{width:15px;height:15px;}
body.pratiche-list .dc-act .file-actions-status .file-action-btn--downloaded,body.pratiche-list .dc-act .file-actions-status .file-action-btn--downloaded:hover{color:var(--acc-ok) !important;}
body.pratiche-list .dc-act .file-actions-status .file-action-btn--updated,body.pratiche-list .dc-act .file-actions-status .file-action-btn--updated:hover{color:var(--acc-info) !important;}
/* ============================================================ FINE V3-DOCS-TABLE ============================================================ */

/* ============================================================
   V3-PRATICHE-HEAD - .acc-head dentro .folder-header-left (scheda): niente margine sotto, sta nella riga header con il pannello esito a destra.
   Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.pratiche-list .folder-header-left .acc-head{margin-bottom:0;}
/* ============================================================ FINE V3-PRATICHE-HEAD ============================================================ */

/* ============================================================
   V3-PRATICHE-DANGER - modificatore danger su .acc-send (rosso outline, come admin .acc-cdanger), scoped pratiche-list.
   NON tocca .acc-confirm-a button.acc-cdanger di admin. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.pratiche-list .acc-send.acc-cdanger{border-color:rgba(204,35,42,.5);color:#cc232a;}
body.pratiche-list .acc-send.acc-cdanger:hover{border-color:#cc232a;color:#cc232a;background:rgba(204,35,42,.06);}
/* ============================================================ FINE V3-PRATICHE-DANGER ============================================================ */

/* ============================================================
   V3-BTN-PRI - .acc-pri standalone = CTA principale, TAGLIA SEARCH (38px, allineata ai campi), stile V3 piatto.
   ATTENZIONE (verificato 09/07/2026): .acc-actions button.acc-pri (r.173) NON e' piu' specifico.
   Conta: 2 classi + 1 tag  <  2 classi + 2 tag (body.acw-v3 button.acc-pri) -> su body.acw-v3 vince QUESTA.
   La variante compatta si DICHIARA con .acc-pri.is-sm (in fondo al blocco), non si eredita dal contenitore.
   NB residuo: .acc-actions button{flex:1} allarga comunque i figli. .acc-send esiste gia' (195).
   + taglia/larghezza CTA scoped pratiche. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 a.acc-pri,body.acw-v3 button.acc-pri{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;padding:9px 18px;min-height:38px;border:1px solid var(--acc-blu);background:var(--acc-blu);color:#fff;cursor:pointer;border-radius:var(--acc-radius);font-family:inherit;text-decoration:none;box-sizing:border-box;}
body.acw-v3 a.acc-pri:hover,body.acw-v3 button.acc-pri:hover{background:var(--acc-blu-h);color:#fff;}
body.acw-v3 a.acc-pri svg,body.acw-v3 button.acc-pri svg{width:15px;height:15px;vertical-align:-2px;margin-right:6px;}
body.acw-v3 button.acc-pri:disabled,body.acw-v3 a.acc-pri[aria-disabled="true"]{opacity:.5;cursor:default;}
/* .acc-pri.is-sm = CTA COMPATTO in-card. La taglia si DICHIARA, non si eredita dal contenitore. */
body.acw-v3 a.acc-pri.is-sm,body.acw-v3 button.acc-pri.is-sm{font-size:12.5px;padding:6px 14px;min-height:0;}
body.acw-v3 a.acc-pri.is-sm svg,body.acw-v3 button.acc-pri.is-sm svg{width:14px;height:14px;margin-right:5px;}
/* completamento: .acc-chipbtn (r.1264) non dichiarava la taglia dell'icona */
body.acw-v3 .acc-chipbtn svg{width:15px;height:15px;}
body.pratiche-list .acc-send{font-size:14px;padding:9px 18px;min-height:38px;box-sizing:border-box;border-radius:var(--acc-radius);}
body.pratiche-list .acc-send svg{width:15px;height:15px;}
body.pratiche-list .buttons-row .acc-pri,body.pratiche-list .buttons-row .acc-send{flex:1 1 165px;max-width:190px;}
/* ============================================================ FINE V3-BTN-PRI ============================================================ */

/* ============================================================
   V3-PRATICHE-B2C - scheda native (consolida e sostituisce V3-PRATICHE-B2A):
   griglia/sotto-card + RIGHE FORM CANONICHE (.acc-form--row/.acc-field) con ritmo, etichette sentence-case, look input.
   Replica le regole "bridge" (.field) staccate dal rename .field->.acc-field. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acc-box h3 svg{width:16px;height:16px;flex:0 0 auto;}
body.pratiche-list .folder-subcards-grid .subcards-row .acc-box{flex:1 1 0;min-width:0;margin-top:0;}
body.pratiche-list .folder-subcards-grid{gap:20px !important;}
body.acw-v3 .acc-form--row + .acc-form--row{margin-top:13px;}
body.pratiche-list .acc-box .acc-form--row .acc-field{min-width:0;}
/* Ricerca pratiche: campo PERIODO (da-a) affiancato, riga a 5 campi (aggiunta 12/07) */
body.pratiche-list #sec-ricerca .acc-form--row .acc-field{min-width:0;}
body.pratiche-list #sec-ricerca .ric-periodo{flex:1 1 250px;}
body.pratiche-list #sec-ricerca .ric-periodo-in{display:flex;align-items:center;gap:6px;}
body.pratiche-list #sec-ricerca .ric-periodo-in .acc-control{padding:9px 8px;min-width:0;}
body.pratiche-list #sec-ricerca .ric-dash{color:#64748b;font-weight:800;flex:0 0 auto;}
body.pratiche-list .acc-box .acc-field label{font-size:12.5px;font-weight:700;color:var(--acc-ink);text-transform:none !important;line-height:1.25;}
body.pratiche-list .acc-box .acc-field input{width:100%;box-sizing:border-box;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);padding:9px 11px;font-size:13.5px;min-height:38px;color:var(--acc-ink);font-family:inherit;}
body.pratiche-list .acc-box .acc-field input:focus{outline:none;border-color:var(--acc-blu);box-shadow:0 0 0 3px rgba(31,111,178,.18);}
body.pratiche-list .subcard-veicolo .acc-form--row.vehicle-row-3{flex-wrap:nowrap;}
body.pratiche-list .subcard-veicolo .acc-form--row.vehicle-row-3 .acc-field{flex:1 1 0;max-width:none;min-width:0;}
/* ============================================================ FINE V3-PRATICHE-B2C ============================================================ */

/* ============================================================
   V3-SECHEAD - testa di sezione canonica (icona-chip + titolo) + riga-form (filtri/ricerca) + nota form.
   Riusabile su tutte le pagine (body.acw-v3). Completa .acc-head/.acc-sub/.acc-form gia' presenti. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acc-head-ic{flex:0 0 auto;width:38px;height:38px;border-radius:var(--acc-radius);display:flex;align-items:center;justify-content:center;background:rgba(31,111,178,.10);color:var(--acc-blu);}
body.acw-v3 .acc-head-ic svg{width:20px;height:20px;}
body.acw-v3 .acc-head-t{font-weight:800;font-size:18px;color:var(--acc-ink);line-height:1.15;}
body.acw-v3 .acc-form--row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
body.acw-v3 .acc-form--row .acc-field{display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-width:120px;margin-bottom:0;}
body.acw-v3 .acc-form--row .acc-label{padding-top:0;}
body.acw-v3 .acc-formnote{font-size:11.5px;color:rgba(15,23,42,.55);margin:12px 0;}
body.acw-v3 .acc-formnote.is-warn{color:var(--acc-warn);font-weight:700;} /* variante avviso - P10 2026-07-09 */
/* ============================================================ FINE V3-SECHEAD ============================================================ */

/* ============================================================
   V3-PRATICHE - stili pagina pratiche.php, de-inlinati dallo <style> e RI-SCOPATI sotto body.pratiche-list
   (marker unico di pagina: NON sconfina sulle altre .pratiche-page). .form-row rinominata .pra-row
   + replica del layout-riga (in fondo al blocco). Regole spostate, non cambiate: identico a vista. Prima di V3-GUSCIO-NERO.
   ============================================================ */
/* Subcard pi&ugrave; unite tra loro (gap ridotto) */
body.pratiche-list .stato-anagrafica-card .folder-subcards-grid{ display:flex; flex-direction:column; gap:14px; margin-top:6px; }
body.pratiche-list .stato-anagrafica-card .folder-subcards-grid .subcards-row{ display:flex; gap:14px; flex-wrap:nowrap; }
body.pratiche-list .stato-anagrafica-card .folder-subcards-grid .subcards-row .folder-subcard{
    flex:1 1 0;
    min-width:0;
    margin-top:0;
}
@media (max-width: 980px){
    body.pratiche-list .stato-anagrafica-card .folder-subcards-grid .subcards-row{ flex-wrap:wrap; }
    body.pratiche-list .stato-anagrafica-card .folder-subcards-grid .subcards-row .folder-subcard{ flex:1 1 420px; }
}

/* Spaziatura interna sottocard (pi&ugrave; compatta) */
body.pratiche-list .stato-anagrafica-card .folder-subcard .pra-row{ gap:10px; }
body.pratiche-list .stato-anagrafica-card .folder-subcard .pra-row + .pra-row{ margin-top:8px; }

/* SOTTOCARD PRATICA -- layout (3 righe) */
body.pratiche-list .stato-anagrafica-card .subcard-pratica .field-pr-num{ flex:0 0 95px;  max-width:95px; }
body.pratiche-list .stato-anagrafica-card .subcard-pratica .field-pr-date{ flex:0 0 130px; max-width:130px; }

/* Codice pratica: stessa taglia- del Numero pratica */
body.pratiche-list .stato-anagrafica-card .subcard-pratica .field-pr-code{ flex:0 0 95px; max-width:95px; }

body.pratiche-list .stato-anagrafica-card .field-pratica-code{ flex:0 0 95px; max-width:95px; }
body.pratiche-list .stato-anagrafica-card .field-pratica-formalita{ flex:1 1 0; max-width:none; min-width:260px; }

body.pratiche-list .stato-anagrafica-card .field-pratica-formalita input, body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-telaio input, body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-fabtipo input{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Altezza coerente campi */
/* SOTTOCARD VEICOLO -- layout (3 righe) */
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-targa{ flex:0 0 120px; max-width:120px; }
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-telaio{ flex:1 1 210px; min-width:210px; max-width:none; }
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-fabtipo{ flex:1 1 100%; max-width:none; }
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-alim{ flex:0 0 150px; max-width:150px; }
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-cil{  flex:0 0 150px; max-width:150px; }
body.pratiche-list .stato-anagrafica-card .subcard-veicolo .field-v-kw{   flex:0 0 170px; max-width:170px; }

body.pratiche-list .stato-anagrafica-card .folder-subcard input{ min-height:34px; }

/* =========================
   WOW: Titoli + Icona + Glow line (card + sottocard + docs + legacy)
========================= */
@keyframes legacyPulse{
    0%   { transform: scale(1);   opacity: 1; }
    50%  { transform: scale(1.06); opacity: .92; }
    100% { transform: scale(1);   opacity: 1; }
}
@media (prefers-reduced-motion: reduce){
    body.pratiche-list .subcard-title--wow .subcard-ico, body.pratiche-list .docs-title--wow .docs-ico, body.pratiche-list .legacy-title--wow .legacy-ico, body.pratiche-list .card-title--wow .card-ico{ animation:none; }
}

/* Titolo card (Ricerca / Seleziona) */
body.pratiche-list .card-title.card-title--wow{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    font-weight:900;
    /* Titolo in nero (coerenza card). Accento mantenuto su icone/linea. */
    color:#1f1f1f;
    letter-spacing:.2px;
    margin:0;
}
body.pratiche-list .card-title--wow .card-ico{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    filter: drop-shadow(0 3px 6px rgba(31,111,178,0.18));
    transform-origin:center;
    animation: legacyPulse 2.4s ease-in-out infinite;
}
body.pratiche-list .card-title--wow .card-ico svg{ width:18px; height:18px; display:block; }
body.pratiche-list .card-title--wow:after{
    content:"";
    flex: 1 0 100%;
    height:3px;
    border-radius:999px;
    margin-top:6px;
    max-width:320px;
    background: linear-gradient(90deg, rgba(31,111,178,0.0), rgba(31,111,178,0.88), rgba(31,111,178,0.0));
    box-shadow: 0 10px 22px rgba(31,111,178,0.14);
    opacity: .95;
}

/* Titoli sottocard */
body.pratiche-list .subcard-title.subcard-title--wow{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    font-weight:900;
    color:#1f6fb2;
    letter-spacing:.2px;
    margin:0 0 10px 0;
}
body.pratiche-list .subcard-title--wow .subcard-ico{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    filter: drop-shadow(0 3px 6px rgba(31,111,178,0.18));
    transform-origin:center;
    animation: legacyPulse 2.4s ease-in-out infinite;
}
body.pratiche-list .subcard-title--wow .subcard-ico svg{
    width:18px;
    height:18px;
    display:block;
}
body.pratiche-list .subcard-title--wow:after{
    content:"";
    flex: 1 0 100%;
    height:3px;
    border-radius:999px;
    margin-top:4px;
    max-width:260px;
    background: linear-gradient(90deg, rgba(31,111,178,0.0), rgba(31,111,178,0.88), rgba(31,111,178,0.0));
    box-shadow: 0 10px 22px rgba(31,111,178,0.14);
    opacity: .95;
}

/* Titolo card Documenti disponibili (stesso stile) */
body.pratiche-list .docs-title--wow{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    font-weight:900;
    /* Titolo in nero (coerenza card). Accento mantenuto su icone/linea. */
    color:#1f1f1f;
    letter-spacing:.2px;
    margin:0;
}
body.pratiche-list .docs-title--wow .docs-ico{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    filter: drop-shadow(0 3px 6px rgba(31,111,178,0.18));
    transform-origin:center;
    animation: legacyPulse 2.4s ease-in-out infinite;
}
body.pratiche-list .docs-title--wow .docs-ico svg{ width:18px; height:18px; display:block; }
body.pratiche-list .docs-title--wow:after{
    content:"";
    flex: 1 0 100%;
    height:3px;
    border-radius:999px;
    margin-top:6px;
    max-width:320px;
    background: linear-gradient(90deg, rgba(31,111,178,0.0), rgba(31,111,178,0.88), rgba(31,111,178,0.0));
    box-shadow: 0 10px 22px rgba(31,111,178,0.14);
    opacity: .95;
}

/* Titolo blocco Archivio storico (stesso stile) */
body.pratiche-list .legacy-block-title.legacy-title--wow{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    font-weight:900;
    color:#1f6fb2;
    letter-spacing:.2px;
    margin:16px 0 8px 0;
    font-size:14.5px;
}
body.pratiche-list .legacy-title--wow .legacy-ico{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    filter: drop-shadow(0 3px 6px rgba(31,111,178,0.18));
    transform-origin:center;
    animation: legacyPulse 2.4s ease-in-out infinite;
}
body.pratiche-list .legacy-title--wow .legacy-ico svg{ width:18px; height:18px; display:block; }
body.pratiche-list .legacy-title--wow:after{
    content:"";
    flex: 1 0 100%;
    height:3px;
    border-radius:999px;
    margin-top:6px;
    max-width:360px;
    background: linear-gradient(90deg, rgba(31,111,178,0.0), rgba(31,111,178,0.88), rgba(31,111,178,0.0));
    box-shadow: 0 10px 22px rgba(31,111,178,0.14);
    opacity: .95;
}

/* Badge "Storico" -- premium, discreto, coerente */
body.pratiche-list .legacy-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 10px;
    border-radius:10px;
    border:1px solid rgba(31,111,178,0.28);
    background: rgba(31,111,178,0.06);
    color:#1f6fb2;
    font-weight:900;
    font-size:11px;
    letter-spacing:.35px;
    text-transform:uppercase;
    line-height:1;
    box-shadow: 0 10px 22px rgba(31,111,178,0.10);
}
body.pratiche-list .legacy-badge svg{
    width:14px;
    height:14px;
    display:block;
}

/* Contatore documenti -- stesso family feeling (coerente con filtri) */
body.pratiche-list .docs-count, body.pratiche-list .legacy-count{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:8px;
    border:1px solid rgba(31,111,178,0.22);
    background: rgba(31,111,178,0.045);
    color:#1f6fb2;
    font-weight:900;
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
    line-height:1;
    box-shadow: 0 10px 22px rgba(31,111,178,0.08);
}
body.pratiche-list .docs-count svg, body.pratiche-list .legacy-count svg{
    width:14px;
    height:14px;
    display:block;
}

/* Riga contatore documenti sotto intestazione card (pi&ugrave; congruo) */
body.pratiche-list .docs-count-row{
    margin-top:8px;
    display:flex;
    align-items:center;
}
body.pratiche-list .docs-count-row{ margin-left:28px; }
@media (max-width: 520px){
    body.pratiche-list .docs-count-row{ margin-left:0; }
}

/* Campi sempre in MAIUSCOLO (visibilit? e coerenza) */
body.pratiche-list input[type="text"], body.pratiche-list input[type="search"], body.pratiche-list textarea{
    text-transform: uppercase;
}

/* Nota archivio: premium ma discreto */
body.pratiche-list .legacy-note{
    margin:4px 0 14px 28px;
    font-size:12.75px;
    color:#6b7280;
    padding:0;
    border:0;
    background: transparent;
    border-radius:0;
}

/* ESITO NEGATIVO (NOT_FOUND): X rossa */
body.pratiche-list .acc-card input.acw-required-fail{
    padding-right:44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23d32f2f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-size:18px 18px;
    background-position: right 12px center;

    background-color: rgba(211,47,47,0.06);
    border-color: rgba(211,47,47,0.45);
    box-shadow: 0 0 0 2px rgba(211,47,47,0.10);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* PRATICA TROVATA: verde + SPUNTA verde */
body.pratiche-list .acc-card input.acw-pratica-ok{
    padding-right:44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%232e7d32' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-size:18px 18px;
    background-position: right 12px center;

    background-color: rgba(46,125,50,0.06);
    border-color: rgba(46,125,50,0.45);
    box-shadow: 0 0 0 2px rgba(46,125,50,0.10);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.pratiche-list .acc-card input[readonly].acw-pratica-ok{ opacity:1; }

/* HIGHLIGHT campi popolati */
body.pratiche-list .stato-anagrafica-card input[readonly].acw-sub-filled{
    background-color: rgba(31,111,178,0.06);
    border-color: rgba(31,111,178,0.38);
    box-shadow: 0 0 0 2px rgba(31,111,178,0.10);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
    opacity: 1;
}

/* Patente -- evidenziazione scadenza (solo UI) */
body.pratiche-list .stato-anagrafica-card input[readonly].acw-pat-sca-warning{
    background-color: rgba(245,158,11,0.10);
    border-color: rgba(245,158,11,0.55);
    box-shadow: 0 0 0 2px rgba(245,158,11,0.16);
    opacity: 1;
}
body.pratiche-list .stato-anagrafica-card input[readonly].acw-pat-sca-danger{
    background-color: rgba(239,68,68,0.10);
    border-color: rgba(239,68,68,0.55);
    box-shadow: 0 0 0 2px rgba(239,68,68,0.16);
    opacity: 1;
}

/* CARD SCELTA PRATICA (multi match) */
body.pratiche-list .select-pratica-card .choice-list{ list-style:none; margin:14px 0 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
body.pratiche-list .select-pratica-card .choice-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 14px;
    border:1px solid rgba(0,0,0,0.08);
    border-radius:12px;
    background:#fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
body.pratiche-list .select-pratica-card .choice-left{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
body.pratiche-list .select-pratica-card .choice-title{ font-weight:800; color:#222; }
body.pratiche-list .select-pratica-card .choice-sub{ font-size:13px; color:#555; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.pratiche-list .select-pratica-card .choice-sub.choice-formal{ font-size:12.5px; color:#222; font-weight:700; }
body.pratiche-list .select-pratica-card .choice-btn{ white-space:nowrap; flex:0 0 96px; text-align:center; }

/* ============================================================
   PRATICA -- Card Stato in stile Esito- (servizi_aci_bollo)
   SOLO GRAFICA -- NO REGRESSIONI
   Nota: le regole sono qui (inline) perche' pratiche.php carica
   solo style.css (non style_pages.css).
============================================================ */

body.pratiche-list .folder-status{ display:flex; justify-content:flex-end; align-items:flex-start; }

body.pratiche-list .acw-pratica-esito-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border:2px solid rgba(31,111,178,0.22);
  border-radius:18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.86));
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  min-width: 320px;
  max-width: 520px;
}

body.pratiche-list .acw-pratica-esito-left{ min-width:0; display:flex; flex-direction:column; gap:4px; }

body.pratiche-list .acw-pratica-esito-eyebrow{
  font-size:12px;
  letter-spacing:0.12em;
  font-weight:900;
  text-transform:uppercase;
  color: rgba(31,111,178,0.95);
}

body.pratiche-list .acw-pratica-esito-title{
  font-size:18px;
  font-weight:900;
  color:#0f172a;
  line-height:1.15;
}

body.pratiche-list .acw-pratica-esito-sub{
  font-size:13px;
  color:#334155;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.pratiche-list .acw-pratica-esito-iconWrap{
  flex:0 0 auto;
  width:78px;
  height:78px;
  border-radius:999px;
  border:10px solid rgba(31,111,178,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.82);
}

body.pratiche-list .acw-pratica-esito-icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
body.pratiche-list .acw-pratica-esito-icon svg{ width:34px; height:34px; }

/* Animazioni (solo UI) */
body.pratiche-list .acw-pratica-esito-iconWrap{ position:relative; overflow:visible; }
body.pratiche-list .acw-pratica-esito-iconWrap::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  box-shadow: 0 0 0 0 rgba(31,111,178,0.0);
  pointer-events:none;
}

@keyframes acwEsitoSpin{
  to { transform: rotate(360deg); }
}

@keyframes acwEsitoPulse{
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}
@keyframes acwEsitoRingOk{
  0%   { box-shadow: 0 0 0 0 rgba(11,107,58,0.28); }
  70%  { box-shadow: 0 0 0 14px rgba(11,107,58,0.00); }
  100% { box-shadow: 0 0 0 0 rgba(11,107,58,0.00); }
}
@keyframes acwEsitoRingWarn{
  0%   { box-shadow: 0 0 0 0 rgba(245,158,11,0.30); }
  70%  { box-shadow: 0 0 0 14px rgba(245,158,11,0.00); }
  100% { box-shadow: 0 0 0 0 rgba(245,158,11,0.00); }
}
@keyframes acwEsitoRingKo{
  0%   { box-shadow: 0 0 0 0 rgba(180,35,24,0.22); }
  70%  { box-shadow: 0 0 0 14px rgba(180,35,24,0.00); }
  100% { box-shadow: 0 0 0 0 rgba(180,35,24,0.00); }
}

/* Applico animazioni solo quando lo stato ? attivo- */
body.pratiche-list .acw-pratica-esito--ok .acw-pratica-esito-icon{ animation: acwEsitoPulse 2.2s ease-in-out infinite; }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-icon{ }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-icon svg{ animation: acwEsitoSpin 1.6s linear infinite; transform-origin: 50% 50%; }
body.pratiche-list .acw-pratica-esito--ko .acw-pratica-esito-icon{ animation: acwEsitoPulse 2.0s ease-in-out infinite; }

body.pratiche-list .acw-pratica-esito--ok .acw-pratica-esito-iconWrap::after{ animation: acwEsitoRingOk 2.6s ease-out infinite; }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-iconWrap::after{ animation: acwEsitoRingWarn 2.8s ease-out infinite; }
body.pratiche-list .acw-pratica-esito--ko .acw-pratica-esito-iconWrap::after{ animation: acwEsitoRingKo 2.4s ease-out infinite; }

/* Colore icone coerente con stato (solo UI) */
body.pratiche-list .acw-pratica-esito-card{ --acwEsitoColor: rgba(31,111,178,1); }
body.pratiche-list .acw-pratica-esito-icon svg *{
  stroke: var(--acwEsitoColor) !important;
}
body.pratiche-list .acw-pratica-esito-icon svg [fill="none"]{ fill: none !important; }
body.pratiche-list .acw-pratica-esito-icon svg [fill]:not([fill="none"]){ fill: var(--acwEsitoColor) !important; }

/* Varianti colore (solo UI) */
body.pratiche-list .acw-pratica-esito--ok{ border-color: rgba(11,107,58,0.42);  --acwEsitoColor:#0b6b3a; }
body.pratiche-list .acw-pratica-esito--ok .acw-pratica-esito-eyebrow{ color: rgba(11,107,58,0.92); }
body.pratiche-list .acw-pratica-esito--ok .acw-pratica-esito-title{ color:#0b6b3a; }
body.pratiche-list .acw-pratica-esito--ok .acw-pratica-esito-iconWrap{ border-color: rgba(11,107,58,0.14); }

body.pratiche-list .acw-pratica-esito--warn{ border-color: rgba(245,158,11,0.52);  --acwEsitoColor:#f59e0b; }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-eyebrow{ color: rgba(245,158,11,0.96); }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-title{ color:#c2410c; }
body.pratiche-list .acw-pratica-esito--warn .acw-pratica-esito-iconWrap{ border-color: rgba(245,158,11,0.18); }

body.pratiche-list .acw-pratica-esito--ko{ border-color: rgba(180,35,24,0.48);  --acwEsitoColor:#b42318; }
body.pratiche-list .acw-pratica-esito--ko .acw-pratica-esito-eyebrow{ color: rgba(180,35,24,0.95); }
body.pratiche-list .acw-pratica-esito--ko .acw-pratica-esito-title{ color:#b42318; }
body.pratiche-list .acw-pratica-esito--ko .acw-pratica-esito-iconWrap{ border-color: rgba(180,35,24,0.14); }

body.pratiche-list .acw-pratica-esito--neutral{ border-color: rgba(15,23,42,0.18);  --acwEsitoColor:#64748b; }
body.pratiche-list .acw-pratica-esito--neutral .acw-pratica-esito-eyebrow{ color: rgba(15,23,42,0.55); }
body.pratiche-list .acw-pratica-esito--neutral .acw-pratica-esito-title{ color:#0f172a; }
body.pratiche-list .acw-pratica-esito--neutral .acw-pratica-esito-iconWrap{ border-color: rgba(15,23,42,0.10); }

@media (max-width: 980px){
  body.pratiche-list .folder-status{ justify-content:flex-start; }
  body.pratiche-list .acw-pratica-esito-card{ min-width: 260px; max-width:100%; }
}

@media (max-width: 560px){
  body.pratiche-list .acw-pratica-esito-card{ flex-direction:column; align-items:flex-start; }
  body.pratiche-list .acw-pratica-esito-iconWrap{ width:84px; height:84px; border-width:9px; }
  body.pratiche-list .acw-pratica-esito-title{ font-size:20px; }
  body.pratiche-list .acw-pratica-esito-sub{ white-space:normal; }
}

/* --- layout riga .pra-row: replica di body.pratiche-page .form-row (style.css 2841), persa col rename form-row->pra-row.
       NB: input/label/select restano vestiti V3 perche' acw_v3.css li veste ANCHE via .field (non rinominata). --- */
body.pratiche-list .pra-row{display:flex;flex-wrap:wrap;gap:10px;}
body.pratiche-list .subcard-veicolo .pra-row.vehicle-row-3{flex-wrap:nowrap;}
body.pratiche-list .subcard-veicolo .pra-row.vehicle-row-3 .field{flex:1 1 0;max-width:none;min-width:0;}
/* ============================================================ FINE V3-PRATICHE ============================================================ */

/* ============================================================
   V3-NPBIVIO - bivio scelta modalita (Manuale / AI) + pannello AI "in preparazione" + backbar.
   Scoped body.nuova-pratica-page. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.nuova-pratica-page .np-bivio{max-width:760px;margin:0 auto;}
body.nuova-pratica-page .np-biv-h{margin:4px 0 16px;}
body.nuova-pratica-page .np-biv-title{font-size:20px;font-weight:800;color:#1f242c;}
body.nuova-pratica-page .np-biv-sub{font-size:14px;color:rgba(15,23,42,.6);margin-top:2px;}
body.nuova-pratica-page .np-biv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
body.nuova-pratica-page .np-biv-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,23,42,.16);border-radius:var(--acc-radius);padding:18px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;}
body.nuova-pratica-page .np-biv-card:hover{border-color:var(--acc-blu);box-shadow:0 6px 18px rgba(31,111,178,.12);transform:translateY(-1px);}
body.nuova-pratica-page .np-biv-card.ai{border-width:2px;border-color:var(--acc-blu);}
body.nuova-pratica-page .np-biv-badges{position:absolute;top:-11px;right:16px;display:flex;gap:6px;}
body.nuova-pratica-page .np-biv-badges .b{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:var(--acc-radius-sm);}
body.nuova-pratica-page .np-biv-badges .nv{background:var(--acc-blu);color:#fff;}
body.nuova-pratica-page .np-biv-badges .bt{background:#fff;color:var(--acc-blu);border:1px solid var(--acc-blu);}
body.nuova-pratica-page .np-biv-ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
body.nuova-pratica-page .np-biv-ico svg{width:24px;height:24px;}
body.nuova-pratica-page .np-biv-ico.man{background:rgba(15,23,42,.06);color:#3a4250;}
body.nuova-pratica-page .np-biv-ico.aii{background:rgba(31,111,178,.12);color:var(--acc-blu);}
body.nuova-pratica-page .np-biv-ct{font-size:17px;font-weight:600;color:#1f242c;}
body.nuova-pratica-page .np-biv-cs{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(15,23,42,.45);margin-bottom:8px;}
body.nuova-pratica-page .np-biv-cd{font-size:13px;line-height:1.5;color:rgba(15,23,42,.7);margin-bottom:14px;}
body.nuova-pratica-page .np-biv-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:rgba(15,23,42,.7);margin-bottom:16px;}
body.nuova-pratica-page .np-biv-steps i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:rgba(31,111,178,.12);color:var(--acc-blu);font-size:11px;font-weight:700;font-style:normal;}
body.nuova-pratica-page .np-biv-steps em{color:rgba(15,23,42,.3);font-style:normal;}
body.nuova-pratica-page .np-biv-cta{margin-top:auto;text-align:center;font-weight:700;font-size:14px;padding:11px 16px;border-radius:var(--acc-radius);}
body.nuova-pratica-page .np-biv-cta.pri{background:var(--acc-blu);color:#fff;}
body.nuova-pratica-page .np-biv-cta.sec{background:#fff;color:#1f4a72;border:1px solid rgba(15,23,42,.2);}
body.nuova-pratica-page .np-aiprep{max-width:760px;margin:0 auto;}
body.nuova-pratica-page .np-aip-bdg{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:var(--acc-radius-sm);margin-left:6px;vertical-align:middle;}
body.nuova-pratica-page .np-aip-bdg.nv{background:var(--acc-blu);color:#fff;}
body.nuova-pratica-page .np-aip-bdg.bt{background:#fff;color:var(--acc-blu);border:1px solid var(--acc-blu);}
body.nuova-pratica-page .np-aip-body{margin-top:14px;border-top:1px dashed rgba(15,23,42,.14);padding:22px 10px 8px;text-align:center;}
body.nuova-pratica-page .np-aip-chip{width:60px;height:60px;margin:0 auto 12px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(31,111,178,.22),rgba(31,111,178,.07));color:var(--acc-blu);}
body.nuova-pratica-page .np-aip-chip svg{width:30px;height:30px;}
body.nuova-pratica-page .np-aip-tit{font-size:18px;font-weight:800;color:#1f242c;margin-bottom:6px;}
body.nuova-pratica-page .np-aip-txt{max-width:520px;margin:0 auto 16px;font-size:13.5px;line-height:1.55;color:rgba(15,23,42,.7);}
body.nuova-pratica-page .np-aip-steps{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:18px;opacity:.5;}
body.nuova-pratica-page .np-aip-steps span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;}
body.nuova-pratica-page .np-aip-steps i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:rgba(15,23,42,.1);color:#475569;font-size:11px;font-weight:700;font-style:normal;}
body.nuova-pratica-page .np-aip-steps em{color:rgba(15,23,42,.3);font-style:normal;}
body.nuova-pratica-page .np-aip-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
body.nuova-pratica-page .np-backbar{max-width:1360px;margin:0 auto 10px;}
body.nuova-pratica-page .np-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#1f4a72;text-decoration:none;padding:6px 10px;border-radius:var(--acc-radius);}
body.nuova-pratica-page .np-back-link:hover{background:rgba(31,111,178,.08);color:var(--acc-blu);}
/* ============================================================ FINE V3-NPBIVIO ============================================================ */

/* ============================================================
   V3-NPCANON - TAPPA 2: re-skin canonico del contenuto di nuova_pratica (SOLO CSS, pagina non toccata).
   Override scoped body.nuova-pratica-page sopra il base V3-NUOVAPRATICA.
   PRESERVATI: gradiente celestino .np-testata; etichette SOPRA (griglia densa); id/name e agganci AI.
   Banner: SOLO grafica (logica tasti Invio/Esc invariata). Prima di V3-GUSCIO-NERO.
   ============================================================ */
/* --- controlli uniformi: bordo + raggio token (battono anche il !important di .field input) --- */
body.nuova-pratica-page .np-field input,
body.nuova-pratica-page .np-field select,
body.nuova-pratica-page .np-form2 .fld input,
body.nuova-pratica-page .np-form2 .fld select,
body.nuova-pratica-page .np-formsel-row select,
body.nuova-pratica-page .field input,
body.nuova-pratica-page .np-ac-q{border:1px solid rgba(15,23,42,.18) !important;border-radius:var(--acc-radius) !important;}
body.nuova-pratica-page .np-field input:focus,
body.nuova-pratica-page .np-field select:focus,
body.nuova-pratica-page .np-form2 .fld input:focus,
body.nuova-pratica-page .np-form2 .fld select:focus,
body.nuova-pratica-page .np-formsel-row select:focus,
body.nuova-pratica-page .field input:focus,
body.nuova-pratica-page .np-ac-q:focus{outline:none;border-color:var(--acc-blu) !important;box-shadow:0 0 0 3px rgba(31,111,178,.18) !important;}
/* --- sezioni canoniche (divisore sottile, etichetta meno carica) --- */
body.nuova-pratica-page .np-section{color:rgba(15,23,42,.62);border-bottom-color:rgba(15,23,42,.10);}
/* --- icon-button canonici (via il gradiente azzurro: outline coerente) --- */
body.nuova-pratica-page .np-iconbtn{background:#fff !important;border:1px solid rgba(15,23,42,.2) !important;color:#1f4a72 !important;border-radius:var(--acc-radius) !important;box-shadow:none !important;}
body.nuova-pratica-page .np-iconbtn:hover{background:#fff !important;border-color:var(--acc-blu) !important;color:var(--acc-blu) !important;transform:none !important;}
/* --- graffette (allega) canoniche --- */
body.nuova-pratica-page .np-attach{background:#fff !important;border:1px solid rgba(15,23,42,.2) !important;color:#1f4a72 !important;border-radius:var(--acc-radius) !important;}
body.nuova-pratica-page .np-attach:hover{background:#fff !important;border-color:var(--acc-blu) !important;color:var(--acc-blu) !important;transform:none !important;box-shadow:none !important;}
body.nuova-pratica-page .np-attach.has-file{background:rgba(22,163,74,.08) !important;border-color:rgba(22,163,74,.35) !important;color:var(--acc-ok) !important;}
body.nuova-pratica-page .np-eye{border-radius:var(--acc-radius);}
/* --- esito ricerca: accento di stato a sinistra, niente fondo pieno --- */
body.nuova-pratica-page .np-result{border-radius:var(--acc-radius);}
body.nuova-pratica-page .np-result.is-found{background:#fff;border-color:rgba(15,23,42,.12);border-left:3px solid #16a34a;}
body.nuova-pratica-page .np-result.is-notfound{background:#fff;border-color:rgba(15,23,42,.12);border-left:3px solid #f59e0b;}
/* --- badge modalita: chip squadrato (raggio micro) --- */
body.nuova-pratica-page .np-modebadge{border-radius:var(--acc-radius-sm);}
/* --- codice box: tokenizzato --- */
body.nuova-pratica-page .np-codice-box{border-radius:var(--acc-radius);background:rgba(184,134,11,.08);border-color:rgba(184,134,11,.3);}
/* --- tipo toggle --- */
body.nuova-pratica-page .np-tipo-toggle label{border-radius:var(--acc-radius);}
/* --- testata: PRESERVO il celestino (gradiente), tocco solo raggio/bordo --- */
body.nuova-pratica-page .np-testata{border-radius:var(--acc-radius);border-color:#cfe0ee;}
/* --- autocomplete --- */
body.nuova-pratica-page .np-ac-menu{border-radius:0 0 var(--acc-radius) var(--acc-radius);}
/* === BANNER CONFERMA: SOLO grafica V3 (logica/tasti invariati) === */
body.nuova-pratica-page .np-ask-box{border-radius:var(--acc-radius);}
body.nuova-pratica-page .np-ask-head{background:#fff;color:#111827;border-bottom:1px solid rgba(15,23,42,.10);position:relative;padding-top:17px;}
body.nuova-pratica-page .np-ask-head::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--acc-blu);}
body.nuova-pratica-page .np-ask-head.tone-warning::before{background:var(--acc-warn);}
body.nuova-pratica-page .np-ask-head.tone-danger::before{background:var(--acc-danger);}
body.nuova-pratica-page .np-ask-head .ico{color:var(--acc-blu);}
body.nuova-pratica-page .np-ask-btn{border-radius:var(--acc-radius);}
body.nuova-pratica-page .np-ask-btn.ok{background:var(--acc-blu);}
/* ============================================================ FINE V3-NPCANON ============================================================ */

/* ============================================================
   V3-NUOVAPRATICA - stili pagina nuova_pratica (.np-*), de-inlinati dallo <style> (verbatim).
   Selettori page-unici (.np-*/#np*); regola .field input ri-targettata su body.nuova-pratica-page.
   Classe .np-form-row rinominata .np-formsel-row (collisione col gate .form-row). Prima di V3-GUSCIO-NERO.
   ============================================================ */
  /* ---- Inserimento pratica: stile locale, coerente con la baseline ---- */
  .np-wrap{ width:100%; max-width:1360px; margin:0 auto; }
  .np-modebadge{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:800; font-size:12px; letter-spacing:.4px;
    padding:6px 12px; border-radius:var(--acc-radius-sm); margin-left:10px; vertical-align:middle;
  }
  .np-modebadge.is-test{ background:#ecfdf3; color:#15803d; border:1px solid #bbf7d0; }
  .np-modebadge.is-live{ background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }
  .np-modebadge .dot{ width:8px; height:8px; border-radius:50%; background:currentColor; }

  .np-block{ margin-bottom:18px; }
  .np-block.is-locked{ opacity:.55; }
  .np-block.is-locked .np-block-body{ pointer-events:none; filter:grayscale(.2); }

  .np-step-tag{
    display:inline-flex; align-items:center; justify-content:center;
    width:26px; height:26px; border-radius:50%;
    background:#1f6fb2; color:#fff; font-weight:800; font-size:14px; margin-right:10px;
  }

  .np-lookup-row{ display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; }
  .np-lookup-row .field{ flex:0 1 340px; min-width:240px; max-width:380px; }
  .np-result{
    margin-top:12px; border:1px solid #e5e7eb; border-radius:10px; padding:12px 14px; background:#fafbfc;
  }
  .np-result.is-found{ border-color:#bbf7d0; background:#ecfdf3; }
  .np-result.is-notfound{ border-color:#facc15; background:#fffbeb; }
  .np-found-head{ font-weight:800; color:#15803d; margin-bottom:10px; font-size:15px; }
  .np-kv{ display:grid; grid-template-columns:160px 1fr 160px 1fr; gap:6px 14px; font-size:14px; }
  .np-kv .k{ color:#6b7280; font-weight:700; }
  .np-kv .v{ color:#111827; font-weight:700; }
  @media (max-width:760px){ .np-kv{ grid-template-columns:130px 1fr; } }
  .np-datagg{ margin-top:10px; font-size:12px; color:#9ca3af; font-style:italic; text-align:right; }
  .np-lookup-btns{ display:flex; gap:10px; }
  .np-docs-title{ margin-top:12px; font-weight:800; font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:#1f6fb2; }
  .np-docs-box{ margin-top:6px; border:1px solid #e5e7eb; border-radius:8px; background:#fff; padding:8px 12px; }
  .np-docrow{ font-size:13px; color:#374151; padding:3px 0; border-bottom:1px dashed #eef2f7; }
  .np-docrow:last-child{ border-bottom:none; }
  .np-docrow .dn{ font-weight:800; color:#111827; }

  /* ===== Layout compatto form cliente (larghezze proporzionate ai caratteri) ===== */
  .np-form2{ display:flex; flex-wrap:wrap; gap:11px 12px; align-items:flex-end; }
  .np-form2 .np-section{
    flex:0 0 100%; font-weight:800; color:#1f6fb2; font-size:12px;
    text-transform:uppercase; letter-spacing:.6px; border-bottom:1px solid #e5e7eb;
    padding-bottom:5px; margin-top:12px;
  }
  .np-form2 .np-section:first-child{ margin-top:0; }
  .np-form2 .fld{ display:flex; flex-direction:column; min-width:0; }
  .np-form2 .fld label{ font-weight:700; font-size:12px; color:#374151; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .np-form2 .fld input, .np-form2 .fld select{
    width:100%; box-sizing:border-box; padding:8px 9px; border:1px solid #d1d5db; border-radius:8px; font-size:14px;
  }
  /* larghezze fisse proporzionate */
  .np-form2 .w-sex{ width:72px; }
  .np-form2 .w-prov{ width:60px; }
  .np-form2 .w-stato{ width:68px; }
  .np-form2 .w-cap{ width:82px; }
  .np-form2 .w-cat{ width:60px; }
  .np-form2 .w-date{ width:116px; }
  .np-form2 .w-civ{ width:92px; }
  .np-form2 .w-piva{ width:138px; }
  .np-form2 .w-cf{ width:182px; }
  .np-form2 .w-cell{ width:148px; }
  .np-form2 .w-num{ width:140px; }
  .np-form2 .w-cittad{ width:200px; }
  .np-form2 .w-med{ width:230px; }
  .np-form2 .w-topo{ width:150px; }
  .np-form2 .w-altde{ width:130px; }
  .np-form2 .grow{ flex:1 1 200px; }
  /* documenti: UNA riga per documento */
  .np-form2 .np-docline{
    flex:0 0 100%; display:flex; flex-wrap:wrap; gap:8px 10px; align-items:flex-end;
    padding:7px 0; border-bottom:1px dashed #eef2f7;
  }
  .np-form2 .np-docname{ flex:0 0 122px; align-self:center; font-weight:800; color:#1f6fb2; font-size:13px; }
  .np-attach-wrap{ display:flex; align-items:center; gap:7px; align-self:flex-end; }
  .np-attach{
    cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:9px; border:1px solid #bfdbef;
    background:linear-gradient(180deg,#eaf4fd,#d8ebfb); color:#1f6fb2; transition:all .15s;
  }
  .np-attach:hover{ background:linear-gradient(180deg,#1f6fb2,#1a5e98); color:#fff; border-color:#1a5e98; transform:translateY(-1px); box-shadow:0 3px 8px rgba(31,111,178,.30); }
  .np-attach.has-file{ background:linear-gradient(180deg,#e7f6ec,#c9ecd5); color:#1b7a3d; border-color:#bfe6cb; }
  .np-attach svg{ width:19px; height:19px; }
  .np-eye{ cursor:pointer; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:9px; border:1px solid #cbd5e1; background:linear-gradient(180deg,#f1f5f9,#e2e8f0); color:#475569; transition:all .15s; }
  .np-eye:hover{ background:linear-gradient(180deg,#1f6fb2,#1a5e98); color:#fff; border-color:#1a5e98; transform:translateY(-1px); box-shadow:0 3px 8px rgba(31,111,178,.30); }
  .np-eye .npic{ width:18px; height:18px; }
  .np-attach-name{ font-size:12px; color:#1b7a3d; font-weight:700; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .np-attach-clear{ cursor:pointer; color:#b42318; font-weight:800; font-size:14px; line-height:1; padding:2px 4px; }
  /* società: ragione sociale a tutta riga */
  #npClientForm.is-societa .np-col-cognome{ flex:1 1 320px; }
  @media (max-width:780px){
    .np-form2 .fld{ flex:1 1 100% !important; width:auto !important; }
    .np-form2 .np-docname{ flex:0 0 100%; }
  }
  .np-hint{ font-size:13px; color:#6b7280; margin-top:6px; }
  .np-inline-msg{ font-size:14px; font-weight:700; margin-top:8px; }
  .np-inline-msg.err{ color:#b42318; }
  .np-inline-msg.ok{ color:#1b7a3d; }
  .np-newclient{ margin-top:14px; border-top:1px dashed #d1d5db; padding-top:14px; }
  .np-nc-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
  .np-codice-box{
    background:#fff8d6; border:1px solid #e6d27a; border-radius:8px;
    padding:6px 14px; font-weight:900; font-size:16px; color:#7a5c00; letter-spacing:.5px;
  }
  .np-codice-box span{ color:#1f6fb2; }
  .np-tipo-toggle{ display:flex; gap:8px; margin-bottom:12px; }
  .np-tipo-toggle label{
    cursor:pointer; border:1px solid #d1d5db; border-radius:8px; padding:8px 14px;
    font-weight:700; font-size:14px; background:#fff; color:#374151;
  }
  .np-tipo-toggle input{ display:none; }
  .np-tipo-toggle label.is-active{ border-color:#1f6fb2; background:#eef6fc; color:#1f6fb2; }
  .np-hidden{ display:none !important; }

  /* Griglia 12 colonne: ogni campo occupa uno spazio proporzionato alla sua dimensione */
  .np-grid{ display:grid; grid-template-columns:repeat(12, 1fr); gap:14px; align-items:end; }
  .np-grid .np-section{
    grid-column:1 / -1; font-weight:800; color:#1f6fb2; font-size:12px;
    text-transform:uppercase; letter-spacing:.6px;
    border-bottom:1px solid #e5e7eb; padding-bottom:5px; margin-top:10px;
  }
  .np-grid .np-section:first-child{ margin-top:0; }
  .np-grid .np-field{ grid-column: span 6; min-width:0; }   /* default: mezza riga */
  .np-grid .col-2{ grid-column: span 2; }
  .np-grid .col-3{ grid-column: span 3; }
  .np-grid .col-4{ grid-column: span 4; }
  .np-grid .col-6{ grid-column: span 6; }
  /* IMMATRICOLAZIONE (C15): le righe si riempiono (niente buchi dai campi spenti) */
  #npVeicForm.np-immat .np-field:has([data-veic="telaio"]){ grid-column: span 12; }
  #npVeicForm.np-immat .np-field:has([data-veic="classe"]){ grid-column: span 4; }
  #npVeicForm.np-immat .np-field:has([data-veic="uso"]){ grid-column: span 8; }
  #npVeicForm.np-immat .np-field:has([data-ac="fabbrica"]){ grid-column: span 4; }
  #npVeicForm.np-immat .np-field:has([data-ac="serie"]){ grid-column: span 8; }
  #npVeicForm.np-immat .np-field:has([data-veic="alimentazione"]){ grid-column: span 6; }
  #npVeicForm.np-immat .np-field:has([data-veic="kw_full"]){ grid-column: span 3; }
  #npVeicForm.np-immat .np-field:has([data-veic="portata"]){ grid-column: span 3; }
  /* Societa': il Cognome diventa Ragione sociale a tutta larghezza */
  #npClientForm.is-societa .np-col-cognome{ grid-column: span 12; }
  @media (max-width:760px){
    .np-grid{ grid-template-columns:repeat(2, 1fr); }
    .np-grid .np-field{ grid-column: span 2 !important; }   /* full width su mobile */
    .np-grid .col-2{ grid-column: span 1 !important; }      /* tranne i piccolissimi: affiancati */
    .np-grid .col-3{ grid-column: span 1 !important; }
  }
  .np-field label{ display:block; font-weight:700; font-size:13px; color:#374151; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .np-field input, .np-field select{
    width:100%; box-sizing:border-box; padding:9px 11px; border:1px solid #d1d5db; border-radius:8px; font-size:14px;
  }
  /* CAMPI UNIFORMI: porto i campi di ricerca (.field input) allo standard delle tendine, + altezza unica per tutti */
  body.nuova-pratica-page .field input{ padding:9px 11px !important; font-size:14px !important; border-radius:8px !important; }
  .np-field input, .np-field select, .np-formsel-row select, .np-formsel-row input, body.nuova-pratica-page .field input{ min-height:40px; }
  .np-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
  .np-vdescr{ display:block; margin-top:3px; font-size:12px; color:#15803d; font-weight:700; }
  #npVeicForm input[readonly]{ background:#f3f4f6; color:#374151; }
  /* caselle "scrivi e filtra" (Fabbrica / Tipo Serie) */
  .np-ac{ position:relative; }
  .np-ac-menu{ position:absolute; left:0; right:0; top:100%; z-index:50; background:#fff;
    border:1px solid #cbd5e1; border-top:none; border-radius:0 0 8px 8px; max-height:240px; overflow:auto;
    box-shadow:0 10px 22px rgba(2,32,71,.14); }
  .np-ac-item{ padding:8px 11px; cursor:pointer; font-size:14px; border-bottom:1px solid #f1f5f9; }
  .np-ac-item:last-child{ border-bottom:none; }
  .np-ac-item:hover, .np-ac-item.is-active{ background:#eaf2fb; }
  /* card veicolo confermato: niente min-height da dashboard (hug del contenuto) */
  #npBlocco2.np-veic-min0{ min-height:0 !important; }
  /* campi OBBLIGATORI mancanti nel FORM di inserimento: evidenziati in arancio (la card compatta resta uniforme) */
  #npVeicForm .np-req-miss{ border-color:#f0a04b !important; box-shadow:0 0 0 3px rgba(240,160,75,.18) !important; background:#fffaf2; }
  /* campi LETTI dall'AI da confermare: arancio TRATTEGGIATO finche' l'operatore non li apre/verifica */
  #npVeicForm .np-need-check{ border:1.5px dashed #f0a04b !important; box-shadow:0 0 0 3px rgba(240,160,75,.14) !important; background:#fffaf2; }
  /* campo bloccante mancante (targa): rosso, prevale sull'arancio */
  #npVeicForm .np-invalid{ border-color:#dc2626 !important; box-shadow:0 0 0 3px rgba(220,38,38,.15) !important; background:#fff5f5; }
  .np-inline-msg.err{ color:#b91c1c; font-weight:800; }
  /* pulsanti solo-icona (tooltip nativo via title) */
  /* pulsante solo-icona: QUADRATO e UNIFORME in tutta la pagina */
  .np-iconbtn{ width:40px !important; height:40px !important; min-width:40px !important; padding:0 !important;
    display:inline-flex !important; align-items:center; justify-content:center; box-sizing:border-box; flex:0 0 auto; line-height:1; }
  .np-iconbtn .npic{ width:18px; height:18px; margin:0; vertical-align:0; }
  /* === ICONE MODERNE (SVG mask base64, stile Lucide) === */
  .npic{ display:inline-block; width:1.05em; height:1.05em; vertical-align:-0.16em; background:currentColor;
         -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat; }
  .npic-eye{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIgMTJzMy03IDEwLTcgMTAgNyAxMCA3LTMgNy0xMCA3LTEwLTctMTAtN1oiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+PC9zdmc+); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIgMTJzMy03IDEwLTcgMTAgNyAxMCA3LTMgNy0xMCA3LTEwLTctMTAtN1oiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+PC9zdmc+); }
  .npic-unlock{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjExIiB4PSIzIiB5PSIxMSIgcng9IjIiIHJ5PSIyIi8+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjExIiB4PSIzIiB5PSIxMSIgcng9IjIiIHJ5PSIyIi8+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEiLz48L3N2Zz4=); }
  .npic-eraser{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0ibTcgMjEtNC4zLTQuM2MtMS0xLTEtMi41IDAtMy40bDkuNi05LjZjMS0xIDIuNS0xIDMuNCAwbDUuNiA1LjZjMSAxIDEgMi41IDAgMy40TDEzIDIxIi8+PHBhdGggZD0iTTIyIDIxSDciLz48cGF0aCBkPSJtNSAxMSA5IDkiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0ibTcgMjEtNC4zLTQuM2MtMS0xLTEtMi41IDAtMy40bDkuNi05LjZjMS0xIDIuNS0xIDMuNCAwbDUuNiA1LjZjMSAxIDEgMi41IDAgMy40TDEzIDIxIi8+PHBhdGggZD0iTTIyIDIxSDciLz48cGF0aCBkPSJtNSAxMSA5IDkiLz48L3N2Zz4=); }
  .npic-gear{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyLjIyIDJoLS40NGEyIDIgMCAwIDAtMiAydi4xOGEyIDIgMCAwIDEtMSAxLjczbC0uNDMuMjVhMiAyIDAgMCAxLTIgMGwtLjE1LS4wOGEyIDIgMCAwIDAtMi43My43M2wtLjIyLjM4YTIgMiAwIDAgMCAuNzMgMi43M2wuMTUuMWEyIDIgMCAwIDEgMSAxLjcydi41MWEyIDIgMCAwIDEtMSAxLjc0bC0uMTUuMDlhMiAyIDAgMCAwLS43MyAyLjczbC4yMi4zOGEyIDIgMCAwIDAgMi43My43M2wuMTUtLjA4YTIgMiAwIDAgMSAyIDBsLjQzLjI1YTIgMiAwIDAgMSAxIDEuNzNWMjBhMiAyIDAgMCAwIDIgMmguNDRhMiAyIDAgMCAwIDItMnYtLjE4YTIgMiAwIDAgMSAxLTEuNzNsLjQzLS4yNWEyIDIgMCAwIDEgMiAwbC4xNS4wOGEyIDIgMCAwIDAgMi43My0uNzNsLjIyLS4zOWEyIDIgMCAwIDAtLjczLTIuNzNsLS4xNS0uMDhhMiAyIDAgMCAxLTEtMS43NHYtLjVhMiAyIDAgMCAxIDEtMS43NGwuMTUtLjA5YTIgMiAwIDAgMCAuNzMtMi43M2wtLjIyLS4zOGEyIDIgMCAwIDAtMi43My0uNzNsLS4xNS4wOGEyIDIgMCAwIDEtMiAwbC0uNDMtLjI1YTIgMiAwIDAgMS0xLTEuNzNWNGEyIDIgMCAwIDAtMi0yeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyLjIyIDJoLS40NGEyIDIgMCAwIDAtMiAydi4xOGEyIDIgMCAwIDEtMSAxLjczbC0uNDMuMjVhMiAyIDAgMCAxLTIgMGwtLjE1LS4wOGEyIDIgMCAwIDAtMi43My43M2wtLjIyLjM4YTIgMiAwIDAgMCAuNzMgMi43M2wuMTUuMWEyIDIgMCAwIDEgMSAxLjcydi41MWEyIDIgMCAwIDEtMSAxLjc0bC0uMTUuMDlhMiAyIDAgMCAwLS43MyAyLjczbC4yMi4zOGEyIDIgMCAwIDAgMi43My43M2wuMTUtLjA4YTIgMiAwIDAgMSAyIDBsLjQzLjI1YTIgMiAwIDAgMSAxIDEuNzNWMjBhMiAyIDAgMCAwIDIgMmguNDRhMiAyIDAgMCAwIDItMnYtLjE4YTIgMiAwIDAgMSAxLTEuNzNsLjQzLS4yNWEyIDIgMCAwIDEgMiAwbC4xNS4wOGEyIDIgMCAwIDAgMi43My0uNzNsLjIyLS4zOWEyIDIgMCAwIDAtLjczLTIuNzNsLS4xNS0uMDhhMiAyIDAgMCAxLTEtMS43NHYtLjVhMiAyIDAgMCAxIDEtMS43NGwuMTUtLjA5YTIgMiAwIDAgMCAuNzMtMi43M2wtLjIyLS4zOGEyIDIgMCAwIDAtMi43My0uNzNsLS4xNS4wOGEyIDIgMCAwIDEtMiAwbC0uNDMtLjI1YTIgMiAwIDAgMS0xLTEuNzNWNGEyIDIgMCAwIDAtMi0yeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48L3N2Zz4=); }
  .npic-search{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCIvPjxwYXRoIGQ9Im0yMSAyMS00LjM1LTQuMzUiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCIvPjxwYXRoIGQ9Im0yMSAyMS00LjM1LTQuMzUiLz48L3N2Zz4=); }
  .npic-check{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ii8+PC9zdmc+); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ii8+PC9zdmc+); }
  .npic-x{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE4IDYgNiAxOCIvPjxwYXRoIGQ9Im02IDYgMTIgMTIiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE4IDYgNiAxOCIvPjxwYXRoIGQ9Im02IDYgMTIgMTIiLz48L3N2Zz4=); }
  .npic-edit{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIwaDkiLz48cGF0aCBkPSJNMTYuNSAzLjVhMi4xMiAyLjEyIDAgMCAxIDMgM0w3IDE5bC00IDEgMS00WiIvPjwvc3ZnPg==); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIwaDkiLz48cGF0aCBkPSJNMTYuNSAzLjVhMi4xMiAyLjEyIDAgMCAxIDMgM0w3IDE5bC00IDEgMS00WiIvPjwvc3ZnPg==); }
  .npic-refresh{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMnY2aDYiLz48cGF0aCBkPSJNMy41MSA5YTkgOSAwIDEgMCAyLjEzLTMuMzZMMyA4Ii8+PC9zdmc+); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMnY2aDYiLz48cGF0aCBkPSJNMy41MSA5YTkgOSAwIDEgMCAyLjEzLTMuMzZMMyA4Ii8+PC9zdmc+); }
  .npic-lock{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiLz48cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiLz48L3N2Zz4=); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiLz48cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiLz48L3N2Zz4=); }
  .npic-help{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOS4xIDlhMyAzIDAgMCAxIDUuOCAxYzAgMi0zIDMtMyAzIi8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPg==); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOS4xIDlhMyAzIDAgMCAxIDUuOCAxYzAgMi0zIDMtMyAzIi8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPg==); }
  .npic-save{ -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJaIi8+PHBhdGggZD0iTTE3IDIxdi04SDd2OCIvPjxwYXRoIGQ9Ik03IDN2NWg4Ii8+PC9zdmc+); mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJaIi8+PHBhdGggZD0iTTE3IDIxdi04SDd2OCIvPjxwYXRoIGQ9Ik03IDN2NWg4Ii8+PC9zdmc+); }

  .np-inline-msg.ok{ color:#15803d; font-weight:700; }
  .np-spinner{ display:inline-block; width:16px; height:16px; border:2px solid #cbd5e1; border-top-color:#1f6fb2; border-radius:50%; animation:npspin .7s linear infinite; vertical-align:middle; }
  @keyframes npspin{ to{ transform:rotate(360deg); } }

  /* ---- Banner di conferma "alla INFO" (centrale, sfondo oscurato) ---- */
  .np-ask-backdrop{
    position:fixed; inset:0; background:rgba(15,23,42,.55);
    display:flex; align-items:center; justify-content:center; z-index:9999; padding:20px;
  }
  .np-ask-box{
    width:100%; max-width:520px; background:#fff; border-radius:14px; overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.35); border:1px solid #cbd5e1;
    animation:npAskIn .12s ease-out;
  }
  @keyframes npAskIn{ from{ transform:translateY(8px) scale(.98); opacity:0; } to{ transform:none; opacity:1; } }
  .np-ask-head{
    background:linear-gradient(180deg,#2a7ec0,#1f6fb2); color:#fff;
    padding:14px 18px; font-weight:800; font-size:15px; letter-spacing:.3px;
    display:flex; align-items:center; gap:10px;
  }
  .np-ask-head.tone-confirm{ background:linear-gradient(180deg,#2a7ec0,#1f6fb2); }
  .np-ask-head.tone-warning{ background:linear-gradient(180deg,#b45309,#92400e); }
  .np-ask-head.tone-danger{ background:linear-gradient(180deg,#dc2626,#b91c1c); }
  .np-ask-head .ico{ font-size:18px; }
  .np-ask-body{ padding:18px; color:#111827; font-size:15px; line-height:1.5; }
  .np-ask-body .sub{ color:#6b7280; font-size:13px; margin-top:8px; }
  .np-ask-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; padding:0 18px 18px; }
  .np-ask-btn{ cursor:pointer; border-radius:9px; padding:10px 18px; font-weight:800; font-size:14px; border:1px solid transparent; }
  .np-ask-btn .key{ font-size:11px; opacity:.7; font-weight:700; margin-left:6px; }
  .np-ask-btn.ok{ background:#1f6fb2; color:#fff; }
  .np-ask-btn.ok:hover{ background:#1a5e98; }
  .np-ask-btn.neutral{ background:#eef2f7; color:#374151; border-color:#d1d5db; }
  .np-ask-btn.neutral:hover{ background:#e2e8f0; }
  .np-ask-btn.danger{ background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
  .np-ask-btn.danger:hover{ background:#fdeaea; }
  .np-ask-btn:focus{ outline:3px solid rgba(31,111,178,.35); outline-offset:1px; }

  /* ---- Testata pratica (Giornale incarichi) dentro la card ---- */
  .np-testata{
    margin-top:14px; border:1px solid #dbe7f2; border-radius:12px; overflow:hidden;
    background:linear-gradient(180deg,#f4f9fd,#eef5fb);
  }
  .np-testata-grid{
    display:grid; grid-template-columns:repeat(12,1fr); gap:0;
  }
  .np-tcell{ padding:10px 14px; border-right:1px solid #dbe7f2; border-bottom:1px solid #dbe7f2; }
  .np-tcell:last-child{ border-right:none; }
  .np-tcell .tlab{ display:block; font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:#1f6fb2; margin-bottom:3px; }
  .np-tcell .tval{ font-size:16px; font-weight:900; color:#111827; }
  .np-tcell .tval.is-new{ color:#b8860b; }
  .np-tcell .tval small{ font-weight:700; font-size:12px; color:#6b7280; }
  .np-tc-proto{ grid-column: span 3; }
  .np-tc-anno{ grid-column: span 2; }
  .np-tc-data{ grid-column: span 3; }
  .np-tc-comm{ grid-column: span 4; }
  .np-tc-form{ grid-column: span 12; border-bottom:none; }
  @media (max-width:760px){
    .np-tc-proto,.np-tc-anno,.np-tc-data,.np-tc-comm{ grid-column: span 6; }
  }
  /* selezione formalita': gruppo + sottovoce */
  .np-formsel-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-top:6px; }
  .np-formsel-row .np-fg{ min-width:0; }
  .np-formsel-row .np-fg.grp{ flex:0 0 280px; }
  .np-formsel-row .np-fg.sub{ flex:1 1 360px; }
  .np-formsel-row label{ display:block; font-weight:700; font-size:12px; color:#374151; margin-bottom:4px; }
  .np-formsel-row select{ width:100%; box-sizing:border-box; padding:9px 11px; border:1px solid #cbd5e1; border-radius:8px; font-size:14px; background:#fff; }
  .np-form-chosen{ margin-top:8px; font-size:13px; color:#374151; }
  .np-form-chosen b{ color:#1f6fb2; }
  .np-comm-pill{
    display:inline-flex; align-items:center; gap:8px; font-weight:800; color:#111827;
  }
  .np-comm-pill .lock{ font-size:12px; color:#6b7280; font-weight:700; }
  .np-testata-actions{ display:flex; justify-content:flex-end; padding:10px 14px; background:#fff; border-top:1px solid #dbe7f2; }
/* ============================================================ FINE V3-NUOVAPRATICA ============================================================ */

/* ============================================================
   V3-CHANGEPWD - stili pagina change_password (riga cliente + form pwd).
   Estratti dallo <style> inline (gia' scoped body.change-password-page). Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.change-password-page .dashboard-info-box.acw-client-row::before{top:50% !important;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 4h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z' stroke='%231f6fb2' stroke-width='2'/%3E%3Cpath d='M9 9a3 3 0 1 0 6 0a3 3 0 0 0-6 0Z' stroke='%231f6fb2' stroke-width='2'/%3E%3Cpath d='M8.5 17c1.2-2 2.7-3 3.5-3s2.3 1 3.5 3' stroke='%231f6fb2' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");}
body.change-password-page .acw-clientline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;line-height:1.45;}
body.change-password-page .acw-clientline .acw-clientlabel{font-weight:700;color:#1f6fb2;}
body.change-password-page .acw-clientline .acw-clientcode{font-weight:900;color:#111827;}
body.change-password-page .acw-clientline .acw-clientsep{opacity:0.65;font-weight:800;margin:0 1px;}
body.change-password-page .acw-clientline .acw-clientname{font-weight:800;color:#111827;}
body.change-password-page .acw-pwd-form{margin-top:10px;}
body.change-password-page .acw-pwd-form .buttons-row{justify-content:center;margin-top:12px;}
/* ============================================================ FINE V3-CHANGEPWD ============================================================ */

/* ============================================================
   V3-DASHINFO - override griglia 4 colonne di dashboard_info (.dash-info-grid).
   Estratto dallo <style> inline (gia' scoped body.acw-v3). Visivamente identico. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .dash-info-grid{display:grid !important;gap:14px !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
@media (max-width:1100px){body.acw-v3 .dash-info-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:680px){body.acw-v3 .dash-info-grid{grid-template-columns:1fr !important;}}
body.acw-v3 .dash-info-grid .search-card{padding:14px 16px !important;}
body.acw-v3 .dash-info-grid .card-title,body.acw-v3 .dash-info-grid .card-title--wow{font-size:16px !important;}
body.acw-v3 .dash-info-grid .card-desc{font-size:12.5px !important;line-height:1.5 !important;}
body.acw-v3 .dash-info-grid .dashboard-info-box{font-size:12px !important;padding:11px 12px 11px 44px !important;}
body.acw-v3 .dash-info-grid .card-ico svg{width:18px !important;height:18px !important;}
/* ============================================================ FINE V3-DASHINFO ============================================================ */

/* ============================================================
   V3-NOTIF - stili pagina notifications (lista/card notifiche, pill, contesto).
   Estratti dallo <style> inline (page-specifici .acw-notif-*), scoped body.acw-v3.
   Visivamente identici; tinte di stato letterali. Prima di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acw-notif-list.search-card,
body.acw-v3 .acw-notif-item.search-card{min-height:0 !important;display:block !important;}
body.acw-v3 .acw-notif-list{max-width:980px;margin:0 auto;}
body.acw-v3 .acw-notif-item{margin-bottom:14px;}
body.acw-v3 .acw-notif-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;opacity:.85;}
/* 2026-06-22: badge tipo SQUADRATO (V3, niente pillole arrotondate) + data come testo. */
body.acw-v3 .acw-notif-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:4px;font-size:11.5px;font-weight:800;border:1px solid rgba(31,111,178,.22);background:rgba(31,111,178,.07);color:#1f6fb2;}
body.acw-v3 .acw-notif-pill--warn{border-color:rgba(232,124,26,.35);background:rgba(232,124,26,.10);color:#b45309;}
body.acw-v3 .acw-notif-pill--ok{border-color:rgba(21,128,61,.30);background:rgba(21,128,61,.09);color:#15803d;}
body.acw-v3 .acw-notif-pill--promo{border-color:rgba(168,85,247,.35);background:rgba(168,85,247,.10);color:#7c3aed;}
body.acw-v3 .acw-notif-when{font-size:12px;color:rgba(15,23,42,.5);font-weight:600;}
body.acw-v3 .acw-notif-ctx{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(31,111,178,.18);}
body.acw-v3 .acw-notif-ctx ul{margin:8px 0 0 18px;}
/* ============================================================ FINE V3-NOTIF ============================================================ */

/* ============================================================
   V3-ACI-BOLLO - componenti custom della pagina bollo (cards esito, gauge bollo
   corrente, meta veicolo, tabella tecnica, tinte righe esito, note). Estratti dai
   due <style> inline di pagina, scopati body.acw-v3. Niente canonico (whitelist R9):
   restano custom. Blu #1f6fb2 -> var(--acc-blu); tinte stato (verde/rosso/ambra) e
   raggi card restano letterali (semantici, locali). PRIMA di V3-GUSCIO-NERO.
   ============================================================ */
body.acw-v3 .acw-small{font-size:13px; color:#444;}
body.acw-v3 .acw-result h3{margin:0 0 8px 0; font-size:16px;}
body.acw-v3 .acw-kv{display:flex; gap:10px; margin-top:10px; flex-wrap:wrap;}
body.acw-v3 .acw-kv .acw-meta-item{padding:10px 13px; border:1px solid rgba(15,23,42,0.12); border-radius:var(--acc-radius); background:#fff; min-width:140px; flex:1 1 160px;}
@media (min-width: 980px){
  body.acw-v3 .acw-kv{flex-wrap:nowrap;}
  body.acw-v3 .acw-kv .acw-meta-targa{flex:1 1 230px; min-width:210px;}
  body.acw-v3 .acw-kv .acw-meta-tipo{flex:0 0 170px; min-width:170px;}
  body.acw-v3 .acw-kv .acw-meta-telaio{flex:0 0 200px; min-width:190px;}
  body.acw-v3 .acw-kv .acw-meta-imm{flex:0 0 180px; min-width:180px;}
}
body.acw-v3 .acw-kv .acw-meta-item b{display:block; font-size:12px; color:var(--acc-blu); margin-bottom:2px;}
/* ritargatura: targa attuale in evidenza + ex targa muted tra parentesi (niente pill/tag nella cella) */
body.acw-v3 .acw-meta-plate-ex{color:rgba(15,23,42,.5); font-weight:600; font-size:12.5px; margin-left:4px;}
/* nota ritargatura full-width sotto la meta (elemento a se', NON nel .acw-kv nowrap) */
body.acw-v3 .acw-replate-note{margin-top:10px; padding:9px 12px; border:1px solid rgba(210,126,44,0.35); border-radius:var(--acc-radius); background:rgba(210,126,44,0.06); font-size:12.5px; line-height:1.4; color:#7a4a12; font-weight:600;}
body.acw-v3 .acw-replate-note b{color:#5c3708;}
/* importi su una sola riga (no "358,16" + "€" a capo); le cifre grandissime allargano la colonna senza spezzarsi */
body.acw-v3 .acw-eur{white-space:nowrap;}
/* aria tra il blocco meta/nota e la tabella dei periodi (vale con o senza nota ritargatura) */
body.acw-v3 #acwTableWrap{margin-top:18px;}
body.acw-v3 table.acc-t tbody tr.acw-row-debt td:first-child::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#b42318; margin-right:7px; vertical-align:middle;}
body.acw-v3 table.acc-t tbody tr.acw-row-paid td:first-child::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#0b6b3a; margin-right:7px; vertical-align:middle;}
body.acw-v3 table.acc-t tbody tr.acw-row-future td:first-child::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#9aa3b4; margin-right:7px; vertical-align:middle;}
body.acw-v3 table.acc-t tbody tr.acw-row-debt td:last-child{color:#b42318; font-weight:700;}
body.acw-v3 hr.acw-sep{border:0; height:1px; background:rgba(15,23,42,0.10); margin:14px 0;}
body.acw-v3 .acw-bollo-cards{margin-top:12px; display:flex; gap:14px; align-items:stretch;}
body.acw-v3 .acw-bollo-cards .acw-bollo-card{margin-top:0; flex:1 1 0;}
body.acw-v3 .acw-bollo-card--compact{padding:16px 16px;}
body.acw-v3 .acw-bollo-card--compact .acw-bollo-card__iconWrap{width:112px; height:112px; border-width:10px;}
body.acw-v3 .acw-bollo-card--compact .acw-bollo-card__icon{width:60px; height:60px;}
body.acw-v3 .acw-bollo-card--compact .acw-bollo-card__status{font-size:30px;}
body.acw-v3 .acw-bollo-card{margin-top:12px; border-radius:var(--acc-radius); border:1px solid rgba(15,23,42,0.14); background:#fff; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:200px; box-sizing:border-box; box-shadow:0 1px 3px rgba(15,23,42,.05);}
body.acw-v3 .acw-bollo-card__left{min-width:0;}
body.acw-v3 .acw-bollo-card__eyebrow{font-size:11px; font-weight:800; color:rgba(15,23,42,.5); text-transform:uppercase; letter-spacing:.04em;}
body.acw-v3 .acw-bollo-card__status{margin-top:8px; font-weight:800; font-size:30px; line-height:1.05;}
body.acw-v3 .acw-bollo-card__period{margin-top:6px; font-size:16px; color:#1f1f1f;}
body.acw-v3 .acw-bollo-card__note{margin-top:18px; font-size:14px; color:#2b2b2b; font-weight:700;}
body.acw-v3 .acw-bollo-card__iconWrap{flex:0 0 auto; width:140px; height:140px; border-radius:999px; border:12px solid rgba(0,0,0,0.08); display:flex; align-items:center; justify-content:center;}
body.acw-v3 .acw-bollo-card__icon{width:72px; height:72px; display:block;}
body.acw-v3 .acw-bollo-card--ok{border-color:rgba(11,107,58,0.55);}
body.acw-v3 .acw-bollo-card--ok .acw-bollo-card__status{color:#0b6b3a;}
body.acw-v3 .acw-bollo-card--ok .acw-bollo-card__iconWrap{border-color:rgba(11,107,58,0.15);}
body.acw-v3 .acw-bollo-card--ok .acw-bollo-card__icon path{stroke:#0b6b3a;}
body.acw-v3 .acw-bollo-card--ko{border-color:rgba(180,35,24,0.78);}
body.acw-v3 .acw-bollo-card--ko .acw-bollo-card__status{color:#b42318;}
body.acw-v3 .acw-bollo-card--ko .acw-bollo-card__iconWrap{border-color:rgba(215,38,38,0.16);}
body.acw-v3 .acw-bollo-card--ko .acw-bollo-card__icon path{stroke:#b42318;}
body.acw-v3 .acw-bollo-card--unk{border-color:rgba(179,129,0,0.55);}
body.acw-v3 .acw-bollo-card--unk .acw-bollo-card__status{color:#6b4f00;}
body.acw-v3 .acw-bollo-card--unk .acw-bollo-card__iconWrap{border-color:rgba(179,129,0,0.18);}
body.acw-v3 .acw-bollo-card--unk .acw-bollo-card__icon path{stroke:#6b4f00;}
body.acw-v3 .acw-bollo-card--warn{border-color:rgba(210,126,44,0.62);}
body.acw-v3 .acw-bollo-card--warn .acw-bollo-card__status{color:#d27e2c;}
body.acw-v3 .acw-bollo-card--warn .acw-bollo-card__iconWrap{border-color:rgba(210,126,44,0.16);}
body.acw-v3 .acw-bollo-card--warn .acw-bollo-card__icon path{stroke:#d27e2c;}
body.acw-v3 .acw-bollo-current-card--warn{border-color:rgba(210,126,44,0.82);}
body.acw-v3 .acw-bollo-current-card--warn .acw-bollo-current-card__status{color:#d27e2c;}
body.acw-v3 .acw-bollo-current-card--warn .acw-bollo-current-card__gauge{--gauge-accent:#d27e2c;}
body.acw-v3 .acw-bollo-current-card{margin-top:0; flex:1 1 0; border-radius:var(--acc-radius); background:#fff; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(15,23,42,0.14); min-height:200px; box-sizing:border-box; box-shadow:0 1px 3px rgba(15,23,42,.05);}
body.acw-v3 .acw-bollo-current-card__left{min-width:0; flex:1 1 auto;}
body.acw-v3 .acw-bollo-current-card__eyebrow{font-size:11px; font-weight:800; color:rgba(15,23,42,.5); text-transform:uppercase; letter-spacing:.04em;}
body.acw-v3 .acw-bollo-current-card__status{margin-top:8px; font-weight:800; font-size:30px; line-height:1.02;}
body.acw-v3 .acw-bollo-current-card__period{margin-top:12px; font-size:16px; line-height:1.45; color:#1f1f1f; max-width:300px;}
body.acw-v3 .acw-bollo-current-card__deadlineLabel{margin-top:16px; font-size:14px; font-weight:800; color:#1f1f1f;}
body.acw-v3 .acw-bollo-current-card__deadlineDate{margin-top:4px; font-size:14px; font-weight:800; color:#1f1f1f;}
body.acw-v3 .acw-bollo-current-card__gaugeWrap{flex:0 0 auto; width:150px; display:flex; align-items:center; justify-content:center;}
body.acw-v3 .acw-bollo-current-card__gauge{--gauge-progress:68; --gauge-accent:#e30b49; width:142px; height:142px; border-radius:999px; position:relative; background:conic-gradient(from 0deg, var(--gauge-accent) 0 calc(var(--gauge-progress) * 1%), #dde3ea calc(var(--gauge-progress) * 1%) 100%);}
body.acw-v3 .acw-bollo-current-card__gauge::before{content:""; position:absolute; inset:11px; border-radius:999px; background:#fff;}
body.acw-v3 .acw-bollo-current-card__gaugeCenter{position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
body.acw-v3 .acw-bollo-current-card__days{font-size:40px; line-height:0.95; font-weight:1000; color:var(--gauge-accent);}
body.acw-v3 .acw-bollo-current-card__daysLabel{margin-top:5px; font-size:11px; font-weight:800; color:rgba(15,23,42,.6); line-height:1.1; text-align:center;}
body.acw-v3 .acw-bollo-current-card__daysDate{font-size:11px; font-weight:800; color:rgba(15,23,42,.55); line-height:1.1; text-align:center;}
body.acw-v3 .acw-bollo-current-card--ko{border-color:rgba(180,35,24,0.78);}
body.acw-v3 .acw-bollo-current-card--ko .acw-bollo-current-card__status{color:#b42318;}
body.acw-v3 .acw-bollo-current-card--ko .acw-bollo-current-card__gauge{--gauge-accent:#b42318;}
body.acw-v3 .acw-bollo-current-card--ok{border-color:rgba(11,107,58,0.55);}
body.acw-v3 .acw-bollo-current-card--ok .acw-bollo-current-card__status{color:#0b6b3a;}
body.acw-v3 .acw-bollo-current-card--ok .acw-bollo-current-card__gauge{--gauge-accent:#0b6b3a;}
body.acw-v3 .acw-bollo-current-card--unk{border-color:rgba(179,129,0,0.55);}
body.acw-v3 .acw-bollo-current-card--unk .acw-bollo-current-card__status{color:#6b4f00;}
body.acw-v3 .acw-bollo-current-card--unk .acw-bollo-current-card__gauge{--gauge-accent:#6b4f00;}
@media (max-width: 1024px){
  body.acw-v3 .acw-bollo-current-card{padding:16px;}
  body.acw-v3 .acw-bollo-current-card__gaugeWrap{width:140px;}
  body.acw-v3 .acw-bollo-current-card__gauge{width:128px; height:128px;}
  body.acw-v3 .acw-bollo-current-card__days{font-size:36px;}
}
@media (max-width: 700px){
  body.acw-v3 .acw-bollo-current-card,body.acw-v3 .acw-bollo-card{min-height:auto;}
  body.acw-v3 .acw-bollo-current-card{flex-direction:column; align-items:flex-start;}
  body.acw-v3 .acw-bollo-current-card__gaugeWrap{width:100%; justify-content:flex-start;}
  body.acw-v3 .acw-bollo-current-card__gauge{width:136px; height:136px;}
  body.acw-v3 .acw-bollo-current-card__days{font-size:38px;}
}
@media (max-width: 700px){
  body.acw-v3 .acw-bollo-cards{flex-direction:column;}
  body.acw-v3 .acw-bollo-card{flex-direction:column; align-items:flex-start;}
  body.acw-v3 .acw-bollo-card__iconWrap{width:110px; height:110px; border-width:10px;}
  body.acw-v3 .acw-bollo-card__status{font-size:30px;}
}
body.acw-v3 .acw-tech-wrap{margin-top:22px;padding:12px 14px;border:1px solid rgba(15,23,42,0.12);border-radius:var(--acc-radius);background:#fff;font-size:13px;color:#333;box-shadow:0 1px 3px rgba(15,23,42,.05);}
body.acw-v3 .acw-tech-title{margin:0 0 10px 0;padding:0;font-size:16px;line-height:1.2;font-weight:900;color:#2b2f33;letter-spacing:0;text-transform:none;}
body.acw-v3 .acw-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid rgba(0,0,0,0.08);border-left:1px solid rgba(0,0,0,0.08);}
body.acw-v3 .acw-tech-cell{padding:7px 8px;border-right:1px solid rgba(0,0,0,0.08);border-bottom:1px solid rgba(0,0,0,0.08);min-width:0;}
body.acw-v3 .acw-tech-label{display:block;margin-bottom:2px;font-size:12px;line-height:1.15;font-weight:900;color:var(--acc-blu);overflow-wrap:anywhere;}
body.acw-v3 .acw-tech-value{display:block;font-size:13px;line-height:1.25;font-weight:650;color:#2b2b2b;word-break:break-word;overflow-wrap:anywhere;}
body.acw-v3 .acw-esito-inline-note{margin-top:10px; font-size:13px; line-height:1.35; color:#333; font-weight:700; max-width:430px;}
body.acw-v3 .acw-esito-note-spacer{min-height:18px !important; margin:8px 0 10px 0 !important; visibility:hidden !important; overflow:hidden !important;}
/* recuperati dai <style> inline: pill di stato, testo muted, loader, azioni in riga (erano solo inline, non in style.css) */
body.acw-v3 .acw-muted{font-size:13px; color:#555; margin-top:10px;}
body.acw-v3 .acw-pill{display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-weight:800; font-size:12px; border:1px solid rgba(0,0,0,0.12);}
body.acw-v3 .acw-pill.ok{color:#0b6b3a; background:rgba(11,107,58,0.10); border-color:rgba(11,107,58,0.22);}
body.acw-v3 .acw-pill.ko{color:#b42318; background:rgba(180,35,24,0.10); border-color:rgba(180,35,24,0.22);}
body.acw-v3 .acw-pill.unk{color:#6b4f00; background:rgba(179,129,0,0.12); border-color:rgba(179,129,0,0.22);}
body.acw-v3 .acw-loader{display:none; margin-top:12px; font-size:13px; color:var(--acc-blu); font-weight:800;}
body.acw-v3 .acw-load-msg{display:flex; align-items:center; gap:8px;}
body.acw-v3 .acw-inline-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
/* ============================================================ FINE V3-ACI-BOLLO ============================================================ */

/* ============================================================
   V3-GUSCIO-NERO — porta il guscio dalla versione CHIARA (blocco V3-GUSCIO-ADMIN-ACCESSO)
   alla versione NERA ufficiale e deliberata.
   Fonte: ACW_V3_Guscio_Decisione_Ufficiale.md + preload neri (_preload_fusione_V3_logo_nero.html,
   _preload_admin_accesso_dark.html). Nero ancora = #0a0b0d.
   Additivo, DOPO il blocco guscio chiaro, scopato body.acw-v3. Niente markup, niente Produzione:
   il logo nero appare SOLO sotto body.acw-v3 (le pagine legacy restano col logo chiaro).
   ============================================================ */

/* angolo logo NERO + logo nero RITAGLIATO come sfondo (background-image, non content:url).
   crop senza margini. Grandezza UNIFICATA solo-header = header+sidebar: logo 220x62 (crop 448x127, ratio 3.528). */
body.acw-v3 .top-bar-inner>.brand{background:#0a0b0d url("/logo-nero-crop.png") no-repeat center !important;background-size:220px auto !important;}

/* nascondo l'<img> base-bianca del markup: il logo nero ora e' lo sfondo della .brand (sopra) */
body.acw-v3 .brand img.logo-small{display:none !important;}

/* header: nero sotto il riquadro logo (260px) -> grafite -> bianco */
body.acw-v3 .top-bar{background:linear-gradient(90deg,#0a0b0d 0px,#0a0b0d 260px,#2a2e36 300px,#454c57 345px,#9aa3b1 395px,#cdd2da 450px,#eef1f5 500px,#ffffff 560px) !important;position:fixed !important;top:0 !important;left:0 !important;width:100% !important;z-index:200 !important;}
/* header FIXED: compenso i 100px sotto cosi' il contenuto non finisce coperto (login escluso: non ha l'header) */
body.acw-v3:not(.login-page) .content{padding-top:100px !important;}

/* sidebar: nero in alto -> grafite scendendo (era #2a2e36 piatto) */
body.acw-v3 .acw-sidebar{background:linear-gradient(180deg,#0a0b0d 0%,#15171c 16%,#2a2e36 56%) !important;}

/* logo cliente 56px (era 42), icona fallback idem */
body.acw-v3 .client-logo-img{width:56px !important;height:56px !important;}
body.acw-v3 .client-icon-svg{width:56px !important;height:56px !important;}

/* orologio ingrandito (21px) e centrato nell'header */
body.acw-v3 .clock-time{font-size:21px !important;}
body.acw-v3 .header-clock{position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;margin:0 !important;}
/* ============================================================ FINE V3-GUSCIO-NERO ============================================================ */

/* ============================================================
   V3-FAQ  --  componente FAQ centralizzato (grammatica V3, NIENTE legacy)
   Card a due colonne: contenuto a sinistra, COMANDI A DESTRA (Approfondisci,
   Visualizza/Stampa PDF, Invia mail). "Chiudi" in coda all'approfondimento.
   Additivo, scopato body.acw-v3, riusabile su ogni pagina FAQ. Niente PHP/JS.
   ============================================================ */
body.acw-v3 .acc-faq-head{margin:2px 0 14px;}
body.acw-v3 .acc-faq-head h1{margin:0;font-size:22px;font-weight:800;color:var(--acc-ink);}
body.acw-v3 .acc-faq-head p{margin:4px 0 0;font-size:13.5px;color:rgba(15,23,42,.6);}
body.acw-v3 .acc-faq-tools{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:0 0 16px;}
body.acw-v3 .acc-faq-tools .acc-search{margin:0;flex:1 1 260px;}
body.acw-v3 .acc-faq-chips{display:flex;gap:7px;flex-wrap:wrap;}
body.acw-v3 .acc-faq-chip{border:1px solid rgba(15,23,42,.16);background:#fff;border-radius:var(--acc-radius-sm);padding:7px 13px;font-size:12.5px;font-weight:700;color:rgba(15,23,42,.6);cursor:pointer;}
body.acw-v3 .acc-faq-chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff;}
body.acw-v3 .acc-faq-list{display:flex;flex-direction:column;gap:12px;}
body.acw-v3 .acc-faq{display:flex;flex-direction:row;background:#fff;border:1px solid rgba(31,111,178,.16);border-radius:var(--acc-radius);overflow:hidden;}
body.acw-v3 .acc-faq-main{flex:1 1 auto;min-width:0;padding:15px 17px;}
body.acw-v3 .acc-faq-meta{display:flex;align-items:center;gap:9px;margin-bottom:8px;flex-wrap:wrap;}
body.acw-v3 .acc-faq-idx{background:var(--navy);color:#fff;font-weight:800;font-size:11px;letter-spacing:.06em;padding:3px 9px;border-radius:var(--acc-radius-sm);}
body.acw-v3 .acc-statebadge.is-dub{color:var(--acc-blu);background:rgba(31,111,178,.10);}
body.acw-v3 .acc-statebadge.is-dub .acc-dot{background:var(--acc-blu);}
body.acw-v3 .acc-faq-tag{font-size:11px;color:rgba(15,23,42,.5);font-weight:700;}
body.acw-v3 .acc-faq-q{margin:0;font-size:16px;font-weight:800;color:var(--acc-ink);line-height:1.28;}
body.acw-v3 .acc-faq-sint{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:rgba(15,23,42,.74);border-left:3px solid var(--acc-ok);background:rgba(21,128,61,.05);border-radius:0 var(--acc-radius-sm) var(--acc-radius-sm) 0;padding:8px 12px;}
body.acw-v3 .acc-faq-sint strong{color:var(--acc-ok);}
body.acw-v3 .acc-faq-detail{margin-top:12px;border-top:1px solid rgba(15,23,42,.10);padding-top:11px;display:none;}
body.acw-v3 .acc-faq-detail.is-open{display:block;}
body.acw-v3 .acc-faq-sh{display:flex;align-items:center;gap:7px;margin:13px 0 5px;}
body.acw-v3 .acc-faq-sh:first-child{margin-top:0;}
body.acw-v3 .acc-faq-sh i{width:4px;height:13px;background:var(--brand-red);border-radius:1px;flex:0 0 auto;display:inline-block;}
body.acw-v3 .acc-faq-sh b{font-size:12.5px;font-weight:800;color:var(--brand-red);}
body.acw-v3 .acc-faq-p{margin:0 0 2px;font-size:12.5px;line-height:1.45;color:rgba(15,23,42,.7);}
body.acw-v3 table.acc-faq-tab{width:100%;border-collapse:collapse;margin:6px 0 0;font-size:11.8px;}
body.acw-v3 table.acc-faq-tab th{text-align:left;font-weight:800;color:rgba(15,23,42,.5);font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:4px 8px;border-bottom:1px solid rgba(15,23,42,.14);background:#f6f8fa;}
body.acw-v3 table.acc-faq-tab td{padding:5px 8px;border-bottom:1px solid rgba(15,23,42,.07);vertical-align:top;color:rgba(15,23,42,.78);}
body.acw-v3 table.acc-faq-tab .ok{color:var(--acc-ok);font-weight:800;}
body.acw-v3 table.acc-faq-tab .rq{color:var(--brand-red);font-weight:800;font-size:10.5px;}
body.acw-v3 .acc-faq-note{margin:6px 0 0;font-size:11.5px;line-height:1.45;color:rgba(15,23,42,.62);background:rgba(15,23,42,.03);border-radius:var(--acc-radius-sm);padding:6px 9px;}
body.acw-v3 .acc-faq-note b{color:var(--acc-warn);}
body.acw-v3 .acc-faq-fonti{margin:5px 0 0;font-size:11.5px;line-height:1.7;color:rgba(15,23,42,.62);}
body.acw-v3 .acc-faq-fonti b{color:var(--acc-ink);}
body.acw-v3 .acc-faq-fonti .fmuted{color:rgba(15,23,42,.45);}
body.acw-v3 .acc-faq-close{margin-top:12px;padding-top:9px;border-top:1px dashed rgba(15,23,42,.14);text-align:center;}
body.acw-v3 .acc-faq-close button{background:none;border:0;color:var(--acc-blu);font-size:12px;font-weight:800;cursor:pointer;}
body.acw-v3 .acc-faq-actions{flex:0 0 188px;border-left:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.02);padding:15px 14px;display:flex;flex-direction:column;gap:8px;}
body.acw-v3 .acc-faq-btn{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--acc-radius-sm);padding:9px 11px;font-size:12.5px;font-weight:800;cursor:pointer;border:1px solid;text-decoration:none;background:#fff;}
body.acw-v3 .acc-faq-btn--app{background:var(--navy);border-color:var(--navy);color:#fff;}
body.acw-v3 .acc-faq-btn--pdf{border-color:var(--brand-red);color:var(--brand-red);}
body.acw-v3 .acc-faq-btn--print{border-color:rgba(15,23,42,.18);color:rgba(15,23,42,.62);}
body.acw-v3 .acc-faq-btn--mail{background:var(--acc-blu);border-color:var(--acc-blu);color:#fff;}
body.acw-v3 .acc-faq-btn--wa{background:#1faa52;border-color:#1faa52;color:#fff;}
body.acw-v3 .acc-faq-upd{margin-top:2px;font-size:10px;color:rgba(15,23,42,.42);text-align:center;}
body.acw-v3 .acc-faq-empty{display:none;color:rgba(15,23,42,.5);font-size:14px;padding:18px 0;text-align:center;}
@media (max-width:760px){
  body.acw-v3 .acc-faq{flex-direction:column;}
  body.acw-v3 .acc-faq-actions{flex:1 1 auto;border-left:0;border-top:1px solid rgba(15,23,42,.08);flex-direction:row;flex-wrap:wrap;}
  body.acw-v3 .acc-faq-btn{flex:1;}
  body.acw-v3 .acc-faq-upd{flex:1 1 100%;}
}
/* ============================================================ FINE V3-FAQ ============================================================ */

/* ============================================================
   V3-CARDDOC — card "Documenti della pratica" (nuova_pratica_acc)
   Checklist visiva degli allegati per intestatario + istanza + veicolo.
   Riusa il guscio acc-card/acc-head/acc-box/acc-grid/acc-srow gia' esistenti;
   qui SOLO i pezzi specifici. Scoped body.nuova-pratica-page.
   ============================================================ */
body.nuova-pratica-page #npBlocco3 .acc-box{display:flex;flex-direction:column;}
body.nuova-pratica-page #npBlocco3 .acc-srow{border-top:1px solid rgba(15,23,42,.06);}
body.nuova-pratica-page #npBlocco3 .acc-srow:first-of-type{border-top:none;}
body.nuova-pratica-page #npBlocco3 .acc-srow > .acc-k{display:flex;flex-direction:column;gap:1px;min-width:0;}
body.nuova-pratica-page .doc-warn{color:var(--acc-warn);font-weight:700;font-size:13px;}
/* identificativo veicolo (targa C33 / telaio C15): pillola a destra del titolo box */
/* colonna destra: documenti veicolo + istanza IMPILATI in una cella della griglia (grandezze uniformi) */
body.nuova-pratica-page #npBlocco3 .doc-vi-stack{display:flex;flex-direction:column;gap:14px;min-width:0;}
body.nuova-pratica-page .doc-note{padding-top:10px;font-size:12.5px;font-weight:700;display:flex;align-items:flex-start;gap:6px;line-height:1.4;}
body.nuova-pratica-page #npBlocco3 .np-actions{margin-top:auto;padding-top:10px;}
body.nuova-pratica-page .doc-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px;}
body.nuova-pratica-page .doc-note.ok{color:var(--acc-ok);}
body.nuova-pratica-page .doc-note.warn{color:var(--acc-warn);}
body.nuova-pratica-page .doc-note.mute{color:rgba(15,23,42,.45);font-weight:600;}
body.nuova-pratica-page .doc-lockmsg{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:14px;padding:4px 2px;}
body.nuova-pratica-page .doc-lockmsg svg{width:28px;height:28px;flex:0 0 auto;color:#cbd5e1;}
/* ============================================================ FINE V3-CARDDOC ============================================================ */

/* ============================================================
   V3-NOTE-ICO - nota informativa CON iconcina (delibera Paolo 08/07/2026, preload dashboard).
   Variante di .acc-note: icona svg inline a currentColor accanto al testo. GLOBALE, riusabile su tutte le pagine.
   Markup: <div class="acc-note acc-note--info acc-note--ico"><svg class="acc-note-ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M12 10.8v6" stroke-linecap="round"/><path d="M12 7.2h.01" stroke-width="3" stroke-linecap="round"/></svg><p>testo</p></div>
   ============================================================ */
.acc-note--ico{display:flex;gap:11px;align-items:flex-start;}
.acc-note--ico .acc-note-ico{width:19px;height:19px;flex:0 0 auto;margin-top:2px;color:var(--acc-blu);opacity:.95;}
.acc-note--ico p{flex:1;min-width:0;}
/* ============================================================ FINE V3-NOTE-ICO ============================================================ */

/* ============================================================
   V3-DASHBOARD-NATIVE - dashboard in guscio canonico (delibera preload 08/07/2026).
   Griglia nativa auto-fit (3 card = 3 colonne, 2 card = 2 colonne), card flex con
   CTA in fondo allineate tra le card, nota privacy senza style inline, badge lucchetto
   (copia scoped di is-lock da nuova-pratica-page: globalizzazione a fine rollout).
   Il blocco override V3-DASHBOARD (righe search-card/primary-btn) resta finche'
   dashboard_info/notifications non sono convertite, poi bonifica.
   ============================================================ */
body.acw-v3 .dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px 16px;margin-bottom:16px;}
@media (max-width:980px){body.acw-v3 .dash-grid{grid-template-columns:1fr;}}
body.acw-v3 .dash-grid .acc-card{margin-bottom:0;display:flex;flex-direction:column;}
body.acw-v3 .dash-grid .acc-card .acc-note{margin-top:auto;}
body.acw-v3 .dash-cta{display:flex;padding-top:16px;}
body.acw-v3 .dash-privacy{margin-top:24px;} /* resa unificata al componente NOTA INFORMATIVA V3 (10/07): qui resta solo il layout */
body.dashboard-page .acc-statebadge.is-lock{color:rgba(15,23,42,.55);background:rgba(15,23,42,.06);}
body.dashboard-page .acc-statebadge.is-lock svg{width:13px;height:13px;flex:0 0 auto;}
body.acw-v3 .dash-wrap{display:flex;flex-direction:column;gap:22px;justify-content:flex-start;align-items:stretch;} /* replica 1:1 di .dashboard-row (style.css 2619), bonifica passo 6 */
/* ============================================================ FINE V3-DASHBOARD-NATIVE ============================================================ */

/* ============================================================
   V3-UTILITY - utility canoniche trasversali (delibera Paolo 2026-07-09, audit P9).
   .acc-up = maiuscolo automatico nei campi (sostituisce 57 style inline su nuova_pratica_acc).
   ============================================================ */
body.acw-v3 .acc-up{text-transform:uppercase;}
/* ============================================================ FINE V3-UTILITY ============================================================ */

/* ============================================================
   V3-DOC-ACTIONS - azioni-icona documenti (graffetta/occhio/matita/cestino) + data "aggiornato il".
   PROMOSSE da nuova_pratica_acc (erano in V3-CARDDOC, scope pagina) a canoniche globali
   (delibera Paolo 2026-07-09, audit P3+P4). Stesse proprieta', scope body.acw-v3: resa identica.
   ============================================================ */
body.acw-v3 .doc-when{font-size:11px;font-weight:600;color:rgba(15,23,42,.42);letter-spacing:.01em;}
body.acw-v3 .doc-right{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;}
body.acw-v3 .doc-ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(15,23,42,.16);border-radius:5px;background:#fff;color:rgba(15,23,42,.6);cursor:pointer;padding:0;}
body.acw-v3 .doc-ic:hover{border-color:var(--acc-blu);color:var(--acc-blu);}
body.acw-v3 .doc-ic svg{width:15px;height:15px;}
body.acw-v3 .doc-ic.doc-add{border-color:var(--acc-blu);color:var(--acc-blu);}
body.acw-v3 .doc-ic.doc-add:hover{background:var(--acc-blu);color:#fff;}
/* ============================================================ FINE V3-DOC-ACTIONS ============================================================ */

/* ============================================================
   V3-BADGE-BORDO - badge di stato SUL BORDO della card + bordo card tinto del colore dello stato.
   DELIBERA Paolo 09/07/2026 (preload _preload_badge_bordo_confronto_2026-07-09.html): pillole SENZA
   pallino, solo testo. REGOLA: badge di STATO solo su card di FLUSSO (passi con stato che cambia);
   badge INFORMATIVI (.solid Novita' / .st-info Beta / .solid-warn Attenzione) solo su card di
   NAVIGAZIONE (hub); tutte le altre card SENZA badge. Il vecchio .acc-statebadge nella testa resta
   per compatibilita' finche' le pagine non migrano. La card ospite prende .has-state (position:relative).
   ============================================================ */
body.acw-v3 .acc-card.has-state{position:relative;border-width:1.5px;}
body.acw-v3 .acc-card.st-att{border-color:rgba(21,128,61,.55);}
body.acw-v3 .acc-card.st-warn{border-color:rgba(180,83,9,.55);}
body.acw-v3 .acc-card.st-info{border-color:rgba(31,111,178,.5);}
body.acw-v3 .acc-card.st-edit{border-color:rgba(79,70,181,.45);}
body.acw-v3 .acc-card.st-neu{border-color:rgba(15,23,42,.22);}
body.acw-v3 .acc-bordo{position:absolute;top:-13px;right:16px;display:flex;gap:8px;}
body.acw-v3 .acc-bordo .bb{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;border-radius:var(--acc-radius-sm);background:#fff;border:1.5px solid;box-shadow:0 1px 4px rgba(15,23,42,.07);}

/* ============================================================
   V3-STICKY-FOOTER (11/07/2026, additivo/reversibile) - footer in fondo alla
   finestra su contenuto corto; scorre normalmente su contenuto lungo.
   Approccio flex-column sul body, scoped body.acw-v3:not(.login-page).
   header.top-bar e .acw-sidebar sono position:fixed => fuori dal flusso flex
   (verificato 11/07); login ha gia' il suo flex-column centrato; RENT escluso
   (non ha acw-v3). Larghezze/padding di .content INVARIATI (agisce solo in verticale).
   Reversibile: rimuovere questo blocco per tornare al footer statico.
   ============================================================ */
body.acw-v3:not(.login-page){min-height:100vh;height:auto;display:flex;flex-direction:column;}
body.acw-v3:not(.login-page) > .content{flex:1 0 auto;}
body.acw-v3:not(.login-page) > .acw-footer{flex:0 0 auto;}
/* ============================================================ FINE V3-STICKY-FOOTER ============================================================ */

/* ============================================================
   V3-PROV-DOT (11/07/2026, delibera Paolo su preload) - badge di PROVENIENZA
   in cella tabella reso "pallino colorato + testo" (canonico, sostituisce le
   pillole piene .doc-origin nella card Documenti disponibili di pratiche.php).
   La provenienza e' un'INFORMAZIONE, non uno stato: pallino sobrio.
   ============================================================ */
body.acw-v3 .prov-dot{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:rgba(15,23,42,.7);white-space:nowrap;}
body.acw-v3 .prov-dot i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
body.acw-v3 .prov-dot.is-du i{background:var(--acc-blu,#1f6fb2);}
body.acw-v3 .prov-dot.is-client i{background:var(--acc-ok,#15803d);}
body.acw-v3 .prov-dot.is-arch i{background:var(--acc-warn,#b45309);}
/* Noticina "Ultimo documento: ..." sotto il tasto Scarica ultimo: piccola, allineata a DESTRA (sotto il bottone), nascosta se vuota. */
body.pratiche-list .docs-last-meta{text-align:right;font-size:12px;font-weight:600;color:rgba(15,23,42,.6);margin:2px 4px 8px;}
body.pratiche-list #acwDocsRecommendedMeta:empty{display:none;}
/* Icona PDF ora SVG inline (segue il tema): riusa .pdf-icon-img per dimensione/posizione, qui solo il colore. */
body.pratiche-list svg.pdf-icon-img{color:var(--acc-blu,#1f6fb2);}
/* Riga note sotto la toolbar: nota filtri a SX (sotto i chip di provenienza), "Ultimo documento" a DX (sotto il bottone). */
body.pratiche-list .docs-toolbar-notes{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 4px 16px;}
body.pratiche-list .docs-toolbar-notes .acc-formnote{margin:0;flex:1 1 260px;}
body.pratiche-list .docs-toolbar-notes .docs-last-meta{margin:0;flex:0 0 auto;}
/* Aria sopra la card Documenti: il badge conteggio sul bordo sporge, serve stacco dalla card precedente. */
body.pratiche-list #sec-docs{margin-top:16px;}
/* ============================================================ FINE V3-PROV-DOT ============================================================ */

/* ============================================================
   V3-TAKATA (11/07/2026) - campo Telaio/VIN con pulsanti Copia/Pulisci affiancati (takata.php).
   ============================================================ */
body.acw-takata .vin-input-row{display:flex;gap:8px;align-items:center;}
body.acw-takata .vin-input-row .acc-control{flex:1 1 auto;min-width:0;}
/* Step 1 (14/07): telaio + Copia/Pulisci + Marca su UNA riga (il form base .acc-form--inline non e' flex -> impilava). Telaio piu' largo, marca a fianco. */
body.acw-takata .tk-vin-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;}
body.acw-takata .tk-vin-row .acc-field{margin-bottom:0;}
body.acw-takata .tk-vin-row .acc-field--grow{flex:0 1 auto;}
body.acw-takata .tk-vin-row .acc-field--targa{flex:0 0 260px;min-width:220px;}
body.acw-takata .tk-vin-row .vin-input-row .acc-control{flex:0 1 340px;min-width:180px;}
body.acw-takata .vin-input-row .acc-chipbtn{flex:0 0 auto;}
/* ============================================================ FINE V3-TAKATA ============================================================ */
body.acw-v3 .acc-bordo .bb.st-att{color:#15803d;border-color:#15803d;}
body.acw-v3 .acc-bordo .bb.st-warn{color:var(--acc-warn);border-color:var(--acc-warn);}
body.acw-v3 .acc-bordo .bb.st-info{color:var(--acc-blu);border-color:var(--acc-blu);}
body.acw-v3 .acc-bordo .bb.st-edit{color:#4f46b5;border-color:#4f46b5;}
body.acw-v3 .acc-bordo .bb.st-neu{color:rgba(15,23,42,.62);border-color:rgba(15,23,42,.35);}
body.acw-v3 .acc-bordo .bb.solid{background:var(--acc-blu);color:#fff;border-color:var(--acc-blu);}
body.acw-v3 .acc-bordo .bb.solid-warn{background:var(--acc-warn);color:#fff;border-color:var(--acc-warn);}
/* ============================================================ FINE V3-BADGE-BORDO ============================================================ */

/* ============================================================
   V3-CARDHEAD - corpo della testa card: contenitore titolo+sottotitolo (delibera Paolo 09/07, audit P1).
   Sostituisce le cuciture inline flex:1;min-width:0 (+ margine 3px del sottotitolo, pattern testata/dashboard).
   La dinamica badge/bordo resta separata (V3-BADGE-BORDO): card SENZA stato = pulita, senza pillola.
   ============================================================ */
body.acw-v3 .acc-head-b{flex:1;min-width:0;}
body.acw-v3 .acc-head-b > .acc-sub{margin:3px 0 0;}
/* ============================================================ FINE V3-CARDHEAD ============================================================ */

/* ============================================================
   V3-MODAL - finestra modale canonica: backdrop scuro (delibera Paolo 09/07, audit P2).
   Identico all'inline che sostituisce; la scatola interna resta per-modale (np-recu-box, np-rappr-box).
   Apertura/chiusura via .np-hidden (display:none!important) come oggi.
   ============================================================ */
body.acw-v3 .acc-modal{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;}
/* ============================================================ FINE V3-MODAL ============================================================ */

/* ============================================================
   V3-ROWLINK - riga cliccabile per table.acc-t (delibera Paolo 09/07, audit P5).
   TERZA variante della famiglia tabelle: dati (zebra+pallino) / documentale (V3-DOCS-TABLE) / riga-pulsante.
   REGOLA: SOLO dove cliccare la riga esegue una azione (es. elenco Riprendi pratica).
   Cella invito a destra: .rl-go (testo blu, es. "Riprendi >>").
   ============================================================ */
body.acw-v3 table.acc-t tbody tr.rowlink{cursor:pointer;}
body.acw-v3 table.acc-t tbody tr.rowlink .rl-go{text-align:right;color:var(--acc-blu);font-weight:700;white-space:nowrap;}
/* ============================================================ FINE V3-ROWLINK ============================================================ */

/* ============================================================
   V3-NPAI - componenti della card "Documenti - lettura AI" (nuova_pratica.php).
   Deliberati sul preload _preload_nuova_pratica_documenti_AI_V3_2026-07-09.html.
   Estratti dallo <style> inline della pagina: il catalogo vieta il CSS in pagina.
   Grammatica: raggi solo var(--acc-radius)/var(--acc-radius-sm); niente forme
   tondeggianti; lo STATO si dice col badge sul bordo (V3-BADGE-BORDO), mai con pillole.
   ============================================================ */

/* completamento famiglia BADGE-BORDO: stato RIFIUTATO (rosso).
   Il token danger #cc232a esisteva gia' (.acc-statebadge.is-sus): qui mancava. */
body.acw-v3 .acc-card.st-sus{border-color:rgba(204,35,42,.55);}
body.acw-v3 .acc-bordo .bb.st-sus{color:#cc232a;border-color:#cc232a;}

/* --- scelta modalita' di caricamento: singolo | massivo --- */
body.nuova-pratica-page .npai-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 14px;}
body.nuova-pratica-page .npai-mode{text-align:left;font:inherit;cursor:pointer;display:flex;gap:12px;align-items:flex-start;border:1.5px solid rgba(15,23,42,.14);border-radius:var(--acc-radius);padding:14px 15px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s;}
body.nuova-pratica-page .npai-mode:hover{border-color:rgba(31,111,178,.5);}
body.nuova-pratica-page .npai-mode.is-sel{border-color:var(--acc-blu);background:rgba(31,111,178,.05);box-shadow:0 0 0 3px rgba(31,111,178,.10);}
body.nuova-pratica-page .npai-mode .mi{width:40px;height:40px;border-radius:var(--acc-radius);background:rgba(31,111,178,.10);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.nuova-pratica-page .npai-mode.is-sel .mi{background:var(--acc-blu);color:#fff;}
body.nuova-pratica-page .npai-mode .mi svg{width:21px;height:21px;}
body.nuova-pratica-page .npai-mode .mt{display:block;font-weight:800;font-size:14px;color:#0f172a;}
body.nuova-pratica-page .npai-mode .md{display:block;font-size:12.5px;color:rgba(15,23,42,.55);margin-top:3px;line-height:1.45;}
body.nuova-pratica-page .npai-mode .mc{width:20px;height:20px;border-radius:50%;border:2px solid rgba(15,23,42,.2);flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;}
body.nuova-pratica-page .npai-mode .mc svg{width:12px;height:12px;opacity:0;}
body.nuova-pratica-page .npai-mode.is-sel .mc{border-color:var(--acc-blu);background:var(--acc-blu);}
body.nuova-pratica-page .npai-mode.is-sel .mc svg{opacity:1;}
@media(max-width:760px){ body.nuova-pratica-page .npai-modes{grid-template-columns:1fr;} }

/* --- area di rilascio documenti --- */
body.nuova-pratica-page .npai-drop{border:2px dashed rgba(31,111,178,.35);border-radius:var(--acc-radius);padding:20px 16px;text-align:center;background:rgba(31,111,178,.03);margin-bottom:16px;}
body.nuova-pratica-page .npai-drop.is-hot{border-color:var(--acc-blu);background:rgba(31,111,178,.07);}
body.nuova-pratica-page .npai-drop .di{width:32px;height:32px;color:var(--acc-blu);}
body.nuova-pratica-page .npai-drop .dt{font-weight:800;color:#0f172a;font-size:14.5px;margin-top:4px;}
body.nuova-pratica-page .npai-drop .ds{font-size:12.5px;color:rgba(15,23,42,.55);margin-top:3px;}
body.nuova-pratica-page .npai-drop .da{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:12px;flex-wrap:wrap;}

/* --- stato "sto leggendo": usa lo spinner CANONICO .acc-spin (V3-LOADER) --- */
body.nuova-pratica-page .npai-load{display:inline-flex;align-items:center;gap:9px;}
body.nuova-pratica-page .npai-load .acc-spin{width:22px;height:22px;}
body.nuova-pratica-page .npai-loadt{font-size:13px;font-weight:700;color:#64748b;}

/* --- sezione esito + mattoncini (mini .acc-card con badge sul bordo) --- */
body.nuova-pratica-page .npai-sec{margin-top:18px;}
body.nuova-pratica-page .npai-sec .lead{font-size:12.5px;color:rgba(15,23,42,.5);margin:6px 0 12px;}
body.nuova-pratica-page .npai-bricks{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:26px 14px;margin-top:24px;}
body.nuova-pratica-page .npai-brick{margin-bottom:0;padding:14px 16px;cursor:pointer;transition:box-shadow .18s,transform .12s;}
body.nuova-pratica-page .npai-brick:hover,body.nuova-pratica-page .npai-brick.open{box-shadow:0 10px 26px rgba(31,111,178,.14);transform:translateY(-1px);}
body.nuova-pratica-page .npai-brick .bh{display:flex;align-items:center;gap:9px;}
body.nuova-pratica-page .npai-brick .bi{width:30px;height:30px;border-radius:var(--acc-radius);background:rgba(31,111,178,.10);color:var(--acc-blu);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.nuova-pratica-page .npai-brick .bi svg{width:17px;height:17px;}
body.nuova-pratica-page .npai-brick .bt{font-weight:800;font-size:13.5px;color:#0f172a;}
body.nuova-pratica-page .npai-brick .bd{max-height:0;opacity:0;overflow:hidden;transition:max-height .28s,opacity .2s,margin-top .2s;margin-top:0;}
body.nuova-pratica-page .npai-brick:hover .bd,body.nuova-pratica-page .npai-brick.open .bd{max-height:220px;opacity:1;margin-top:10px;}
body.nuova-pratica-page .npai-brick .bsrc{font-size:10.5px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.3px;}
body.nuova-pratica-page .npai-brick .bval{font-weight:700;font-size:12.5px;color:#111827;margin-top:3px;line-height:1.5;}
body.nuova-pratica-page .npai-brick .bnote{font-size:11.5px;color:rgba(15,23,42,.5);margin-top:5px;line-height:1.45;}
body.nuova-pratica-page .npai-brick .bhint{font-size:11px;color:#94a3b8;margin-top:8px;}
body.nuova-pratica-page .npai-brick:hover .bhint,body.nuova-pratica-page .npai-brick.open .bhint{display:none;}
/* V3-NPAI add 10/07 sera (rientro 1o controllo Paolo): mode-card col badge-bordo + stato is-off */
body.nuova-pratica-page .npai-mode{position:relative;}
body.nuova-pratica-page .npai-mode .npai-mode-tx{flex:1 1 auto;min-width:0;display:block;}
body.nuova-pratica-page .npai-mode .acc-bordo{pointer-events:none;}
body.nuova-pratica-page .npai-mode.is-off{opacity:.68;cursor:default;}
body.nuova-pratica-page .npai-mode.is-off:hover{border-color:rgba(15,23,42,.14);box-shadow:none;}
body.nuova-pratica-page .npai-mode.is-off .mi{background:rgba(15,23,42,.08);color:#64748b;}

/* --- nota "da confermare" (raggio canonico, non pillola) + azioni + dettaglio admin --- */
body.nuova-pratica-page .npai-need{display:inline-block;background:#fef3c7;color:#92400e;border-radius:var(--acc-radius-sm);padding:2px 8px;font-size:11px;font-weight:800;}
body.nuova-pratica-page .npai-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;}
body.nuova-pratica-page .npai-admin{margin-top:14px;}
body.nuova-pratica-page .npai-admin>summary{cursor:pointer;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.4px;}
/* ============================================================ FINE V3-NPAI ============================================================ */

/* ============================================================
   V3-HUB-CLUSTER - promozioni delibera cluster hub 10/07/2026 (preload _preload_hub1..6 + indice).
   .span-all = card a tutta larghezza nella .dash-grid (intro/manuale degli hub admin).
   CTA ancorata in fondo ANCHE senza nota: .dash-cta margin-top auto, azzerato se preceduto
   da una .acc-note (cosi' resta valido il notealign 08/07: nota+CTA insieme in fondo).
   .acc-count = contatore squadrato (raggio --acc-radius-sm, MAI pillola tonda) al posto del
   legacy .hub-badge (style.css, scoped body.admin-hub) - es. non lette su "Notifiche".
   .acc-meta-line = righe di stato discrete nella testa card (es. stato log in admin_tools).
   .dash-privacy: dal 10/07 (delibera Paolo) UNIFICATA al componente canonico NOTA INFORMATIVA V3
   (body.acw-v3 .privacy-note: box con bordo sinistro blu, SENZA icona) - stessa resa su tutte le
   pagine; qui non restano regole proprie (solo margin-top 24 in V3-DASHBOARD-NATIVE). La legacy
   .privacy-note resta in style.css per le pagine non migrate.
   ============================================================ */
body.acw-v3 .dash-grid .span-all{grid-column:1/-1;}
body.acw-v3 .dash-grid .acc-card > .dash-cta{margin-top:auto;}
body.acw-v3 .dash-grid .acc-card > .acc-note ~ .dash-cta{margin-top:0;}
body.acw-v3 .acc-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 7px;border-radius:var(--acc-radius-sm);background:var(--acc-blu);color:#fff;font-size:11.5px;font-weight:800;margin-left:8px;vertical-align:middle;}
body.acw-v3 .acc-head-b .acc-meta-line{font-size:12px;color:rgba(15,23,42,.62);margin-top:2px;}
/* .dash-privacy: skin bianca centrata RIMOSSA il 10/07 (unificata al componente NOTA INFORMATIVA V3, in testa al foglio). */
/* ============================================================ FINE V3-HUB-CLUSTER ============================================================ */

/* ============================================================
   V3-SEQ - mini-sequenza numerata canonica (delibera Paolo 10/07/2026, preload _preload_bivio_confronto,
   variante A). Numeri SQUADRATI (--acc-radius-sm, gemelli di .acc-count: niente cerchi/pillole tonde),
   separatori discreti, chip finale verde .fin (spunta = invio). Prima applicazione: bivio di nuova_pratica.
   In coda: regola page-scoped del bivio (wrapper .np-bivio resta come contenitore di layout; le card
   dentro sono canoniche acc-card in .dash-grid; CTA a larghezza piena).
   ============================================================ */
body.acw-v3 .acc-seq{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:700;color:rgba(15,23,42,.62);margin:12px 0 2px;}
body.acw-v3 .acc-seq i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:var(--acc-radius-sm);background:rgba(31,111,178,.10);color:#1f6fb2;font-size:11px;font-weight:800;}
body.acw-v3 .acc-seq em{font-style:normal;color:rgba(15,23,42,.35);font-weight:800;}
body.acw-v3 .acc-seq .fin{background:rgba(21,128,61,.10);color:#15803d;}
body.nuova-pratica-page .np-bivio .dash-cta > a{flex:1;justify-content:center;}
/* ============================================================ FINE V3-SEQ ============================================================ */

/* ============================================================
   V3-PRATICHE-DATI - Lotto 1 rollout (delibera Paolo 10/07/2026, preload _preload_lotto1_FINALE):
   le card risultato di pratiche.php passano alle CELLE dati della master (promozione sopra:
   re-scope .acc-cell* a body.acw-v3). Qui: variante valore critico, gap riga azioni, colonna
   impilata Dati pratica + Dati atto (gemella del pattern doc-vi-stack della master; gap 14 =
   gap della .subcards-row), colori wrapper icone (gli svg passano a currentColor).
   ============================================================ */
body.acw-v3 .acc-cv.is-warn{color:var(--acc-warn);}
body.acw-v3 .dash-cta{gap:10px;}
body.pratiche-list .subcards-stack{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0;}
body.pratiche-list .subcards-stack > .acc-box{flex:1;}
body.pratiche-list .subcard-ico{color:var(--acc-blu);}
body.pratiche-list .docs-count{color:var(--acc-blu);}
/* ============================================================ FINE V3-PRATICHE-DATI ============================================================ */

/* ============================================================
   V3-NOTIF-CANON - Lotto 3 rollout (delibera Paolo 11/07/2026, preload _preload_lotto3_notifiche).
   a.acc-lnk = micro-canonico GLOBALE: link testuale negli elenchi (blu bold, hover sottolineato).
   Regole versionate del Centro Notifiche (assorbono gli inline e l'ex <style> locale della pagina);
   azioni item allineate a DESTRA come oggi (deliberato).
   ============================================================ */
body.acw-v3 a.acc-lnk{color:var(--acc-blu);font-weight:700;text-decoration:none;}
body.acw-v3 a.acc-lnk:hover{text-decoration:underline;}
body.acw-v3 .acw-notif-msg{margin-top:8px;white-space:pre-wrap;}
body.acw-v3 .acw-notif-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
body.acw-v3 .acw-notif-ctxact{margin-top:10px;}
body.acw-v3 .acw-notif-prev{color:rgba(15,23,42,.5);font-size:11px;margin-left:6px;}
body.acw-v3 .acw-notif-list .acc-head .acc-chipbtn{margin-left:auto;align-self:flex-start;}
body.acw-v3 .acw-notif-ctx li{margin:5px 0;}
/* ============================================================ FINE V3-NOTIF-CANON ============================================================ */

/* V3-NOTIF-CANON (coda Lotto 3, 11/07/2026): riga "Invia dal server" di faq/normativa -
   estrazione degli inline dell'input email destinatario (residuo border-radius hardcoded). */
body.acw-v3 .acc-faq-send{display:inline-flex;gap:6px;align-items:center;}
body.acw-v3 .acc-faq-dest{height:30px;padding:0 10px;border:1px solid #c9cfd8;border-radius:var(--acc-radius-sm);font-size:12.5px;min-width:190px;}


/* ===================== V3-TOOLS (Fix6 2026-07-13) =====================
   Pagine STRUMENTI release standalone (bump/cristallizza/promote), scoped body.acw-tools.
   bump/cristallizza = canone pieno (acc-*) + questi helper di pagina.
   promote = canon-skin: vocabolario legacy .hero/.card/... ristilato al canone. */
body.acw-tools{ background:#f5f7fb; margin:0; font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif; color:#0f172a; }
.acw-tools-wrap{ max-width:1000px; margin:0 auto; padding:22px 18px 60px; }
.acw-tools-console{ background:#0f172a; color:#e5e7eb; padding:14px 16px; border-radius:var(--acc-radius,10px); overflow:auto; white-space:pre-wrap; word-break:break-word; font-size:12.5px; line-height:1.5; margin:12px 0 0; }
.acw-tools-locked{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13px; color:#067647; background:#ecfdf3; border:1px solid #abefc6; border-radius:var(--acc-radius,10px); padding:9px 13px; }
.acw-tools-locked svg{ width:15px; height:15px; flex:0 0 auto; }
.acw-tools-warn{ background:#fffaeb; border:1px solid #fedf89; color:#b54708; border-radius:var(--acc-radius,10px); padding:12px 14px; line-height:1.5; }
.acw-tools-warn svg{ width:16px; height:16px; flex:0 0 auto; }
body.acw-tools .hero, body.acw-tools .card{ background:#fff; border:1px solid var(--acc-line,#e6e9ef); border-radius:var(--acc-radius,14px); box-shadow:0 1px 2px rgba(15,23,42,.04); padding:20px 22px; margin-bottom:16px; }
body.acw-tools .hero{ padding:22px; }
body.acw-tools h1{ margin:0 0 6px; font-size:23px; font-weight:800; }
body.acw-tools h2{ margin:0 0 12px; font-size:17px; font-weight:800; }
body.acw-tools h3{ margin:16px 0 8px; font-size:14px; font-weight:700; }
body.acw-tools .sub{ color:var(--acc-mut,#64748b); font-size:14px; }
body.acw-tools .muted{ color:var(--acc-mut,#64748b); font-size:13px; }
body.acw-tools .grid{ display:grid; grid-template-columns:1.3fr .9fr; gap:16px; }
body.acw-tools .kpis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0; }
body.acw-tools .kpi{ border:1px solid var(--acc-line,#e6e9ef); border-radius:var(--acc-radius,10px); padding:12px 14px; background:#fff; }
body.acw-tools .kpi strong{ display:block; font-size:1.15rem; }
body.acw-tools .kpi span{ display:block; color:var(--acc-mut,#64748b); margin-top:3px; font-size:12.5px; }
body.acw-tools .kv{ display:grid; grid-template-columns:230px 1fr; gap:10px; margin:8px 0; align-items:start; }
body.acw-tools .kv div:first-child{ font-weight:700; }
body.acw-tools .alert{ padding:12px 14px; border-radius:var(--acc-radius,10px); margin-bottom:14px; border:1px solid transparent; line-height:1.5; }
body.acw-tools .alert.success, body.acw-tools .status.success{ background:#ecfdf3; border-color:#abefc6; color:#067647; }
body.acw-tools .alert.danger, body.acw-tools .status.danger{ background:#fef3f2; border-color:#fecdca; color:#b42318; }
body.acw-tools .alert.warning{ background:#fffaeb; border-color:#fedf89; color:#b54708; }
body.acw-tools .alert.info, body.acw-tools .status.info{ background:#eff8ff; border-color:#b2ddff; color:#175cd3; }
body.acw-tools .status, body.acw-tools .note{ border:1px solid var(--acc-line,#e6e9ef); border-radius:var(--acc-radius,10px); padding:12px 14px; line-height:1.5; }
body.acw-tools .note{ background:#f8fafc; color:#334155; }
body.acw-tools .acc-tools-row{ margin:14px 0; }
body.acw-tools label{ display:block; font-weight:700; margin-bottom:7px; }
body.acw-tools select, body.acw-tools input[type="text"], body.acw-tools textarea{ width:100%; max-width:360px; padding:10px 12px; border:1px solid var(--acc-line,#cfd4dc); border-radius:var(--acc-radius,10px); background:#fff; font-size:14px; font-family:inherit; }
body.acw-tools textarea, body.acw-tools input[type="text"]{ max-width:640px; }
body.acw-tools .actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
body.acw-tools .btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; border:0; border-radius:var(--acc-radius,10px); padding:0 16px; font-weight:700; cursor:pointer; font-size:14px; text-decoration:none; }
body.acw-tools .btn:disabled{ opacity:.55; cursor:not-allowed; }
body.acw-tools .btn-primary{ background:var(--acc-blu,#1f6fb2); color:#fff; }
body.acw-tools .btn-secondary{ background:#eef1f5; color:#334155; }
body.acw-tools .btn-doc{ background:#eef2ff; color:#3730a3; }
body.acw-tools .small{ font-size:12px; color:var(--acc-mut,#64748b); line-height:1.45; }
body.acw-tools pre{ background:#0f172a; color:#e5e7eb; padding:14px 16px; border-radius:var(--acc-radius,10px); overflow:auto; white-space:pre-wrap; word-break:break-word; font-size:12.5px; }
body.acw-tools .badge{ display:inline-block; padding:4px 10px; border-radius:var(--acc-radius-sm,6px); background:#eef2ff; color:#3730a3; font-size:12px; font-weight:700; }
body.acw-tools .badge.ok{ background:#ecfdf3; color:#067647; }
body.acw-tools .area-badge{ display:inline-flex; border-radius:var(--acc-radius-sm,6px); padding:4px 8px; background:#f2f4f7; color:#344054; font-weight:700; font-size:12px; }
body.acw-tools .area-badge.central{ background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
body.acw-tools table{ width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
body.acw-tools th{ text-align:left; padding:10px; border-bottom:1px solid var(--acc-line,#e6e9ef); background:#f8fafc; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:#475467; }
body.acw-tools td{ padding:9px 10px; border-bottom:1px solid #eef2f7; vertical-align:top; }
body.acw-tools code{ white-space:normal; word-break:break-word; }
body.acw-tools .modal-backdrop{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:22px; z-index:9999; background:rgba(17,24,39,.54); }
body.acw-tools .modal-backdrop.is-open{ display:flex; }
body.acw-tools .modal{ width:min(620px,100%); background:#fff; border-radius:var(--acc-radius,14px); overflow:hidden; box-shadow:0 24px 70px rgba(0,0,0,.28); }
body.acw-tools .modal-head{ padding:16px 20px; background:var(--acc-blu,#1f6fb2); color:#fff; }
body.acw-tools .modal-head h3{ margin:0; font-size:1.1rem; }
body.acw-tools .modal-body{ padding:18px 20px; line-height:1.55; color:#344054; }
body.acw-tools .modal-body strong{ color:#b42318; }
body.acw-tools .modal-actions{ display:flex; justify-content:flex-end; gap:10px; padding:14px 20px 18px; background:#f8fafc; }
@media (max-width:920px){ body.acw-tools .grid, body.acw-tools .kpis{ grid-template-columns:1fr; } body.acw-tools .kv{ grid-template-columns:1fr; } }
/* ===================== fine V3-TOOLS ===================== */

/* ===================== V3-NOTIF-POLISH (2026-07-14) =====================
   Estensione canonica della pagina Notifiche (famiglia .acw-notif-*).
   Riusa .acw-notif-item/.acw-notif-pill/.acw-notif-when. Scoped body.acw-v3.
   - .acw-notif-head : riga badge+data IN TESTA (poi titolo, poi corpo).
   - .acw-notif-checks/.acw-notif-check : elenco novita' a 2 colonne con spunta (avviso release).
   - .acw-notif-stats/.acw-notif-stat : numeri in evidenza (promemoria staff). */
body.acw-v3 .acw-notif-head{ display:flex; align-items:center; gap:10px; margin:0 0 11px; }
body.acw-v3 .acw-notif-item.is-release{ border-top:3px solid var(--acc-blu,#1f6fb2); }
body.acw-v3 .acw-notif-ver{ display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:var(--acc-radius-sm,6px); background:#eef4fb; color:var(--acc-blu,#1f6fb2); font-weight:800; font-size:12px; letter-spacing:.02em; margin-left:8px; vertical-align:middle; }
body.acw-v3 .acw-notif-checks{ display:grid; grid-template-columns:1fr 1fr; gap:9px 26px; margin:2px 0; }
body.acw-v3 .acw-notif-check{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#1f2937; line-height:1.35; }
body.acw-v3 .acw-notif-check > svg{ flex:0 0 auto; width:19px; height:19px; margin-top:1px; }
body.acw-v3 .acw-notif-check svg circle{ stroke:#86efac; }
body.acw-v3 .acw-notif-check svg path{ stroke:#067647; }
body.acw-v3 .acw-notif-check .nc-tag{ display:inline-block; margin-left:7px; padding:1px 7px; border-radius:var(--acc-radius-sm,6px); background:#f2f4f7; color:#667085; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; vertical-align:middle; }
body.acw-v3 .acw-notif-stats{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 11px; }
body.acw-v3 .acw-notif-stat{ display:inline-flex; align-items:baseline; gap:6px; padding:6px 12px; border-radius:var(--acc-radius,10px); background:#fff8ef; border:1px solid #fde4c4; }
body.acw-v3 .acw-notif-stat b{ font-size:16px; color:#b54708; font-weight:800; line-height:1; }
body.acw-v3 .acw-notif-stat span{ font-size:12px; color:#8a6636; }
@media(max-width:640px){ body.acw-v3 .acw-notif-checks{ grid-template-columns:1fr; } }
/* ===================== fine V3-NOTIF-POLISH ===================== */

/* V3-ADMIN-ACCESSO (coda accfix5, 15/07/2026): barra conferma/annulla dei pannelli servizi
   (i toggle non salvano piu' da soli: bozza, poi salva/annulla come le altre operazioni). */
.acc-svcbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(15,23,42,.14);flex-wrap:wrap;}
.acc-svcbar-n{font-size:12px;font-weight:800;color:#b45309;}
.acc-svcbar-n.is-idle{color:rgba(15,23,42,.45);}
.acc-svcbar .acc-confirm-a button:disabled{opacity:.45;cursor:default;}

/* ============================================================
   V3-AUTOTRASP - CRM Autotrasporto conto terzi (modulo interno ADMIN).
   Promosso dal blocco style di admin_service_autotrasporto.php (19/07/2026).
   Scoped body.autotrasporto-page: additivo, inerte altrove e in Produzione.
   ============================================================ */
body.autotrasporto-page .at-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;}
@media(max-width:900px){body.autotrasporto-page .at-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}}
body.autotrasporto-page .at-kpi .acc-card{padding:15px 17px;}
body.autotrasporto-page .at-kpi-n{font-size:30px;font-weight:800;line-height:1.05;}
body.autotrasporto-page .at-kpi-l{font-size:12px;color:#64748b;font-weight:700;margin-top:3px;}
body.autotrasporto-page .at-kpi-n.t-info{color:#1f6fb2;}
body.autotrasporto-page table.acc-t tbody tr.at-row:hover{background:#f4f8fc;}
body.autotrasporto-page .at-city{display:block;font-size:12px;color:#94a3b8;font-weight:400;margin-top:1px;}
body.autotrasporto-page .at-srch{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 14px;}
body.autotrasporto-page .at-srch-in{flex:1 1 260px;min-width:220px;padding:9px 12px;border:1px solid #cdd7e3;border-radius:var(--acc-radius,6px);font-size:14px;}
body.autotrasporto-page .at-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;}
body.autotrasporto-page .at-sus{background:#dc2626;} body.autotrasporto-page .at-warn{background:#f59e0b;}
body.autotrasporto-page .at-att{background:#16a34a;} body.autotrasporto-page .at-neu{background:#94a3b8;}
body.autotrasporto-page .t-sus{color:#b91c1c;font-weight:700;} body.autotrasporto-page .t-warn{color:#b45309;font-weight:700;}
body.autotrasporto-page .at-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
@media(max-width:1000px){body.autotrasporto-page .at-boxes{grid-template-columns:1fr;}}
body.autotrasporto-page .at-box{border:1px solid #e2e8f0;border-radius:var(--acc-radius,6px);padding:14px 16px;background:#fff;display:flex;flex-direction:column;}
body.autotrasporto-page .at-box.is-focus{border-color:#f59e0b;background:#fffdf7;}
body.autotrasporto-page .at-box-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:800;margin:0 0 10px;color:#0f172a;}
body.autotrasporto-page .at-r{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;border-bottom:1px dashed #eef2f7;}
body.autotrasporto-page .at-r:last-of-type{border-bottom:0;}
body.autotrasporto-page .at-lbl{color:#64748b;} body.autotrasporto-page .at-val{font-weight:700;text-align:right;}
body.autotrasporto-page .at-src{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;}
body.autotrasporto-page .at-src i{width:8px;height:8px;border-radius:50%;display:inline-block;}
body.autotrasporto-page .at-src.info{color:#1f6fb2;} body.autotrasporto-page .at-src.info i{background:#1f6fb2;}
body.autotrasporto-page .at-src.our{color:#15803d;} body.autotrasporto-page .at-src.our i{background:#16a34a;}
body.autotrasporto-page .at-cred{font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.02em;}
body.autotrasporto-page .at-copy{margin-left:8px;font-size:11px;font-weight:700;color:#1f6fb2;background:#eff6ff;border:1px solid #dbeafe;border-radius:5px;padding:2px 8px;cursor:pointer;}
body.autotrasporto-page .at-copy:hover{background:#dbeafe;}
body.autotrasporto-page .at-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px;}
body.autotrasporto-page .at-mut{color:#94a3b8;font-size:12px;}
body.autotrasporto-page .at-prat{display:flex;gap:8px;flex-wrap:wrap;}
body.autotrasporto-page .at-oggetto{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;color:#334155;word-break:break-word;}
body.autotrasporto-page .at-modal-card{background:#fff;border-radius:10px;max-width:460px;width:92%;padding:20px 22px;box-shadow:0 20px 60px rgba(0,0,0,.3);margin-top:8vh;}
body.autotrasporto-page .at-mtit{font-size:16px;font-weight:800;margin:0 0 4px;}
body.autotrasporto-page .at-msub{font-size:12.5px;color:#64748b;margin:0 0 16px;}
body.autotrasporto-page .at-mlbl{display:block;font-size:12px;font-weight:700;color:#334155;margin:0 0 4px;}
body.autotrasporto-page .at-min{width:100%;padding:9px 11px;border:1px solid #cdd7e3;border-radius:8px;font-size:14px;margin:0 0 12px;box-sizing:border-box;}
body.autotrasporto-page .at-mrow{display:flex;gap:8px;justify-content:flex-end;align-items:center;}
body.autotrasporto-page .at-mlink{font-size:12px;color:#1f6fb2;margin-right:auto;text-decoration:none;}
/* ============================================================ FINE V3-AUTOTRASP ============================================================ */
/* ============================================================
   V3-AUTOTRASP-MODS - finestrelle moduli REN (Lotto A, 19/07/2026)
   ============================================================ */
body.autotrasporto-page .at-modal-card{max-height:86vh;overflow:auto;}
body.autotrasporto-page .at-msez{font-size:12px;font-weight:800;color:#0f172a;margin:14px 0 2px;padding-top:10px;border-top:1px dashed #e2e8f0;}

/* ============================================================
   V3-AUTOTRASP-ELENCO - elenco a card espansibili + KPI vivi +
   Stato composito (restyling 20/07/2026, preload deliberato
   _preload_at_elenco_restyling_2026-07-20). Scoped alla pagina.
   ============================================================ */
body.autotrasporto-page .at-kpi .acc-card{cursor:pointer;position:relative;transition:box-shadow .15s,transform .15s,border-color .15s;}
body.autotrasporto-page .at-kpi .acc-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.08);transform:translateY(-1px);}
body.autotrasporto-page .at-kpi .acc-card.is-on{border-color:var(--acc-blu,#1f6fb2);box-shadow:0 0 0 3px rgba(31,111,178,.15);}
body.autotrasporto-page .at-kpi-hint{font-size:11px;color:#94a3b8;font-weight:600;margin-top:6px;}
body.autotrasporto-page .t-att{color:#15803d;}
body.autotrasporto-page .at-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;align-items:start;}
@media(max-width:980px){body.autotrasporto-page .at-grid{grid-template-columns:1fr;}}
body.autotrasporto-page .at-co{position:relative;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:var(--acc-radius,6px);overflow:visible;transition:box-shadow .15s;}
body.autotrasporto-page .at-co:hover{box-shadow:0 4px 16px rgba(15,23,42,.09);}
body.autotrasporto-page .at-co.s-sus{border-color:rgba(204,35,42,.32);}
body.autotrasporto-page .at-co.s-warn{border-color:rgba(180,83,9,.30);}
body.autotrasporto-page .at-co.s-att{border-color:rgba(21,128,61,.30);}
body.autotrasporto-page .at-co.s-neu{border-color:rgba(15,23,42,.16);}
body.autotrasporto-page .at-co-head{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;user-select:none;}
body.autotrasporto-page .at-co-id{flex:1;min-width:0;}
body.autotrasporto-page .at-co-den{font-size:14.5px;font-weight:800;line-height:1.25;}
body.autotrasporto-page .at-co-mut{font-size:12px;color:#94a3b8;font-weight:600;margin-top:1px;}
body.autotrasporto-page .at-co-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:52%;}
body.autotrasporto-page .acc-statebadge.is-warn{color:var(--acc-warn,#b45309);background:rgba(180,83,9,.10);}
body.autotrasporto-page .acc-statebadge.is-warn .acc-dot{background:var(--acc-warn,#b45309);}
body.autotrasporto-page .at-co-car{width:26px;height:26px;border-radius:var(--acc-radius-sm,4px);background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#64748b;flex:0 0 auto;transition:transform .25s;}
body.autotrasporto-page .at-co-car svg{width:14px;height:14px;}
body.autotrasporto-page .at-co.is-open .at-co-car{transform:rotate(180deg);}
body.autotrasporto-page .at-co-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
body.autotrasporto-page .at-co.is-open .at-co-body{max-height:680px;}
body.autotrasporto-page .at-co-in{padding:2px 16px 15px;border-top:1px dashed #e2e8f0;}
body.autotrasporto-page .at-co-guida{font-size:12.5px;color:#475569;background:#f8fafc;border:1px solid #eef2f7;border-radius:var(--acc-radius-sm,4px);padding:9px 12px;margin:12px 0;line-height:1.55;}
body.autotrasporto-page .at-co-guida strong{color:#0f172a;}
body.autotrasporto-page .at-co-guida.g-sus{background:#fef2f2;border-color:#fecaca;color:#7f1d1d;}
body.autotrasporto-page .at-co-guida.g-warn{background:#fffbeb;border-color:#fde68a;color:#78350f;}
body.autotrasporto-page .at-co-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;}
@media(max-width:640px){body.autotrasporto-page .at-co-rows{grid-template-columns:1fr;}}
body.autotrasporto-page .at-co-r{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;border-bottom:1px solid #f1f5f9;}
body.autotrasporto-page .at-co-r .l{color:#64748b;font-weight:600;}
body.autotrasporto-page .at-co-r .v{font-weight:700;text-align:right;}
body.autotrasporto-page .at-co-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;}
body.autotrasporto-page .at-co-acts svg{width:15px;height:15px;}
/* utilities: sostituiscono gli style inline della scheda (V3 totale) */
body.autotrasporto-page .at-note{margin:10px 0 0;}
body.autotrasporto-page .at-mt{margin-top:16px;}
body.autotrasporto-page .at-r.no-b{border-bottom:0;}
body.autotrasporto-page .at-hnote{font-weight:600;}
body.autotrasporto-page .at-cta-top{margin-bottom:4px;}
/* --- (1) card "Iscrizione nuova azienda" strutturata (sotto i KPI) --- */
body.autotrasporto-page .at-isc-card{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);padding:16px 18px;margin:0 0 18px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;}
body.autotrasporto-page .at-isc-ava{width:44px;height:44px;border-radius:11px;background:rgba(31,111,178,.10);color:var(--acc-blu,#1f6fb2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.autotrasporto-page .at-isc-ava svg{width:23px;height:23px;}
body.autotrasporto-page .at-isc-txt{flex:1;min-width:220px;}
body.autotrasporto-page .at-isc-t{font-size:15.5px;font-weight:800;}
body.autotrasporto-page .at-isc-s{font-size:12.5px;color:rgba(15,23,42,.55);margin-top:2px;line-height:1.45;}
/* --- (2) badge di stato SINTETICO sul bordo della card azienda --- */
body.autotrasporto-page .at-bordo{position:absolute;top:-12px;right:16px;display:flex;gap:8px;z-index:1;}
body.autotrasporto-page .at-bordo .bb{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;border-radius:var(--acc-radius-sm,4px);background:#fff;border:1.5px solid;box-shadow:0 1px 4px rgba(15,23,42,.07);}
body.autotrasporto-page .at-bordo .bb.st-att{color:#15803d;border-color:#15803d;}
body.autotrasporto-page .at-bordo .bb.st-warn{color:var(--acc-warn,#b45309);border-color:var(--acc-warn,#b45309);}
body.autotrasporto-page .at-bordo .bb.st-sus{color:#cc232a;border-color:#cc232a;}
body.autotrasporto-page .at-bordo .bb.st-neu{color:rgba(15,23,42,.62);border-color:rgba(15,23,42,.35);}
body.autotrasporto-page .at-co.is-open .at-bordo{display:none;}
/* ============ FINE V3-AUTOTRASP-ELENCO ============ */

/* ============================================================
   V3-AUTOTRASP-WIZARD - card "Iscrizione nuova azienda" (Lotto C, 20/07/2026).
   (a) riscopatura su autotrasporto-page dei pattern canonici gia esistenti
   (regole COPIATE 1:1 da nuova-pratica-page / acw-revneo, scope invariati);
   (b) checklist del fascicolo + trigger + tag soggetti = pezzo nuovo.
   ============================================================ */
/* -- numeretti passo (da .acc-step nuova-pratica) -- */
body.autotrasporto-page .acc-step{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--acc-blu);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;line-height:1;}
/* -- pannello ricerca azzurro (da .acc-srch nuova-pratica) -- */
body.autotrasporto-page .acc-srch{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:rgba(31,111,178,.04);border:1px solid rgba(31,111,178,.14);border-radius:var(--acc-radius);padding:12px 14px;}
body.autotrasporto-page .acc-srch .np-field{display:flex;flex-direction:column;gap:6px;flex:0 1 320px;min-width:220px;margin-bottom:0;}
body.autotrasporto-page .acc-srch .np-lookup-btns{display:flex;gap:8px;align-items:flex-end;}
body.autotrasporto-page .acc-srch .np-field input{padding:9px 11px;min-height:38px;box-sizing:border-box;font-size:13.5px;background-color:#fff;color:var(--acc-ink);font-family:inherit;width:100%;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);}
body.autotrasporto-page .acc-srch .np-field label{font-size:12.5px;font-weight:700;color:var(--acc-ink);text-transform:none;line-height:1.25;margin-bottom:0;}
/* -- etichetta sezione (da .acc-secline nuova-pratica) -- */
body.autotrasporto-page .acc-secline{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(15,23,42,.5);margin:16px 0 9px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:5px;}
/* -- segmenti scelta (da .rn-seg acw-revneo) -- */
body.autotrasporto-page .rn-seg{display:inline-flex;border:1px solid rgba(var(--acc-slate),.20);border-radius:var(--acc-radius);overflow:hidden;flex-wrap:wrap;}
body.autotrasporto-page .rn-seg-btn{border:0;background:transparent;padding:8px 16px;font-size:14px;font-weight:700;color:rgba(var(--acc-slate),.75);cursor:pointer;}
body.autotrasporto-page .rn-seg-btn + .rn-seg-btn{border-left:1px solid rgba(var(--acc-slate),.20);}
body.autotrasporto-page .rn-seg-btn.is-on{background:var(--acc-blu);color:#fff;}
/* -- passo: testa numero+titolo -- */
body.autotrasporto-page .wz-step-head{display:flex;align-items:center;gap:10px;margin:18px 0 12px;}
body.autotrasporto-page .wz-step-head:first-of-type{margin-top:6px;}
body.autotrasporto-page .wz-step-h-t{font-size:15px;font-weight:800;}
/* -- tasto trigger "+ Iscrizione nuova azienda" (in testa all'elenco) -- */
body.autotrasporto-page .at-newco-bar{display:flex;justify-content:flex-end;margin:0 0 14px;}
/* -- soggetti: tag -- */
body.autotrasporto-page .wz-subj-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
body.autotrasporto-page .wz-tag{font-size:12.5px;font-weight:700;background:rgba(31,111,178,.07);color:var(--acc-blu);border:1px solid rgba(31,111,178,.20);border-radius:var(--acc-radius);padding:5px 11px;display:inline-flex;align-items:center;gap:8px;}
body.autotrasporto-page .wz-tag button{border:0;background:none;color:rgba(15,23,42,.4);cursor:pointer;font-weight:800;padding:0;line-height:1;font-size:14px;}
/* -- CHECKLIST del fascicolo (pezzo nuovo) -- */
body.autotrasporto-page .wz-check{display:flex;flex-direction:column;border:1px solid rgba(15,23,42,.10);border-radius:var(--acc-radius);overflow:hidden;}
body.autotrasporto-page .wz-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(15,23,42,.06);}
body.autotrasporto-page .wz-row:last-child{border-bottom:0;}
body.autotrasporto-page .wz-row.sec{background:rgba(15,23,42,.025);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(15,23,42,.5);padding:7px 14px;}
body.autotrasporto-page .wz-st{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
body.autotrasporto-page .wz-st svg{width:13px;height:13px;}
body.autotrasporto-page .wz-st.gen{background:rgba(21,128,61,.12);color:#15803d;}
body.autotrasporto-page .wz-st.alle{background:rgba(180,83,9,.14);color:#a16207;}
body.autotrasporto-page .wz-st.fis{background:rgba(15,23,42,.06);color:rgba(15,23,42,.45);}
body.autotrasporto-page .wz-rt{flex:1;min-width:0;}
body.autotrasporto-page .wz-rn{font-size:13px;font-weight:700;}
body.autotrasporto-page .wz-rd{font-size:11.5px;color:rgba(15,23,42,.5);margin-top:1px;}
body.autotrasporto-page .wz-row .acc-send{padding:5px 11px;font-size:12px;min-height:0;}
body.autotrasporto-page .wz-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px;}
body.autotrasporto-page .wz-count{font-size:12.5px;color:rgba(15,23,42,.6);font-weight:600;margin-right:auto;}
/* -- form nuova azienda: campi affiancati (da .acc-form--row nuova-pratica) -- */
body.autotrasporto-page .acc-form--row{display:flex;flex-wrap:wrap;gap:14px;}
body.autotrasporto-page .acc-form--row .acc-field{margin-bottom:0;}
/* -- larghezze campi (da .np-w-* nuova-pratica, copia 1:1) -- */
body.autotrasporto-page .acc-form--row .acc-field.np-w-lg{flex:2 1 260px;}
body.autotrasporto-page .acc-form--row .acc-field.np-w-md{flex:1 1 180px;}
body.autotrasporto-page .acc-form--row .acc-field.np-w-sm{flex:0 1 120px;}
body.autotrasporto-page .acc-form--row .acc-field.np-w-xs{flex:0 1 90px;}
/* -- utility margini/stati del wizard (sostituiscono gli inline) -- */
body.autotrasporto-page .wz-close-row{margin-bottom:2px;}
body.autotrasporto-page .wz-hint{margin:8px 2px 0;}
body.autotrasporto-page .wz-note{margin:10px 0 0;}
body.autotrasporto-page .wz-mt{margin-top:12px;}
body.autotrasporto-page .wz-addsub{margin-top:4px;}
body.autotrasporto-page .wz-tag-q{font-weight:600;opacity:.7;}
/* ============ FINE V3-AUTOTRASP-WIZARD ============ */

/* ===== V3-AUTOTRASP-PORTALE (sonda Albo, 20/07/2026) ===== */
body.autotrasporto-page .at-src.portale{ color:#1d4ed8; }
body.autotrasporto-page .at-src.portale i{ background:#1d4ed8; }
body.autotrasporto-page .at-upd{ font-size:11.5px; color:#64748b; font-weight:600; }
body.autotrasporto-page .at-dot.at-sus{ background:#e11d48; }
body.autotrasporto-page .at-arr{ color:#b91c1c; font-weight:700; }
body.autotrasporto-page .at-albo-agg.is-loading{ opacity:.65; pointer-events:none; }

/* ============================================================
   V3-AUTOTRASP-NORMATIVA - card Normativa nel CRM + pagina dedicata
   (schede tematiche accordion + archivio documenti). 20-21/07/2026.
   ============================================================ */
/* -- CRM: due card affiancate (iscrizione + normativa) -- */
body.autotrasporto-page .at-cards2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px;}
@media(max-width:820px){body.autotrasporto-page .at-cards2{grid-template-columns:1fr;}}
body.autotrasporto-page .at-cards2 .at-isc-card{margin:0;flex-direction:column;align-items:flex-start;gap:12px;height:100%;box-sizing:border-box;}
body.autotrasporto-page .at-isc-top{display:flex;align-items:center;gap:13px;}
body.autotrasporto-page .at-isc-ava.viola{background:rgba(124,58,237,.10);color:#7c3aed;}
body.autotrasporto-page .at-cards2 .acc-pri,body.autotrasporto-page .at-cards2 .acc-send{align-self:flex-start;margin-top:auto;}
/* -- pagina normativa (scoped at-normativa-page) -- */
body.at-normativa-page .acw-back{margin:0 0 16px;}
body.at-normativa-page .nz-head{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);padding:16px 18px;margin-bottom:16px;}
body.at-normativa-page .nz-head-ava{width:44px;height:44px;border-radius:11px;background:rgba(124,58,237,.10);color:#7c3aed;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.at-normativa-page .nz-head-ava svg{width:23px;height:23px;}
body.at-normativa-page .nz-h-t{font-size:17px;font-weight:800;}
body.at-normativa-page .nz-h-s{font-size:12.5px;color:rgba(15,23,42,.55);margin-top:2px;}
body.at-normativa-page .nz-scheda{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);margin-bottom:12px;overflow:hidden;}
body.at-normativa-page .nz-s-head{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;user-select:none;}
body.at-normativa-page .nz-s-ico{width:34px;height:34px;border-radius:8px;background:#f1f5f9;color:var(--acc-blu,#1f6fb2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.at-normativa-page .nz-s-ico svg{width:18px;height:18px;}
body.at-normativa-page .nz-s-t{flex:1;min-width:0;}
body.at-normativa-page .nz-s-tt{font-size:14.5px;font-weight:800;}
body.at-normativa-page .nz-s-ts{font-size:12px;color:#94a3b8;margin-top:1px;}
body.at-normativa-page .nz-tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:var(--acc-radius-sm,4px);background:rgba(31,111,178,.10);color:var(--acc-blu,#1f6fb2);white-space:nowrap;}
body.at-normativa-page .nz-car{width:24px;height:24px;color:#94a3b8;transition:transform .2s;flex:0 0 auto;}
body.at-normativa-page .nz-scheda.open .nz-car{transform:rotate(180deg);}
body.at-normativa-page .nz-body{display:none;padding:2px 16px 16px;border-top:1px dashed #e2e8f0;}
body.at-normativa-page .nz-scheda.open .nz-body{display:block;}
body.at-normativa-page .nz-p{font-size:13px;color:#334155;line-height:1.6;margin:12px 0;}
body.at-normativa-page .nz-lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin:14px 0 7px;}
body.at-normativa-page .nz-refs{display:flex;flex-direction:column;gap:5px;}
body.at-normativa-page .nz-ref{font-size:12.5px;color:#475569;}
body.at-normativa-page .nz-ref b{color:#0f172a;font-weight:700;}
body.at-normativa-page .nz-allg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
body.at-normativa-page .nz-file{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--acc-blu,#1f6fb2);border:1px solid rgba(31,111,178,.25);background:rgba(31,111,178,.04);border-radius:var(--acc-radius-sm,4px);padding:6px 11px;text-decoration:none;}
body.at-normativa-page .nz-file svg{width:14px;height:14px;}
body.at-normativa-page .nz-empty{font-size:12px;color:#94a3b8;font-style:italic;}
body.at-normativa-page .nz-arch{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);margin-top:18px;}
body.at-normativa-page .nz-arch-h{padding:14px 16px;font-size:14.5px;font-weight:800;border-bottom:1px solid #eef2f7;}
body.at-normativa-page .nz-doc{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #f1f5f9;}
body.at-normativa-page .nz-doc:last-child{border-bottom:0;}
body.at-normativa-page .nz-doc-ic{width:30px;height:30px;border-radius:var(--acc-radius-sm,4px);background:#fef2f2;color:#dc2626;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
body.at-normativa-page .nz-doc-ic svg{width:15px;height:15px;}
body.at-normativa-page .nz-doc-ic-add{background:#f1f5f9;color:#94a3b8;}
body.at-normativa-page .nz-doc-t{flex:1;min-width:0;}
body.at-normativa-page .nz-doc-tt{font-size:13px;font-weight:700;}
body.at-normativa-page .nz-doc-ts{font-size:11.5px;color:#94a3b8;margin-top:1px;}
body.at-normativa-page .nz-doc-d{font-size:11.5px;color:#64748b;font-weight:600;white-space:nowrap;}
body.at-normativa-page .nz-doc-add{opacity:.7;}
/* ============ FINE V3-AUTOTRASP-NORMATIVA ============ */

/* ============================================================
   V3-A104-BASE - pagina servizi_analisi_104 (Lotto 2, 30/07/2026).
   (a) riscopatura su analisi104-page dei pattern canonici gia' esistenti
       (regole COPIATE 1:1 da nuova-pratica-page, scope originali INTATTI);
   (b) lista documenti tipizzati + consenso + utilita' dal preload v2
       deliberato 30/07 (sostituiscono gli inline del preload).
   L'esito a semafori (.a104-sem/...) arriva col Lotto 4 (V3-A104-ESITO).
   ============================================================ */
body.analisi104-page .acc-srch{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:rgba(31,111,178,.04);border:1px solid rgba(31,111,178,.14);border-radius:var(--acc-radius);padding:12px 14px;}
body.analisi104-page .acc-srch .np-field{display:flex;flex-direction:column;gap:6px;flex:0 1 320px;min-width:220px;margin-bottom:0;}
body.analisi104-page .acc-srch .np-lookup-btns{display:flex;gap:8px;align-items:flex-end;}
body.analisi104-page .acc-srch .np-field input{padding:9px 11px;min-height:38px;box-sizing:border-box;font-size:13.5px;background-color:#fff;color:var(--acc-ink);font-family:inherit;width:100%;border:1px solid rgba(15,23,42,.22);border-radius:var(--acc-radius);}
body.analisi104-page .acc-srch .np-field label{font-size:12.5px;font-weight:700;color:var(--acc-ink);text-transform:none;line-height:1.25;margin-bottom:0;}
body.analisi104-page .acc-secline{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(15,23,42,.5);margin:16px 0 9px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:5px;}
body.analisi104-page .acc-form .acc-field{display:flex;flex-direction:column;gap:6px;}
body.analisi104-page .acc-form--row{display:flex;flex-wrap:wrap;gap:14px;}
body.analisi104-page .acc-form--row .acc-field{margin-bottom:0;}
body.analisi104-page .acc-form--row .acc-field.np-w-lg{flex:2 1 260px;}
body.analisi104-page .acc-form--row .acc-field.np-w-md{flex:1 1 180px;}
body.analisi104-page .acc-form--row .acc-field.np-w-sm{flex:0 1 130px;}
body.analisi104-page .acc-form--row .acc-field.np-w-xs{flex:0 1 90px;}
body.analisi104-page .acc-control.np-w-lg{max-width:360px;}
body.analisi104-page .acc-control.np-w-md{max-width:250px;}
body.analisi104-page .acc-control.np-w-sm{max-width:180px;}
body.analisi104-page .acc-control.np-w-xs{max-width:90px;}
body.analisi104-page .a104-doclist{display:flex;flex-direction:column;border:1px solid rgba(15,23,42,.10);border-radius:var(--acc-radius);overflow:hidden;margin-top:4px;}
body.analisi104-page .a104-drow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(15,23,42,.06);}
body.analisi104-page .a104-drow:last-child{border-bottom:0;}
body.analisi104-page .a104-dt{flex:1;min-width:0;}
body.analisi104-page .a104-dn{font-size:13px;font-weight:700;}
body.analisi104-page .a104-dh{font-size:11.5px;color:rgba(15,23,42,.5);margin-top:1px;line-height:1.45;}
body.analisi104-page .a104-code{color:var(--acc-blu);font-weight:700;font-size:12px;}
body.analisi104-page .a104-obbl{font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#a16207;background:rgba(180,83,9,.10);border-radius:var(--acc-radius-sm);padding:2px 6px;margin:0 2px;}
body.analisi104-page .a104-da{display:flex;gap:8px;align-items:center;flex:0 0 auto;}
/* Altezza dei bottoni: senza questa normalizzazione .acc-send resta a ~26px
   mentre .acc-pri sta a 38px, e affiancati (Cerca/Pulisci, Allega) si vede.
   Copia 1:1 di body.nuova-pratica-page .acc-send (acw_v3.css r.1042-1043). */
body.analisi104-page .acc-send{font-size:13px;padding:9px 14px;min-height:38px;box-sizing:border-box;border-radius:var(--acc-radius);}
body.analisi104-page .acc-send svg{width:15px;height:15px;vertical-align:-2px;margin-right:5px;}
body.analisi104-page .a104-modal-card{width:640px;max-width:94%;margin-top:20px;box-shadow:0 24px 60px rgba(15,23,42,.28);}
body.analisi104-page .acc-t .doc-right{justify-content:flex-end;}

body.analisi104-page .a104-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;cursor:pointer;}
body.analisi104-page .a104-consent input{margin-top:3px;}
body.analisi104-page .a104-muted{color:rgba(15,23,42,.45);}
body.analisi104-page .a104-fieldhint{font-size:11.5px;color:rgba(15,23,42,.5);margin-top:4px;line-height:1.5;max-width:560px;}
body.analisi104-page .a104-mt{margin-top:12px;}
body.analisi104-page .a104-mt-sm{margin-top:8px;}
body.analisi104-page .a104-h3ico{width:15px;height:15px;flex:0 0 auto;}
body.analisi104-page .a104-sent-note{margin:0 0 16px;}
body.analisi104-page .a104-filelist{display:flex;flex-direction:column;gap:6px;margin:10px 0 2px;}
body.analisi104-page .a104-frow{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(15,23,42,.10);border-radius:var(--acc-radius);background:rgba(15,23,42,.015);}
body.analisi104-page .a104-fico{width:16px;height:16px;flex:0 0 auto;color:var(--acc-blu);}
body.analisi104-page .a104-fname{flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.analisi104-page .a104-drow.is-head{border-bottom:0;padding-left:0;padding-right:0;align-items:flex-start;}
body.analisi104-page .a104-mt-neg{margin-top:-4px;margin-bottom:8px;}
body.analisi104-page .a104-dinfo{margin-top:4px;line-height:1.5;}
/* ============================================================ FINE V3-A104-BASE ============================================================ */

/* ===== V3-A104-G3 (04/08/2026) - editor del guscio nel pannello operatore.
   Scoped body.analisi104-page: additivo, inerte su ogni altra pagina. ===== */
body.analisi104-page .a104-flags{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px;color:#374151;min-height:38px}
body.analisi104-page .a104-flags label{display:flex;gap:6px;align-items:center;cursor:pointer}
body.analisi104-page .a104-semqual{margin-top:6px}
body.analisi104-page .a104-dernote{font-size:12px;color:#6b7280;margin:2px 0 8px}
body.analisi104-page .a104-exrow{display:flex;gap:8px;align-items:center;margin:6px 0}
body.analisi104-page .a104-exrow .acc-control{flex:1 1 auto;min-width:0}
body.analisi104-page .a104-exrow .a104-w-dt{flex:0 0 96px}
body.analisi104-page .a104-exrow .a104-w-num{flex:0 0 130px}
body.analisi104-page .a104-exrow .a104-w-st{flex:0 0 130px}
body.analisi104-page .a104-exrow .a104-w-big{flex:2 1 auto}
body.analisi104-page .a104-exrow .a104-xdel{flex:0 0 auto;width:34px;padding:0;justify-content:center}
body.analisi104-page .a104-der{display:grid;gap:14px;margin-top:6px}
body.analisi104-page .a104-derblk{border:1px solid #e6e9ed;border-radius:var(--acc-radius,6px);padding:10px 13px;background:#fff}
body.analisi104-page .a104-derblk h4{margin:0 0 6px;font-size:12.5px;color:#1d222b}
body.analisi104-page .a104-derrow{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;padding:5px 0;border-top:1px solid #eef0f3;color:#374151}
body.analisi104-page .a104-derrow:first-of-type{border-top:0}
body.analisi104-page .a104-derrow.is-off{color:#9aa1ab;text-decoration:line-through}

/* ============================================================
   V3-A104-BATCH1 (06/08/2026) - rilievi collaudo blocco A:
   cassetto provincia condizionale (delibera su preload
   _preload_a104_provincia_2026-08-06.html) + conferma canonica
   in finestra (gemello npAsk a scala pagina).
============================================================ */
body.analisi104-page .ch-extwrap{width:100%;}
body.analisi104-page .ch-ext{border:1.5px solid var(--acc-blu,#1f6fb2);background:rgba(31,111,178,.05);border-radius:var(--acc-radius,6px);padding:13px 14px;margin-top:-2px;width:100%;box-sizing:border-box;}
body.analisi104-page .ch-ext .acc-field{margin-bottom:0;}
body.analisi104-page .ch-ext .acc-label{margin-top:0;}
body.analisi104-page .ch-ext-tab{width:26px;height:10px;margin:0 0 0 74%;border-left:1.5px solid var(--acc-blu,#1f6fb2);border-right:1.5px solid var(--acc-blu,#1f6fb2);background:rgba(31,111,178,.05);}
body.analisi104-page .a104-ask{max-width:460px;width:100%;margin:18vh auto 0;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:var(--acc-radius,6px);box-shadow:0 18px 50px rgba(15,23,42,.25);padding:18px 20px;}
body.analisi104-page .a104-ask h4{margin:0 0 8px;font-size:15.5px;color:#0f172a;}
body.analisi104-page .a104-ask p{margin:0 0 16px;font-size:13px;color:rgba(15,23,42,.75);line-height:1.55;}
body.analisi104-page .a104-ask .ask-cta{display:flex;gap:10px;justify-content:flex-end;}
body.analisi104-page .a104-ask .acc-pri.is-danger{background:#dc2626;border-color:#dc2626;}
body.analisi104-page .a104-ask .acc-pri.is-danger:hover{background:#b91c1c;border-color:#b91c1c;}
/* ============================================================ FINE V3-A104-BATCH1 ============================================================ */

/* ============================================================
   V3-A104-EDITOR2 (07/08/2026) - rilievi collaudo pannello:
   tessera = solo stato; qualifica e nota in righe larghe sotto
   (delibera su preload _preload_a104_editor_v2_2026-08-07.html);
   bottoniera a gruppi con didascalie.
============================================================ */
body.analisi104-page .a104-semdet{border:1px solid rgba(15,23,42,.12);border-radius:var(--acc-radius,6px);background:#fff;margin:12px 0 6px;}
body.analisi104-page .a104-sdrow{display:flex;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid rgba(15,23,42,.07);}
body.analisi104-page .a104-sdrow:first-child{border-top:0;}
body.analisi104-page .a104-sdlab{flex:0 0 130px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:rgba(15,23,42,.6);}
body.analisi104-page .a104-sdrow .acc-control.sd-q{flex:0 0 260px;}
body.analisi104-page .a104-sdrow .acc-control.sd-n{flex:1 1 auto;}
body.analisi104-page .a104-btnbar{border-top:1px solid rgba(15,23,42,.1);margin-top:18px;padding-top:16px;display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;justify-content:space-between;}
body.analisi104-page .a104-btngrp{display:flex;flex-wrap:wrap;gap:14px;}
body.analisi104-page .a104-btncol{display:flex;flex-direction:column;gap:4px;max-width:190px;}
body.analisi104-page .a104-btncap{font-size:10.5px;color:rgba(15,23,42,.5);line-height:1.35;padding:0 2px;margin:2px 0 0;}
@media(max-width:860px){body.analisi104-page .a104-sdrow{flex-wrap:wrap;}body.analisi104-page .a104-sdrow .acc-control.sd-q{flex:1 1 200px;}}
/* ============================================================ FINE V3-A104-EDITOR2 ============================================================ */
