[hidden]{display:none!important}
/* (11/10) sfondo chiaro sempre, anche con il telefono in modalità scura: le regole scure restano ma non si attivano (min-width 100000px) */
:root{
  --sfondo:#EEF0EC; --carta:#FFFFFF; --carta-2:#F4F6F2; --inchiostro:#1E2A2F; --inchiostro-2:#4A585D; --inchiostro-3:#6B7A7F;
  --linea:#D6DAD3; --linea-2:#E6E9E3; --accento:#1F6F78; --accento-ink:#FFFFFF; --accento-tenue:#DDEBEC; --accento-tenue-ink:#123F45;
  --avviso:#FBF0DC; --avviso-ink:#7A4A0C; --errore:#FBE9E7; --errore-ink:#8A2A20; --ok:#E1EFEA; --ok-ink:#245C47;
  --testata:#1E2A2F; --testata-ink:#F4F5F2; --testata-2:#A9C9CC;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) and (min-width: 100000px){
  :root{
    --sfondo:#141B1E; --carta:#1B2428; --carta-2:#212C31; --inchiostro:#E5ECEC; --inchiostro-2:#AAB8BB; --inchiostro-3:#86969A;
    --linea:#314046; --linea-2:#28353A; --accento:#5FB3BC; --accento-ink:#0E2226; --accento-tenue:#1D3A3F; --accento-tenue-ink:#BFE3E6;
    --avviso:#3A2F1C; --avviso-ink:#EBC98E; --errore:#3D2220; --errore-ink:#F2B8B0; --ok:#1D3329; --ok-ink:#9FD8BF;
    --testata:#0E1416; --testata-ink:#E5ECEC; --testata-2:#7FB3B8;
    color-scheme: dark;
  }
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--sfondo);color:var(--inchiostro);font:14px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:var(--accento)}
.dentro{max-width:1320px;margin:0 auto;padding-inline:20px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accento);outline-offset:2px}

/* testata */
.testata{background:var(--testata);color:var(--testata-ink);position:sticky;top:0;z-index:10}
.testata .dentro{display:flex;align-items:center;gap:18px;min-height:54px;flex-wrap:wrap}
.marchio{color:var(--testata-ink);text-decoration:none;font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:9px;letter-spacing:.01em}
.marchio .logo{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.prova{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--testata-2)}
.testata nav{display:flex;gap:4px;flex-wrap:wrap}
.testata nav a{color:var(--testata-ink);text-decoration:none;padding:7px 12px;border-radius:6px;opacity:.85}
.testata nav a.attivo,.testata nav a:hover{background:rgba(255,255,255,.12);opacity:1}
.utente{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--testata-ink);border-radius:6px;padding:6px 12px;cursor:pointer}
.bollino{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:#D69A2D;color:#1E2A2F;font-size:12px;font-weight:700;text-align:center}

main{padding-block:22px 60px}
h1{font-size:24px;margin:0;letter-spacing:-.01em}
h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--inchiostro-3);margin:0 0 12px;font-weight:600}
.sotto{color:var(--inchiostro-2);margin:4px 0 0}
.riga-titolo{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.riga-titolo .azioni{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* bottoni */
.btn{height:38px;padding:0 16px;border-radius:6px;border:1px solid var(--accento);background:var(--accento);color:var(--accento-ink);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn.sec{background:var(--carta);color:var(--inchiostro);border-color:var(--linea);font-weight:500}
.btn.picc{height:30px;padding:0 10px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}

/* elenco */
.cerca{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.cerca input{flex:1 1 320px;height:44px;padding:0 14px;border:1px solid var(--linea);border-radius:8px;background:var(--carta);font-size:15px;min-width:0}
.conta{color:var(--inchiostro-2);font-size:13px;align-self:center}
.tabella{background:var(--carta);border:1px solid var(--linea);border-radius:8px;overflow-x:auto}
table{border-collapse:collapse;width:100%}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--inchiostro-2);background:var(--carta-2);text-align:left;padding:9px 12px;border-bottom:1px solid var(--linea);white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--linea-2);vertical-align:top}
tr:last-child td{border-bottom:none}
tbody tr.clic{cursor:pointer}
tbody tr.clic:hover{background:var(--carta-2)}
.num{font-variant-numeric:tabular-nums}
/* (03/10) codici (codice fiscale, telefono, numero documento): stesso carattere del testo, cifre allineate, piu' leggibili del monospazio piccolo */
.mono{font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.chip{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;background:var(--carta-2);border:1px solid var(--linea);color:var(--inchiostro-2);white-space:nowrap}
.chip.si{background:var(--ok);color:var(--ok-ink);border-color:transparent}
.chip.no{background:var(--avviso);color:var(--avviso-ink);border-color:transparent}
.chip.acc{background:var(--accento-tenue);color:var(--accento-tenue-ink);border-color:transparent}
.vuoto{padding:28px;text-align:center;color:var(--inchiostro-3)}

/* schede */
.griglia{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:20px;align-items:start}
.pannello{background:var(--carta);border:1px solid var(--linea);border-radius:8px;padding:18px 20px;margin-bottom:16px}
.campi{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.campo.largo{grid-column:1/-1}
.campo label{font-size:12.5px;font-weight:600;color:var(--inchiostro-2)}
.campo label .obb{color:#B3261E}
.campo input,.campo select,.campo textarea{height:38px;padding:0 10px;border:1px solid var(--linea);border-radius:6px;background:var(--carta);width:100%;min-width:0}
.campo textarea{height:auto;min-height:74px;padding:8px 10px;resize:vertical}
.campo .aiuto{font-size:12px;color:var(--inchiostro-3)}
.campo .aiuto.att{color:var(--avviso-ink)}
.campo.errato input,.campo.errato select{border-color:#C0392B;background:var(--errore)}
.con-bottone{display:flex;gap:6px}
.con-bottone input{flex:1}
.auto{position:relative}
.suggerimenti{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--carta);border:1px solid var(--linea);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:260px;overflow:auto}
.suggerimenti button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;cursor:pointer}
.suggerimenti button:hover,.suggerimenti button.sel{background:var(--accento-tenue)}
.sola{padding:8px 10px;border:1px dashed var(--linea);border-radius:6px;background:var(--carta-2);min-height:38px}

.banner{padding:12px 14px;border-radius:8px;margin-bottom:14px}
.banner.err{background:var(--errore);color:var(--errore-ink)}
.banner.att{background:var(--avviso);color:var(--avviso-ink)}
.banner.ok{background:var(--ok);color:var(--ok-ink)}
.avvisi-scheda{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}

.barra-salva{position:sticky;bottom:0;background:var(--sfondo);padding-block:12px;display:flex;gap:10px;align-items:center;border-top:1px solid var(--linea);margin-top:6px}
.barra-salva .stato{color:var(--inchiostro-2);font-size:13px}

/* cosa manca */
.manca ul{margin:0;padding-left:18px}
.manca li{margin-bottom:4px}
.whatsapp{white-space:pre-wrap;background:var(--carta-2);border:1px solid var(--linea);border-radius:6px;padding:10px 12px;font-size:13.5px;margin:10px 0}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.docs .doc{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:13px;padding:5px 8px;border:1px solid var(--linea-2);border-radius:6px}
.zona{border:2px dashed var(--linea);border-radius:8px;padding:18px;text-align:center;color:var(--inchiostro-2);cursor:pointer}
.zona.sopra{border-color:var(--accento);background:var(--accento-tenue)}
.esami{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.esami .chip button{border:none;background:none;cursor:pointer;padding:0 0 0 6px;color:inherit;font-weight:700}
.elenco-file{list-style:none;margin:0;padding:0}
.elenco-file li{padding:7px 0;border-bottom:1px solid var(--linea-2);font-size:13px}
.elenco-file li:last-child{border-bottom:none}

.notifica{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--inchiostro);color:var(--sfondo);padding:10px 18px;border-radius:8px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.modale{position:fixed;inset:0;background:rgba(15,20,22,.55);display:flex;align-items:center;justify-content:center;z-index:40;padding:16px}
.modale .pannello{max-width:460px;width:100%;margin:0}

@media (max-width:900px){ .griglia{grid-template-columns:1fr} }

/* vista pratica (28/09) */
.cliente{padding:16px 20px}
.cliente-testa{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.cliente-testa .btn{margin-left:auto}
.cliente-nome{font-size:20px;font-weight:700}
.dati{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px}
.dato{display:flex;flex-direction:column;gap:1px;min-width:0}
.dato span{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--inchiostro-3)}
.dato b{font-weight:600;overflow-wrap:anywhere}
.laterale{position:sticky;top:66px;max-height:calc(100vh - 80px);overflow:auto;padding-right:2px}
.laterale-barra{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;position:sticky;top:0;z-index:2;background:var(--sfondo);padding-bottom:6px}
.carica .zona,.carica-doc-fin .zona{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;padding:26px 18px;font-size:15px}
.carica select,.carica input{height:42px;font-size:15px}
.zona-icona{font-size:28px;line-height:1;color:var(--accento)}
.fonti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fonte{border:1px solid var(--linea);border-radius:8px;padding:12px;background:var(--carta)}
.fonte.modificata{border-color:var(--accento);box-shadow:inset 3px 0 0 var(--accento)}
.fonte h3{margin:0 0 8px;font-size:15px}
.pat{display:grid;grid-template-columns:22px minmax(0,1fr) 70px;gap:6px;align-items:center;margin-bottom:5px}
.pat-n{font-size:12px;color:var(--inchiostro-3);text-align:right}
.pat input{width:100%;height:32px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;background:var(--carta);font-size:13px;text-overflow:ellipsis}
.pat-val{font-size:13px;text-align:right;color:var(--inchiostro-2)}
.pat-tot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--linea);margin-top:8px;padding-top:8px}
.pat-tot b{font-size:18px}
.fonte .suggerimenti{min-width:420px}
@media (max-width:1100px){ .fonti{grid-template-columns:1fr} .fonte .suggerimenti{min-width:0} }
@media (max-width:900px){ .laterale{position:static;max-height:none} }

/* 28/09: etichette in grassetto, dati attesi in rosso leggerissimo */
:root{ --manca:#FDEEEE; --manca-bordo:#E7B3AE; --manca-ink:#8A2A20; }
@media (prefers-color-scheme: dark) and (min-width: 100000px){ :root{ --manca:#3A2323; --manca-bordo:#7A4540; --manca-ink:#F2B8B0; } }
.campo label{font-weight:700;color:var(--inchiostro);font-size:13px}
.dato span{font-weight:700;color:var(--inchiostro-2)}
h2{color:var(--inchiostro-2);font-weight:700}
.campo.manca input,.campo.manca select,.campo.manca textarea,.campo.manca .esami{background:var(--manca);border-color:var(--manca-bordo)}
.campo.manca label::after{content:" · manca";color:var(--manca-ink);font-weight:600;font-size:12px}
.pannello.da-completare{border-color:var(--manca-bordo);background:linear-gradient(var(--manca),var(--manca)) top/100% 4px no-repeat,var(--carta)}
.docs .doc.manca{background:var(--manca);border-color:var(--manca-bordo)}

/* 29/09: azioni rapide, righe senza pratica, modalita' lettura/modifica, copia documenti */
.col-azioni{width:1%;white-space:nowrap;text-align:right}
.azioni-riga{display:inline-flex;gap:6px;align-items:center;vertical-align:middle}
.icona{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--linea);background:var(--carta);color:var(--accento);cursor:pointer;padding:0;text-decoration:none}
.icona svg{width:17px;height:17px;fill:currentColor}
.icona:hover{background:var(--accento-tenue)}
.icona.wa{color:#1E8E4E}
.icona.piu{color:var(--accento-ink);background:var(--accento);border-color:var(--accento)}
.icona.spenta{color:var(--inchiostro-3);opacity:.45;cursor:default}
.laterale-barra .azioni-riga{margin-left:auto}
.laterale-barra .icona{width:38px;height:38px}
tr.senza td{background:var(--carta-2)}
.titolo-pratica{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
fieldset.senza-bordo{border:0;margin:0;padding:0;min-width:0}
fieldset[disabled] input,fieldset[disabled] select,fieldset[disabled] textarea{background:var(--carta-2);color:var(--inchiostro);opacity:1;cursor:default}
fieldset[disabled] .campo.manca input,fieldset[disabled] .campo.manca select,fieldset[disabled] .campo.manca textarea{background:var(--manca)}
.elenco-copia{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}
.doc-copia{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--linea);border-radius:6px;background:var(--carta);cursor:pointer;font-size:13px}
.doc-copia .spunta{flex:none;width:18px;height:18px;border:2px solid var(--linea);border-radius:4px;margin-top:1px}
.doc-copia[aria-pressed="true"]{border-color:var(--accento);background:var(--accento-tenue)}
.doc-copia[aria-pressed="true"] .spunta{background:var(--accento);border-color:var(--accento);box-shadow:inset 0 0 0 3px var(--carta)}
/* 29/09: barra a sinistra che segue lo scorrimento (filtri dell'elenco, azioni della pratica) */
#vista.largo{max-width:1520px}
.con-rail{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:start}
.rail{position:sticky;top:calc(var(--alto-testata, 80px) + 18px);display:flex;flex-direction:column;gap:8px;z-index:4;padding-top:4px}
.rail-tit{margin:0 0 2px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--inchiostro-2);font-weight:700}
.rail-btn{width:100%;height:auto;min-height:38px;padding:7px 12px;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;text-align:left;line-height:1.25}
.rail-btn small{font-size:11px;font-weight:600;color:var(--accento-tenue-ink);white-space:normal}
.rail-btn.attivo{background:var(--accento-tenue);border-color:var(--accento);font-weight:600}
.rail .azioni-riga{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.rail .icona{width:40px;height:40px}
.filtro{position:relative}
.menu-filtro{position:absolute;left:100%;top:0;margin-left:8px;min-width:240px;max-height:360px;overflow:auto;background:var(--carta);border:1px solid var(--linea);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px;z-index:20}
.menu-filtro button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:5px;font:inherit;color:var(--inchiostro);cursor:pointer}
.menu-filtro button:hover,.menu-filtro button:focus-visible{background:var(--carta-2)}
.menu-filtro button.scelto{background:var(--accento-tenue);color:var(--accento-tenue-ink);font-weight:600}
.filtri-attivi{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 12px}
.filtri-attivi .chip button{border:0;background:none;color:inherit;font-weight:700;cursor:pointer;padding:0 0 0 4px}
.titolo-elenco{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.titolo-nome{font-weight:700}
.titolo-sep{color:var(--inchiostro-3);font-weight:400}
.titolo-num{font-weight:700;color:var(--inchiostro-2,#3C4043)}   /* (20/10) numero fascicolo davanti al nome */
.scelta-persona{list-style:none;margin:10px 0 0;padding:0;max-height:300px;overflow:auto;border:1px solid var(--linea-2);border-radius:6px}
.scelta-persona li{border-bottom:1px solid var(--linea-2)}
.scelta-persona li.aiuto{padding:10px}
.scelta-persona a{display:block;padding:9px 12px;text-decoration:none;color:var(--inchiostro)}
.scelta-persona a:hover,.scelta-persona a:focus-visible{background:var(--carta-2)}
.doc[data-doc]{cursor:default;user-select:none}
.doc.con-file{cursor:pointer}
.doc.con-file span:first-child{text-decoration:underline dotted;text-underline-offset:3px}
@media (max-width:900px){
  .con-rail{grid-template-columns:1fr}
  .rail{top:54px;flex-direction:row;flex-wrap:wrap;background:var(--sfondo);padding:6px 0}
  .rail-btn{width:auto}
  .menu-filtro{left:0;top:100%;margin:4px 0 0}
}
.titolo-elenco .btn{font-size:14px;height:36px}
/* 29/09 blocco 1: obbligatori, SI/NO, STOP, scadenze, verifica, patronato */
.campo.manca-obb input,.campo.manca-obb select,.campo.manca-obb textarea,.campo.manca-obb .sino{border-color:var(--manca-bordo, #E3A39B);background:var(--manca, #FDEEEE);box-shadow:0 0 0 2px rgba(200,80,70,.18)}
.campo.manca-obb label{color:var(--manca-ink, #8A2C22)}
.campo.obb-din label::after{content:" *";color:var(--manca-ink, #B03A2E);font-weight:700}
.sino{display:inline-flex;border:1px solid var(--linea);border-radius:6px;overflow:hidden;background:var(--carta)}
.sino button{min-width:58px;height:36px;border:0;background:none;font:inherit;font-weight:600;color:var(--inchiostro-2);cursor:pointer}
.sino button+button{border-left:1px solid var(--linea)}
.sino button[aria-checked="true"]{background:var(--accento);color:var(--accento-ink)}
fieldset[disabled] .sino button{cursor:default}
.chip.stop{background:var(--inchiostro);color:var(--carta);border-color:transparent}
li.scade,p.scade{background:var(--manca, #FDEEEE);color:var(--manca-ink, #8A2C22);border-radius:4px;padding:3px 6px;margin-bottom:4px;list-style-position:inside}
.pannello.verifica.urgente{border-color:var(--manca-bordo, #E3A39B)}
.dati-verifica{display:flex;justify-content:space-between;align-items:center;gap:8px}
.contatto-patronato{margin-top:12px;padding:10px 12px;border-radius:6px;background:var(--accento-tenue);color:var(--accento-tenue-ink);display:flex;flex-direction:column;gap:3px}
.contatto-patronato .aiuto{color:inherit}
tr.scaduta td{background:var(--manca, #FDEEEE)}
/* 29/09 blocco 2 */
@media (min-width:1101px){ .fonti{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))} }
.scelte{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.scelta{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--linea);border-radius:6px;cursor:pointer;font-weight:500}
.scelta:has(input:checked){border-color:var(--accento);background:var(--accento-tenue)}
.mail-patronato{margin-top:10px;padding:10px 12px;border:1px solid var(--manca-bordo);border-radius:6px;background:var(--manca)}
.invii{margin:0 0 8px;padding-left:18px}
.invii li{margin-bottom:4px}
/* 29/09 registrazione */
.schede-tipo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.numero-wa{font-size:16px;font-weight:700;margin-top:2px}
.contatto-patronato .con-bottone{display:flex;gap:6px;margin-top:4px}
.contatto-patronato .con-bottone input{flex:1;height:32px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;background:var(--carta);min-width:0}
/* 29/09 sera: patologie, contatta patronato, SI/NO */
.fonte-testa{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin:0 0 10px}   /* (10/10) «Non presente» staccato dal box 1, righe allineate tra le colonne */
.fonte-testa h3{margin:0}
.campo-perc .perc{display:inline-flex;align-items:center;gap:6px}
.campo-perc .perc input{width:90px;text-align:right}
.contatta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.contatta-azioni{display:flex;flex-direction:column;gap:6px;padding:10px;border:2px solid var(--accento-tenue);border-radius:8px;background:var(--carta-2);min-width:150px}
.contatta-azioni .rail-tit{margin:0 0 2px}
.contatta-azioni .btn{width:100%;justify-content:center}
.scegli-voci{list-style:none;padding:0;margin:0}
.scegli-voci label{display:flex;gap:8px;align-items:flex-start;padding:3px 0;cursor:pointer}
.numero-patr{display:flex;gap:6px;margin-top:6px}
.numero-patr input{flex:1;height:32px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;background:var(--carta);min-width:0}
.campo .sino{align-self:flex-start;width:auto}
/* 30/09 vista Visite */
.rail .campo{margin-bottom:6px}
.rail .campo select{height:34px}
.sedute{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-bottom:14px}
.seduta{background:var(--carta);border:1px solid var(--linea);border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:6px 10px}
.seduta.attiva{border-color:var(--accento);box-shadow:0 0 0 2px var(--accento-tenue)}
.seduta.piena{border-color:var(--manca-bordo)}
.seduta-azioni{grid-column:1/-1;display:flex;gap:6px}
.gruppo-visite{margin-bottom:18px}
.gruppo-visite h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;color:var(--inchiostro-2)}
table.visite td{padding:5px 6px;vertical-align:middle}
table.visite input,table.visite select{height:32px;padding:0 6px;border:1px solid var(--linea-2);border-radius:5px;background:var(--carta);font:inherit;font-size:13px;width:100%;min-width:0}
table.visite input[type=checkbox]{width:16px;height:16px}
table.visite input[type=date],table.visite input[type=time]{padding:0 3px}
table.visite tr.fatta td{opacity:.6}
table.visite tr.dopo-stop td{background:var(--carta-2)}
.icona.picc{width:28px;height:28px;display:inline-flex;vertical-align:middle}
.barra-sel{position:sticky;top:calc(var(--alto-testata, 80px) + 8px);z-index:5;display:flex;gap:10px;align-items:center;background:var(--accento-tenue);border:1px solid var(--accento);border-radius:8px;padding:8px 12px;margin-bottom:10px}
.barra-sel select{height:32px}
table.visite td:nth-child(3) .aiuto{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.visite td:nth-child(3) a{text-decoration:none}
table.visite td:nth-child(5){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 30/09 sera: vista Visite a tutta larghezza, colonne fisse, niente barra per scorrere */
#vista.pieno{max-width:none;padding-inline:10px}
@media (min-width:1401px){#vista.pieno .con-rail{grid-template-columns:150px minmax(0,1fr);gap:12px}}
@media (max-width:1400px){
  #vista.pieno .con-rail{grid-template-columns:1fr;gap:8px}
  #vista.pieno .rail{position:static;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px}
  #vista.pieno .rail .rail-tit{display:none}
  #vista.pieno .rail .campo{min-width:170px;margin:0}
}
table.visite th{overflow:hidden}
table.visite th .ordina{white-space:normal;text-align:left}
#vista.pieno .tabella{overflow-x:visible}
table.visite{table-layout:fixed;width:100%}
table.visite th{padding:6px 6px;font-size:11px;white-space:normal;line-height:1.2}
table.visite td{overflow-wrap:anywhere;font-size:13px}
table.visite col.c-sel{width:28px}
table.visite col.c-num{width:50px}
table.visite col.c-cli{width:11%}
table.visite col.c-rif{width:7%}
table.visite col.c-tel{width:134px}
table.visite col.c-ris{width:152px}
table.visite col.c-data{width:124px}
table.visite col.c-ora{width:96px}
table.visite col.c-tipo{width:10%}
table.visite col.c-str{width:13%}
table.visite col.c-nota{width:auto}
table.visite col.c-car{width:78px}
table.visite td:last-child{padding-right:8px}
table.visite td.num{text-align:center;font-weight:600}
table.visite .chip{font-size:11px;padding:1px 6px}
/* 30/09 visite: ordinamento, carica, ricontattare */
th .ordina{border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;padding:0;white-space:nowrap}
th .ordina span{opacity:.5}
th .ordina.attivo{color:var(--accento)}
th .ordina.attivo span{opacity:1}
.carica-riga{cursor:pointer;white-space:nowrap}
.chip.scaduto{background:var(--manca);color:var(--manca-ink);border-color:var(--manca-bordo)}

/* 30/09 pomeriggio: accessi, colori della Risposta, clienti non censiti, simulatori, aree struttura e medico */
:root{ --st-giallo:#FFF4BF; --st-giallo-ink:#5C4A00; --st-verde:#D8F3DC; --st-verde-ink:#1E5A2C; --st-rosso:#C8372D; --st-rosso-ink:#FFFFFF;
  --st-viola:#7B4FB8; --st-viola-ink:#FFFFFF; --st-celeste:#D3EEFB; --st-celeste-ink:#0F4C68; --st-blu:#1F5FBF; --st-blu-ink:#FFFFFF;
  --st-arancio:#FFE0B8; --st-arancio-ink:#6B3B00; --st-grigio:#E3E6E8; --st-grigio-ink:#333C40; }
@media (prefers-color-scheme: dark) and (min-width: 100000px){ :root{ --st-giallo:#4A4216; --st-giallo-ink:#FFF0A8; --st-verde:#1F4029; --st-verde-ink:#BDEBC6; --st-rosso:#B8342B;
  --st-viola:#6C46A6; --st-celeste:#18394A; --st-celeste-ink:#BDE6FA; --st-blu:#2D6BCB; --st-arancio:#4D3413; --st-arancio-ink:#FFD7A3; --st-grigio:#30383C; --st-grigio-ink:#DDE3E5; } }
select.stato-visita{font-weight:600}
select.st-giallo-chiaro{background:var(--st-giallo)!important;color:var(--st-giallo-ink)}
select.st-verde-chiaro{background:var(--st-verde)!important;color:var(--st-verde-ink)}
select.st-rosso{background:var(--st-rosso)!important;color:var(--st-rosso-ink);border-color:var(--st-rosso)!important}
select.st-viola{background:var(--st-viola)!important;color:var(--st-viola-ink);border-color:var(--st-viola)!important}
select.st-celeste{background:var(--st-celeste)!important;color:var(--st-celeste-ink)}
select.st-blu{background:var(--st-blu)!important;color:var(--st-blu-ink);border-color:var(--st-blu)!important}
select.st-arancio{background:var(--st-arancio)!important;color:var(--st-arancio-ink)}
/* (23/10, LOGICA BASE 1.55 41.3) risposta «AFFIDATO A»: linguetta arancione */
select.st-arancione{background:#E8790C!important;color:#fff;border-color:#E8790C!important}
.chip.stato-chip.st-arancione,.chip.st-arancione{background:#E8790C;color:#fff}
.icona.wa.disabilitato{opacity:.35;cursor:not-allowed}
select.st-grigio{background:var(--st-grigio)!important;color:var(--st-grigio-ink)}
select.stato-visita option{background:var(--carta);color:var(--inchiostro)}
.chip.esterno{background:var(--avviso);color:var(--avviso-ink);border-color:transparent;cursor:help}
.righe-esterni{overflow-x:auto}
table.esterni{width:100%;border-collapse:collapse;min-width:820px}
table.esterni th{padding:6px;font-size:11px}
table.esterni td{padding:4px;border-bottom:0}
table.esterni input,table.esterni select{width:100%;height:32px;padding:0 6px;border:1px solid var(--linea-2);border-radius:5px;background:var(--carta)}
table.esterni input.manca-obb,table.esterni select.manca-obb{background:var(--manca);border-color:var(--manca-bordo)}
table.esterni td:last-child{width:40px}
.menu-utente{position:fixed;z-index:30;min-width:240px;margin:0;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.banner.come{margin:0;border-radius:0;text-align:center;position:sticky;top:var(--alto-testata, 80px);z-index:9}
iframe.simulatori{width:100%;height:calc(100vh - var(--alto-testata, 80px) - 110px);min-height:560px;border:1px solid var(--linea);border-radius:8px;background:var(--carta)}
.riquadro-accesso.scelto{border-color:var(--accento);box-shadow:0 0 0 2px var(--accento-tenue)}
.riquadro-accesso .login .campo{margin-bottom:8px}
.riquadro-accesso .login label,.pannello .login label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px}
.login input{height:36px;padding:0 10px;border:1px solid var(--linea);border-radius:6px;background:var(--carta)}
button.link{border:0;background:none;color:var(--accento);text-decoration:underline;cursor:pointer;padding:0}
table.permessi td,table.permessi th{text-align:center}
table.permessi td:first-child,table.permessi th:first-child{text-align:left}
table.permessi input{width:18px;height:18px}
table.visite.area{table-layout:auto}
table.visite.area input,table.visite.area select{min-width:90px}
.scheda-medico.fatta{opacity:.7}
.due-colonne{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}
.due-colonne h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--inchiostro-2);margin:8px 0 4px}
.testo-lungo{white-space:pre-wrap;margin:0;max-height:220px;overflow:auto}
.giustificato,textarea[data-k="patologie_descrizione"]{text-align:justify}
.dati-medico{display:flex;flex-wrap:wrap;gap:6px 24px;margin:4px 0 8px}
.dati-medico span{display:block;font-size:12px;color:var(--inchiostro-2)}
.dati-medico b{font-weight:600}
.doc.doc-azione{background:var(--carta,#fff);border-style:dashed;cursor:pointer;justify-content:center;text-align:center;font-weight:600;color:var(--accento,#1f6f78)}
.doc.doc-azione:hover{border-style:solid}
.doc-visita ul{margin:6px 0 0;padding-left:18px}
.doc-visita li{margin:2px 0}
.doc-visita .esclusi li{color:var(--inchiostro-2)}
.passi-visita{display:grid;gap:12px;margin-top:12px}
.passo-visita{border:1px solid var(--linea,#ddd);border-radius:10px;padding:12px}
.passo-visita h3{margin:0 0 6px;font-size:14px}
.sottocartella{margin:10px 0 2px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--inchiostro-2)}
td .medico-riga{min-width:180px;height:34px;padding:0 8px;border:1px solid var(--linea);border-radius:6px;background:var(--carta);color:var(--inchiostro);font:inherit;font-size:14px}
@media (max-width:800px){ .due-colonne{grid-template-columns:1fr} }
@media (min-width:900px){ .accessi.tre{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* 01/10: Visite con filtri in orizzontale, linguette, sollecito, Dottore / struttura, clienti non censiti, controllo strutture */
:root{ --sollecito:#FDECEC; }
@media (prefers-color-scheme: dark) and (min-width: 100000px){ :root{ --sollecito-scuro:#4A2626; } }
.filtri-oriz{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;background:var(--carta);border:1px solid var(--linea);border-radius:8px;padding:10px 14px;margin:14px 0 12px}
.filtri-oriz .campo{margin:0;min-width:170px}
.filtri-oriz .campo select{height:34px}
.schede-visite{display:flex;gap:6px;align-self:flex-start;flex-wrap:wrap}
.schede-visite .bollino{margin-left:4px}
.legenda-sollecito{display:inline-flex;align-items:center;gap:6px;margin-left:10px;flex-wrap:wrap}
.legenda-sollecito .campione{display:inline-block;width:22px;height:14px;border-radius:3px;background:var(--sollecito);border:1px solid var(--manca-bordo)}
.campione-scelta{border:1px solid var(--linea);border-radius:4px;padding:1px 8px;font-size:11px;cursor:pointer;color:#5a2020}
.campione-scelta.attivo{outline:2px solid var(--accento);outline-offset:1px}
table.visite tr.sollecito td.cella-sollecito{background:var(--sollecito)}
@media (prefers-color-scheme: dark) and (min-width: 100000px){ table.visite tr.sollecito td.cella-sollecito{background:var(--sollecito-scuro)} }
.con-wa{display:flex;gap:4px;align-items:center}
.con-wa input{flex:1;min-width:0}
.icona-in{display:inline-flex;width:16px;height:16px;vertical-align:-3px}
.icona-in svg{width:16px;height:16px;fill:currentColor}
.nota-str{display:block;font-size:11px;margin-top:2px;color:var(--accento)}
.maschera-esterni{overflow-x:auto}
.maschera-esterni table.esterni td{vertical-align:top}
.maschera-esterni textarea{width:100%;min-height:68px;padding:6px;border:1px solid var(--linea-2);border-radius:5px;background:var(--carta);font:inherit}
.maschera-esterni textarea.manca-obb{background:var(--manca);border-color:var(--manca-bordo)}
.impila{display:flex;flex-direction:column;gap:6px}
.impila input{height:32px}
.spunta-ricetta{display:flex;align-items:center;gap:6px;height:32px;white-space:nowrap;font-size:13px;cursor:pointer}
.spunta-ricetta input{width:18px;height:18px}
table.esterni th:nth-child(5),table.esterni td:nth-child(5){width:90px}
table.esterni th:nth-child(4),table.esterni td:nth-child(4){width:24%}
.controllo-struttura td{vertical-align:middle}
.referto-str{margin-bottom:6px}
.chip.stato-chip.st-rosso,.chip.stato-chip.st-viola,.chip.stato-chip.st-blu{color:#fff}
.chip.st-giallo-chiaro{background:var(--st-giallo);color:var(--st-giallo-ink)} .chip.st-verde-chiaro{background:var(--st-verde);color:var(--st-verde-ink)}
.chip.st-rosso{background:var(--st-rosso)} .chip.st-viola{background:var(--st-viola)} .chip.st-celeste{background:var(--st-celeste);color:var(--st-celeste-ink)} .chip.st-blu{background:var(--st-blu)}
.pannello.anteprima{width:min(1100px,96vw);height:92vh;display:flex;flex-direction:column}
.pannello.anteprima iframe{flex:1;width:100%;border:1px solid var(--linea);border-radius:6px;background:#fff}
iframe.stampa-nascosta{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0}
.nota-studio{font-size:13px;color:var(--inchiostro-2)}
details.file-crm summary{cursor:pointer;color:var(--inchiostro-2);font-weight:600}
.maschera-esterni table.esterni{table-layout:fixed;min-width:980px}
.maschera-esterni table.esterni th:nth-child(1){width:15%} .maschera-esterni table.esterni th:nth-child(2){width:12%}
.maschera-esterni table.esterni th:nth-child(3){width:11%} .maschera-esterni table.esterni th:nth-child(4){width:22%}
.maschera-esterni table.esterni th:nth-child(5){width:96px} .maschera-esterni table.esterni th:nth-child(6){width:14%}
.maschera-esterni table.esterni th:nth-child(7){width:auto}
textarea.cresce{min-height:300px;resize:vertical;overflow:hidden;line-height:1.5}
/* 02/10 documento d'identità nella nuova anagrafica */
.campo.letto input:not([type=hidden]),.campo.letto select{background:#FFF6CC;border-color:#E2C04A}
.campo.letto label::after{content:" · dal documento";font-weight:500;color:#8A6D00;font-size:11.5px}
@media (prefers-color-scheme: dark) and (min-width: 100000px){ .campo.letto input:not([type=hidden]),.campo.letto select{background:#3A3416;border-color:#8A7420} .campo.letto label::after{color:#E8CF6A} }
.doc-anteprima{margin-top:10px;border:1px solid var(--linea);border-radius:8px;overflow:hidden;background:var(--carta-2)}
.doc-anteprima iframe{width:100%;height:520px;border:0;display:block}
.doc-anteprima img{width:100%;height:auto;display:block}
.doc-attesa{padding:8px 0;border-top:1px solid var(--linea-2)}
.doc-attesa:first-of-type{border-top:0}
.doc-attesa .con-bottone{display:flex;gap:6px}
.doc-attesa select{flex:1;min-width:0;height:32px}
aside.con-documento{position:sticky;top:66px;align-self:start;max-height:calc(100vh - 80px);overflow:auto}
.solo-telefono{display:none}
@media (max-width:900px){ .griglia > aside.con-documento{order:-1;position:static;max-height:none} }
.doc-identita .zona{display:flex;flex-direction:column;align-items:center;gap:6px}
/* 02/10 222/84: contributi e pratica bloccata */
.pannello.contributi.ok{border-left:4px solid #2E7D4F}
.pannello.contributi.no,.pannello.contributi.bloccata{border-left:4px solid #B3261E}
.pannello.contributi.dubbio{border-left:4px solid #C9A227}
.esito-contributi{margin:0 0 8px;font-size:16px}
.pannello.contributi.ok .esito-contributi b{color:#2E7D4F}
.pannello.contributi.no .esito-contributi b,.pannello.contributi.bloccata .esito-contributi b{color:#B3261E}
.numeri-contributi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.numeri-contributi div{background:var(--carta-2);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}
.numeri-contributi span{font-size:12px;color:var(--inchiostro-2)}
.numeri-contributi b{font-size:22px;line-height:1.2}
.numeri-contributi small{font-size:11.5px;color:var(--inchiostro-3)}
.avvisi-contributi{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--inchiostro-2)}
.anni-contributi{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px 10px;margin-top:6px;font-size:13px}
.fermo{opacity:.45;cursor:not-allowed !important}
@media (prefers-color-scheme: dark) and (min-width: 100000px){ .pannello.contributi.ok .esito-contributi b{color:#7BD69C} .pannello.contributi.no .esito-contributi b,.pannello.contributi.bloccata .esito-contributi b{color:#F2B8B0} }

/* Studio 2: logo (02/10/2026) - il marchio prende il colore del testo, chiaro o scuro */
.logo-grande{display:inline-block;width:76px;height:76px;flex:0 0 auto;background:var(--inchiostro);-webkit-mask:url(/icone/logo-sigillo.png) center/contain no-repeat;mask:url(/icone/logo-sigillo.png) center/contain no-repeat}
.riga-titolo .logo-grande{margin-right:4px;align-self:center}
.prop-voci{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.prop-voci li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--linea-2)}
.prop-voci li:last-child{border-bottom:0}
.prop-voci .aiuto{margin:4px 0 0}
@media (max-width:760px){.prop-voci li{grid-template-columns:1fr;gap:6px}}
.ctu-box .campo{margin-bottom:10px}
.ctu-box #ctu-info{margin:-4px 0 10px}
.ctp-proposti{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ctp-proposti .rail-tit{flex-basis:100%}
.ctp-scegli{display:inline-flex;gap:6px;align-items:center;text-align:left;white-space:normal}
.ctp-scegli b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accento);color:var(--accento-ink);font-size:12px;flex:0 0 auto}
.ctp-scegli small{color:var(--inchiostro-3)}
@media (max-width:760px){.ctp-scegli{width:100%;min-height:44px}}

/* accesso in due passaggi (02/10) */
.due-passaggi{max-width:560px;margin:0 auto}
.qr-due{display:flex;justify-content:center;margin:12px 0}
.qr-due svg{width:220px;height:220px;max-width:70vw;max-height:70vw;border:1px solid var(--linea);border-radius:8px;background:#fff}
.chiave-due{word-break:break-all;background:var(--carta-2);padding:2px 6px;border-radius:4px}
.codice-otp{font-size:24px !important;letter-spacing:.25em;font-variant-numeric:tabular-nums;text-align:center;max-width:240px}
.codici-scorta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.codici-scorta span{background:var(--carta-2);border:1px solid var(--linea);border-radius:6px;padding:8px;text-align:center;font-size:16px}

/* (02/10) controllo ortografico del campo Patologie */
.orto{margin-top:6px;padding:8px 10px;border:1px solid var(--linea);border-radius:8px;background:var(--carta-2);font-size:13px}
.orto .orto-tit{margin:0 0 6px;font-weight:700;color:var(--avviso-ink)}
.orto ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.orto li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.orto-errata{text-decoration:underline wavy #C0392B;text-underline-offset:3px}
.orto-aggiungi{margin-left:auto}
.orto-ok{color:var(--ok-ink)}
@media (max-width:760px){ .orto-aggiungi{margin-left:0} }

/* (03/10) vista medico: dati piu' leggibili (come la residenza), testo delle patologie piu' grande */
.nome-medico{margin:0;font-size:18px;text-transform:none;letter-spacing:0;color:var(--inchiostro)}
.dati-medico{gap:8px 28px}
.dati-medico span{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--inchiostro-2)}
.dati-medico b{font-size:15px;font-weight:600;color:var(--inchiostro)}
.scheda-medico .testo-lungo{font-size:15px;line-height:1.55;color:var(--inchiostro);max-height:320px}
.scheda-medico .due-colonne h3{font-size:12.5px;color:var(--inchiostro)}
.dati-medico b span{display:inline;font-size:inherit;font-weight:inherit;letter-spacing:0;color:inherit}
.dati-medico b span.chip{font-size:12px}

/* (03/10) scheda del cliente (studio): etichette e valori piu' leggibili */
.cliente .dato span{font-size:12px;letter-spacing:.04em}
.cliente .dato b{font-size:15px;color:var(--inchiostro)}
/* (03/10) i valori dentro <b> (codici, date) non prendono lo stile piccolo delle etichette */
.dato b span{font-size:inherit;letter-spacing:.02em;text-transform:none;font-weight:inherit;color:inherit}
.dato b span.chip{font-size:12px;letter-spacing:0}
.cliente .dato b span{font-size:inherit;letter-spacing:.02em;text-transform:none;font-weight:inherit;color:inherit}
.cliente .dato b span.chip{font-size:12px}

/* (03/10) invito ad attivare le notifiche dopo l'accesso */
.invito-notifiche{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;max-width:min(760px,calc(100% - 24px));display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;
  padding:12px 14px;border-radius:10px;background:var(--carta);color:var(--inchiostro);border:1px solid var(--linea);box-shadow:0 6px 24px rgba(0,0,0,.18);font-size:14px}
.invito-notifiche .invito-azioni{display:flex;gap:8px;margin-left:auto}

/* (03/10) notifiche obbligatorie dopo l'accesso */
.modale.blocco-notifiche{z-index:100;background:rgba(15,20,22,.78)}
.bn{max-width:560px!important}
.bn h1{font-size:21px;margin:4px 0 10px}
.bn p,.bn li{font-size:15px;line-height:1.5}
.bn .banner{margin:10px 0}
.bn-elenco{padding-left:22px;margin:10px 0}
.bn-elenco li{margin:6px 0}
.bn-elenco .aiuto{display:block;margin-top:2px}
.bn-istr{background:var(--carta-2);border-left:4px solid var(--accento);padding:10px 12px;border-radius:6px;margin:12px 0}
.bn-azioni{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.bn-azioni .btn{min-height:42px;font-size:15px}
.bn-stato{min-height:24px}
.bn-ok{color:var(--ok-ink)}
.bn-no{color:var(--avviso-ink)}
.bn-rotella{display:inline-block;vertical-align:-3px;margin-right:6px;width:16px;height:16px;border-radius:50%;border:2px solid var(--linea);border-top-color:var(--accento);animation:bn-gira .8s linear infinite;flex:none}
@keyframes bn-gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.bn-rotella{animation:none}}
.bn-passi{display:flex;gap:6px;margin:0 0 6px}
.bn-passi span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--linea-2);color:var(--inchiostro-3)}
.bn-passi span.ora{background:var(--accento);color:var(--accento-ink)}
.bn-passi span.fatto{background:var(--ok);color:var(--ok-ink)}
.bn-piede{margin-top:16px;border-top:1px solid var(--linea-2);padding-top:10px}
.bn-link{border:0;background:none;padding:0;color:var(--accento);text-decoration:underline;cursor:pointer;font:inherit}
.notif-disp{display:block;font-size:12px;color:var(--inchiostro-2);margin-top:2px}
.verifica-notifiche{margin:12px 0;border:1px solid var(--linea);border-radius:8px;padding:8px 12px;background:var(--carta-2)}
.verifica-notifiche summary{cursor:pointer;font-weight:600}
.verifica-notifiche ul{list-style:none;padding:0;margin:8px 0 0}
.verifica-notifiche li{padding:4px 0;font-size:14px}
.verifica-notifiche li.si span{color:var(--ok-ink);font-weight:700}
.verifica-notifiche li.no span{color:var(--errore-ink);font-weight:700}
.verifica-notifiche li .aiuto{margin:2px 0 0 18px}

/* (03/10) elenco Pratiche: titolo, ricerca e filtri fermi; scorre solo l'elenco, con la sua barra sotto la parte ferma */
@media (min-width:901px){
  body.pagina-fissa{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
  body.pagina-fissa > .testata,body.pagina-fissa > .banner{flex:none}
  body.pagina-fissa > #vista{flex:1 1 auto;min-height:0;width:100%;padding-block:16px 12px;display:flex;flex-direction:column}
  body.pagina-fissa #vista > .con-rail{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}
  body.pagina-fissa .con-rail > .rail{position:static;align-self:start}
  body.pagina-fissa .con-rail > .corpo{display:flex;flex-direction:column;min-height:0}
  body.pagina-fissa .corpo > .riga-titolo,body.pagina-fissa .corpo > .cerca,body.pagina-fissa .corpo > #filtri-attivi{flex:none}
  body.pagina-fissa .corpo > .tabella{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
  body.pagina-fissa .corpo > .tabella thead th{position:sticky;top:0;z-index:2}
}

/* (03/10 sera) etichette dei campi piu' leggibili in tutto il programma: piu' grandi, piu' scure, maiuscolo meno spaziato */
:root{--etichetta:#3A474C}
@media (prefers-color-scheme: dark) and (min-width: 100000px){:root{--etichetta:#C9D4D6}}
.campo label{font-size:15px;font-weight:700;color:var(--etichetta);letter-spacing:0;line-height:1.3}
.campo .aiuto{font-size:13px;color:var(--inchiostro-2);line-height:1.4}
.dato > span,.cliente .dato > span{font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--etichetta)}
.dato b{font-size:15px}
h2{font-size:13.5px;letter-spacing:.05em;color:var(--etichetta);font-weight:700}
th{font-size:12px;letter-spacing:.04em;font-weight:700;color:var(--etichetta)}
.dati-medico > div > span{font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--etichetta)}
.rail-tit,.sottocartella{font-size:12.5px;color:var(--etichetta)}
.scegli-voci label,.spunta-riga{font-size:14px}
.riquadro-accesso .login label,.pannello .login label{font-size:14px;color:var(--etichetta)}

/* (03/10 sera) finestra «Cosa manca» divisa cliente / patronato e richieste fuori elenco */
.modale .pannello.manca-finestra{max-width:1000px;width:100%;max-height:92vh;overflow:auto}
.manca-finestra h1{font-size:21px;margin:0}
.manca-colonne{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.manca-lato{border:1px solid var(--linea);border-radius:10px;padding:12px 14px;background:var(--carta-2);display:flex;flex-direction:column;gap:8px;min-width:0}
.manca-lato[data-lato="PATRONATO"]{border-color:var(--accento)}
.manca-lato h2{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lista-manca{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.lista-manca li{display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--carta);border:1px solid var(--linea-2);border-radius:8px;padding:8px 10px;font-size:15px}
.lista-manca li label{display:flex;gap:8px;align-items:center;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.lista-manca li input{width:18px;height:18px;flex:none}
.lista-manca li.tolta span{color:var(--inchiostro-3);text-decoration:line-through}
.lista-manca li .btn{flex:none;white-space:nowrap}
.aggiungi-voce{display:flex;gap:6px}
.aggiungi-voce input{flex:1;min-width:0;height:34px;padding:0 10px;border:1px solid var(--linea);border-radius:6px;background:var(--carta)}
.manca-lato .testo-msg{margin:0;font-size:14px}
.azioni-lato{display:flex;gap:6px;flex-wrap:wrap}
.promemoria-manca{margin-top:12px}
.promemoria-manca summary{cursor:pointer;font-weight:700}
.rail-manca .bollino{margin-left:4px}
.modale .pannello.richiesta-patr,.modale form.richiesta-patr{max-width:560px;width:100%}
.risposte-patr{margin:6px 0;padding-left:18px}
.risposte-patr li{margin:4px 0;font-size:15px}
@media (max-width:760px){
  .manca-colonne{grid-template-columns:1fr}
  .lista-manca li{flex-wrap:wrap}
}

/* (03/10) copia di simulazione */
.nastro-simulazione{position:fixed;left:10px;bottom:10px;z-index:120;background:#B3261E;color:#fff;font-weight:800;font-size:13px;letter-spacing:.06em;padding:6px 12px;border-radius:999px;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
html.in-simulazione .testata{box-shadow:inset 0 -4px 0 #B3261E}

/* (04/10) barra di avanzamento della lettura del documento */
.avanz{margin:10px 0}
.avanz-binario{height:10px;border-radius:999px;background:var(--linea-2);overflow:hidden}
.avanz-barra{height:100%;border-radius:999px;background:var(--accento);transition:width .5s ease}
.avanz-testo{margin:6px 0 0;font-size:14px;color:var(--inchiostro-2)}
@media (prefers-reduced-motion: reduce){.avanz-barra{transition:none}}
.nota-patronato{margin:6px 0;padding:8px 10px;border-radius:6px;background:var(--accento-tenue);color:var(--accento-tenue-ink)}
.manca-finestra.solo-patronato{max-width:720px}

/* (04/10) copia da un'altra pratica */
.modale .pannello.copia-finestra{max-width:920px;width:100%;max-height:92vh;overflow:auto}
.copia-finestra h1{font-size:21px;margin:0}
.copia-colonne{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.copia-colonne section{border:1px solid var(--linea);border-radius:10px;padding:12px 14px;background:var(--carta-2);min-width:0}
.copia-colonne h2{margin:0 0 8px;display:flex;gap:8px;align-items:center}
.lista-copia{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.lista-copia li{background:var(--carta);border:1px solid var(--linea-2);border-radius:8px;padding:8px 10px}
.lista-copia label{display:flex;gap:8px;align-items:flex-start;cursor:pointer;overflow-wrap:anywhere;font-size:15px}
.lista-copia input{width:18px;height:18px;flex:none;margin-top:2px}
@media (max-width:760px){.copia-colonne{grid-template-columns:1fr}}
/* (04/10) proposte: la prima e' gia' evidenziata (Invio la sceglie), le frecce spostano la scelta */
.suggerimenti:not(:has(button.sel)) button:first-of-type{background:var(--accento-tenue)}
.suggerimenti button.sel{background:var(--accento-tenue);outline:2px solid var(--accento);outline-offset:-2px}
.lista-copia .aiuto.blocco{display:block;margin-top:2px}
.file-scelti{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.file-scelti li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;overflow-wrap:anywhere}

/* (04/10) ricorso dal modello: anteprima e avvisi */
.modale .pannello.ricorso-finestra{max-width:900px;width:100%;max-height:92vh;overflow:auto}
.ricorso-finestra h1{font-size:21px;margin:0}
.avvisi-ricorso{margin:8px 0;padding:10px 14px 10px 30px;border:1px solid var(--manca-bordo);background:var(--manca);border-radius:8px;color:var(--avviso-ink)}
.avvisi-ricorso li{margin:2px 0}
.anteprima-ricorso{background:#fff;color:#111;border:1px solid var(--linea);border-radius:8px;padding:22px 28px;font-family:"Times New Roman",Times,serif;font-size:15px;line-height:1.55;max-height:60vh;overflow:auto}
.anteprima-ricorso p{margin:0 0 8px;text-align:justify}
.anteprima-ricorso p.titolo{text-align:center;font-weight:700}
.anteprima-ricorso p.centro{text-align:center;font-size:13px}
.anteprima-ricorso p.destra{text-align:right}
.tipi-modello{border:1px solid var(--linea);border-radius:8px;padding:8px 12px;margin:0;display:grid;gap:4px;grid-column:1/-1}
.tipi-modello legend{font-weight:600;padding:0 4px}
@media (max-width:640px){.anteprima-ricorso{padding:14px 12px;font-size:14px}}

/* (04/10) documento non previsto e allegati */
.doc-altro{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid var(--linea)}
.doc-altro label[for]{font-weight:600}
.doc-altro-riga{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.doc-altro-riga input{flex:1 1 200px;min-width:0}
.riga-titolo-allegati{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.riga-titolo-allegati h2{margin:0}

/* (04/10) punteggio a mano per udito (4005) e visus (5031) nella Valutazione studio */
.pat-mano{font:inherit;font-size:13px;text-align:right;border:1px solid var(--linea);border-radius:5px;background:var(--carta);color:var(--accento);padding:4px 6px;cursor:pointer;min-height:32px}
.pat-mano.da-fare{background:var(--manca);border-color:var(--manca-bordo);color:var(--manca-ink);font-weight:700}
.pat-mano.fatto{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-tenue-ink);font-weight:700}
.modale .pannello.punteggio-finestra{max-width:620px;width:100%;max-height:92vh;overflow:auto}
.punteggio-finestra h1{font-size:20px;margin:0}
.pu-orecchie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:10px 0}
.pu-orecchio{border:1px solid var(--linea);border-radius:8px;padding:10px 12px;margin:0;background:var(--carta-2)}
.pu-orecchio legend{font-weight:700;padding:0 4px;color:var(--inchiostro)}
.pu-freq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pu-cella{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--inchiostro-3)}
.pu-cella input{width:100%;height:34px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;background:var(--carta);font-variant-numeric:tabular-nums}
.pu-risultato{display:flex;justify-content:space-between;align-items:center;background:var(--accento-tenue);color:var(--accento-tenue-ink);border-radius:8px;padding:10px 14px;margin:6px 0 10px}
.pu-risultato b{font-size:22px}
.punteggio-finestra .perc{display:inline-flex;align-items:center;gap:6px}
.punteggio-finestra .perc input{width:130px}
.pat-mano{font-size:12px;padding:4px}
.fonte[data-fonte="VALUTAZIONE STUDIO"] .pat{grid-template-columns:22px minmax(0,1fr) 84px}
/* (04/10) importi dei ricorsi da confermare a ogni cambio d'anno */
.modale .pannello.valori-anno-fin,.modale form.valori-anno-fin{max-width:760px;width:100%;max-height:90vh;overflow:auto}
.valori-griglia{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px}
@media (max-width:620px){.valori-griglia{grid-template-columns:1fr}}
.valori-anno-avviso{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lista-valori{margin:6px 0 12px;padding-left:20px}
/* (04/10) Documenti della pratica: clic sulla voce = finestra di caricamento */
.doc.cliccabile{cursor:pointer}
.doc.cliccabile:hover{border-color:var(--accento, #2F6F73)}
.doc.cliccabile:focus-visible{outline:2px solid var(--accento, #2F6F73);outline-offset:2px}
.modale .pannello.carica-doc-fin{max-width:560px;width:100%;max-height:90vh;overflow:auto}
.carica-doc-fin .invii a{word-break:break-all}
/* (04/10) pulsante Elimina nelle schede */
.btn.pericolo{background:var(--errore-ink);color:#fff;border-color:var(--errore-ink)}
.btn.pericolo-sec{color:var(--errore-ink);border-color:var(--errore-ink)}
.btn.pericolo-sec:hover{background:var(--errore)}
.barra-salva .spingi-destra{margin-left:auto}
/* (04/10) barra di avanzamento dei caricamenti, in basso a destra */
#caricamenti{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px))}
.caricamento{padding:12px 14px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.caricamento .avanz{margin:6px 0 0}
.car-nome{margin:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.caricamento.errore .avanz-barra{background:var(--errore-ink)}
.caricamento.errore .avanz-testo{color:var(--errore-ink)}
/* (04/10) Patologie: testo letto dai documenti medici in rosso finché la scheda non si salva */
.evid{position:relative}
.evid-sotto{position:absolute;inset:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;border-style:solid;border-color:transparent;pointer-events:none;color:var(--inchiostro);box-sizing:border-box}
.evid:not(.attivo) .evid-sotto{display:none}
.evid.attivo textarea{position:relative;background:transparent !important;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--inchiostro)}
.ocr-nuovo{color:var(--errore-ink);font-weight:600}
.letture-pat{margin-top:6px}
.letture-pat .avanz{margin:4px 0}
/* Valutazione studio da rivedere dopo nuovi documenti medici */
.fonte.da-rivedere{outline:2px solid var(--errore-ink);outline-offset:2px;border-radius:8px}
.valutazione-rivedere .btn{margin-left:4px}
/* Fascicolo controllato */
.sposta-fascicolo{background:var(--avviso);color:var(--avviso-ink);margin:10px 0}
.spunta-obb{display:flex;gap:8px;align-items:center;font-weight:600;padding:8px 10px;border:1px solid var(--linea);border-radius:8px}
.spunta-obb.manca-obb{border-color:var(--errore-ink);background:var(--errore)}
.spunta-obb input{width:18px;height:18px}
input.sola-lettura{background:var(--carta-2);color:var(--inchiostro-2)}
/* Stato del certificato */
.modale .pannello.stato-cert-fin{max-width:1000px;width:100%;max-height:90vh;overflow:auto}
.schede-stato{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.schede-stato .btn.attivo{background:var(--accento);color:var(--accento-ink);border-color:var(--accento)}
.bollino.zero{background:var(--linea-2);color:var(--inchiostro-3)}
.stato-cert-fin select{max-width:220px}
#stato-cert .bollino{margin-left:6px}
/* (04/10) Documenti della pratica: ordine alfabetico per colonna (prima la sinistra, poi la destra); voce spenta */
.docs.per-colonna{grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--righe),auto)}
.docs .doc.spento{opacity:.5;cursor:not-allowed}
.docs-azioni{margin-top:6px}
.docs-azioni .doc-azione{width:100%}
.docs-azioni .doc{display:flex;padding:7px 8px;border:1px dashed var(--linea-2);border-radius:6px;font-size:13px}
/* (04/10) anteprima dei file arrivati allo studio (medico, patronato, struttura) */
.anteprima-file{border:1px solid var(--linea);border-radius:8px;overflow:hidden;background:var(--carta-2)}
.anteprima-file iframe{display:block;width:100%;height:420px;border:0;background:#fff}
.anteprima-file img{display:block;max-width:100%;max-height:520px;margin:0 auto}
.anteprima-file.vuota{padding:10px}
.file-arrivati{margin:8px 0}

/* (04/10) esiti della domanda letti dal programma, chiusura, ricorso amministrativo */
.controllo-esito .campo.dubbio input,.controllo-esito .campo.dubbio select,.controllo-esito .campo.dubbio textarea{border-color:var(--avviso-ink);background:var(--avviso)}
.aiuto.avviso{color:var(--avviso-ink);font-weight:600}
.rotella{display:inline-block;width:14px;height:14px;border:2px solid var(--linea);border-top-color:var(--accento);border-radius:50%;vertical-align:-2px;margin-left:6px;animation:gira 0.9s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.rotella{animation:none}}
.scelte-patologie,.scelte-patronati{display:flex;flex-direction:column;gap:4px}
.scelte-patronati{flex-direction:row;flex-wrap:wrap;gap:4px 14px}
.scelte-patologie .scelta,.scelte-patronati .scelta,#ricorso-amm-box .scelta{padding:6px 10px;margin:3px 0;font-weight:400}
.chiusura .scelta{margin:6px 0}
.passi-patr{margin:4px 0 10px 18px;padding:0;font-size:14px;line-height:1.5}
.calendario-avviso{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.modello-ra h2{font-size:18px}
details.mail-patronato summary{cursor:pointer}
.chiusura .scelta,.controllo-esito .scelta,#ricorso-amm-box .scelta,.scelte-patronati .scelta{justify-content:flex-start;align-items:center;text-align:left}
.chiusura .scelta input[type=radio],.chiusura .scelta input[type=checkbox],.controllo-esito .scelta input,#ricorso-amm-box .scelta input,.scelte-patronati .scelta input{width:18px;height:18px;min-height:0;flex:0 0 auto;margin:0;padding:0}
.chiusura .scelta input#ch-z{width:110px;height:34px;flex:0 0 auto;padding:0 8px}
.cert-pagare .azioni-li{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
/* (04/10) elimina e ripristina allegati */
.elenco-file li.con-elimina{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.elenco-file li.con-elimina > span{min-width:0;word-break:break-word}
.elimina-file{flex:0 0 auto;padding:0 10px}
details.file-eliminati{margin-top:10px}
details.file-eliminati summary{cursor:pointer;color:var(--inchiostro-2)}
/* (04/10) anteprima come immagini delle pagine */
.pagine-anteprima{overflow:auto;background:var(--carta-2);border:1px solid var(--linea);border-radius:6px;padding:8px;max-height:640px}
.pagine-anteprima .pagina-anteprima{margin:0 0 10px}
.pagine-anteprima img{display:block;width:100%;height:auto;max-height:none;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}   /* (06/10) niente altezza massima: la pagina restava schiacciata (deformata) */
.pagine-anteprima figcaption{font-size:12px;color:var(--inchiostro-3);text-align:center;margin-top:4px}

/* (04/10) fascicolo cartaceo da spostare */
.sposta-fascicolo .sposta-da-a { display: flex; align-items: center; gap: 12px; margin: 10px 0 14px; flex-wrap: wrap; }
.sposta-fascicolo .sposta-da-a > div:not(.freccia) { flex: 1 1 180px; border: 1px solid var(--bordo, #d8d8d8); border-radius: 8px; padding: 8px 10px; background: var(--sfondo-2, #f7f7f7); }
.sposta-fascicolo .sposta-da-a span { display: block; font-size: 12px; color: var(--grigio, #666); }
.sposta-fascicolo .sposta-da-a .freccia { font-size: 22px; color: var(--accento, #b45309); }
.sposta-fascicolo .spunta-obb { display: flex; gap: 8px; align-items: center; }
.sposta-fascicolo .spunta-obb input { width: auto; }
.avviso-sposta { border-left: 4px solid #d97706; }

/* (04/10) INAIL: denunce con il loro percorso */
.inail .inail-testa{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.inail .avviso-15{background:#FFF4E5;border-color:#F0B35A;color:#5A3A00}
@media (prefers-color-scheme: dark) and (min-width: 100000px){ .inail .avviso-15{background:#3A2A12;border-color:#8A6420;color:#F5D9A8} }
/* (06/10) denunce INAIL: campo cambiato in attesa di «Salva modifiche»; sola lettura senza «Modifica» */
.inail .campo.cambiato input,.inail .campo.cambiato select{border-color:var(--avviso-ink);background:var(--avviso)}
.inail .inail-lettura{margin:-2px 0 8px}
.inail.in-lettura .inail-azioni{display:none}
.inail-denuncia{border:1px solid var(--linea);border-radius:10px;margin:10px 0;background:var(--carta)}
.inail-denuncia > summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;cursor:pointer;list-style:none}
.inail-denuncia > summary::-webkit-details-marker{display:none}
.inail-denuncia[open] > summary{border-bottom:1px solid var(--linea-2)}
.inail-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--accento);color:var(--accento-ink);font-weight:700}
.inail-azioni{margin-left:auto;display:flex;gap:4px}
.inail-passi{padding:8px 12px 12px}
.inail-passo{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed var(--linea-2)}
.inail-passo:last-child{border-bottom:0}
.inail-passo-n{width:26px;height:26px;border-radius:50%;border:2px solid var(--linea);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--inchiostro-2)}
.inail-passo.fatto .inail-passo-n{background:var(--ok-ink, #2E7D32);border-color:transparent;color:#fff}
.inail-passo.aperto .inail-passo-n{border-color:var(--accento);color:var(--accento)}
.inail-passo.errore .inail-passo-n{border-color:var(--errore-ink);color:var(--errore-ink)}
.inail-passo.futuro{opacity:.7}
.inail-passo h4{margin:2px 0 6px;font-size:15px}
/* (27/10, LOGICA BASE 1.94 76.2-76.3) sezioni compatte (clic sul titolo), titolo della MP fisso nella sua cornice, colori delle MP */
.inail-passo-c > h4{cursor:pointer;display:flex;align-items:center;gap:8px}
.inail-passo-c > h4::after{content:'▾';font-size:12px;color:var(--inchiostro-2)}
.inail-passo.compatto{padding:6px 0}
.inail-passo.compatto .inail-passo-c > h4{margin:3px 0}
.inail-passo.compatto .inail-passo-c > h4::after{content:'▸'}
.inail-passo.compatto .inail-passo-c > :not(h4){display:none}
.inail-denuncia{--mp:var(--linea)}
.inail-denuncia.mp-c1{--mp:#007BFF}.inail-denuncia.mp-c2{--mp:#00B400}.inail-denuncia.mp-c3{--mp:#E6C200}.inail-denuncia.mp-c4{--mp:#FF7F00}.inail-denuncia.mp-c5{--mp:#F7209A}
.inail-denuncia[class*=mp-c]{border:2px solid var(--mp)}
.inail-denuncia[class*=mp-c] .inail-num{background:var(--mp);color:#fff}
.inail-denuncia.mp-c3 .inail-num{color:#1F1A00}
.inail-denuncia[open] > summary{position:sticky;top:0;z-index:4;background:var(--carta);border-radius:8px 8px 0 0;border-bottom:2px solid var(--mp)}
@media (max-width:900px){ .inail-denuncia[open] > summary{top:var(--alto-testata, 0px)} }   /* sotto la testata in alto (telefono e tablet) */
/* (28/10, LOGICA BASE 1.94 78.1-78.2) riquadro «Certificato da fare» sotto gli esami da denunciare delle MP (Visite della scheda) */
.cert-previsto{display:block;margin-top:6px;padding:6px 8px;border-left:3px solid var(--accento);background:var(--avviso-bg, rgba(200,150,40,.08));border-radius:4px;font-size:13px;line-height:1.35;font-weight:400}
.cert-previsto.positiva{border-left-color:var(--ok-ink, #2E7D32);background:var(--ok-bg, rgba(46,125,50,.10))}
.cert-previsto.decaduta{border-left-color:#9A9A9A;background:#F1F1F1;color:#777;text-decoration:line-through}
.inail-esami{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 8px}
.inail-esami .scelta{display:inline-flex;gap:6px;align-items:center}
.inail-file{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:6px;font-size:14px}
/* (05/10) esami confermati: documento da denunciare (giallo) ed esame integrativo (verde), con «Modifica» */
.inail-scelti{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-radius:8px;padding:8px 10px;margin:4px 0 8px;border:1px solid}
.inail-scelti.giallo{background:var(--avviso);border-color:#D9A93A;color:var(--avviso-ink)}
.inail-scelti.verde{background:var(--ok);border-color:var(--ok-ink);color:var(--ok-ink)}
.inail-scelto{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14px}
.inail-scelto a{overflow-wrap:anywhere}
.inail-scelti .btn{margin-top:4px}
.inail-ricevute{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.inail-ric{border:1px solid var(--linea);border-radius:8px;padding:6px 10px;display:flex;flex-direction:column;gap:4px;min-width:170px;font-size:13.5px}
.inail-ric.ok{border-color:var(--ok-ink, #2E7D32);background:var(--ok, #EAF5EA)}
.inail-ric.manca{border-color:#D97706}
.inail-ric.no{opacity:.6}
.inail-controllo{border:1px solid var(--manca-bordo, #E8B4B4);border-radius:8px;padding:8px 10px;margin:8px 0;background:var(--carta-2)}
.inail-nuova{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.inail-nuova input{height:36px;padding:0 10px;border:1px solid var(--linea);border-radius:6px;background:var(--carta);flex:1 1 260px;font:inherit}
.inail-nuova input[type=date]{flex:0 0 auto}
.inail .riga-azioni{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.inail .riga-azioni input{height:30px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;min-width:220px}
.scelte-denunce{display:flex;flex-direction:column;gap:6px;margin:10px 0}
@media (max-width:760px){ .inail-azioni{margin-left:0} .inail-passo{grid-template-columns:24px 1fr} }
/* (05/10) finestra «Dove va il referto»: pratiche aperte della persona e cartelle delle denunce INAIL */
.dest-lista{display:flex;flex-direction:column;gap:8px;margin:10px 0;max-height:52vh;overflow:auto}
.dest-pratica{border:1px solid var(--linea);border-radius:8px;padding:8px 10px;background:var(--carta)}
.dest-lista label.spunta{display:flex;align-items:flex-start;gap:8px;cursor:pointer;line-height:1.35}
.dest-lista label.spunta input{margin-top:3px;flex:none;width:18px;height:18px}
.dest-cartelle{display:flex;flex-direction:column;gap:6px;margin:8px 0 2px 26px;padding-left:10px;border-left:3px solid var(--accento)}
/* (05/10) INAIL: documenti delle denunce nel menu laterale e nota per il patronato da confermare */
.docs-denunce{margin-top:12px;border-top:1px solid var(--linea);padding-top:8px}
.docs-gruppo{margin:0 0 6px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--testo-tenue,#555)}
.docs-denuncia{margin:0 0 10px}
.docs-sotto{margin:6px 0 4px;font-weight:700}
.docs-denunce .docs{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.docs-denunce .doc{display:flex;justify-content:space-between;align-items:center;gap:6px}
.nota-da-confermare{border-left:4px solid #d97706}
.dest-den{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.dest-den select{min-width:230px;max-width:100%}

/* (06/10) certificato del medico in piu' file: scelta dei file da unire */
.cert-file{margin:0 0 10px}
.cert-file-riga{border-top:1px solid var(--linea-2);padding-top:8px;margin-top:8px}
.cert-file-riga .spunta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px;font-weight:normal;width:auto;height:auto}
.cert-file-riga .spunta input[type=checkbox]{width:18px;height:18px;flex:none;margin:0}
.inail-esami .scelta.spento{opacity:.6;cursor:not-allowed}
/* (06/10) pagina iniziale: filtri a destra del titolo, sotto viste a sinistra */
.filtri-destra{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.filtri-riga{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filtri-riga .rail-btn{width:auto;min-width:150px}
.filtri-riga .menu-filtro{left:auto;right:0;top:100%;margin:4px 0 0}
/* (06/10) Verifiche INAIL */
:root{--riga-wa:#FFF8D6;--riga-ok:#E6F6EA}
@media (prefers-color-scheme: dark) and (min-width: 100000px){:root{--riga-wa:#3A3418;--riga-ok:#1E3526}}
.verifiche .pannello{margin-bottom:14px}
.verifiche .seduta{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.verifiche .seduta .campo{min-width:140px}
.verifiche .barra-ver{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 8px}
.verifiche table td.cliente-col,.verifiche table td.pratica-col{transition:background .2s}
.verifiche tr.wa td.cliente-col,.verifiche tr.wa td.pratica-col{background:var(--riga-wa)}
.verifiche tr.ok td.cliente-col,.verifiche tr.ok td.pratica-col{background:var(--riga-ok)}
.verifiche tr.riprog td.cliente-col,.verifiche tr.riprog td.pratica-col{background:#FDEBD8}   /* (11/10) perizie: da riprogrammare */
.verifiche .doc-si{color:var(--ok-ink);font-weight:700;font-size:16px}
.verifiche .doc-no{color:#C62828;font-weight:700;font-size:16px}
.verifiche input.orario{width:118px;height:32px}
.verifiche .col-sel{width:34px}
.verifiche .azioni-ver{display:flex;gap:6px;align-items:center;justify-content:flex-end}
/* (06/10) Statistiche (solo amministratore) */
.statistiche .stat-periodo{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.statistiche .stat-scelte{display:flex;gap:6px;flex-wrap:wrap}
.statistiche .pannello{margin-bottom:14px}
.statistiche .stat-tab{margin:10px 0 16px}
.statistiche .stat-tit{display:flex;justify-content:space-between;align-items:center;gap:8px}
.statistiche h3{font-size:15px;margin:0}
.statistiche td.num,.statistiche th.num{text-align:right;font-variant-numeric:tabular-nums}
.statistiche .zero{color:var(--muto,#90A4AE)}
.statistiche tr.totale td{border-top:2px solid currentColor}
/* (07/10) Stima 222/84 (solo amministratore) */
.stima .pannello{margin-bottom:14px}
.stima .stima-tipo{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.stima .stima-ris{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.stima .stima-netto{display:flex;flex-direction:column;gap:2px;min-width:240px}
.stima .stima-netto b{font-size:36px;line-height:1.1}
.stima .stima-netto span,.stima .stima-dati span{color:var(--muto,#607D8B);font-size:13px}
.stima .stima-dati{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;flex:1}
.stima .stima-dati div{display:flex;flex-direction:column;gap:2px}
.stima .stima-due{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.stima .stima-req{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--linea,#e0e0e0)}
.stima .stima-req:last-child{border-bottom:0}
.stima .stima-campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}
.stima td.num,.stima th.num,.stime td.num,.stime th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.stima tr.totale td{border-top:2px solid currentColor}
.stima .stima-val{font-family:ui-monospace,monospace;font-size:12px;max-width:340px;word-break:break-word}
@media print{.stima .noprint,.testata,.notifica{display:none!important}.stima .pannello{break-inside:avoid}}
.stima .banner.info{background:var(--accento-tenue);color:var(--accento-tenue-ink);margin-bottom:8px}
.stima .banner.att,.stima .banner.err{margin-bottom:8px}
/* (07/10) «Allegati e documenti non previsti»: stessa grafica di prima, con il menu delle voci e la ricerca (da 3 lettere) */
.doc-altro.carica select,.doc-altro.carica input{height:auto;font-size:inherit}
.doc-altro-riga select{flex:1 1 220px;min-width:0;max-width:100%}
.doc-altro-cerca{position:relative;flex:1 1 220px;min-width:0;display:flex}
.doc-altro-cerca input{flex:1;min-width:0}
.doc-altro-trovati{position:absolute;top:100%;left:0;right:0;z-index:30;margin:2px 0 0;padding:4px 0;list-style:none;background:var(--carta);border:1px solid var(--linea);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:260px;overflow:auto}
.doc-altro-trovati li{padding:7px 12px;cursor:pointer}
.doc-altro-trovati li:hover,.doc-altro-trovati li:focus{background:var(--accento-tenue);outline:none}
.doc-altro-trovati li.vuoto{cursor:default;color:var(--inchiostro-2);font-size:13px}
.doc-altro.sopra{outline:2px dashed var(--accento);outline-offset:4px;border-radius:6px;background:var(--accento-tenue)}
.doc-altro #c-esame{margin-top:6px}
.stima .stima-orig{font-size:12px}.stima .stima-orig.man{color:var(--accento-tenue-ink);font-weight:600}
/* (07/10) calendario delle visite: visita in ritardo (data prevista passata e non prenotata) = riga rosso chiaro */
tr.ritardo td{background:var(--sollecito)}
@media (prefers-color-scheme: dark) and (min-width: 100000px){ tr.ritardo td{background:var(--sollecito-scuro)} }
.prevista{white-space:nowrap}
/* (07/10) scheda della pratica, riquadro Visite: Carica e Giustifica uno sotto l'altro (il riquadro è stretto) */
table.visite-pratica td.az-visita{white-space:nowrap;width:1%}
table.visite-pratica td.data-visita{font-size:13px;white-space:nowrap;width:1%}
table.visite-pratica td.data-visita .prevista{font-weight:600;color:var(--inchiostro)}
table.visite-pratica th,table.visite-pratica td{padding-left:6px;padding-right:6px}   /* (10/10) con la colonna Data il riquadro stretto non deve tagliare Carica/Giustifica */
table.visite-pratica td.data-visita .chip{white-space:nowrap}   /* (10/10) data della visita: prenotata, prevista, giustificata */
table.visite-pratica td.az-visita .btn{display:block;width:100%;margin:2px 0;text-align:center}
/* (07/10) menu a tendina con la ricerca da 3 lettere (campi.js) */
/* (10/10, 20:16) barra unica dei menu lunghi: si apre l'elenco e si scrive per cercare; il menu vero resta nascosto sotto */
.cm-box{position:relative;display:block;width:100%}
.cm-box .cm-unico{width:100%;min-width:0;padding-right:30px;cursor:pointer;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 10px center!important}
.cm-box .cm-unico:focus{cursor:text}
.cm-box .cm-unico:disabled{cursor:default;background-image:none!important}
.cm-box select.cm-nascosto{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;padding:0;border:0}
.cm-pop{position:absolute;z-index:200;background:var(--carta);border:1px solid var(--linea);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.16);padding:6px;max-width:min(520px,calc(100vw - 16px))}
.cm-pop .cm-testo{width:100%;margin:0 0 6px}
.cm-pop ul{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}
.cm-pop li{padding:7px 10px;border-radius:6px;cursor:pointer}
.cm-pop li.cm-attivo,.cm-pop li[data-i]:hover{background:var(--accento-tenue)}
.cm-pop li.cm-vuoto{cursor:default;color:var(--inchiostro-2);font-size:13px}

/* (07/10, richiesta delle 14:47) Stato del certificato: assegnazione multipla, icona incassato, righe assegnate in verde chiarissimo */
.assegna-multi{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0;padding:8px 10px;border:1px solid var(--bordo,#ccd);border-radius:8px}
.assegna-multi select{min-width:220px}
.stato-cert-tab tr.assegnata td.persona-col,.stato-cert-tab tr.assegnata td.pratica-col{background:var(--riga-ok)}
.stato-cert-tab td.icona-inc{font-weight:700;text-align:center;font-size:16px}
.stato-cert-tab td.icona-inc.si{color:#1a7f37}.stato-cert-tab td.icona-inc.no{color:#b42318}
@media (prefers-color-scheme: dark) and (min-width: 100000px){.stato-cert-tab td.icona-inc.si{color:#6fdd8b}.stato-cert-tab td.icona-inc.no{color:#ff8f87}}
/* (08/10) Invia al cliente */
.invia-cliente table td:first-child,.invia-cliente table th:first-child{width:34px;text-align:center}
.invia-cliente textarea{width:100%}

/* (09/10) clienti non censiti con la scheda: celeste in «Visite da Prenotare» (come il rosso chiaro del ritardo) */
:root{--riga-nc:#E3F2FD}
@media (prefers-color-scheme: dark) and (min-width: 100000px){:root{--riga-nc:#16324A}}
tr.non-censito:not(.sollecito):not(.ritardo) td.cella-sollecito{background:var(--riga-nc)}
.nc-fin .nc-nomi,.nc-fin .nc-mano{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.nc-fin .nc-nomi .campo,.nc-fin .nc-mano .campo{min-width:200px;flex:1}
.nc-fin td.nc-auto input{background:transparent;border-style:dashed}
.non-censito-box{border-left:4px solid #64B5F6}

/* (10/10, 20:16) Contributi 222/84: netto al mese della stima in alto a destra */
.contributi-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.contributi-testa h2{margin-bottom:6px}
.netto-222{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:inherit;border:1px solid var(--linea);border-radius:8px;padding:4px 10px;background:var(--carta);line-height:1.2;min-width:110px}
.netto-222:empty{display:none}
.netto-222 span{font-size:11px;color:var(--inchiostro-2);text-transform:uppercase;letter-spacing:.03em}
.netto-222 b{font-size:18px}
.netto-222 small{font-size:11px;color:var(--inchiostro-3)}
.netto-222:hover{border-color:var(--accento)}
/* (10/10, 21:06) anteprima del WhatsApp prima del salvataggio (clienti non censiti) */
.anteprima-wa .wa-sfondo{background:#e5ddd5;padding:14px;border-radius:10px;margin:10px 0}
.anteprima-wa .wa-bolla{width:100%;min-height:140px;background:#dcf8c6;color:#111;border:0;border-radius:8px;padding:10px 12px;font:15px/1.45 system-ui,sans-serif;box-shadow:0 1px 1px rgba(0,0,0,.15);resize:vertical}
/* (11/10) scheda INAIL del medico: numero dei certificati (prima di tutto), un riquadro per certificato, documenti */
.scheda-inail .mp-numero{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin:6px 0 10px;border:2px solid #8E5BB5;border-radius:8px;background:#F6F0FB}
.scheda-inail .mp-numero.fatto{border-width:1px;background:var(--carta-2)}
.scheda-inail .mp-corpo[inert]{opacity:.45}
.scheda-inail .mp-griglia{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin-top:10px}
@media (max-width:800px){.scheda-inail .mp-griglia{grid-template-columns:1fr}}
.scheda-inail .mp-box{border:1px solid var(--linea);border-left:4px solid #3E9B5C;border-radius:8px;padding:10px 12px;margin-bottom:10px;background:var(--carta)}
.scheda-inail .mp-box.spenta{opacity:.6}
.scheda-inail .mp-box.fatto{border-left-color:var(--accento)}
.scheda-inail .mp-testa{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.scheda-inail .mp-dati{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
@media (max-width:600px){.scheda-inail .mp-dati{grid-template-columns:1fr}}
.scheda-inail .mp-dati h4,.scheda-inail .mp-file h3{margin:4px 0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--inchiostro-2)}
.scheda-inail .mp-esami{margin:0;padding-left:0;list-style:none}
.scheda-inail .mp-file{border:1px solid var(--linea);border-radius:8px;padding:10px 12px;align-self:start}
.btn.disabilitato{opacity:.5;pointer-events:none}
/* (11/10) dagli Avvisi: riga della visita o riquadro della pratica appena aperti, evidenziati per qualche secondo */
tr.evidenziato > td{background:#FFF3B0 !important;transition:background .4s}
.evidenziato:not(tr){box-shadow:0 0 0 3px #E0B400;border-radius:8px;transition:box-shadow .4s}
.evidenziato{scroll-margin-top:150px}
/* (11/10, 23:23) fasi di ricorso: riquadri «Pratica» e «Pagamento» spenti (chiusi, clic sul titolo per aprirli) */
.pannello.spenta{background:var(--sfondo);opacity:.85}
.pannello.spenta > h2[data-apri-spenta]{cursor:pointer;margin-bottom:0}
.pannello.spenta:not(.aperta) > .campi{display:none}
.pannello.spenta.aperta{opacity:1}
.pannello.spenta.aperta > h2{margin-bottom:12px}

/* (13/10) vista Tribunale: ricerca, linguette con il numero degli avvisi, tabella con i menu colorati del foglio, scheda del ricorso */
.trib-cerca{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.trib-cerca label{font-weight:700}
.trib-cerca input{flex:1;min-width:240px;max-width:560px;min-height:40px;border:1px solid var(--linea);border-radius:8px;padding:6px 12px;background:var(--carta)}
.trib-tab .bollino{margin-left:4px}
.trib-box{overflow:auto;max-height:70vh;background:var(--carta);border:1px solid var(--linea);border-radius:8px}
table.trib-t{border-collapse:separate;border-spacing:0;font-size:13px;min-width:100%}
table.trib-t th{position:sticky;top:0;z-index:2;background:var(--testata);color:var(--testata-ink);font-weight:600;font-size:12px;text-align:left;padding:8px;white-space:nowrap}
table.trib-t td{border-bottom:1px solid var(--linea-2);padding:5px 7px;vertical-align:top}
table.trib-t td.num{text-align:right;font-weight:700;white-space:nowrap}
table.trib-t td.largo-t{min-width:170px}
table.trib-t td.nowrap{white-space:nowrap}
table.trib-t td.trib-avvisi{min-width:190px}
table.trib-t td.trib-ultimo{min-width:230px}
table.trib-t tr.sel td{background:var(--accento-tenue)}
.trib-ord{background:transparent;border:none;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:2px 0;min-height:28px;text-decoration:underline dotted}
.trib-chip{border:1px solid rgba(0,0,0,.14);border-radius:12px;padding:3px 8px;font-size:12px;font-weight:600;min-height:28px;max-width:240px;cursor:pointer}
.trib-in{border:1px solid var(--linea);border-radius:5px;padding:3px 6px;font-size:13px;background:var(--carta);color:var(--inchiostro)}
.trib-in.num{width:52px}
.trib-in.mini{display:block;margin-top:3px;font-size:11px;max-width:190px}
textarea.trib-st{width:250px;resize:vertical;line-height:1.35}
textarea.trib-st.largo-st{width:100%;box-sizing:border-box}
.trib-av{display:inline-block;border-radius:10px;padding:2px 8px;margin:0 4px 4px 0;font-size:11px;font-weight:700;white-space:nowrap}
.trib-av.rosso{background:#B10202;color:#FFFFFF}
.trib-av.giallo{background:#FFE5A0;color:#473821}
.trib-av.grigio{background:#E8EAED;color:#3C4043}
/* (20/10, LOGICA BASE 1.40 31.1) righe tutte alte una riga: nome del cliente nel suo riquadro, campi lunghi chiusi che si aprono */
table.trib-t td.trib-cliente .btn{white-space:nowrap;width:max-content;min-height:30px;line-height:1.2}
table.trib-t td{position:relative}
table.trib-t tbody tr{height:68px}
.trib-clip{max-height:30px;overflow:hidden;cursor:pointer;border-radius:4px}
.trib-clip:hover,.trib-clip:focus,.trib-clip.aperto{max-height:none;overflow:visible;position:absolute;z-index:6;left:4px;right:4px;top:4px;min-width:220px;background:var(--carta);box-shadow:0 4px 14px rgba(0,0,0,.18);padding:6px 8px;outline:none}
textarea.trib-st{height:30px;min-height:30px;overflow:hidden;resize:none;white-space:nowrap;text-overflow:ellipsis}
textarea.trib-st:hover,textarea.trib-st:focus{position:absolute;z-index:6;left:4px;top:4px;height:120px;white-space:pre-wrap;overflow:auto;box-shadow:0 4px 14px rgba(0,0,0,.18)}
table.trib-t td.trib-st-cella{min-width:262px}
.trib-av.verde{background:#D4EDBC;color:#11734B}
table.trib-t tr.trib-accolta td.vuota{background:var(--carta-2)}
.trib-pannello{margin-top:16px}
.trib-sposta{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:var(--carta-2);border-radius:6px;padding:8px 10px;margin:10px 0 14px}
.trib-due{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.trib-due h3,.trib-mail h3{margin:0 0 8px;font-size:15px}
.trib-nuovo{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
.trib-nuovo .campo{margin:0}
ol.trib-eventi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
ol.trib-eventi li{background:var(--carta-2);border-radius:6px;padding:6px 8px}
ol.trib-eventi li.ultimo{background:var(--accento-tenue)}
.trib-mail{margin-top:16px;border-top:1px solid var(--linea-2);padding-top:12px}
.trib-dl{display:grid;grid-template-columns:80px 1fr;gap:4px 10px;margin:0 0 8px}
.trib-dl dt{color:var(--inchiostro-3)}
.trib-dl dd{margin:0}
pre.trib-testo{white-space:pre-wrap;font:13px/1.45 inherit;background:var(--carta-2);border-radius:6px;padding:10px 12px}
.trib-file{border:1px solid var(--linea);border-radius:6px;padding:8px 12px;margin:0 0 10px}

/* (15/10) vista «File arrivati» dal telefono (arrivi.js) */
/* (24/10, LOGICA BASE 1.60 44.11) casella per caricare file dal computer nella vista «File arrivati» */
.arr-su{margin:10px 0 4px}
.arr-su-casella{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 16px;border:2px dashed var(--linea);border-radius:10px;background:var(--carta-2);cursor:pointer}
.arr-su-casella input[type=file]{max-width:100%}
.arr-su.sopra .arr-su-casella{border-color:var(--inchiostro);background:var(--carta)}
.arr-su .avanz{margin-top:8px}
.arr-tab{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.arr-tab button{font-weight:600;padding:9px 14px;min-height:44px;border-radius:8px;border:1px solid var(--linea);background:var(--carta-2);color:var(--inchiostro-2);cursor:pointer}
.arr-tab button.on{background:var(--inchiostro);color:var(--carta);border-color:var(--inchiostro)}
.arr-corpo{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
.arr-sx{flex:999 1 560px;min-width:0}
.arr-dett{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:14px}
/* (25/10, LOGICA BASE 1.76 passaggio 59 B3) dettagli larghi almeno metà dello schermo; sul telefono tutta la larghezza */
.arr-corpo:has(.arr-dett:not([hidden])) .arr-sx{flex:1 1 0}
.arr-dett:not([hidden]){flex:0 0 calc(50% - 8px);max-width:none}
@media (max-width:900px){.arr-dett:not([hidden]){flex:1 1 100%}.arr-corpo:has(.arr-dett:not([hidden])) .arr-sx{flex:1 1 100%}}
.arr-files,.arr-invii{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.arr-file{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--linea,#d9dde3);border-radius:8px}
.arr-file.on{border-color:var(--accento,#1d5fa8);background:rgba(29,95,168,.06)}
.arr-file-nome{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
.arr-mini{flex:0 0 52px;width:52px;height:52px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f2f4f7}
.arr-mini img{width:100%;height:100%;object-fit:cover}
.arr-mini-pdf{font-weight:700;color:#A50E0E;font-size:12px;text-decoration:none}
.arr-galleria{flex:1 1 260px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.arr-galleria img{width:100%;height:140px;object-fit:cover;border-radius:6px;border:1px solid var(--linea,#d9dde3)}
.arr-mini-pdf.grande{display:flex;flex-direction:column;align-items:center;justify-content:center;height:140px;border:1px solid var(--linea,#d9dde3);border-radius:6px;background:#fff6f5;text-align:center;padding:6px}
.arr-mini-pdf.grande span{font-weight:400;color:var(--inchiostro,#222);font-size:11px;overflow-wrap:anywhere}
.arr-lavorati{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--linea,#c9ced6);border-radius:8px}
.arr-lavorati>label.btn{align-self:flex-start}
.arr-invii li{display:flex;flex-direction:column;gap:2px}
.arr-scarta{display:flex;flex-direction:column;gap:4px}

.arr-dett h3{margin:0 0 6px;font-size:15px}
.arr-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.arr-card{background:var(--carta);border:1px solid var(--linea);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:7px;text-align:left;cursor:pointer;color:var(--inchiostro);font-size:13px;line-height:1.4}
.arr-card b{font-size:13.5px}
.arr-card.sel{border-color:var(--accento);box-shadow:0 0 0 2px var(--accento)}
.arr-card.evid{box-shadow:0 0 0 3px #D69A2D}
.arr-card.lav{cursor:default;background:var(--carta-2)}
.arr-foglio{height:230px;border-radius:6px;background:#E3E6E0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.arr-foglio img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.arr-foglio.spento img{opacity:.45}
.arr-foglio.tavolo{background:#6B5E50}
.arr-carta{width:150px;height:200px;background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.18);background-image:repeating-linear-gradient(#fff 0 9px,#C9CFC7 9px 11px);background-size:80% 150px;background-repeat:no-repeat;background-position:14px 30px}
.arr-carta.grezza{transform:rotate(-7deg);filter:brightness(.82) sepia(.25);box-shadow:4px 6px 10px rgba(0,0,0,.35)}
.arr-pp{position:absolute;right:8px;bottom:8px;background:rgba(30,42,47,.86);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:9px}
.arr-riga{display:flex;justify-content:space-between;gap:6px;align-items:center}
.chip.arr-lav{background:#DCE7F6;color:#1D4F8C;border-color:transparent}
.chip.arr-pronto{background:#FFE5A0;color:#5A4310;border-color:transparent}
.chip.arr-errore{background:var(--errore);color:var(--errore-ink);border-color:transparent}
.chip.arr-caricato{background:var(--ok);color:var(--ok-ink);border-color:transparent}
.chip.arr-cancellato{background:var(--linea-2);color:var(--inchiostro-2);border-color:transparent}
.arr-trovato{font-size:12.5px;font-weight:600;color:#5A4310}
.arr-trovato.si{color:var(--ok-ink)}.arr-trovato.no{color:var(--errore-ink)}
.arr-passi{margin:0;padding:0;list-style:none;font-size:12px;display:flex;flex-direction:column;gap:2px;color:var(--inchiostro-3)}
.arr-passi .fatto{color:var(--ok-ink)}.arr-passi .ora{color:var(--inchiostro);font-weight:700}
.arr-gira{display:inline-block;width:10px;height:10px;border:2px solid var(--accento);border-right-color:transparent;border-radius:50%;animation:arr-g .9s linear infinite;vertical-align:-1px}
@keyframes arr-g{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.arr-gira{animation:none}}
.arr-anteprima{display:flex;gap:14px;flex-wrap:wrap}
.arr-grande{flex:0 0 210px;height:280px;background:#E3E6E0;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.arr-grande img{max-width:100%;max-height:100%;object-fit:contain;background:#fff}
.arr-ant-dx{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:8px}
.arr-pagine{display:flex;gap:8px;flex-wrap:wrap}
.arr-pagina{width:66px;height:88px;padding:0;border:1px solid var(--linea);border-radius:3px;background:#fff;position:relative;cursor:pointer;overflow:hidden}
.arr-pagina img{width:100%;height:100%;object-fit:cover}
.arr-pagina span{position:absolute;left:0;right:0;bottom:0;background:rgba(30,42,47,.8);color:#fff;font-size:11px;font-weight:700}
.arr-pagina.on{outline:3px solid var(--accento)}
.arr-dividi{background:var(--carta-2);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.arr-campi{display:grid;grid-template-columns:150px minmax(0,1fr);gap:5px 12px;margin:0;font-size:13px}
.arr-campi dt{color:var(--inchiostro-2)}.arr-campi dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.arr-in{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.arr-in input{flex:1 1 200px;min-width:0}
.arr-carica,.arr-fondo{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--linea-2);padding-top:12px}
.arr-carica select,.arr-carica input{min-height:40px}
.arr-menu{border:1px solid var(--linea);border-radius:8px;max-height:240px;overflow:auto;background:var(--carta)}
.arr-menu label{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;border-bottom:1px solid var(--linea-2);cursor:pointer;font-size:13px}
.arr-menu label.prop{background:var(--accento-tenue)}
.arr-scelte{margin:0;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.btn.rosso{border-color:#A3352B;color:#A3352B}
.arr-istr{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
ol.istr{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
ol.istr ol{list-style:lower-alpha;padding-left:18px;margin:4px 0 0}
.arr-istr code{background:var(--carta-2);padding:1px 5px;border-radius:4px;font-size:12.5px;overflow-wrap:anywhere}
@media (max-width: 600px){.arr-campi{grid-template-columns:minmax(0,1fr)}.arr-campi dt{margin-top:4px}}
.arr-dett h2{text-transform:none;letter-spacing:0;font-size:19px;color:var(--inchiostro)}
/* (18/10, U1-U3) «Anteprima di verifica»: pagine del file a sinistra, dati letti e pulsanti ✓ / ✗ a destra (sul telefono uno sotto l'altro) */
.verifica{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:16px;align-items:start;margin-top:4px}
.verifica-file{min-width:0;display:flex;flex-direction:column;gap:4px}
.verifica-dati{min-width:0;display:flex;flex-direction:column;gap:10px;position:sticky;top:calc(var(--alto-testata, 80px) + 10px)}
.verifica-dati .campi{grid-template-columns:minmax(0,1fr)}
.verifica-dati .pulsanti-verifica{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.verifica-dati .pulsanti-verifica .btn{text-align:center;justify-content:center}
.verifica-link{margin:6px 0 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.verifica-tit{margin:8px 0 4px}
.verifica.solo{grid-template-columns:minmax(0,1fr)}.verifica.solo .verifica-dati{position:static}
@media (max-width:900px){.verifica{grid-template-columns:minmax(0,1fr)}.verifica-dati{position:static}}
/* (18/10, U4) File arrivati: barra della lavorazione */
.arr-card .avanz{margin:4px 0 0}
/* (18/10, 3.P3) referto non arrivato 3 giorni dopo la data della visita: struttura e data colorate, riquadro «in ritardo» */
td.referto-ritardo{background:var(--sollecito)}
.riquadro-ritardo{margin-top:4px;border:1px solid #c0392b;color:#a32b1f;background:#fdecea;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600;display:inline-block}
.chip.rossa{background:#fdecea;color:#a32b1f;border-color:#e6a49c}   /* (18/10, 0.3 e 1.P2) etichette rosse dei non censiti */
/* (20/10, LOGICA BASE 1.45) vista del patronato: scheda della verifica dei verbali (invalidità civile) */
.scheda-verbali .verif-testa{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.4fr) minmax(170px,.6fr);gap:14px;align-items:start}
.scheda-verbali .verif-giallo{border:2px solid #F2C94C;background:#FFF8DC;border-radius:6px;padding:8px 12px}
.scheda-verbali .verif-giallo p{margin:2px 0}
.scheda-verbali .verif-celeste{border:2px solid #56B4E9;border-radius:6px;padding:10px 12px;margin-top:12px;display:grid;gap:12px;max-width:640px}
.scheda-verbali .verif-voce{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.scheda-verbali .verif-voce .campo{min-width:240px;margin:0}
.scheda-verbali .verif-voce select:disabled{opacity:1;color:inherit;background:#fff}
.scheda-verbali .verif-esito{flex-basis:100%}
.scheda-verbali .verif-ok{margin:0;color:#11734B;font-weight:600}
.scheda-verbali .verif-anteprima iframe{width:100%;height:420px;border:1px solid var(--linea-2,#ccc);border-radius:6px;background:#fff}
.scheda-verbali .verif-rosso{border:2px solid #E5534B;border-radius:6px;padding:10px 12px;margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:640px}
.scheda-verbali .verif-rimanda{background:#FFCFC9;color:#B10202;border-color:#FFCFC9}
.scheda-verbali .verif-rimandato{flex-basis:100%;margin:0;color:#B10202}
@media (max-width:760px){.scheda-verbali .verif-testa{grid-template-columns:1fr}}

/* (20/10, 23:50) «Fascicolo controllato (resta in «…»)»: il testo lungo va a capo dentro il pulsante */
#controllato{height:auto;min-height:38px;padding:8px 16px;line-height:1.3;text-align:center;justify-content:center;white-space:normal}

/* (22/10, LOGICA BASE 1.52) controlli del programma sul certificato del medico */
.controlli-cert{border-radius:6px;padding:8px 12px;margin:0 0 10px;border:1px solid var(--linea)}
.controlli-cert.tutto-ok{background:#eaf6ec;border-color:#9ccfa6}.controlli-cert.da-vedere{background:#fdecea;border-color:#e3a39b}
.controlli-cert ul{margin:0;padding:0 0 0 4px;list-style:none}.controlli-cert li{margin:2px 0}
.controlli-cert li.si{color:#1e6b34}.controlli-cert li.no{color:#a12a1d;font-weight:600}.controlli-cert li.info{color:#555}
/* (24/10, LOGICA BASE 1.63 45.1) sotto l'anteprima: elenco dei controlli e, accanto, il riepilogo breve */
.cert-attesa-sotto{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.cert-attesa-elenco{flex:1 1 360px;min-width:0}
.cert-sintesi{flex:1 1 260px;margin-top:10px;padding:8px 12px;border:2px solid #e0b100;border-radius:6px;background:#fffbe6}
.cert-sintesi ol,.cert-sintesi-lista{margin:4px 0 0;padding-left:22px}
.cert-sintesi li.no,.cert-sintesi-lista li.no{color:#a12a1d;font-weight:600}.cert-sintesi li.info,.cert-sintesi-lista li.info{color:#555}
/* (23/10, LOGICA BASE 1.55 41.4) vista struttura guardata dallo staff dello studio: menu per cambiare struttura o dottore */
.cambia-struttura{float:right;display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--linea);border-radius:8px;background:var(--carta);margin:0 0 10px 12px}
.cambia-struttura label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--inchiostro-3)}
.cambia-struttura select{min-width:260px}

/* (23/10, LOGICA BASE 1.57 42.3) «Stato del certificato»: stato, «certificato caricato» e «Giustifica lo stato» in colonna, senza sovrapposizioni */
.stato-cert-tab .cella-stato-cert{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.stato-cert-tab .cella-stato-cert select{width:auto;max-width:none}
.stato-cert-tab .cella-stato-cert .btn{white-space:nowrap}

/* (25/10, LOGICA BASE 1.70 passaggio 53) ogni campo mostra tutto il contenuto, in tutte le schermate (campi.js, regola 5):
   i box di testo crescono verso il basso quanto il testo; i box nati da un campo di una riga vanno a capo */
@supports (field-sizing: content) {
  textarea:not(.trib-st):not(.cresce):not([data-fisso]){field-sizing:content}
  table.modifica textarea:not(.campo-a-capo){min-height:calc(4lh + 14px)}
  .campo textarea:not(.campo-a-capo):not(.sola-lettura):not(.trib-st){min-height:calc(4lh + 18px)}
}
textarea.campo-a-capo{line-height:1.35;padding-top:7px!important;padding-bottom:7px!important;overflow:hidden;resize:none;white-space:pre-wrap;overflow-wrap:anywhere}
.campo textarea.campo-a-capo{height:auto;min-height:38px}
table.modifica textarea.campo-a-capo{min-height:34px;padding:6px 8px}
textarea.sola-lettura{background:var(--carta-2);color:var(--inchiostro-2)}
/* (25/10, 1.70 passaggio 53) vista visite: tipo di pratica sotto il cliente, quinta colonna e titoli si leggono interi (vanno a capo) */
table.visite td:nth-child(3) .aiuto{white-space:normal;overflow:visible;text-overflow:clip}
table.visite td:nth-child(5){white-space:normal;overflow:visible;text-overflow:clip}
table.visite th{overflow:visible}

/* (25/10, LOGICA BASE 1.71 passaggio 54) icone Mail e PEC sotto CTU e CTP (contatti_ctu.js); Ultimo evento celeste nella vista Tribunale */
.ct-contatti{display:flex;gap:6px;margin-top:4px}
.ct-ico{text-decoration:none;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:1px solid var(--linea);border-radius:5px;background:var(--carta);color:var(--inchiostro);font-size:11px;font-weight:600;cursor:pointer}
.ct-ico:hover{border-color:var(--accento);color:var(--accento)}
.ct-ico:focus-visible{outline:2px solid var(--accento);outline-offset:1px}
.ct-ico.manca{color:var(--inchiostro-3);background:var(--carta-2);border-style:dashed}
td .ct-contatti{justify-content:flex-start}
td.trib-ultimo .trib-clip{background:#DCEFFA;border:1px solid #A9D3EE;color:#0B3A57;padding:3px 7px}
td.trib-ultimo .trib-clip .aiuto{color:#2C5F80}
/* (25/10, LOGICA BASE 1.72-1.73 passaggi 55 e 56) Mail rossa e bianca, PEC rossa con il sigillo; senza indirizzo restano grigie (icona sbiadita) */
.ct-ico[data-ct="email"]:not(.manca){background:#FFFFFF;border-color:#D93025;color:#B3261E;box-shadow:inset 3px 0 0 #D93025}
.ct-ico[data-ct="email"]:not(.manca):hover{background:#FCE8E6;color:#8C1D18}
.ct-ico[data-ct="pec"]:not(.manca){background:#FFF1EF;border-color:#A50E0E;color:#8A0B0B;box-shadow:inset 3px 0 0 #A50E0E}
.ct-ico[data-ct="pec"]:not(.manca):hover{background:#FCDCD8;color:#6B0808}
.ct-ico.manca svg{filter:grayscale(1);opacity:.55}
/* (25/10, LOGICA BASE 1.73 passaggio 56) pulsanti e icone WhatsApp verdi in tutte le viste (classe messa da campi.js, regola 6) */
html body .pulsante-wa,html body a.icona.wa,html body .pulsante-wa:visited{background:#168A4A!important;border-color:#168A4A!important;color:#FFFFFF!important}
html body .pulsante-wa:hover,html body a.icona.wa:hover{background:#0F6E3A!important;border-color:#0F6E3A!important;color:#FFFFFF!important}
html body .pulsante-wa svg,html body a.icona.wa svg{color:#FFFFFF!important;fill:currentColor}
html body .pulsante-wa:disabled,html body a.icona.wa.disabilitato{background:#8FC9A6!important;border-color:#8FC9A6!important}

/* (28/10/2026, LOGICA BASE 1.95 passaggio 79) patologie: il box resta della sua misura nelle tre colonne (testo tagliato con «…») */
.pat .auto{min-width:0}
.pat input{min-width:0!important;max-width:100%!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sugg-scorciatoia{display:inline-block;margin-left:6px;padding:0 7px;border-radius:10px;font-size:11px;background:var(--st-giallo);color:var(--st-giallo-ink);border:1px solid #E6C200}
