/* Componenti dell'app (SPEC_B_stile_grafico §4-5). Solo variabili di tema.css: nessun colore scritto qui. */

/* ---------- base ---------- */
html{font-size:15px}
body{background:var(--sfondo);color:var(--testo);font-family:var(--carattere);font-size:15px;line-height:1.5}
a{color:var(--accento)}a:hover{color:var(--accento-scuro)}
h1{font-size:30px;font-weight:700;margin:4px 0 22px;line-height:1.2}
h2{font-size:16px;font-weight:600;margin:24px 0 12px}
h3{font-size:15px;font-weight:600;margin:18px 0 8px}
.card h2:first-child,.card h3:first-child{margin-top:0}
.small,small{font-size:13px}
.muted{color:var(--testo-secondario)}
.num,.mono{font-family:var(--carattere-numeri);font-variant-numeric:tabular-nums}
td.num,th.num,.num{text-align:right}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accento);outline-offset:2px}

/* ---------- struttura: barra laterale + contenuti ---------- */
.app{display:flex;min-height:100vh}
.barra-laterale.navbar-vertical{width:240px;flex:none;background:var(--navy);color:var(--menu-testo);padding:28px 20px;
  border:0;display:flex;flex-direction:column;align-items:stretch;position:sticky;top:0;height:100vh;overflow:auto}
.barra-laterale .navbar-collapse{display:flex;flex-direction:column;flex:1;align-items:stretch}
.barra-testa{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.logo{font-weight:700;font-size:20px;color:var(--testo-su-scuro);text-decoration:none;letter-spacing:.2px}
.logo:hover{color:var(--testo-su-scuro)}
.logo-punto{color:var(--accento-logo)}
.menu-apri{display:none;border:1px solid var(--menu-tenue);color:var(--testo-su-scuro);background:none;border-radius:var(--raggio-pulsante);
  min-height:44px;padding:0 14px;font:inherit}
.menu{display:flex;flex-direction:column;gap:6px}
.menu-voce{display:flex;justify-content:space-between;align-items:center;color:var(--menu-testo);padding:11px 14px;border-radius:var(--raggio-pulsante);
  text-decoration:none;font-size:15px;min-height:44px}
.menu-voce:hover{color:var(--testo-su-scuro);background:var(--navy-attivo)}
.menu-voce.attiva{color:var(--testo-su-scuro);background:var(--navy-attivo);font-weight:600}
.menu-voce.disattiva{color:var(--menu-tenue)}
.menu-badge{font-family:var(--carattere-numeri);font-size:12px;background:var(--navy-attivo);color:var(--testo-su-scuro);border-radius:999px;padding:1px 8px}
.menu-badge.critico{background:var(--critico);color:var(--testo-su-scuro)}
.menu-badge.prova{display:inline-block;margin-top:4px;font-family:inherit;background:var(--critico);color:var(--testo-su-scuro)}
.menu-contesto{margin-top:14px;padding:12px 14px;font-size:13px;color:var(--menu-tenue);border-top:1px solid var(--navy-attivo)}
.menu-piede{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:4px}
.menu-utente{font-size:13px;color:var(--menu-tenue);padding:10px 14px}
.menu-esci{background:none;border:1px solid var(--navy-attivo);color:var(--menu-testo);border-radius:var(--raggio-pulsante);min-height:44px;
  width:100%;font:inherit;font-size:14px;cursor:pointer}
.menu-esci:hover{color:var(--testo-su-scuro);border-color:var(--menu-tenue)}
.contenuto{flex:1;min-width:0;padding:32px 40px;display:flex;flex-direction:column}
.contenuto>*{max-width:1400px}
.contenuto-ospite{max-width:460px;margin:64px auto;padding:0 16px}
.logo-ospite{color:var(--navy);margin-bottom:24px;font-size:24px}
@media (max-width:991.98px){
  .app{flex-direction:column}
  .barra-laterale.navbar-vertical{width:100%;height:auto;position:static;padding:14px 16px}
  .barra-testa{margin-bottom:0}
  .menu-apri{display:inline-block}
  .barra-laterale .navbar-collapse:not(.show){display:none}
  .barra-laterale .navbar-collapse{padding-top:14px}
  .contenuto{padding:22px 16px}
}

/* ---------- intestazione di pagina ---------- */
.intestazione{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.intestazione h1{margin:4px 0 0}
.sopratitolo{font-size:13px;color:var(--testo-secondario);text-transform:uppercase;letter-spacing:1px}
.azioni{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crumbs{font-size:13px;color:var(--testo-secondario);margin:-10px 0 14px}.crumbs a{color:var(--testo-secondario)}
p.small:first-child a{color:var(--testo-secondario)}

/* ---------- card ---------- */
.card{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-card);box-shadow:none;margin-bottom:24px;padding:18px 22px}
.card:has(> .card-body),.card:has(> .tabella-card){padding:0}
.card-body{padding:18px 22px}
.card-titolo{font-weight:600;font-size:16px;margin:0 0 12px}
.card.auto{background:var(--intestazione-tabella)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid2>.card{margin-bottom:24px}
@media (max-width:860px){.grid2{grid-template-columns:1fr}}
.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ---------- pulsanti ---------- */
.btn{--tblr-btn-bg:var(--accento);--tblr-btn-border-color:var(--accento);--tblr-btn-color:var(--testo-su-scuro);
  --tblr-btn-hover-bg:var(--accento-scuro);--tblr-btn-hover-border-color:var(--accento-scuro);--tblr-btn-hover-color:var(--testo-su-scuro);
  --tblr-btn-active-bg:var(--accento-scuro);--tblr-btn-active-border-color:var(--accento-scuro);--tblr-btn-active-color:var(--testo-su-scuro);
  --tblr-btn-disabled-bg:var(--accento);--tblr-btn-disabled-border-color:var(--accento);--tblr-btn-disabled-color:var(--testo-su-scuro);
  font:inherit;font-size:14px;font-weight:600;border-radius:var(--raggio-pulsante);padding:11px 18px;min-height:44px;box-shadow:none;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;line-height:1.2}
.btn.sec,.btn-secondario{--tblr-btn-bg:var(--superficie);--tblr-btn-border-color:var(--bordo-forte);--tblr-btn-color:var(--testo);
  --tblr-btn-hover-bg:var(--bordo-tenue);--tblr-btn-hover-border-color:var(--bordo-forte);--tblr-btn-hover-color:var(--testo);
  --tblr-btn-active-bg:var(--bordo-tenue);--tblr-btn-active-color:var(--testo);--tblr-btn-disabled-bg:var(--superficie);
  --tblr-btn-disabled-color:var(--testo-secondario);--tblr-btn-disabled-border-color:var(--bordo);font-weight:400}
.btn.warn{--tblr-btn-bg:var(--attenzione);--tblr-btn-border-color:var(--attenzione)}
.btn.small{font-size:13px;padding:8px 14px}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}
.link{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--accento);cursor:pointer;text-decoration:underline;text-underline-offset:2px;min-height:24px}
.link:hover{color:var(--accento-scuro)}.link:disabled{color:var(--testo-secondario);cursor:wait;text-decoration:none}

/* ---------- moduli ---------- */
label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px;color:var(--testo)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],input[type=url],input[type=tel],
input:not([type]),select,textarea{width:100%;min-height:var(--altezza-campo);padding:10px 12px;border:1px solid var(--bordo);border-radius:var(--raggio-pulsante);
  font:inherit;font-size:14px;background:var(--superficie);color:var(--testo)}
textarea{min-height:5.5rem;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accento);box-shadow:0 0 0 3px var(--accento-tenue)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accento);vertical-align:-3px;margin-right:6px}
select[multiple]{min-height:6rem}
.helptext,.help{font-size:12px;color:var(--testo-secondario)}
.errorlist{color:var(--critico);font-size:13px;margin:4px 0;padding-left:16px}
input[type=file]{font-size:14px}

/* ---------- tabelle ---------- */
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--bordo-tenue);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--testo-secondario);font-weight:600;background:var(--intestazione-tabella);
  border-bottom:1px solid var(--bordo)}
.card>table,.card>.tblscroll>table{margin:0}
.tabella-card{overflow-x:auto}
.tabella-card table th,.tabella-card table td{padding:14px 22px}
.tabella-card table th{padding-top:10px;padding-bottom:10px;border-top:1px solid var(--bordo)}
.tabella-testa{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;flex-wrap:wrap;gap:10px}
.tabella-testa .card-titolo{margin:0}
.tblscroll{overflow-x:auto}
table.clienti{min-width:860px}
table.clienti td,table.clienti th{white-space:nowrap}
.nome-riga{font-weight:600}.nome-riga a{color:var(--testo);text-decoration:none}.nome-riga a:hover{color:var(--accento)}
.riga-secondaria{font-size:12px;color:var(--testo-secondario)}

/* ---------- badge di stato e di fase ---------- */
.pill,.chip,.stato{display:inline-block;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.3;
  background:var(--non-applicabile-fondo);color:var(--non-applicabile)}
.pill.ok,.chip.ok,.chip.s-fatto{background:var(--ok-fondo);color:var(--ok)}
.pill.warn,.chip.warn,.chip.s-vuoto{background:var(--attenzione-fondo);color:var(--attenzione)}
.pill.err,.chip.err{background:var(--critico-fondo);color:var(--critico)}
.pill.info,.chip.info{background:var(--info-fondo);color:var(--info)}
.pill.off,.chip.s-na,.chip.s-omesso{background:var(--non-applicabile-fondo);color:var(--non-applicabile)}
.fase-MATERIALITA{background:var(--fase-materialita-fondo);color:var(--fase-materialita)}
.fase-QUESTIONARIO{background:var(--fase-questionario-fondo);color:var(--fase-questionario)}
.fase-REPORT{background:var(--fase-report-fondo);color:var(--fase-report)}
.fase-CHIUSO{background:var(--fase-chiuso-fondo);color:var(--fase-chiuso)}
.badge-num{font-family:var(--carattere-numeri)}
/* scadenze e mancanti: testo normale se ok, colore e grassetto se vicino o critico */
.t-ok{color:var(--testo)}.t-warn{color:var(--attenzione);font-weight:600}.t-err{color:var(--critico);font-weight:600}.t-off{color:var(--testo-secondario)}
.t-anomalia{color:var(--anomalia);font-weight:600}

/* ---------- avvisi (messaggi) ---------- */
.alert{border:1px solid var(--bordo);border-left-width:4px;border-radius:var(--raggio-card);padding:12px 16px;margin:0 0 16px;background:var(--superficie);box-shadow:none;color:var(--testo)}
.avviso-success,.msg.success{border-left-color:var(--ok);background:var(--ok-fondo)}
.avviso-error,.msg.error{border-left-color:var(--critico);background:var(--critico-fondo)}
.avviso-warning,.avviso-info,.msg.warning,.msg.info{border-left-color:var(--attenzione);background:var(--attenzione-fondo)}
.msg{border:1px solid var(--bordo);border-left:4px solid var(--attenzione);border-radius:var(--raggio-card);padding:12px 16px;margin:0 0 16px;background:var(--attenzione-fondo)}
.disclaimer{background:var(--attenzione-fondo);border-left:4px solid var(--attenzione);padding:12px 16px;border-radius:var(--raggio-pulsante)}

/* ---------- Da fare subito ---------- */
.da-fare{display:flex;flex-direction:column;gap:10px}
.da-fare-riga{display:flex;gap:12px;align-items:center;font-size:14px}
.da-fare-riga .testo{flex:1}
.da-fare-riga .azione{font-weight:600;text-decoration:none;white-space:nowrap;min-height:24px}
.pallino{width:10px;height:10px;border-radius:50%;flex:none;background:var(--attenzione)}
.pallino.critico{background:var(--critico)}.pallino.anomalia{background:var(--anomalia)}.pallino.attenzione{background:var(--attenzione)}

/* ---------- KPI ---------- */
.kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.kpi .tile{display:flex;flex-direction:column;gap:6px;background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-card);
  padding:18px 20px;color:var(--testo);text-decoration:none;min-height:44px}
.kpi a.tile:hover{border-color:var(--accento)}
.kpi .l{font-size:13px;color:var(--testo-secondario);order:-1}
.kpi .n{font-family:var(--carattere-numeri);font-size:32px;font-weight:500;line-height:1.1}
.kpi .nota{font-size:12px;color:var(--testo-secondario)}
.kpi .tile.err .n{color:var(--critico)}.kpi .tile.warn .n{color:var(--attenzione)}.kpi .tile.accento .n{color:var(--accento)}
@media (max-width:1100px){.kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kpi{grid-template-columns:1fr}}

/* ---------- barra di avanzamento ---------- */
.avanzamento{display:flex;align-items:center;gap:10px;min-width:9rem}
.barra,.bar{flex:1;height:8px;background:var(--barra-fondo);border-radius:var(--raggio-barra);overflow:hidden;min-width:5rem}
.barra i,.bar>i{display:block;height:100%;background:var(--accento)}
.barra.warn i{background:var(--attenzione)}.barra.err i{background:var(--critico)}.barra.off i{background:var(--bordo-forte)}
.avanzamento .perc{font-family:var(--carattere-numeri);font-size:13px;width:44px;text-align:right}

/* ---------- filtri a pillola ---------- */
.chips{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}
.chips a{padding:6px 12px;border-radius:999px;background:var(--bordo-tenue);color:var(--testo);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.chips a.attivo{background:var(--navy);color:var(--testo-su-scuro)}
.filtri{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.filtri>div{display:flex;flex-direction:column}
.filtri label{margin:0 0 4px;font-size:12px}
.filtri select,.filtri input{width:auto;min-width:9rem}

/* ---------- confronto con la media ---------- */
.confronto{display:flex;flex-direction:column;gap:14px}
.confronto-riga{display:grid;grid-template-columns:1.6fr 3fr .8fr;gap:14px;align-items:center;font-size:14px}
.confronto-pista{position:relative;height:14px;background:var(--bordo-tenue);border-radius:var(--raggio-barra)}
.confronto-pista>i{display:block;height:14px;background:var(--accento);border-radius:var(--raggio-barra)}
.confronto-pista>i.sopra{background:var(--anomalia)}
.confronto-media{position:absolute;top:-4px;width:2px;height:22px;background:var(--navy)}
.confronto-valore{font-family:var(--carattere-numeri);text-align:right}
@media (max-width:560px){.confronto-riga{grid-template-columns:1fr 2fr .8fr}}

/* ---------- passi della materialità ---------- */
.passi{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.passi a{padding:6px 12px;border-radius:999px;background:var(--bordo-tenue);text-decoration:none;color:var(--testo);font-size:13px;min-height:32px;display:inline-flex;align-items:center}
.passi a.cur{background:var(--navy);color:var(--testo-su-scuro)}

/* ---------- notifiche ---------- */
.badge{display:inline-block;min-width:1.2rem;padding:0 6px;border-radius:999px;background:var(--critico);color:var(--testo-su-scuro);font-size:12px;text-align:center}

/* ---------- questionario ---------- */
.layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:1100px){.layout{grid-template-columns:1fr}}
.navq{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.navq .sec{display:flex;justify-content:space-between;gap:6px;padding:8px 10px;border-radius:var(--raggio-pulsante);text-decoration:none;color:var(--testo);min-height:40px}
.navq .sec:hover,.navq .sec.cur{background:var(--accento-tenue)}.navq .sec.cur{font-weight:700}
.navq .sec.off{color:var(--testo-secondario)}
.navq .drs{margin:2px 0 8px 10px;border-left:2px solid var(--bordo);padding-left:8px}
.navq .drs a{display:flex;justify-content:space-between;gap:4px;font-size:13px;padding:6px 6px;color:var(--testo);text-decoration:none;border-radius:4px;min-height:32px}
.navq .drs a.cur{background:var(--accento-tenue);font-weight:600}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;margin-top:6px}
.dot.completa{background:var(--ok)}.dot.in_corso{background:var(--attenzione)}.dot.da_compilare{background:var(--bordo-forte)}
.dot.non_materiale{background:var(--bordo-tenue);border:1px solid var(--bordo-forte)}
.dr-head h1{margin:6px 0 10px;font-size:24px;line-height:1.25}
.dr-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dr-code{font-weight:700;font-size:13px;letter-spacing:.03em;color:var(--accento);background:var(--accento-tenue);border-radius:var(--raggio-pulsante);padding:2px 8px}
.avanzamento-dr{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.avanzamento-dr .bar{flex:0 0 220px}
.legenda{margin:4px 0 12px;padding-left:18px}.legenda li{margin:2px 0}
details.norma{background:var(--intestazione-tabella);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:8px 12px;margin-bottom:12px}
details.norma summary{cursor:pointer;color:var(--accento);font-size:14px;min-height:28px}
details.norma pre{white-space:pre-wrap;font-family:var(--carattere);font-size:14px}
.q{border-top:1px solid var(--bordo);padding:20px 0 10px}.q:first-child{border-top:0;padding-top:4px}
.q-title{font-size:17px;font-weight:600;margin:0 0 10px;line-height:1.35}
.hint{font-size:14px;color:var(--testo-secondario);margin:2px 0 10px}
.ref{font-size:12px;color:var(--testo-secondario);margin:6px 0 0}
.gate{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--accento-tenue);border:1px solid var(--bordo);
  border-radius:var(--raggio-card);padding:12px 16px;margin:4px 0 14px}
.gate-q{flex:1 1 320px}.gate-why{margin:4px 0 0;font-size:14px;color:var(--testo-secondario)}.gate-why em{font-style:normal;color:var(--testo)}
.gate-done{display:none;flex-basis:100%;margin:4px 0 0;font-size:13px;color:var(--testo-secondario)}
.gate.is-no{background:var(--bordo-tenue)}.gate.is-no .gate-done{display:block}
.seg{display:inline-flex;border:1px solid var(--bordo-forte);border-radius:var(--raggio-pulsante);overflow:hidden;flex:none}
.seg-btn{background:var(--superficie);border:0;border-left:1px solid var(--bordo-forte);padding:0 18px;min-height:44px;font:inherit;cursor:pointer;color:var(--testo);min-width:4rem}
.seg-btn:first-child{border-left:0}.seg-btn:hover:not(:disabled){background:var(--accento-tenue)}
.seg-btn[aria-pressed=true]{background:var(--accento);color:var(--testo-su-scuro);font-weight:600}
.seg-btn:disabled{cursor:not-allowed;opacity:.6}
.item{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:14px 16px 10px;margin:0 0 12px}
.item[data-state=fatto]{border-left:4px solid var(--ok)}.item[data-state=vuoto]{border-left:4px solid var(--attenzione)}
.item[data-state=na],.item[data-state=omesso]{border-left:4px solid var(--bordo-forte);background:var(--intestazione-tabella)}
.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.item-q{font-weight:600;display:flex;gap:8px;line-height:1.4}
.item-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--accento-tenue);color:var(--accento);font-size:12px;display:grid;place-items:center}
.item .gate{margin:2px 0 10px;padding:10px 12px}
.field-lab{display:block;font-size:12px;color:var(--testo-secondario);margin-bottom:2px;font-weight:400}
textarea.grow{resize:vertical;min-height:4.5rem}
.numrow{display:flex;align-items:center;gap:8px}.numrow input{max-width:13rem;font-family:var(--carattere-numeri)}.unit{color:var(--testo-secondario);font-size:14px}
input.num,input.ac.num{font-family:var(--carattere-numeri);text-align:right}
input.short{max-width:13rem}
.calc{display:flex;gap:8px;align-items:center}
.item-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px;min-height:28px}
.item-tools .code{margin-left:auto;font-size:12px;color:var(--testo-secondario)}
.ai-help::before{content:"✎ ";display:inline-block;margin-right:2px}
.omitted{background:var(--bordo-tenue);border-radius:var(--raggio-pulsante);padding:8px 12px;font-size:14px;margin:2px 0 6px}
.omitted .link{margin-left:8px}
.panel{border:1px solid var(--evidenza-bordo);background:var(--evidenza);border-radius:var(--raggio-card);padding:12px 16px;margin:10px 0 4px}
.omit-panel{border-color:var(--bordo);background:var(--intestazione-tabella)}
.riserva-panel{border-color:var(--bordo);background:var(--intestazione-tabella)}
.riserva-casi{display:flex;flex-direction:column;gap:4px;margin:6px 0}
.riserva-check{display:block;margin:4px 0 4px 4px}
.riserva-tabella{margin:8px 0}.riserva-item{padding:6px 0;border-top:1px solid var(--bordo-tenue)}
.omitted.da-rivalutare{border-left:4px solid var(--bordo)}
.panel-head{margin-bottom:6px}.panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.ai-text{white-space:pre-wrap;background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:10px 12px;font-size:14px}
.ai-text mark,mark{background:var(--evidenza);border-radius:3px;padding:0 2px;color:inherit}
.excel-box{background:var(--accento-tenue);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:12px 16px}
.excel-box ol{margin:4px 0 10px;padding-left:18px}
.tblwrap{overflow-x:auto;margin-bottom:12px}
.tbl th{white-space:normal}.tbl td{padding:6px}.tbl input{min-width:6rem;min-height:40px}
.addrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.addrow input{width:10rem}
.auto-item{padding:10px 0;border-top:1px solid var(--bordo)}.auto-item:first-of-type{border-top:0}
.auto-text{white-space:pre-wrap;font-size:14px;margin-top:4px}
.pager{display:flex;justify-content:space-between;margin:6px 0 32px}
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--navy);color:var(--testo-su-scuro);padding:12px 18px;border-radius:var(--raggio-card);max-width:90vw;z-index:20}
.st{font-size:12px}.saved{font-size:12px;color:var(--ok);margin-left:6px}.saverr{font-size:12px;color:var(--critico);margin-left:6px}
.sp-item{margin:10px 0 14px;padding-left:12px;border-left:3px solid var(--accento-tenue)}
.cond{background:var(--attenzione-fondo);border-radius:var(--raggio-card);padding:8px 12px;margin:6px 0}
.gdr{background:var(--intestazione-tabella);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:12px;margin:10px 0}
.gdrmeta{background:var(--accento-tenue)}
.bozza-nota{background:var(--attenzione-fondo);border-radius:var(--raggio-card);padding:8px 12px;font-size:14px;margin:2px 0 6px}
.tbl input.bozza-cella{background:var(--attenzione-fondo);font-style:italic}
.toggle-controllo[aria-pressed=true]{--tblr-btn-bg:var(--navy);--tblr-btn-color:var(--testo-su-scuro);--tblr-btn-border-color:var(--navy);
  --tblr-btn-hover-bg:var(--navy-attivo);--tblr-btn-hover-color:var(--testo-su-scuro)}

/* ---------- proposte dai documenti ---------- */
.proposta{border:1px solid var(--bordo);border-left:4px solid var(--attenzione);border-radius:var(--raggio-card);padding:12px 16px;margin:10px 0;background:var(--superficie)}
.proposta.conf-alta{border-left-color:var(--ok)}.proposta.conf-bassa{border-left-color:var(--critico)}
.prop-val{margin:2px 0 8px;background:var(--info-fondo);color:var(--testo);border-radius:var(--raggio-pulsante);padding:8px 12px}
.prop-val strong{color:var(--info)}
blockquote.cit{margin:6px 0;padding:8px 12px;border-left:3px solid var(--bordo-forte);background:var(--intestazione-tabella);font-size:14px}
blockquote.cit footer{margin-top:4px;color:var(--testo-secondario)}
.proposte-campo{margin:6px 0 4px}.proposte-campo>summary{cursor:pointer;color:var(--accento);font-size:14px;min-height:28px}
.upload label{font-weight:600}

/* ---------- modalità controllo: fonti a destra dei campi ---------- */
.fonte{display:none}
.controllo .item{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:16px;align-items:start}
.controllo .item>*:not(.fonte){grid-column:1}
.controllo .item>.fonte,.controllo .tabella-con-fonti>.fonte{display:block;grid-column:2;grid-row:1/span 30;background:var(--evidenza);
  border:1px solid var(--evidenza-bordo);border-radius:var(--raggio-card);padding:10px 12px;font-size:14px}
.controllo .tabella-con-fonti{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:16px;align-items:start}
.controllo .tabella-con-fonti>.tblwrap{grid-column:1}
.controllo .item:hover>.fonte,.controllo .item:focus-within>.fonte,.controllo .tabella-con-fonti:hover>.fonte,
.controllo .tabella-con-fonti:focus-within>.fonte{box-shadow:0 0 0 3px var(--evidenza-bordo)}
.fonte-tit{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--attenzione);margin-bottom:4px}
.fonte-voce{padding:6px 0;border-top:1px dashed var(--evidenza-bordo)}.fonte-voce:first-of-type{border-top:0}
.fonte-voce .cit{margin:4px 0;background:var(--superficie)}
.fonte-img{width:100%;border:1px solid var(--evidenza-bordo);border-radius:var(--raggio-pulsante);margin-top:4px;display:block}
.fonte .fonte-voce~.fonte-vuota{display:none}
@media (max-width:1100px){.controllo .item,.controllo .tabella-con-fonti{grid-template-columns:1fr}
  .controllo .item>.fonte,.controllo .tabella-con-fonti>.fonte{grid-column:1;grid-row:auto;margin-top:8px}}

/* ---------- vista divisa: documento a destra con la citazione evidenziata ---------- */
.visore{position:fixed;top:0;right:0;bottom:0;width:min(46vw,760px);background:var(--superficie);border-left:1px solid var(--bordo);
  box-shadow:-8px 0 24px var(--ombra-pannello);z-index:1050;display:flex;flex-direction:column;padding:14px 16px}
.visore [hidden],.visore[hidden]{display:none!important}
.visore-testa{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.visore-tit{font-weight:700}
.visore-chiudi{border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--testo-secondario);min-width:44px;min-height:44px}
.visore-chiudi:hover{color:var(--testo)}
.visore-cit{margin:8px 0;max-height:7.5rem;overflow:auto;font-size:14px}
.visore-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.visore-nav .visore-torna{margin:0 auto}
.visore-corpo{flex:1;overflow:auto;border:1px solid var(--bordo);border-radius:var(--raggio-pulsante);background:var(--bordo-tenue);position:relative}
.visore-corpo img{width:100%;display:block}
.visore-attesa{padding:16px}
body.con-visore .contenuto{padding-right:calc(min(46vw,760px) + 24px)}
.fonte-attiva{outline:3px solid var(--evidenza-bordo);outline-offset:2px;border-radius:var(--raggio-card)}
a.apri-fonte{cursor:zoom-in}
.visore-foglio{background:var(--superficie);padding:6px;overflow:auto}
.visore-foglio table.foglio{font-size:13px;border-collapse:collapse;width:auto;min-width:100%}
.visore-foglio table.foglio th,.visore-foglio table.foglio td{border:1px solid var(--bordo);padding:4px 8px;white-space:nowrap;text-transform:none;letter-spacing:0}
.visore-foglio table.foglio thead th{position:sticky;top:0}
.visore-foglio tr.riga-citata td{background:var(--evidenza);font-weight:600}
@media (max-width:900px){.visore{width:100vw}body.con-visore{overflow:hidden}body.con-visore .contenuto{padding-right:16px}}

/* ---------- dashboard ---------- */
.eccezioni{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.eccezioni li{display:flex;gap:12px;align-items:center}
.filtri-altri{padding:0 22px 14px}
.filtri-altri>summary{cursor:pointer;color:var(--accento);font-size:14px;min-height:32px;display:flex;align-items:center}
.filtri-altri .filtri{padding-top:8px}
.filtri .azioni{flex-direction:row;align-self:flex-end}
.tabella-nota{padding:12px 22px 6px;margin:0}
.azioni form{margin:0}
.clienti .azioni{flex-wrap:nowrap;gap:6px}
.azioni-riga{display:flex;flex-direction:column;gap:2px;font-size:13px;white-space:nowrap}
.azioni-riga a,.azioni-riga .link{font-size:13px;min-height:22px;text-decoration:none;font-weight:600}
.azioni-riga form{margin:0}
.tabella-card table.clienti th,.tabella-card table.clienti td{padding:14px 12px}
.tabella-card table.clienti th:first-child,.tabella-card table.clienti td:first-child{padding-left:22px}
.menu-apri{flex:none;white-space:nowrap}.barra-testa{gap:8px;min-width:0}
/* utilità proprie (in aggiunta a quelle di Tabler) */
.campo-basso{min-height:3rem}
.campo-largo{min-width:14rem}
.campo-xs{width:4.5rem}.campo-s{max-width:7rem}.campo-m{max-width:12rem}
.larghezza-testo{max-width:640px}
.testo-a-capo{white-space:pre-wrap}
.col-18{width:18%}.col-28{width:28%}.col-45{width:45%}
/* le card dell'app sono blocchi normali; solo quelle con .card-body usano la colonna flessibile di Tabler */
.card{display:block}
.card:has(> .card-body){display:flex}
.card.inline,.card.filtri{display:flex}
.grafico{position:relative;height:220px;margin:8px 0 16px}
/* niente scorrimento orizzontale della pagina: tabelle larghe scorrono dentro la loro card */
.card{overflow-x:auto;min-width:0}
.layout>*,.grid2>*,.contenuto>*{min-width:0}
.contenuto{overflow-x:clip}
@media (max-width:560px){
  .card{padding:14px 16px}
  .tabella-card table th,.tabella-card table td{padding:12px 14px}
  h1{font-size:24px}
  .intestazione{align-items:flex-start}
}
.barra-testa{align-self:stretch}
@media (max-width:991.98px){
  .barra-laterale.navbar-vertical{overflow:visible;flex-wrap:nowrap;max-width:100%}
  .menu-apri{margin-left:auto;padding:0 16px}
}
.app{overflow-x:clip}
.barra-laterale .menu-apri{width:auto;min-width:84px;font-size:14px;line-height:1;padding:0 16px;color:var(--testo-su-scuro)}
/* questionario (R2 interfaccia): esito del salvataggio nelle celle di tabella, voce in bozza, fonti dei dati */
.tbl td input.cella-err,.tbl td select.cella-err{border-color:var(--critico);background:var(--critico-fondo)}
.tbl td input.cella-ok,.tbl td select.cella-ok{border-color:var(--ok)}
.chip.state.s-bozza{background:var(--info-fondo);color:var(--info)}
.chip.state.s-aggiorna{background:var(--attenzione-fondo);color:var(--attenzione)}
.controllo-spiega{display:none;margin:6px 0 0;padding:6px 10px;border-radius:var(--raggio-pulsante);background:var(--info-fondo);color:var(--info)}
body.controllo .controllo-spiega{display:block}
/* lista «da fare» raggruppata per DR */
.da-fare-dr{margin:0 0 12px}
.da-fare-tit{font-size:1rem;margin:12px 0 4px}
.da-fare-dr ul{margin:0;padding-left:20px}
.da-fare-dr li{margin:2px 0}
/* AP (questionario): risposte ricavate dall'app, condizione condivisa, totali calcolati, elementi GDR collegati */
.gate-ricavato{margin:4px 0 0;color:var(--testo-secondario)}
.gate.gate-segue{padding:6px 12px;background:var(--bordo-tenue)}.gate.gate-segue .gate-why{margin:0}
.tbl tr.riga-totale td{border-top:2px solid var(--bordo-forte);font-weight:600}
.tbl .tot{display:inline-block;min-width:4rem;color:var(--testo-secondario)}
.tab-unita{margin:0 0 8px}.tab-unita select{margin-left:6px}
.gdr-collega{margin:8px 0;padding:10px 12px;background:var(--accento-tenue)}

/* schermata «Genera report»: scelta del template con miniature (SPEC_B_template_report §2) */
.scelta-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 16px}
.scelta-template label.tpl{display:block;border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:12px;cursor:pointer;background:var(--superficie)}
.scelta-template label.tpl:has(input:checked){border-color:var(--accento);box-shadow:0 0 0 2px var(--accento-tenue)}
.scelta-template .mini{display:flex;gap:8px;margin:8px 0}
.scelta-template .mini img,.scelta-template .mini .vuota{width:calc(50% - 4px);aspect-ratio:210/297;border:1px solid var(--bordo);object-fit:cover;background:var(--sfondo)}
.scelta-template .mini .vuota{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:var(--testo-secondario);padding:6px}
.scelta-template .accenti{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.scelta-template .accenti label{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.scelta-template .swatch{width:14px;height:14px;border-radius:3px;display:inline-block;border:1px solid var(--bordo-forte)}
.opzioni-report{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:8px 0 14px}
.opzioni-report label{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.scelta-template-q{display:inline-flex;gap:6px;align-items:center}
.scelta-template-q select{height:32px;font-size:13px;border:1px solid var(--bordo-forte);border-radius:var(--raggio-pulsante);padding:0 8px;background:var(--superficie);color:var(--testo)}
@media (max-width:900px){.scelta-template{grid-template-columns:1fr}.opzioni-report{grid-template-columns:1fr}}
.multi-opz{display:flex;flex-direction:column;gap:4px}.multi-opz .multi-voce{display:flex;align-items:center;gap:2px;font-weight:400}

/* ---------- navigazione per ruolo (SPEC_B_navigazione, fase 1) ---------- */
/* percorso in alto: I miei clienti › Impresa › Esercizio N (con selettore) › pagina */
.percorso{font-size:13px;color:var(--testo-secondario);margin:-10px 0 16px}
.percorso ol{display:flex;flex-wrap:wrap;gap:4px 0;align-items:center;list-style:none;margin:0;padding:0}
.percorso li{display:inline-flex;align-items:center}
.percorso li+li::before{content:"›";margin:0 8px;color:var(--testo-secondario)}
.percorso a{color:var(--testo-secondario);text-decoration:none}
.percorso a:hover{color:var(--accento-scuro);text-decoration:underline}
.percorso li[aria-current=page]{color:var(--testo);font-weight:600}
.selettore-esercizio{position:relative;display:inline-block}
.selettore-esercizio summary{cursor:pointer;color:var(--accento);list-style:none;min-height:24px;display:inline-flex;align-items:center}
.selettore-esercizio summary::-webkit-details-marker{display:none}
.selettore-esercizio summary::after{content:" ▾"}
.selettore-esercizio ul{position:absolute;z-index:20;left:0;top:100%;min-width:14rem;margin:4px 0 0;padding:6px;list-style:none;
  background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-card);box-shadow:0 4px 12px var(--ombra-pannello)}
.selettore-esercizio ul li::before{content:none}
.selettore-esercizio ul a{display:block;padding:8px 10px;border-radius:var(--raggio-pulsante);color:var(--testo);text-decoration:none}
.selettore-esercizio ul a:hover,.selettore-esercizio ul a.attivo{background:var(--accento-tenue)}
/* barra delle fasi: 5 caselle */
.barra-fasi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.barra-fasi .fase{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--bordo);border-radius:var(--raggio-card);
  background:var(--superficie);color:var(--testo);text-decoration:none;min-height:44px}
.barra-fasi a.fase:hover{border-color:var(--accento)}
.barra-fasi .fase.attiva{border-color:var(--navy);box-shadow:inset 0 3px 0 var(--navy)}
.barra-fasi .fase-nome{font-weight:600;font-size:14px}
.barra-fasi .fase-stato{align-self:flex-start;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}
.barra-fasi .fase-dettaglio{font-size:12px;color:var(--testo-secondario)}
.barra-fasi .s-fatto .fase-stato{background:var(--ok-fondo);color:var(--ok)}
.barra-fasi .s-in_corso .fase-stato{background:var(--info-fondo);color:var(--info)}
.barra-fasi .s-da_fare .fase-stato{background:var(--bordo-tenue);color:var(--testo-secondario)}
.barra-fasi .s-bloccato{background:var(--intestazione-tabella);cursor:not-allowed}
.barra-fasi .s-bloccato .fase-stato{background:var(--critico-fondo);color:var(--critico)}
@media (max-width:900px){.barra-fasi{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.barra-fasi{grid-template-columns:1fr}}
/* prossimo passo */
.prossimo-passo{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:12px 18px;margin:0 0 24px;
  background:var(--accento-tenue);border:1px solid var(--bordo);border-radius:var(--raggio-card)}
.prossimo-passo .etichetta{font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;color:var(--accento-scuro)}
.prossimo-passo .testo{flex:1;min-width:12rem}
/* voci e pulsanti non disponibili (§0.3) */
.azione-disattiva{opacity:.6;cursor:not-allowed;pointer-events:auto}
.btn.azione-disattiva:hover{--tblr-btn-hover-bg:var(--tblr-btn-bg)}
.motivo-disattiva{font-size:12px;color:var(--testo-secondario)}
/* layout dell'impresa: barra in alto, nessun menu laterale */
.barra-alta{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding:12px 40px;background:var(--superficie);border-bottom:1px solid var(--bordo)}
.logo-scuro{color:var(--navy)}.logo-scuro:hover{color:var(--navy)}
.barra-contesto{flex:1;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;min-width:12rem;font-size:14px}
.barra-azioni{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:14px}
.barra-link{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.barra-utente{font-size:13px;line-height:1.3}.barra-utente small{color:var(--testo-secondario)}
.contenuto-impresa{max-width:1100px;margin:0 auto;width:100%}
@media (max-width:991.98px){.barra-alta{padding:10px 16px}}

/* ---------- pagine dello studio (SPEC_B_navigazione §1.2-1.4, §2.5) ---------- */
/* «I miei clienti» */
.chips a .conteggio{font-family:var(--carattere-numeri);font-size:12px;margin-left:6px;opacity:.8}
.ricerca-clienti{display:flex;gap:8px;align-items:center}
.ricerca-clienti input{height:36px;min-width:14rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.segnale{display:flex;align-items:center;gap:8px;font-size:13px}
.segnale a{font-weight:600;text-decoration:none}
.pallino.ok{background:var(--ok)}
.apri-riga{display:flex;flex-wrap:wrap;gap:6px}
.apri-riga .btn{white-space:nowrap}
table.clienti tr.riga-chiusa td{background:var(--intestazione-tabella)}
.card-dettagli{display:block}
.card-dettagli>summary{cursor:pointer;font-weight:600;font-size:15px;min-height:28px}
details.card-dettagli>summary+*{margin-top:12px}
/* pagina dell'esercizio */
.meta-esercizio{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:8px;font-size:13px;color:var(--testo-secondario)}
.colonne-esercizio{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}
.colonne-esercizio .colonna{min-width:0}
@media (max-width:1100px){.colonne-esercizio{grid-template-columns:1fr}}
.tabella-scorre{overflow-x:auto}
.sezioni-esercizio td{vertical-align:middle}
.sezioni-esercizio .col-barra{min-width:9rem}
.riga-persona{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bordo-tenue)}
.riga-persona:last-of-type{border-bottom:0}
.riga-persona .chi{flex:1;min-width:10rem}
.riga-persona form{margin:0}
.titolo-sezione{font-size:16px;font-weight:600;margin:8px 0 12px}
/* schede interne delle fasi e percorso guidato della materialità */
.schede-fase{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 20px;border-bottom:1px solid var(--bordo)}
.schede-fase a,.schede-fase span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:14px;color:var(--testo-secondario);
  text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.schede-fase a:hover{color:var(--accento-scuro)}
.schede-fase a.attiva{color:var(--testo);font-weight:600;border-bottom-color:var(--accento)}
.schede-fase.secondarie{border-bottom:0;margin:-8px 0 16px}
.schede-fase.secondarie a,.schede-fase.secondarie span{min-height:36px;border:1px solid var(--bordo);border-radius:999px;margin:0;padding:0 12px;font-size:13px}
.schede-fase.secondarie a.attiva{background:var(--navy);border-color:var(--navy);color:var(--testo-su-scuro)}
.passi-guidati{margin:0 0 20px}
.passi-guidati .indicatore-passo{font-size:13px;color:var(--testo-secondario);margin-bottom:8px}
.passi-guidati .indicatore-passo strong{font-family:var(--carattere-numeri);color:var(--testo)}
.passi-guidati ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 12px;padding:0}
.passi-guidati li a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--bordo);border-radius:999px;
  background:var(--superficie);color:var(--testo);text-decoration:none;font-size:13px}
.passi-guidati li a .n{font-family:var(--carattere-numeri);font-size:12px;width:22px;height:22px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;background:var(--bordo-tenue);color:var(--testo-secondario)}
.passi-guidati li.prima a .n{background:var(--ok-fondo);color:var(--ok)}
.passi-guidati li.attivo a{border-color:var(--navy);background:var(--navy);color:var(--testo-su-scuro);font-weight:600}
.passi-guidati li.attivo a .n{background:var(--testo-su-scuro);color:var(--navy)}
.passi-guidati .schede-fase.secondarie{margin:0}
/* questionario lato studio */
.banner-consegna{margin:10px 0;padding:10px 14px;border-radius:var(--raggio-card);background:var(--info-fondo);color:var(--info);font-size:14px}
.banner-consegna a{font-weight:600}
.filtro-persona{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.filtro-persona select{height:40px;font-size:13px}
.origine-valore{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12px;color:var(--testo-secondario);margin-top:6px}
.origine-valore .etichetta{font-weight:600}
.origine-valore .origine{border-radius:999px;padding:1px 8px;background:var(--bordo-tenue);color:var(--testo);font-weight:600}
.origine-valore .origine.o-estratto_doc,.origine-valore .origine.o-excel{background:var(--info-fondo);color:var(--info)}
.origine-valore .origine.o-calcolato,.origine-valore .origine.o-materialita{background:var(--accento-tenue);color:var(--accento-scuro)}
.origine-tabella{margin-top:8px;font-size:13px}
.domande-sul-punto{margin-top:12px}
.domande-sul-punto .card{margin-bottom:0;background:var(--attenzione-fondo)}

/* ---------- pagine dell'impresa (SPEC_B_navigazione §2.2-2.4): «Il tuo lavoro», pagina del blocco ---------- */
.lavoro-chi{margin:6px 0 0;font-size:15px;color:var(--testo-secondario)}
.scadenza-vicina{color:var(--attenzione);font-weight:700}
.scadenza-superata{color:var(--critico);font-weight:700}
.lavoro-consegnato{padding:12px 18px;margin:0 0 16px;border:1px solid var(--bordo);border-left:4px solid var(--ok);border-radius:var(--raggio-card);background:var(--ok-fondo)}
.lavoro-riapertura{padding:12px 18px;margin:0 0 16px;border:1px solid var(--bordo);border-left:4px solid var(--critico);border-radius:var(--raggio-card);background:var(--critico-fondo)}
.lavoro-link{margin:8px 0 0;padding-left:18px}.lavoro-link li{margin:2px 0}
.lavoro-numeri{font-size:15px;margin:0 0 8px}
.num-grande{font-family:var(--carattere-numeri);font-size:26px;font-weight:500;color:var(--testo)}
.lavoro-riga-azioni{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin-top:14px}
.blocchi-lista{list-style:none;margin:0;padding:0}
.blocco-riga{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--bordo-tenue)}
.blocco-riga:first-child{border-top:0}
.blocco-link{flex:1;min-width:14rem;display:flex;flex-direction:column;gap:2px;text-decoration:none;min-height:44px;justify-content:center}
.blocco-titolo{font-weight:600;font-size:15px;color:var(--accento)}
.blocco-link:hover .blocco-titolo{color:var(--accento-scuro);text-decoration:underline}
.blocco-descr{font-size:13px;color:var(--testo-secondario)}
.blocco-conto{font-family:var(--carattere-numeri);font-size:13px;min-width:4.5rem;color:var(--testo-secondario)}
.lavoro-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
@media (max-width:860px){.lavoro-griglia{grid-template-columns:1fr}}
.documenti-utili{margin:0 0 12px;padding-left:18px}.documenti-utili li{margin:4px 0}
.tabella-squadra td.destra{text-align:right;white-space:nowrap}
.tabella-squadra form{margin:0}
.invita summary{list-style:none;display:inline-block}.invita summary::-webkit-details-marker{display:none}
.invita-form{margin-top:12px;padding:14px;border:1px solid var(--bordo);border-radius:var(--raggio-card);background:var(--intestazione-tabella)}
.funzioni-scelta{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:4px 16px}
.domanda-studio{padding:10px 0;border-top:1px solid var(--bordo-tenue)}
.domanda-studio:first-child{border-top:0}
.risposta-studio{margin:6px 0 0 14px;padding-left:10px;border-left:3px solid var(--bordo)}
.torna{margin:0 0 8px}
.blocco-testa{margin-bottom:16px}
.domanda-impresa{scroll-margin-top:16px}
.domanda-impresa .q{border:0;padding:0;margin:0}
.domanda-testa{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;margin:0 0 8px}
.domanda-impresa .seg-btn{min-height:48px;min-width:7.5rem;font-size:16px}
.domanda-impresa .gate{padding:14px 16px}
.domanda-strumenti{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--bordo-tenue)}
.aiuto{margin:0 0 10px;font-size:14px}
.aiuto summary,.chiedi summary{cursor:pointer;color:var(--accento);min-height:32px;display:inline-flex;align-items:center}
.aiuto p{margin:6px 0 0;padding:10px 12px;background:var(--info-fondo);border-radius:var(--raggio-card)}
.chiedi form{margin-top:8px}
.ancora{display:block;position:relative;top:-16px}
.proposta-impresa{background:var(--info-fondo);border:1px solid var(--bordo);border-radius:var(--raggio-card);padding:10px 14px;margin:6px 0 8px}
.proposta-impresa .prop-val{font-size:16px;margin:4px 0}
.proposta-impresa .fonte-proposta{color:var(--testo-secondario)}
.proposta-impresa .cit{margin:6px 0;font-size:13px}
.proposta-impresa .panel-actions{margin-top:8px}
.blocco-fondo{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:8px 0 24px}
.blocco-mobile{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px}
.blocco-mobile[hidden]{display:none}
.scelte-grandi{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.scelte-grandi .scelta{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid var(--bordo-forte);border-radius:var(--raggio-pulsante);background:var(--superficie);font-size:15px;cursor:pointer}
.scelte-grandi .scelta:has(input:checked){border-color:var(--accento);background:var(--accento-tenue);font-weight:600}
.scelte-grandi .scelta-tenue{color:var(--testo-secondario)}
@media (max-width:700px){
  .una-alla-volta>.nascosta-mobile{display:none}
  .domanda-impresa .seg{display:flex;width:100%}.domanda-impresa .seg-btn{flex:1;min-width:0}
  .blocco-fondo .btn{flex:1}
  .tabella-squadra td.destra{white-space:normal}
}
.tabella-card{overflow-x:auto}
table.clienti .apri-riga{flex-wrap:nowrap}
.apri-riga .btn.small{padding:6px 10px;min-height:36px;font-size:13px}

/* riga «Domande sull'impresa per la materialità» (studio: pagina dell'esercizio, passo delle domande filtro) */
.referente-materialita{margin:0 0 12px}.referente-materialita form{display:inline}
/* «I miei clienti» a 1440 px: nome e segnale vanno a capo, così la colonna «Apri» (Questionario · Report · Excel)
   resta visibile senza scorrere la tabella (SPEC_B_navigazione §1.2, «2 clic») */
table.clienti td:first-child{white-space:normal;min-width:190px;max-width:230px}
table.clienti td:nth-child(6){white-space:normal;min-width:130px;max-width:165px}
table.clienti .apri-riga{gap:6px}table.clienti .apri-riga .btn.small{padding:6px 8px}
table.clienti td:nth-child(3) .barra{min-width:90px}
/* pagina dell'esercizio a 390 px: «Avanzamento per sezione» in righe impilate (sezione e «Apri», poi barra e
   responsabile) invece di una tabella che scorre e nasconde responsabile e «Apri» */
@media (max-width:600px){
  table.sezioni-esercizio thead{display:none}
  table.sezioni-esercizio tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--bordo-tenue)}
  table.sezioni-esercizio td{display:block;padding:0;border:0}
  table.sezioni-esercizio td.col-barra{grid-column:1 / -1;grid-row:2}
  table.sezioni-esercizio td:nth-child(3){grid-column:1 / -1;grid-row:3;color:var(--testo-secondario)}
  table.sezioni-esercizio td:nth-child(4){grid-column:2;grid-row:1}
}
/* barra delle fasi a 390 px: una striscia che scorre in orizzontale (non cinque card una sotto l'altra prima del
   contenuto di ogni pagina della fase); il dettaglio resta solo sulla fase aperta */
@media (max-width:480px){
  .barra-fasi{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scroll-snap-type:x proximity}
  .barra-fasi .fase{flex:0 0 auto;min-width:132px;max-width:190px;padding:8px 10px;scroll-snap-align:start}
  .barra-fasi .fase:not(.attiva) .fase-dettaglio{display:none}
}

/* «I miei clienti» (SPEC_B_navigazione §1.2, regole del 8/10/2026): fase come percorso di 4 pallini (fatte = verde
   pieno, attuale = accento pieno con il nome in grassetto, future = vuoto grigio); nomi lunghi a capo senza troncare;
   Consegne e Scadenza con il carattere del resto della tabella */
.fase-percorso{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}
.fp-pallini{display:flex;align-items:center}
.fp-pallino{width:12px;height:12px;border-radius:50%;flex:none;box-sizing:border-box;border:2px solid var(--bordo)}
.fp-pallino.fp-fatto{background:var(--ok);border-color:var(--ok)}
.fp-pallino.fp-attuale{background:var(--accento);border-color:var(--accento);box-shadow:0 0 0 3px var(--ok-fondo)}
.fp-pallino.fp-futuro{background:transparent;border-color:var(--bordo)}
.fp-linea{width:14px;height:2px;background:var(--bordo);flex:none}.fp-linea.fp-fatta{background:var(--ok)}
.fp-nome{font-weight:700;font-size:13px;color:var(--testo)}
.fp-riga{white-space:normal;max-width:200px;margin-top:2px}
table.clienti td:nth-child(2){white-space:normal;min-width:150px}
table.clienti .nome-riga a{overflow-wrap:anywhere}
.etichetta-prova{font-size:11px;padding:1px 6px;vertical-align:middle}
.mostra-prova{display:flex;align-items:center;gap:8px;padding:0 22px 8px}
.mostra-prova input[type=checkbox]{width:auto;margin:0 6px 0 0;vertical-align:middle}
.fp-pallino.fp-attuale{width:14px;height:14px}
table.clienti td:nth-child(3){white-space:normal;max-width:170px}
table.clienti td:nth-child(3) .barra{min-width:80px}
.fp-riga{max-width:170px}

/* «Paragrafi del report» (fase 3 della verifica normativa): testo da rivedere a sinistra, dati di origine a destra */
.paragrafo-revisione{border-top:1px solid var(--bordo-tenue);padding:14px 0}
.paragrafo-revisione:first-of-type{border-top:0}
.paragrafo-revisione textarea{width:100%;min-height:9rem;font:inherit}
.paragrafo-revisione .testo-precedente{white-space:pre-wrap;border-left:3px solid var(--bordo);padding:4px 10px}
.paragrafo-revisione .dati-origine li{overflow-wrap:anywhere}
.paragrafo-revisione .azioni-paragrafo{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* percorso guidato della raccolta dati e filtro «Solo da approvare» (SPEC_B_flusso_compilazione) */
.percorso-passi{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.percorso-guidato .passo{border:1px solid var(--bordo);border-left:4px solid var(--bordo-forte);border-radius:8px;padding:10px 14px}
.percorso-guidato .passo-fatto{border-left-color:var(--ok)}
.percorso-guidato .passo-da_fare{border-left-color:var(--accento)}
.percorso-guidato .passo-saltato{opacity:.75}
.percorso-guidato .passo-testa{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.percorso-guidato form.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.vista-questionario{display:inline-flex;margin:8px 0}
a.seg-btn{display:inline-flex;align-items:center;text-decoration:none}
.num.confronto{font-variant-numeric:tabular-nums}

/* struttura del gruppo (SPEC_B_struttura_multisito §3 bis) */
.struttura{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.3fr);gap:16px;align-items:start}
@media (max-width:900px){.struttura{grid-template-columns:1fr}}
.struttura .campo{margin-bottom:8px}.struttura .errore{color:var(--critico)}
.albero{overflow:auto;background:var(--superficie);border:1px solid var(--bordo);border-radius:8px;padding:8px}
.albero svg{max-width:100%;height:auto}
.avvisi-albero{list-style:none;padding:0}
.elenco-societa,.elenco-siti{list-style:none;padding:0;margin:0}.elenco-societa li,.elenco-siti li{padding:4px 0}
