/* Marini · direzione «Filiera» (07/10/2026, MANDATO-STILE.md). Sostituisce la veste «chiaro» a caratteri grossi.
   Carta neutra calda, inchiostro quasi nero, UN accento: blu tintoria (link, selezione, azione).
   Colori con significato e solo lì: verde = entro il tempo normale · ambra = oltre il tempo normale / da guardare ·
   rosso = le 3 consegne più in ritardo della pagina (max 3) · grigio = tutto il resto. Niente card, niente ombre: filetti sottili. */
@font-face{font-family:"Inter";src:url("font/inter-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* «Semplice» (MANDATO-SEMPLICE.md): TRE colori di testo e basta — inchiostro (--t, --t2), grigio (--t3, --t4), blu. Il rosso a parte (max 3 cose).
   L'ambra resta solo fuori dal testo: pallini, barre, tratteggio delle date accavallate. */
.ch{--carta:#F6F5F2;--foglio:#FFFFFF;--lato:#EFEDE8;--t:#1C1B19;--t2:#1C1B19;--t3:#6B675F;--t4:#6B675F;--t4filo:#A9A49A;
  --filetto:#E3E0D8;--filetto2:#ECEAE4;--sel:#F1F0EC;
  --blu:#1F3F6E;--blu-scuro:#142C4F;--blu-chiaro:#E9EEF5;--blu-filo:#C3CFE0;
  --verde:#4E8A5F;--verde-chiaro:#E5F0E8;--ambra:#8F5A00;--ambra-barra:#D8A13F;--ambra-chiaro:#FBF1DE;
  --rosso:#B42318;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,Menlo,monospace;
  display:flex;min-height:100vh;background:var(--carta);color:var(--t);
  font:400 14px/20px "Inter","Segoe UI",-apple-system,system-ui,sans-serif;font-feature-settings:"cv11","ss01";
  -webkit-font-smoothing:antialiased}
body:has(.ch){padding-bottom:0;background:#F6F5F2}
.ch a{color:var(--blu);text-decoration:none}
.ch a:hover{text-decoration:underline}
.ch kbd{font:500 11px/1 var(--mono);color:var(--t3);background:var(--foglio);border:1px solid var(--filetto);border-bottom-width:2px;border-radius:3px;padding:2px 4px;margin:0;opacity:1}
.tr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ch .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.ch .cod{font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums}

/* ---------- barra laterale: chiara, stretta, a tutta altezza ---------- */
.ch-lato{width:184px;flex:none;background:var(--lato);border-right:1px solid var(--filetto)}
.ch-lato-in{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1px;padding:14px 10px 12px;box-sizing:border-box}
.ch-marchio{display:flex;align-items:center;gap:9px;color:var(--t)!important;font-weight:650;font-size:15px;letter-spacing:-.1px;padding:2px 8px 16px}
.ch-marchio:hover{text-decoration:none!important}
.ch-marchio .mk{display:inline-flex;gap:2px;align-items:flex-end;height:16px}
.ch-marchio .mk i{display:block;width:4px;background:var(--blu);border-radius:1px}
.ch-marchio .mk i:nth-child(1){height:8px;opacity:.45}.ch-marchio .mk i:nth-child(2){height:12px;opacity:.7}.ch-marchio .mk i:nth-child(3){height:16px}
.ch-voce{color:var(--t2)!important;font-size:13.5px;font-weight:500;padding:6px 8px 6px 10px;border-radius:4px;border-left:2px solid transparent;white-space:nowrap}
.ch-voce:hover{background:#E6E3DC;text-decoration:none!important}
.ch-voce.on{color:var(--blu)!important;background:var(--foglio);border-left-color:var(--blu);font-weight:600;border-radius:0 4px 4px 0}
.ch-sp{flex:1}
.ch-sez{font-size:11.5px;color:var(--t4);padding:8px 10px 3px;font-weight:500}
.ch-demo{font-size:11.5px;color:var(--t4);padding:12px 10px 0;border-top:1px solid var(--filetto);margin-top:10px}
.ch-corpo{flex:1;min-width:0;padding:0 24px 28px}

/* ---------- barra in alto: titolo · uffici (schede) · ricerca · data ---------- */
.ch-barra{display:flex;align-items:center;gap:18px;height:52px;border-bottom:1px solid var(--filetto);margin-bottom:16px;white-space:nowrap}
.ch-barra h1{font-size:17px;font-weight:650;letter-spacing:-.2px;margin:0}
.ch-briciole{display:flex;align-items:center;gap:8px;min-width:4.4em;flex:0 1 auto;overflow:hidden;font-size:13.5px;color:var(--t3)}
.ch-briciole a,.ch-briciole .sep{flex:none}
.ch-barra:has(.ch-schede){gap:10px}
.ch-briciole a{color:var(--t3)}
.ch-briciole .sep{color:var(--t4)}
.ch-briciole b{color:var(--t);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}   /* nome lungo + schede: si accorcia, non si sovrappone (video 12/10) */
.ch-uffici{display:flex;align-self:stretch;gap:2px}
.ch-uffici a{display:flex;align-items:center;padding:0 10px;color:var(--t3)!important;font-size:13.5px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.ch-uffici a:hover{color:var(--t)!important;text-decoration:none!important}
.ch-uffici a.on{color:var(--t)!important;border-bottom-color:var(--blu);font-weight:600}
.ch-barra .sp{flex:1}
.ch-cerca{display:flex;align-items:center;gap:6px;height:32px;width:340px;background:var(--foglio);border:1px solid var(--filetto);border-radius:5px;padding:0 6px 0 10px}
.ch-cerca:focus-within{border-color:var(--blu);box-shadow:0 0 0 3px var(--blu-chiaro)}
.ch-cerca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13.5px;color:var(--t)}
.ch-cerca input::placeholder{color:var(--t4)}
.ch-data{font-size:12.5px;color:var(--t3);font-variant-numeric:tabular-nums}

/* ---------- il nastro della filiera ---------- */
.fl-nastro{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--filetto);border-radius:6px;background:var(--foglio);margin-bottom:18px;overflow:hidden}
.fl-st{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 16px 10px 18px;color:var(--t)!important;border-left:1px solid var(--filetto2);min-width:0}
.fl-st:first-child{border-left:0}
.fl-st:hover{background:#FBFAF8;text-decoration:none!important}
/* la freccia del passaggio: un piccolo chevron sul filetto fra due stazioni */
.fl-st+.fl-st::before{content:"";position:absolute;left:-5px;top:calc(50% - 4px);width:8px;height:8px;background:var(--foglio);border-top:1px solid var(--t4filo);border-right:1px solid var(--t4filo);transform:rotate(45deg)}
.fl-st.on{background:var(--blu-chiaro);box-shadow:inset 0 -2px 0 var(--blu)}
.fl-st.on+.fl-st::before{background:var(--blu-chiaro)}
.fl-nome{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--t2);white-space:nowrap}
.fl-nome kbd{font-size:10px;padding:1px 4px}
.fl-st.on .fl-nome{color:var(--blu)}
.fl-n{font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.4px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px}
.fl-n small{font-size:12.5px;font-weight:500;color:var(--t3);letter-spacing:0;margin-left:2px}
.fl-st.vuota .fl-n{color:var(--t4)}
.fl-sub{font-size:12.5px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-eta{display:flex;gap:2px;height:4px;margin-top:8px;border-radius:2px;overflow:hidden}
.fl-eta i{display:block;height:100%;min-width:3px}
.fl-eta i.ok{background:var(--verde);opacity:.75}
.fl-eta i.tardi{background:var(--ambra-barra)}
.fl-eta i.niente{flex:1;background:var(--filetto2)}
.fl-oltre{font-size:12px;color:var(--t4);white-space:nowrap;font-variant-numeric:tabular-nums}
.fl-oltre.si{color:var(--t);font-weight:600}

/* ---------- colonne: lista a sinistra, contesto a destra ---------- */
.ch-colonne{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.ch-lista>h2,.ch-box>h2{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:650;margin:0;padding:0 0 8px;white-space:nowrap}
.ch-lista>h2 .quante,.ch-box>h2 .quante{font-size:12.5px;font-weight:400;color:var(--t3);overflow:hidden;text-overflow:ellipsis}
.ch-lista>h2 .chiudi{margin-left:auto;font-size:12.5px;font-weight:500}
.ch-lista{background:var(--foglio);border:1px solid var(--filetto);border-radius:6px;padding:12px 0 4px}
.ch-lista>h2{padding:0 16px 10px}

/* la lista di lavoro: righe da 32 px, intestazioni di colonna, gruppi con un filetto */
.ch-el{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13.5px}
.ch-el td,.ch-el th{padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid var(--filetto2);vertical-align:middle;box-sizing:border-box}
.ch-el td:first-child,.ch-el th:first-child{padding-left:16px}
.ch-el td:last-child,.ch-el th:last-child{padding-right:16px}
.ch-el.th th{padding-top:4px;padding-bottom:4px;font-size:12px;font-weight:500;color:var(--t3);text-align:left;border-top:1px solid var(--filetto);border-bottom:1px solid var(--filetto);background:#FAF9F7}
.ch-el.th th.num{text-align:right}
.ch-el col.c-cosa{width:104px}
.ch-el col.c-quante{width:78px}
.ch-el col.c-val{width:112px}
.ch-el col.c-eta{width:92px}
.ch-el col.c-stato{width:138px}
.ch-el col.c-az{width:118px}
.ch-el tr[data-href]{cursor:pointer}
.ch-el tr[data-href]:hover td,.ch-el tr.sel td{background:var(--sel)}
.ch-el tr.sel td:first-child{box-shadow:inset 2px 0 0 var(--blu)}
.ch-el td.chi a{color:var(--t)}
.ch-el td.cosa{color:var(--t2)}
.ch-el td.num{color:var(--t)}
.ch-el td.eta{color:var(--t3)}
.ch-el td.eta.oltre{color:var(--t);font-weight:600}
.ch-el td.stato{text-align:right;color:var(--t3)}
.ch-el td.stato.tardi{color:var(--t)}
.ch-el td.stato.rosso{color:var(--rosso);font-weight:600}
.ch-el td.dubbio{color:var(--t);font-weight:600}
.ch-el td.az{text-align:right}
.ch-el td.az a{font-weight:500}
.ch-el td.az a::after{content:" →";color:var(--t4)}
.ch-fare{border-top:1px solid var(--filetto)}
.ch-fare:first-of-type{border-top:0}
.ch-fare-t{display:flex;align-items:baseline;gap:10px;padding:14px 16px 6px;white-space:nowrap;min-width:0}
.ch-fare-t b{font-size:13px;font-weight:650;color:var(--t)}
.ch-fare-t .conto{font-size:12.5px;color:var(--t3)}
.ch-fare-t .ch-tutte{margin-left:auto;font-size:12.5px;font-weight:500;flex:none}
.vuoto-riga{padding:6px 16px 14px;font-size:13px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-box .vuoto,.ch .vuoto{padding:8px 0;color:var(--t3)}

/* ---------- colonna di destra ---------- */
.ch-lato-dx{display:flex;flex-direction:column;gap:20px}
.ch-box>h2{border-bottom:1px solid var(--filetto);padding-bottom:7px;margin-bottom:2px}
.ch-avv{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--filetto2);white-space:nowrap;font-size:13.5px}
.ch-avv .seg{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ambra-barra)}
.ch-avv b{flex:1;font-weight:600}
.ch-avv a{flex:none;font-size:12.5px;font-weight:500}
.ch-fatto{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:5px 0;line-height:20px;border-bottom:1px solid var(--filetto2);font-size:13px;white-space:nowrap}
.ch-fatto.num2{grid-template-columns:minmax(0,1fr) auto}
.ch-fatto .q{color:var(--t3);font-variant-numeric:tabular-nums;font-size:12.5px}
.ch-fatto .tr{display:block}
.ch-fatto b{font-weight:600}
.ch-fatto .v{font-weight:600}
.ch-lavori{list-style:none;margin:0;padding:4px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.ch-lavori li{font-size:12.5px;color:var(--t3);height:24px;line-height:24px}
.ch-lavori li::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--t4);margin:0 8px 2px 0;vertical-align:middle}

/* ---------- pagina-elenco (una riga per pezza, raggruppata per ordine) ---------- */
.el-ordine{border-top:1px solid var(--filetto);scroll-margin-top:12px}
.el-ordine:first-of-type{border-top:0}
.el-ordine:target{background:var(--blu-chiaro)}
.el-testa{display:grid;grid-template-columns:minmax(0,1fr) 104px 78px 112px 138px;gap:0;align-items:center;height:34px;padding:0;background:#FAF9F7;border-bottom:1px solid var(--filetto2);font-size:13.5px;white-space:nowrap}
.el-testa b{font-weight:650}
.el-testa .cosa{color:var(--t2)}
.el-testa .stato{text-align:right;color:var(--t3)}
.el-testa .stato.tardi{color:var(--t)}
.el-testa .stato.rosso{color:var(--rosso);font-weight:600}
.el-art{font-size:12.5px;color:var(--t3);padding:8px 16px 2px}
.ch-el.pezze col.c-cod{width:130px}
.ch-el.pezze col.c-stato{width:138px}
.ch-el.pezze td.chi{color:var(--t2)}
.ch-el.pezze td.stato{text-align:right;color:var(--t3)}
.ch-el.pezze td.cod a{color:var(--blu)}

/* ---------- la pezza: cartellino + linea del tempo ---------- */
.ch .grigio{color:var(--t3)}
.ch .ambra{color:var(--t);font-weight:600}
.ch .rosso{color:var(--rosso);font-weight:600}
.ch-link-f{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500}
.ch-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 14px;border-radius:5px;background:var(--blu-chiaro);color:var(--blu)!important;font-size:13.5px;font-weight:600;text-decoration:none!important;border:1px solid var(--blu-filo)}
.ch-btn:hover{background:#DCE4F0}
.ch-btn kbd{background:var(--foglio);border-color:var(--blu-filo);color:var(--blu)}

.pz-cart{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:28px;background:var(--foglio);border:1px solid var(--filetto);border-radius:6px;padding:14px 20px 14px 30px;margin-bottom:16px}
/* il foro del cartellino */
.pz-cart::before{content:"";position:absolute;left:11px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--carta);border:1px solid var(--filetto)}
.pz-id{display:flex;flex-direction:column;min-width:0}
.pz-id .eti,.pz-adesso .eti{font-size:11.5px;color:var(--t3);font-weight:500}
.pz-cod{font-family:var(--mono);font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.5px;margin:0;font-variant-numeric:tabular-nums}
.pz-art{font-size:13.5px;color:var(--t2)}
.pz-fatti{display:flex;gap:26px;margin:0;white-space:nowrap}
.pz-fatti div{display:flex;flex-direction:column;min-width:0}
.pz-fatti div.largo{max-width:260px}
.pz-fatti dt{font-size:11.5px;color:var(--t3)}
.pz-fatti dd{margin:0;font-size:14px;font-weight:500;line-height:22px}
.pz-fatti dd.cifra{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.pz-cons{font-size:12.5px;font-weight:500;color:var(--t2);margin-left:4px}
.pz-cons.rosso{color:var(--rosso);font-weight:600}
.pz-barre{display:flex;flex-direction:column;align-items:center;gap:2px;padding-left:24px;border-left:1px dashed var(--filetto)}
.pz-barre svg{width:128px;height:30px;fill:var(--t)}
.pz-barre .cod{font-size:10.5px;color:var(--t3);letter-spacing:1px}

.pz-mezzo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:stretch;margin-bottom:16px}
.pz-tempo{background:var(--foglio);border:1px solid var(--filetto);border-radius:6px;padding:12px 16px 10px}
.pz-tempo>h2{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:650;margin:0 0 6px;white-space:nowrap}
.pz-tempo>h2 .quante{font-size:12.5px;font-weight:400;color:var(--t3)}
.tl-asse,.tl-r,.tl-piede{display:grid;grid-template-columns:104px minmax(0,1fr) 300px;gap:0 14px;align-items:center}
.tl-t{position:relative;height:100%}
.tl-asse{height:22px;font-size:11px;color:var(--t4);font-variant-numeric:tabular-nums}
.tl-asse .tl-t i{position:absolute;top:4px;transform:translateX(-50%);font-style:normal;white-space:nowrap}
.tl-asse .tl-t i.oggi{color:var(--blu);font-weight:600;top:4px;background:var(--foglio);padding:0 3px;z-index:2}
.tl-r{padding:5px 0;line-height:20px;border-top:1px solid var(--filetto2);font-size:13px}
.tl-r .tl-t{height:20px}
.tl-r .tl-l{font-weight:550;color:var(--t)}
.tl-r.manca .tl-l{color:var(--t4);font-weight:500}
.tl-r .tl-t i{position:absolute;top:-5px;bottom:-5px;width:0;border-left:1px solid var(--filetto2)}
.tl-r .tl-t i.oggi{border-left:1px solid var(--blu);opacity:.6}
.tl-r .tl-t i.cons{border-left:1px dashed var(--t3)}
.tl-r .bar{position:absolute;top:4px;height:12px;border-radius:2px;background:#8E9AAE}
.tl-r .bar.fatto{background:#7F8CA3}
.tl-r .bar.ora{background:repeating-linear-gradient(135deg,var(--blu) 0 4px,#5B78A6 4px 8px)}
.tl-r .acc{position:absolute;top:1px;height:18px;border-radius:2px;background:repeating-linear-gradient(135deg,rgba(216,161,63,.85) 0 3px,rgba(216,161,63,.35) 3px 6px);outline:1px solid var(--ambra-barra)}
.tl-r .pt{position:absolute;top:5px;width:10px;height:10px;margin-left:-5px;background:#7F8CA3;transform:rotate(45deg)}
.tl-r .pt.tocca{background:var(--foglio);border:2px solid var(--blu);width:12px;height:12px;margin-left:-6px;top:4px}
.tl-n{font-size:12.5px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-n .q{color:var(--t);font-variant-numeric:tabular-nums;margin-right:4px}
.tl-r.tocca .tl-l,.tl-r.tocca .tl-n{color:var(--blu);font-weight:600}
.tl-piede{height:18px;font-size:11px;color:var(--t3)}
.tl-piede .tl-t i{position:absolute;top:2px;transform:translateX(-50%);font-style:normal;white-space:nowrap;background:var(--foglio);padding:0 3px}

.pz-adesso{display:flex;flex-direction:column;gap:3px;background:var(--foglio);border:1px solid var(--filetto);border-top:2px solid var(--blu);border-radius:6px;padding:12px 16px 14px;min-width:0}
.pz-adesso .grande{font-size:17px;line-height:24px;font-weight:650;margin-bottom:4px}
.pz-adesso .pz-riga{font-size:13px;color:var(--t2);line-height:20px}
.pz-adesso .pz-riga.ambra{color:var(--t)}
.pz-adesso .pz-riga.ambra::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ambra-barra);margin:0 7px 1px 0;vertical-align:middle}
.pz-adesso .ch-btn{margin-top:auto;align-self:flex-start}
.pz-adesso .pz-riga:last-of-type{margin-bottom:12px}

.pz-sotto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.pz-dati{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.pz-dati>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px;align-items:center;padding:5px 0;line-height:20px;border-bottom:1px solid var(--filetto2);font-size:13.5px;white-space:nowrap}
.pz-dati span.l{color:var(--t3);font-size:12.5px}
.pz-dati .cod a,.pz-dati a.cod{color:var(--blu)}
.pz-riga-ord{padding:10px 0 0}
.barra-ord{display:flex;height:8px;border-radius:2px;overflow:hidden;background:var(--filetto2)}
.barra-ord span{display:block;height:100%}
.barra-ord .sped,.legenda i.sped{background:var(--verde)}
.barra-ord .pronti,.legenda i.pronti{background:var(--blu)}
.barra-ord .lav,.legenda i.lav{background:#9A968D}
.legenda{display:flex;gap:16px;margin-top:6px;font-size:12px;color:var(--t3);white-space:nowrap;font-variant-numeric:tabular-nums}
.legenda i{display:inline-block;width:8px;height:8px;border-radius:1px;background:var(--filetto2);margin-right:5px;vertical-align:0}
.legenda .tot{margin-left:auto}
.pz-dati.uno{grid-template-columns:1fr}
.pz-fatti dd small{font-size:12.5px;font-weight:500;color:var(--t3)}
/* elenco: le colonne della pezza sotto quelle del gruppo (metri sotto metri, stato sotto consegna) */
.el-testa>*{padding:0 10px}.el-testa>:first-child{padding-left:16px}.el-testa>:last-child{padding-right:16px}
/* la stazione dove sta il lavoro del proprio ufficio */
.fl-st.mia .fl-nome::after{content:"tuo";font-size:11px;font-weight:500;color:var(--blu);background:var(--blu-chiaro);border-radius:3px;padding:0 5px;margin-left:2px}
.fl-st.on.mia .fl-nome::after{background:var(--foglio)}

/* ---------- schermi larghi / schermo VDI 1366 ---------- */
@media (min-width:1600px){.tl-asse,.tl-r,.tl-piede{grid-template-columns:110px minmax(0,1fr) 380px}}
@media (max-width:1500px){
  .ch-colonne{grid-template-columns:minmax(0,1fr) 300px;gap:18px}
  .ch-cerca{width:280px}
  .fl-st{padding:10px 12px 10px 16px}
  .ch-el td,.ch-el th{padding-left:8px;padding-right:8px}
  .ch-el td.az a::after{content:""}
  .ch-el col.c-cosa{width:84px}
  .ch-el col.c-quante{width:54px}
  .ch-el col.c-val{width:114px}
  .ch-el col.c-eta{width:76px}
  .ch-el col.c-stato{width:128px}
  .ch-el col.c-az{width:84px}
  .ch-el.pezze col.c-stato{width:128px}
  .el-testa{grid-template-columns:minmax(0,1fr) 84px 72px 114px 128px}
  .ch-el.pezze col.c-quante{width:72px}
  .el-testa>*{padding:0 8px}.el-testa>:first-child{padding-left:16px}.el-testa>:last-child{padding-right:16px}
  .pz-sotto{gap:20px}
  .pz-sotto .pz-dati{grid-template-columns:1fr}
}

/* ===================== Variante «Semplice» (07/10/2026, MANDATO-SEMPLICE.md) ===================== */
/* nastro: nome + UN numero + pallino ambra se qualcosa è fermo oltre il tempo normale (il resto nel title e nella lista della stazione) */
.fl-st{gap:4px;padding:12px 16px 12px 20px}
.fl-nome{font-size:13px;color:var(--t)}
.fl-pallino{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ambra-barra);margin-left:2px}
.fl-n{font-size:26px;line-height:32px}
.fl-st.vuota .fl-n,.fl-st.vuota .fl-nome{color:var(--t3)}
.fl-eta.corta{display:inline-flex;width:84px;margin:0 8px 1px 0;vertical-align:middle;flex:none}
/* «Da fare tu»: per lavoro il titolo col verbo (link alla lista intera) e UN bottone; righe a 3 colonne */
.ch-el.ordini col.c-quante,.ch-el.th col.c-quante{width:120px}
.ch-el.ordini col.c-stato,.ch-el.th col.c-stato{width:120px}
.ch-el.th th{background:transparent}
.ch-fare-t{align-items:center;padding:16px 16px 8px}
.ch-fare-t .tit{font-size:14px;font-weight:650;color:var(--t)}
.ch-fare-t .tit::after{content:" →";color:var(--t4filo);font-weight:400}
.ch-btn2{margin-left:auto;flex:none;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:5px;background:var(--blu-chiaro);border:1px solid var(--blu-filo);color:var(--blu)!important;font-size:13px;font-weight:600}
.ch-btn2:hover{background:#DCE4F0;text-decoration:none!important}
.ch-el.ordini td{padding-top:7px;padding-bottom:7px;font-size:14px}
.ch-el td.stato{text-align:right}
.ch-el td.stato.tardi{color:var(--t);font-weight:500}
.ch-el thead th{padding-top:4px;padding-bottom:4px;font-size:12px;font-weight:500;color:var(--t3);text-align:left;border-top:1px solid var(--filetto2)}
.ch-el thead th.num{text-align:right}
/* «Da sapere»: la riga intera è il link */
a.ch-avv{color:var(--t)!important;padding:8px 0}
a.ch-avv:hover{text-decoration:none!important;background:var(--sel)}
a.ch-avv::after{content:"→";color:var(--t4filo);flex:none}
.ch-altro{display:block;margin-top:-6px;font-size:13px;font-weight:500}
.ch-altro::after{content:" →"}
/* «Storico e altro»: il livello sotto, tutto quello che non sta più in prima pagina */
.al-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 32px;align-items:start}
.al-largo{grid-column:1/-1}
.al-filiera col.c-st{width:150px}.al-filiera col.c-n{width:170px}.al-filiera col.c-m{width:110px}.al-filiera col.c-oltre{width:260px}
.al-filiera td{font-size:13.5px}
.al-filiera td:first-child,.al-filiera th:first-child{padding-left:0}
.al-avv{padding:9px 0;border-bottom:1px solid var(--filetto2);font-size:13.5px}
.al-avv b{font-weight:600}
.al-avv a{font-size:12.5px;font-weight:500;margin-left:6px}
.al-avv a:first-child{margin-left:0;font-size:13.5px;color:var(--t)}
.al-avv p{margin:3px 0 0;color:var(--t3);font-size:13px;line-height:19px}
/* pezza: «Tutti i dati» richiudibile, riga d'ordine in una riga */
.pz-tutti{margin-top:6px}
.pz-tutti>summary{cursor:pointer;list-style:none;font-size:13px;font-weight:500;color:var(--blu);padding:8px 0 4px;width:max-content}
.pz-tutti>summary::-webkit-details-marker{display:none}
.pz-tutti>summary::after{content:" ▸";color:var(--blu)}
.pz-tutti[open]>summary::after{content:" ▾"}
.pz-ord{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 0;line-height:20px;border-bottom:1px solid var(--filetto2);font-size:13.5px;white-space:nowrap;width:calc(50% - 12px)}
.pz-ord .num{margin-left:6px}
.pz-ord .l{color:var(--t3);font-size:12.5px}
.pz-ord .barra-ord{height:8px}
@media (max-width:1500px){
  .ch-el.ordini col.c-quante,.ch-el.th col.c-quante{width:120px}
  .ch-el.ordini col.c-stato,.ch-el.th col.c-stato{width:96px}
  .fl-st{padding:10px 12px 10px 16px}
  .al-griglia{grid-template-columns:minmax(0,1fr)}
}
/* la home sta in una colonna di lettura: a 1920 le 3 colonne della lista non sono più a 1.300 px una dall'altra */
.ch-pag{max-width:1400px}
.al-conto{margin-left:8px;color:var(--t3);font-size:13px}

/* ===================== Fase 2 blocco 1: accesso, profilo, utenti, tabelle di base (stessa veste «Semplice») ===================== */
.ch-lato .ch-chi{display:flex;flex-direction:column;gap:2px;padding:10px 10px 0;border-top:1px solid var(--filetto);margin-top:10px;font-size:12.5px;color:var(--t3)}
.ch-lato .ch-chi a{color:var(--t)!important;font-weight:600;font-size:13px}
.ch-lato .ch-chi form{margin:0}
.ch-lato .ch-chi button{all:unset;cursor:pointer;color:var(--blu);font-size:12.5px}
.ch-lato .ch-demo{margin-top:8px}
.ch-pag.stretta{max-width:980px}
.ch-mod{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 16px 14px;border-top:1px solid var(--filetto2)}
.ch-mod label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t3);font-weight:500}
.ch-mod input,.ch-mod select{height:32px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;background:var(--foglio);padding:0 10px;font:inherit;font-size:13.5px;color:var(--t);min-width:120px}
.ch-mod input:focus,.ch-mod select:focus{outline:0;border-color:var(--blu);box-shadow:0 0 0 3px var(--blu-chiaro)}
.ch-mod input.largo{min-width:280px}
.ch-mod button,.ch-bt{height:32px;padding:0 16px;border-radius:5px;border:1px solid var(--blu-filo);background:var(--blu-chiaro);color:var(--blu);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.ch-mod button:hover,.ch-bt:hover{background:#DCE4F0}
.ch-mod .esito{align-self:center;font-size:13px;color:var(--t)}
.ch-mod .errore{align-self:center;font-size:13px;color:var(--rosso);font-weight:600}
.ch-mod .radio{flex-direction:row;align-items:center;gap:6px;color:var(--t);font-size:13.5px;height:32px}
.ch-mod .radio input{min-width:0;height:auto}
.ch-nota{padding:4px 16px 12px;font-size:12.5px;color:var(--t3)}
.ch-schede{display:flex;gap:2px;align-self:stretch}
.ch-schede a{display:flex;align-items:center;padding:0 10px;color:var(--t3)!important;font-size:13.5px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.ch-schede a.on{color:var(--t)!important;border-bottom-color:var(--blu);font-weight:600}
.ch-pila{display:flex;flex-direction:column;gap:16px}
/* accesso */
body:has(.ac){margin:0;padding:0}
.ac{--blu:#1F3F6E;min-height:100vh;display:grid;place-items:center;background:#F6F5F2;font:400 14px/20px "Inter","Segoe UI",-apple-system,system-ui,sans-serif;color:#1C1B19}
.ac-box{width:380px;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #E3E0D8;border-radius:8px;padding:28px 30px 24px}
.ac-box .ch-marchio{padding:0 0 6px}
.ac-box h1{font-size:18px;font-weight:650;margin:0}
.ac-box label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#6B675F;font-weight:500}
.ac-box input{height:36px;border:1px solid #E3E0D8;border-radius:5px;padding:0 10px;font:inherit;font-size:14px;color:#1C1B19}
.ac-box input:focus{outline:0;border-color:#1F3F6E;box-shadow:0 0 0 3px #E9EEF5}
.ac-box button{height:36px;border:1px solid #C3CFE0;border-radius:5px;background:#E9EEF5;color:#1F3F6E;font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.ac-err{margin:0;color:#B42318;font-weight:600;font-size:13px}
.ac-demo{margin:4px 0 0;padding-top:12px;border-top:1px solid #ECEAE4;font-size:12.5px;color:#6B675F}
.ac-demo ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:auto 1fr;gap:2px 12px}
.ac-demo li{display:contents}
.ac-demo b{font-weight:600;color:#1C1B19;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:12px}
/* Fase 2 blocco 2 (anagrafiche e articoli): riquadro «nuovo» a griglia, scheda con le sue schede, avvisi da confermare */
.ch-mod.griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;align-items:end}
.ch-mod.griglia label input,.ch-mod.griglia label select{width:100%;min-width:0}
.ch-mod.griglia .x2{grid-column:span 2}
.ch-mod.griglia .x4{grid-column:1/-1}
.ch-mod.griglia .piede{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ch-mod.griglia .radio input{width:auto;flex:none}
.ch-mod.griglia .radio{white-space:nowrap}
.ch-mod fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--t3);font-weight:500}
.ch-mod fieldset legend{padding:0 0 4px}
.ch-avvisi{margin:0;padding:8px 16px 4px 32px;font-size:13px;color:var(--rosso);font-weight:600}
.ch-avvisi li{margin:2px 0}
.ch-dati{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;margin:0;padding:4px 16px 12px}
.ch-dati div{display:flex;flex-direction:column;min-width:0}
.ch-dati dt{font-size:11.5px;color:var(--t3)}
.ch-dati dd{margin:0;font-size:13.5px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-dati .x2{grid-column:span 2}
.ch-dati dd.intero{white-space:normal;overflow:visible}   /* blocco 6: testo che si legge intero (testata del carico, DDT) */
.ch-barra .ch-schede{height:52px}
/* Fase 2 blocco 3 (magazzino: movimenti e fiscale) */
.fis-anno{display:flex;align-items:center;gap:12px}
.fis-anno label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--t3);font-weight:500}
.fis-anno select{height:30px;border:1px solid var(--filetto);border-radius:5px;background:var(--foglio);padding:0 8px;font:inherit;font-size:13.5px;color:var(--t)}
.fis-passi .ch-avv{padding:8px 16px;gap:14px}
.fis-passi .ch-avv b{flex:none;width:110px}
.fis-passi .ch-avv span{flex:none}
.fis-passi .ch-avv a{margin-left:auto}
.fis-passi .ch-avv a + a{margin-left:0}
.ch-lista h2 .fis-schede{display:inline-flex;height:auto;gap:0}
.ch-lista h2 .fis-schede a{padding:0 12px 0 0;border:0;font-size:13.5px}
.ch-lista h2 .fis-schede a.on{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--blu)}
.fis-righe input{height:24px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:4px;background:var(--foglio);padding:0 5px;font:inherit;font-size:13px;color:var(--t)}
.fis-righe input[type=checkbox]{height:auto;margin:0 6px 0 0;vertical-align:-2px}
.fis-righe input.fis-c{width:26px;text-align:center}
.fis-righe input.fis-c3{width:58px}
.fis-righe input.fis-q{width:88px;text-align:right}
.fis-righe .fis-um{display:inline-block;width:20px;text-align:left;color:var(--t2)}
.fis-righe tr.fis-guarda td:first-child{box-shadow:inset 2px 0 0 var(--ambra-barra)}
.fis-su{display:inline-block;width:20px;color:var(--t2)}
.fis-piu{margin-left:8px;color:var(--t3)!important;text-decoration:none!important}
.fis-sorgente b{letter-spacing:.04em}
.fis-avv{align-self:center;padding:0;color:var(--t2)}
tr.fis-gruppo td{background:var(--sel)}
tr.fis-tot td{font-weight:600}
.mv-riga{margin:0;padding-top:10px}
.ch-mod > a{align-self:center}
.fis-righe-sez .pager{padding:8px 16px}
.fis-conf > .ch-avv{padding:8px 16px;gap:14px}
.fis-conf > .ch-nota{padding:4px 16px}
@media print{.ch-lato,.ch-barra .ch-bt{display:none}.stampa-fis{max-width:none}}

/* fase 2 blocco 4: tessitura (ordine di greggio con le righe sulla stessa pagina, rientro con la lettura dei cartellini) */
.tx-testa-mod{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%}
.tx-testa-mod .tx-cli{align-self:center;font-size:13px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-righe{display:flex;flex-direction:column;gap:6px;width:100%}
.tx-riga{display:grid;grid-template-columns:34px 150px 96px 120px 120px 1fr 40px;gap:8px;align-items:center}
.tx-riga.testa{font-size:12px;color:var(--t3);font-weight:500}
.tx-riga.sola{grid-template-columns:34px 1fr 120px 140px 180px;font-size:13.5px;padding:4px 16px;border-top:1px solid var(--filetto2)}
.tx-riga .n{color:var(--t3);font-size:12.5px;text-align:right}
.tx-riga input{min-width:0!important;width:100%}
.tx-riga .calc{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-riga.chiusa input{background:var(--carta)}
.tx-err{font-size:13px;color:var(--rosso);font-weight:600}
.tx-err.riga{margin:-2px 0 2px 42px}
.tx-piu{position:relative}
.tx-piu summary{list-style:none;cursor:pointer;height:32px;width:32px;display:grid;place-items:center;border:1px solid var(--filetto);border-radius:5px;color:var(--t3);font-weight:700}
.tx-piu summary::-webkit-details-marker{display:none}
.tx-menu{position:absolute;right:0;top:36px;z-index:5;background:var(--foglio);border:1px solid var(--filetto);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.08);
  padding:10px;display:flex;flex-direction:column;gap:8px;min-width:300px}
.tx-menu .tx-ann{display:flex;gap:6px}
.tx-menu .tx-ann input{width:90px;min-width:0}
.tx-menu .grigio{font-size:12px}
.tx-altro{padding:4px 16px 12px;font-size:13px}
.tx-altro summary{cursor:pointer;color:var(--t3);padding:6px 0}
.tx-testa{padding:0 16px}
.tx-esito{color:var(--t)}
.tx-avviso{color:var(--t);font-weight:600}
.tx-domanda{font-weight:600}
.tx-blocco{font-weight:600;color:var(--t);margin:4px 16px;padding:6px 10px;border-left:3px solid var(--t3);background:var(--carta)}
.tx-gruppo{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%;padding:8px 16px 4px;border-top:1px solid var(--filetto);font-size:13.5px}
.ch-mod .tx-gruppo{padding:8px 0 4px}
.tx-gruppo .art{font-weight:600;align-self:center;min-width:220px}
.tx-gruppo label{flex-direction:row!important;align-items:center}
.tx-gruppo input{width:96px;min-width:0!important}
.tx-gruppo .grigio,.tx-gruppo .tx-diverso{align-self:center}
.tx-diverso{color:var(--t);font-weight:600;background:#ECEAE4;padding:2px 6px;border-radius:4px}
.tx-pezza{display:flex;align-items:center;gap:8px;width:100%;padding:2px 16px 2px 24px;font-size:13.5px}
.ch-mod .tx-pezza{padding:2px 0 2px 8px}
.tx-pezza .cod{width:150px}
.tx-pezza input{width:90px;min-width:0!important;height:28px!important}
.tx-pezza .um{color:var(--t3);font-size:12.5px;margin-right:8px}
.tx-pezza.ko .cod{color:var(--t3)}
.tx-pezza .tx-in{display:flex;align-items:center;gap:8px}
.tx-pezza .tx-in input{height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px}
.tx-pezza .tx-in button,.tx-pezza .tx-togli{height:28px!important;padding:0 10px!important;font-size:12.5px!important;border-radius:5px;border:1px solid var(--filetto);background:var(--foglio);color:var(--t2);cursor:pointer;font-weight:500}
.tx-attese{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding-top:8px;border-top:1px solid var(--filetto2);font-size:13px}
.tx-attese .grigio{width:100%}
.ch-mod button.tx-attesa{height:28px;padding:0 10px;font-weight:500;background:var(--foglio);border-color:var(--filetto);color:var(--t)}
.ch-mod button:disabled{background:#EEECE7;border-color:var(--filetto);color:var(--t3);cursor:not-allowed}
.ch-mod .tx-manca{border-color:var(--rosso)!important}
.tx-rientro .piede,.tn-rientro .piede,.tx-ordine .piede{display:flex;align-items:center;gap:14px;width:100%;flex-wrap:wrap}
a.ch-bt{display:inline-flex;align-items:center;box-sizing:border-box;text-decoration:none}
.tx-attese button.tx-link{border:0;background:none;padding:0 4px;color:var(--blu);cursor:pointer;font:inherit}

/* fase 2 blocco 5 (compito 06): carico da fornitore, dividi, modifica, cartellini */
.pz-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--filetto)}
.pz-azioni .ch-btn2{margin-left:0}
.pz-azioni .ch-btn2.spento{background:var(--foglio);border-color:var(--filetto);color:var(--t3)!important;cursor:not-allowed;font-weight:500}
.pz-azioni .pz-perche{flex-basis:100%;font-size:12px;color:var(--t3);line-height:17px}
.pz-carico .pz-campi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 12px;align-items:end;padding:4px 0 8px}
.pz-carico .pz-campi label.largo{grid-column:1/-1}
.pz-carico .pz-campi label.largo select{width:100%}
.pz-carico .pz-campi label input,.pz-carico .pz-campi label select{width:100%;box-sizing:border-box}
.pz-carico .pz-ord-scelto{grid-column:1/-1;margin:0}
.pz-sotto{font-size:13.5px;font-weight:650;margin:14px 0 6px;display:flex;gap:12px;align-items:baseline}
.pz-sotto .grigio{font-weight:400}
.pz-pezze .tx-riga{grid-template-columns:36px 150px 110px 110px 1fr}
.pz-avviso{display:block;color:var(--t2);font-size:12.5px;margin:2px 0}
.pz-nascono{padding:8px 0;color:var(--t)}
.pz-scarto{color:var(--t)}
.pz-scarto b{color:#9A5B00}
.pz-no{color:#A3271F;font-weight:600;padding:8px 16px}
.pz-dispo{color:var(--t);background:#FFF7E6;border:1px solid #F0D9A8;border-radius:5px;padding:8px 12px;margin:0 0 10px}
.pz-altro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:8px 0}
.pz-altro .grigio{grid-column:1/-1}
.pz-cartellini{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:8px 16px 16px}
.pz-cartellino{border:1.5px solid var(--t);border-radius:4px;padding:12px 14px;break-inside:avoid;page-break-inside:avoid;background:#fff}
.pz-cartellino .cod-grande{font-family:ui-monospace,Menlo,monospace;font-size:26px;font-weight:700;letter-spacing:1px}
.pz-cartellino .tp{font-size:15px;font-weight:650;margin-bottom:6px}
.pz-cartellino .art,.pz-cartellino .col,.pz-cartellino .mis{font-size:13px;line-height:19px}
.pz-cartellino .da{font-size:11.5px;margin-top:6px}
@media print{.pz-cartellini{grid-template-columns:1fr 1fr}.pz-cartellino{border-color:#000}}
.pz-piede{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* fase 2 blocco 6 (compito 02): manda in tintoria, rientro dalla tintoria, partita, DDT */
.tn-testa{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%}
.tn-testa .tn-largo select{min-width:520px;max-width:620px}
.tn-testa select{min-width:240px}
/* blocco 7, visto sullo screenshot: le istruzioni al rifinitore si leggevano tagliate («garzare lato dritto, altezza») */
.tn-testa .tn-largo input{width:520px}
.tn-nota{align-self:center;font-size:12.5px;max-width:300px}
.ch-mod input.tn-lettura{width:190px}
.tn-doc dd{white-space:normal;overflow:visible;text-overflow:clip}
@media print{.tn-non-stampa{display:none}body:has(.ch),.ch-corpo{background:#fff}.stampa-fis .ch-lista{border:0;max-width:none}}
.tn-riga1{display:flex;gap:12px;width:100%;font-size:13.5px;align-items:baseline}
.tn-riga1 .l{font-size:12px;color:var(--t3);width:72px}
.ch-mod button.tn-sec{background:var(--foglio);border-color:var(--filetto);color:var(--t2);font-weight:500}
.tn-manda .tx-pezza .tn-cosa{width:300px;color:var(--t2);font-size:13px}
.tn-manda .tx-pezza .num{width:90px;text-align:right;font-variant-numeric:tabular-nums}
.tn-manda .tx-pezza .tx-err{max-width:640px}
.ch-mod button.tn-link{border:0;background:none;padding:0 0 0 8px;height:auto;color:var(--blu);font-weight:500}
.tn-ddt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 14px;width:100%;align-items:end}
.tn-ddt label input,.tn-ddt label select{width:100%;min-width:0}
.tn-ddt .tn-largo{grid-column:span 2}
.tn-stampe{display:flex;gap:18px;width:100%}
.tn-altro{width:100%;padding:0}
.tn-altro .tn-ddt{margin:6px 0 10px}
.tn-non{font-size:12.5px;margin:4px 0 6px;line-height:18px}
.tn-righe{display:flex;flex-direction:column;gap:4px;width:100%}
.tn-r{display:grid;grid-template-columns:34px 130px 110px 100px 100px 150px 40px;gap:8px;align-items:center;font-size:13.5px}
.tn-r.testa{font-size:12px;color:var(--t3);font-weight:500}
.tn-r input{min-width:0!important;width:100%;height:28px!important}
.tn-r .tn-3{grid-column:span 3}
.tn-r.spenta .cod{color:var(--t3)}
.ch-mod button.tn-spunta{height:28px;width:30px;padding:0;background:var(--foglio);border-color:var(--filetto);color:var(--t);font-size:15px}
.tn-r input.tx-diverso{background:#ECEAE4}
.ch-lista h2.tn-sotto{padding-top:14px;border-top:1px solid var(--filetto2)}
/* fase 2 blocco 7 (compito 03): Da disporre, elenco unico delle disposizioni */
.dd-pannello{grid-template-columns:110px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}
.dd-pannello .dd-nota{align-self:center;font-size:12.5px;min-width:0}
.dd-pannello .x2{grid-column:span 2}
.dd-pannello .tx-altro{grid-column:1/-1}
.dd-altro{padding:8px 0 0;border-top:0;grid-template-columns:repeat(4,minmax(0,1fr))}
/* blocco 7, visto sullo screenshot: licci, altezza pettine e i campi spenti sembravano da scrivere (bianchi come gli altri) */
.dd-pannello input:disabled,.dd-pannello select:disabled{background:#EEECE7;border-color:var(--filetto);color:var(--t2);cursor:not-allowed}
.dd-insieme{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.dd-insieme .grigio{width:100%;font-size:12.5px}
.dd-filtri{padding:6px 16px 8px;gap:6px;align-items:center;border-top:0}
.dd-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid var(--filetto);border-radius:13px;font-size:12.5px;color:var(--t2)!important;background:var(--foglio)}
.dd-chip.on{border-color:var(--blu-filo);background:var(--blu-chiaro);color:var(--blu)!important;font-weight:600}
.ch-el input.dd-spunta{width:16px;height:16px;margin:0 12px 0 0;vertical-align:-3px}
.ch-el td.num.rosso{color:var(--rosso);font-weight:600}
.dd-piede{border-top:1px solid var(--filetto2);align-items:center}
.dd-piede .sp{flex:1}
/* fase 2 blocco 8: Controlli fatti (filtri, gruppi articolo · colore · lotto) e «Rapporto ▸» dal rientro */
.ch .cf-filtri{margin:0 0 10px}
.ch .cf-filtri summary{cursor:pointer;color:var(--t3);font-weight:600;list-style:none}
.ch .cf-filtri summary::-webkit-details-marker{display:none}
.ch .cf-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:8px}
.ch .cf-gruppo{padding:0 16px;font-weight:600;margin:14px 0 4px;padding-bottom:3px;border-bottom:1px solid var(--filetto)}
.ch .tx-rap{margin-right:8px;white-space:nowrap}
/* fase 2 blocco 9 (compito 08): packing e DDT di vendita. Visti sullo screenshot: il titolo del gruppo «PF…» tagliato (la griglia delle righe di
   tessitura), i campi spenti (colli, netto, n° DDT, azienda) bianchi come quelli da scrivere, il menu ▾ di «Crea DDT» staccato in alto a destra */
.pk-mod .pk-gr{display:flex;gap:14px;align-items:baseline;width:100%;padding:10px 0 2px;font-size:13.5px;font-weight:600}
.pk-mod .pk-gr .grigio{font-weight:400}
.pk-mod input:disabled,.pk-mod select:disabled{background:#EEECE7;border-color:var(--filetto);color:var(--t2);cursor:not-allowed}
.pk-mod .piede{position:relative;display:flex;width:100%;align-items:center;flex-direction:row;flex-wrap:wrap;gap:10px}
.pk-mod .pk-menu .tx-menu{left:0;right:auto;bottom:40px;top:auto}
.pk-mod .pk-menu .tx-menu label{display:flex;flex-direction:row;gap:8px;align-items:center}
.pk-mod .pk-menu .tx-menu input{width:110px}
.pk-mod .pk-vuoto{padding:8px 0}
.pk-mod .tx-pezza.ko .tx-err{max-width:760px}
.ch-pag .pk-blocco{font-weight:600;color:var(--t);margin:4px 0 10px;padding:6px 10px;border-left:3px solid var(--t3);background:var(--carta)}
.pk-st-gr{font-size:14px;margin:14px 0 4px}
.pk-area{display:flex;flex-direction:column;gap:4px;width:100%;font-size:12.5px;color:var(--t3)}
.pk-area textarea{width:100%;font:inherit;font-size:14px;color:var(--t);padding:6px 8px;border:1px solid var(--filetto);border-radius:5px}
.pk-mod .tn-ddt .radio input{width:auto;flex:none}
/* Fase 2 blocco 10 (fatture): errore sulla riga della fattura provvisoria, campi numerici della nota di credito, tracciato FE, un foglio per fattura in stampa */
.ch-el td.ft-err{padding-left:32px;font-size:12.5px}
.ch-el td.ft-err.grigio{color:var(--t3)}
.ch-el input.ft-num{width:100%;height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px;text-align:right}
.ch-el input.ft-libera{width:100%;height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px}
.ft-xml{margin:0;padding:12px 16px;font-size:11.5px;line-height:16px;white-space:pre-wrap;word-break:break-all;border-top:1px solid var(--filetto2);color:var(--t2);max-height:none}
.fattura-perche{font-size:12.5px;max-width:560px}
.ch-mod button:disabled{opacity:.5;cursor:not-allowed}
@media print{.ft-foglio{break-after:page}}
.ch-el td.ft-err.rosso{color:var(--rosso);font-weight:600}
.ch-mod input:disabled,.ch-mod select:disabled{background:var(--carta);color:var(--t3)}
.sc-file{margin:8px 16px 12px;padding:10px 12px;background:#FAF9F7;border:1px solid var(--filetto);border-radius:4px;font:12px/1.45 ui-monospace,Menlo,monospace;white-space:pre;overflow:auto;max-height:420px}
.ch-mod input.lungo{width:320px}
/* fase 2 blocco 12: ordini clienti (compito 11 § 4.1) — nuovo ordine / modifica righe, conferma stampata */
.oc .oc-pad{padding:0 16px}
.oc-mod .oc-testa{display:flex;align-items:baseline;gap:14px;width:100%;font-size:14px}
.oc-mod .oc-testa .grigio{font-size:12.5px}
.oc-cond{width:100%;font-size:13.5px}
.oc-cond summary{cursor:pointer;list-style:none;padding:4px 0;color:var(--t)}
.oc-cond summary::-webkit-details-marker{display:none}
.oc-cond .oc-cambia{color:var(--blu);margin-left:8px;font-size:12.5px}
.oc-cond .tx-testa-mod{padding:8px 0 4px}
.ch-mod input.oc-corto{min-width:0;width:90px}
.oc-riga{grid-template-columns:30px 120px 80px 96px 64px 106px 90px minmax(0,1fr) 34px}
.oc-riga input{padding:0 8px!important}
.oc-riga.oc-ko input{border-color:#E4B9B4}
.oc-menu{display:flex;flex-direction:column;gap:8px;min-width:260px;padding:12px}
.oc-menu label{flex-direction:row!important;justify-content:space-between;align-items:center;gap:10px}
.oc-menu input{width:110px;min-width:0!important}
.oc-mod .piede .oc-tot{font-size:13.5px;color:var(--t)}
.ch-mod button.oc-secondario{background:var(--foglio);border-color:var(--filetto);color:var(--t2);font-weight:500}
.oc-mail{margin:14px 16px 4px;padding-top:10px;border-top:1px solid var(--filetto2)}
.oc-mail h3{font-size:13.5px;margin:0 0 6px;font-weight:600}
.oc-mail pre{font:inherit;font-size:13px;white-space:pre-wrap;background:var(--carta);padding:10px 12px;border-radius:5px;margin:6px 0 0}
.oc-mod .oc-cli .oc-cambia-cli{margin-left:8px}
.ch-dati .oc-largo{grid-column:span 2}
.ch-dati .oc-largo dd{white-space:normal;overflow:visible}
.oc-menu label.radio{justify-content:flex-start;align-items:flex-start;font-size:13px;color:var(--t)}
.oc-menu label.radio input{width:auto;height:auto;margin-top:3px}
.oc-riga .calc{white-space:normal!important;line-height:15px;font-size:12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* fase 2 blocco 13: acquisti (ordine a fornitore, da ricevere, carico dalle righe) */
.of-riga{grid-template-columns:30px 120px 80px 96px 90px 106px minmax(0,1fr) 34px}
.oc-mod .of-note{width:100%;font-size:13px}
.ch-el tr.of-saldata td{color:var(--t3)}
.ch-el td.of-senza{color:var(--rosso);font-weight:600}
.ch-el button.of-az{height:26px;padding:0 10px;border-radius:5px;border:1px solid var(--filetto);background:var(--foglio);color:var(--t2);font:inherit;font-size:12.5px;cursor:pointer;margin-right:8px}
.ch-el button.of-az:hover{background:var(--sel)}
.ch-el.ricevere td.tr input[type=checkbox]{margin:0 8px 0 0;vertical-align:-2px}
.ch-el tr.el-testa td{font-size:12.5px;color:var(--t3);background:#FAF9F7;padding-top:5px;padding-bottom:5px}
.of-storia{list-style:none;margin:6px 16px 10px;padding:0;font-size:13px;display:flex;flex-direction:column;gap:3px}
.pz-righe-of{padding:4px 0 6px}
.pz-riga-of{grid-template-columns:minmax(0,1fr) 70px 110px 110px 80px}
.pz-riga-of .radio{height:32px}
/* blocco 13: scheda ordine cliente in veste Semplice — una barra di stato sola */
.oc-stato{display:flex;gap:4px;padding:0 16px 10px;font-size:12.5px}
.oc-stato span{padding:3px 10px;border-radius:12px;color:var(--t3);background:var(--carta)}
.oc-stato span.fatto{color:var(--t2)}
.oc-stato span.on{color:var(--blu);background:var(--blu-chiaro);font-weight:600}
.oc-righe-scheda td.stato.tardi{color:var(--t);font-weight:600}
.tx-avviso.riga{margin:-2px 0 2px 42px;font-weight:400;color:var(--t2)}
/* blocco 13, screenshot 07: la testata d'ordine in «Da ricevere» era una griglia (el-testa delle liste) dentro la tabella → banda tagliata a metà */
.ch-el tr.of-testa td{font-size:12.5px;color:var(--t3);background:#FAF9F7;padding-top:5px;padding-bottom:5px;border-bottom:1px solid var(--filetto2)}
.ch-el.ricevere td.tr{padding-left:42px}
.ch-el.ricevere td.tr input[type=checkbox]{margin:0 13px 0 -26px}
.ch-el.ricevere td.stato{white-space:nowrap}
.ch-el.ricevere td.stato .grigio{display:inline-block;min-width:124px;text-align:right}
/* blocco 13, screenshot 08: «MGC · magazzin» tagliato nel carico da più righe */
.pz-campi-of{grid-template-columns:160px 150px minmax(240px,320px)!important}

/* fase 2 blocco 14: prefatture dei lavoranti (elenco per lavorante, riconcilia una fattura) */
.pf-pad{padding:8px 16px;margin:0}
.ch-mod.pf-rico{display:block;padding:0 0 12px}
.pf-testa{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 16px}
.pf-testa input{width:150px}
.ch-mod .pf-tot{padding:8px 16px 6px}
.pf-tot .art{min-width:0}
.pf-riga{display:grid;grid-template-columns:22px minmax(0,1fr) 110px 30px 130px 36px;gap:10px;align-items:center;padding:4px 16px;border-top:1px solid var(--filetto2);font-size:13.5px}
.ch-mod .pf-riga input[type=checkbox]{width:16px;height:16px;min-width:0;margin:0;padding:0}
.ch-mod .pf-riga input.num{width:100%;min-width:0;height:28px;text-align:right}
.pf-riga .num{text-align:right}
.pf-riga.spenta{color:var(--t3)}
.pf-riga .tx-menu{width:260px;padding:10px;display:flex;flex-direction:column;gap:8px}
.pf-riga .tx-menu label{flex-direction:column!important;align-items:stretch!important}
.pf-riga .tx-menu label.radio{flex-direction:row!important;align-items:center!important}
.pf-rico .piede{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px 0}
.pf-rico .tx-link{border:0;background:none;color:var(--blu);cursor:pointer;font:inherit;padding:6px 16px;height:auto}
.pf-conta{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:12px}
.pf-conta dd b{font-size:20px;font-weight:600;margin-right:4px}
.pf-annulla{align-self:center;font-size:13.5px}
.pf-altro{margin:0 16px 12px}
.ch-el.pf-el td.chi .grigio{margin-left:6px}
/* blocco 14, minori del blocco 13 */
.of-riga .calc .of-nc{font-size:12px}
.of-tutte{margin:0;padding:8px 16px}
/* fase 2 blocco 15: filati (esistenza, arrivo, bolla, manda e rientro filati) */
.fl-pad{margin:0;padding:8px 16px}
.fl-filtri{margin:0 16px 8px}
.fl-filtri .ch-mod{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.ch-el.fl-el td.chi .grigio{margin-left:4px}
.ch-el td.fl-neg,.fl-neg{color:var(--rosso);font-weight:600}
.fl-partita .fl-testa{display:flex;align-items:center;gap:12px;padding-right:16px}
.fl-partita .fl-testa h2{flex:1;min-width:0}
.fl-conti{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 16px}
.fl-conti dd b{font-size:18px;font-weight:600;margin-right:4px}
.fl-impegna{margin:4px 16px 10px;padding:10px 12px;border:1px solid var(--filetto);border-radius:6px}
.fl-impegna h3{margin:0 0 8px;font-size:14px;font-weight:600}
.fl-impegna .ch-mod{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.fl-impegna input.corto,.fl-filtri input.corto{width:110px}
.ch-el tr.fl-chiuso td{color:var(--t3)}
.fl-inline{display:inline;margin:0}
.fl-sec{height:26px;padding:0 10px;font-size:12.5px;background:transparent;color:var(--blu);border:1px solid var(--filetto);border-radius:4px;cursor:pointer}
.fl-piu{margin-left:6px;color:var(--t3);text-decoration:none}
.fl-arrivo .fl-campi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end;padding:4px 0 10px}
.fl-arrivo .fl-campi label input,.fl-arrivo .fl-campi label select{width:100%;box-sizing:border-box}
.fl-riga{grid-template-columns:22px minmax(0,1fr) 110px 100px 80px 130px 70px}
.ch-mod .fl-riga input[type=checkbox]{width:16px;height:16px;min-width:0!important;margin:0;padding:0}
.fl-riga.spenta .calc{color:var(--t3)}
.fl-avv{color:var(--t);font-weight:600}
.fl-nota{margin:8px 0 0;font-size:13px}
.fl-ult{margin-left:10px}
.fl-scelta input.corto{width:100px}
.fl-rientro .tn-r{grid-template-columns:170px minmax(0,1fr) 120px 110px 80px}
.fl-rientro .tn-r label.radio{display:flex;align-items:center;gap:6px}
.fl-rientro .tn-r input[type=checkbox]{width:16px!important;height:16px!important;margin:0}
.fl-rif .tx-testa-mod{display:flex;gap:12px;align-items:flex-end;padding:4px 0 10px}
.fl-partita .fl-testa{padding:0 16px 10px}
.fl-partita .fl-testa h2{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:650;margin:0;white-space:nowrap;min-width:0}
.fl-partita .fl-testa h2 .quante{font-size:12.5px;font-weight:400;color:var(--t3);overflow:hidden;text-overflow:ellipsis}
/* fase 2 blocco 16 (compito 14): contabilità — errori in riga col gesto, righe della registrazione, bilancino con la scheda a destra */
.ch-el tr.cb-err td{border-top:0;padding-top:0;padding-left:28px!important;white-space:normal;font-size:12.5px}
.cb-gesto{margin-left:10px;height:24px;padding:0 10px;font-size:12.5px;background:transparent;color:var(--blu);border:1px solid var(--filetto);border-radius:4px;cursor:pointer;font-weight:500}
a.cb-gesto{border:0;padding:0;font-weight:500}
.cb-fine{display:flex;gap:28px;padding:0 16px 6px;margin:0}
.cb-testa{flex-wrap:wrap}
.cb-recenti a{margin-left:8px}
.cb-conto{width:150px}
.cb-nome{max-width:360px;align-self:center}
.cb-righe{margin-top:6px}
.cb-mod{padding:6px 16px}
.cb-riga{padding:2px 0}
.cb-mese{margin:0 0 0 18px;padding:0}
.cb-mese select{min-width:160px}
.cb-altro{position:relative;margin-left:8px}
.cb-altro>.ch-mod,.cb-altro>.ch-bt{position:absolute;right:0;top:28px;z-index:5;background:var(--carta,#fff);border:1px solid var(--filetto);padding:8px;border-radius:4px;white-space:nowrap}
.cb-pag{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:18px;align-items:start}
.cb-pag>.cb-bil:only-child{grid-column:1 / -1}
.cb-valuta{font-size:13px;font-weight:600;margin:14px 16px 4px}
.ch-el tr.cb-gruppo td{color:var(--t2)}
.ch-el tr.on td{background:var(--sel)}
.cb-scheda h2 .chiudi{margin-left:auto}
.cb-mov td{font-size:12.5px}
/* visto sugli screenshot 08 e 12 del blocco 16: «non quadra» nel titolo della tabella restava grigio; «Mese» sopra il menu usciva dalla barra */
.ch-el th.rosso{color:var(--rosso);font-weight:600}
.cb-mese label{display:flex;flex-direction:row;align-items:center;gap:8px}
/* fase 2 blocco 18 (provvigioni), visto sugli screenshot: il motivo di «Da sistemare» tagliato a metà (si perdeva «ora l'ordine dice A005»), l'avviso IVA grigio come
   una nota qualunque, l'e-mail dell'agente tagliata nel campo */
.pv-azione{display:flex;align-items:center;gap:12px;padding:10px 16px}
.pv-azione .ch-mod,.pv-azione label{margin:0}
.ch-el.pv-sis td.mot{white-space:normal;line-height:1.35;padding-top:7px;padding-bottom:7px}
.pv-gesto{height:26px;padding:0 10px;font-size:12.5px;background:transparent;color:var(--blu);border:1px solid var(--filetto);border-radius:4px;cursor:pointer;font-weight:500}
.iv-avviso{background:var(--ambra-chiaro);color:var(--ambra);border-left:3px solid var(--ambra-barra);padding:8px 12px;margin:8px 16px;border-radius:2px;font-weight:500}
.pv-agente input[name=Email]{width:300px}
/* fase 2 blocco 19: statistiche (venduto, giorno per giorno, portafoglio) */
.ch-mod.sx-testa{border-top:0;padding-bottom:8px}
.ch-mod.sx-testa input.corto{min-width:0;width:112px}
.ch-mod.sx-testa select{min-width:130px}
.ch-mod.sx-testa .rosso{align-self:center;font-size:13px}
.ch-mod.sx-caselle{background:var(--foglio);border:1px solid var(--filetto);border-radius:6px;max-width:none}
.ch .sx-filtri{margin:0 0 8px;padding:4px 16px 8px;border-top:0}
.ch .sx-filtri summary{cursor:pointer;color:var(--t3);font-weight:600;list-style:none;font-size:13px}
.ch .sx-filtri summary::-webkit-details-marker{display:none}
.ch .sx-filtri input{min-width:0}
.sx-misure{display:flex;gap:4px;padding:2px 16px 10px;font-size:13.5px;align-items:center}
.sx-misure a{padding:4px 12px;border-radius:4px;color:var(--t2);border:1px solid transparent}
.sx-misure a.on{background:var(--blu-chiaro);color:var(--blu);font-weight:600;border-color:var(--blu-filo)}
.sx-misure a.sx-colonne{margin-left:auto;color:var(--t3);font-weight:500}
.sx-largo{overflow-x:auto}
.ch-el.sx-col{table-layout:auto}
.ch-el.sx-col td,.ch-el.sx-col th{padding-left:8px;padding-right:8px}
.ch-el.sx-senza td.rosso a{color:var(--rosso)}
@media print{.sx-non-stampa,.sx-testa,.sx-filtri,.sx-misure{display:none}.ch-pag.stretta{max-width:none}}
.ch-mod.sx-testa .sx-mese{align-self:center;font-size:13px;white-space:nowrap}
/* fase 2 blocco 20: certificazioni (pannello del lotto, movimenti per l'ente, certificati del fornitore, certificato in calce) */
.ce-pad{padding:4px 16px 8px;margin:0}
.ce-testa{padding:4px 16px 8px}
.ch-el.ce-el td{vertical-align:middle}
.ch-el.ce-el td.ce-stato{white-space:normal;line-height:1.35;color:var(--t3)}
.ch-el.ce-el td.ce-stato.rosso{color:var(--rosso);font-weight:600}
.ch-el.ce-el select{height:30px;border:1px solid var(--filetto);border-radius:5px;background:var(--foglio);padding:0 8px;font:inherit;font-size:13px;max-width:100%}
.ce-tc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t3)}
.ce-tc input{height:30px;width:170px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px}
.ce-el input:disabled,.ce-el select:disabled,.ce-griglia input:disabled,.ce-griglia select:disabled{background:#F3F1EC;color:var(--t3)}
.ce-aggiungi,.ce-piede{border-top:1px solid var(--filetto2)}
.ce-aggiungi>span,.ce-piede>span{align-self:center;font-size:12.5px}
.ce-form{display:flex;flex-direction:column;gap:16px}
.ce-proposta{white-space:nowrap;color:var(--verde,#2E6B3A);font-weight:600}
.ce-proposta input{vertical-align:-2px;margin:0 3px 0 0}
/* blocco 20, difetti visti negli screenshot: la spunta nella colonna stretta usciva dalla cella e il td mostrava i puntini dell'ellissi («.»);
   la proposta all'arrivo stava dentro .ch-mod label (colonna) e andava a capo in tre pezzi «·» / spunta / testo; poi, su una riga, la tagliava l'ellissi di .calc */
.ch-el.ce-el td.ce-sp{text-overflow:clip;padding-right:0}
.ch-el.ce-el td.ce-sp input[type=checkbox]{margin:0;vertical-align:-2px}
.ch-mod label.ce-proposta{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:inherit;margin-top:2px}
.tx-riga .calc.ce-con{white-space:normal;line-height:1.35}   /* la proposta va sotto la riga d'ordine: dentro la cella a una riga era tagliata dall'ellissi */
.ch-mod label.ce-proposta input[type=checkbox]{width:14px;height:14px;min-width:0!important;padding:0;margin:0}
.ce-preset{margin-right:10px}
.ce-griglia{padding:0 16px 8px}
.ce-riga{display:grid;grid-template-columns:260px 120px 120px 190px minmax(0,1fr) 70px;gap:10px;align-items:center;padding:5px 0;border-top:1px solid var(--filetto2)}
.ce-riga.testa{font-size:12px;color:var(--t3);font-weight:500;border-top:0}
.ce-riga.ev{background:var(--sel);box-shadow:inset 2px 0 0 var(--blu)}
.ce-riga select,.ce-riga input{height:30px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:5px;background:var(--foglio);padding:0 8px;font:inherit;font-size:13px;min-width:0;width:100%}
.ce-riga .ce-stato{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ce-riga .ce-stato.rosso{color:var(--rosso);font-weight:600}
.ce-togli{font-size:12.5px;color:var(--t3);display:flex;align-items:center;gap:4px}
.ce-togli input{width:auto!important;height:auto!important}
tr.ce-annullato td{color:var(--t4)}
.ce-calce{margin:8px 16px;padding:6px 10px;border:1px solid var(--filetto);border-radius:4px;font-size:13px;font-weight:600}
/* fase 2 blocco 20, minore (a) del blocco 19: dentro «In ritardo» le righe di oltre 12 mesi fa, rientrate sotto la riga rossa */
.ch-el tr.sx-vecchie td{color:var(--t2);font-size:12.5px}
.ch-el tr.sx-vecchie td:first-child{padding-left:32px}
/* fase 2 blocco 21: Listini (griglia articoli × listini col NOME), prezzi speciali, riquadro del prezzo speciale */
.li-el col.li-c-art{width:300px}
.li-el col.li-c-costo{width:84px}
.li-el col.li-c-l{width:150px}
.li-el col.li-c-az{width:52px}
.li-el thead th small{display:block;font-size:11px;color:var(--t4);font-weight:400}
.li-el td.li-cella{white-space:nowrap}
.li-el td.li-cella input{width:84px;height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:4px;padding:0 6px;text-align:right;font:inherit;font-size:13.5px}
.li-el td.li-cella input:focus{outline:0;border-color:var(--blu);box-shadow:0 0 0 3px var(--blu-chiaro)}
.li-el td.li-sotto input{border-color:var(--rosso)}
.li-el .li-inc{display:inline-block;width:42px;text-align:right;font-size:12px}
.li-el .li-fasce{font-size:11px;margin-left:2px}
.li-el td.li-az{overflow:visible}
.li-el tr td{overflow:hidden}
.li-menu{min-width:240px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}
.li-menu a{white-space:nowrap}
.li-menu button{height:28px;border-radius:4px;border:1px solid var(--filetto);background:var(--foglio);font:inherit;font-size:13px;cursor:pointer;text-align:left;padding:0 8px}
.li-menu button.li-togli{color:var(--t)}   /* rosso solo per il prezzo sotto costo (mandato b21): Togli/Cancella in testo normale nel menu ⋯ */
.li-menu .li-dup{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--t3)}
.li-menu .li-dup input{height:28px;border:1px solid var(--filetto);border-radius:4px;padding:0 6px;font:inherit}
.li-piede{border-top:1px solid var(--filetto2)}
.li-senza{padding-top:0}
.li-senza a{margin-right:4px}
.li-pulisci{align-self:flex-end;line-height:32px;font-size:13px}
.li-esito{color:var(--t);font-weight:600;padding-top:0}
.li-stampa summary.ch-bt{display:inline-flex;align-items:center;width:auto;height:32px;border-radius:5px;color:var(--blu);font-weight:600}
.li-stampa .tx-menu{min-width:320px}
.li-bt{display:inline-flex;align-items:center;text-decoration:none}
.li-schede-mini{align-self:center;font-size:13px}
.li-schede-mini a.on{font-weight:700;color:var(--t)}
.li-ps .li-accanto{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;align-self:center;font-size:13px;color:var(--t2)}
.li-ps .x3{grid-column:span 3}
.li-ps .li-sotto-campo{font-size:12px;color:var(--t2);font-weight:400;min-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-ps .li-altro{border-top:1px solid var(--filetto2);padding-top:8px}
.li-ps .li-altro summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--t2)}
.li-ps .li-altro-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;padding-top:10px}
.li-ps .li-altro-in input{width:100%;min-width:0}
.li-ps .li-note{grid-column:span 1}
.oc-ps{display:block;margin-top:6px;font-size:13px}
@media print{.li-stampa-foglio{border:0}}
/* fase 2 blocco 22: offerte (elenco con totali per valuta, offerta su una pagina, stampa con le caselle, etichetta) */
.ofr-cerca .ofr-filtri{align-self:center;font-size:13px}
.ofr-cerca .ofr-filtri summary{cursor:pointer;color:var(--blu);font-weight:600;list-style:none}
.ofr-cerca .ofr-filtri summary::-webkit-details-marker{display:none}
.ofr-filtri-in{display:flex;flex-wrap:wrap;gap:10px 14px;padding-top:8px}
.ch-mod input.ofr-corto{min-width:0;width:70px}
.ch-mod input.ofr-data{min-width:0;width:110px}
.ofr-el td.ofr-stato{white-space:nowrap}
.ofr-el tr.ofr-annullata td{color:var(--t3)}
.ofr-diverso{color:var(--t2)}
.ofr-avviso{margin:8px 16px;padding:10px 12px;border:1px solid var(--ambra-barra);background:var(--ambra-chiaro);border-radius:6px;font-size:13px;color:var(--t)}
.ofr-avviso ul{margin:6px 0 8px 18px;padding:0}
.ofr-avviso button{height:28px;padding:0 12px;border-radius:5px;border:1px solid var(--blu-filo);background:var(--blu-chiaro);color:var(--blu);font:inherit;font-weight:600;cursor:pointer}
.ofr-piede{border-top:1px solid var(--filetto2)}
.ofr-pdf{margin:0 16px 10px;padding-left:18px;font-size:13px}
.ofr-riga{grid-template-columns:30px 130px 84px 96px 36px 96px minmax(0,1fr) 34px}
.ofr-riga input{padding:0 8px!important}
.ofr-riga.oc-ko input{border-color:#E4B9B4}
.ofr-riga .ofr-um{font-size:12.5px}
.ofr-riga .calc{white-space:normal!important;line-height:15px;font-size:12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ofr-riga .calc.ofr-diverso{color:var(--t2);font-weight:600}
.ofr-mod .ofr-ricorda{align-self:center;font-size:12.5px}
.ofr-altro{width:100%;font-size:13px}
.ofr-altro summary{cursor:pointer;color:var(--t2);font-weight:600}
.ofr-azioni{border-top:0;padding-top:0}
.ofr-az summary.ch-bt{display:inline-flex;align-items:center;width:auto;height:32px;border-radius:5px;color:var(--blu);font-weight:600}
.ofr-az .tx-menu{left:0;right:auto;min-width:300px}
.ofr-conferma{font-size:12.5px!important;color:var(--t2)!important;height:auto!important;flex-direction:row!important;gap:6px}
.ofr-nuovo-cli summary{cursor:pointer;font-size:13.5px;color:var(--blu);font-weight:600}
.ofr-carta{align-items:center}
.ofr-carta-t{font-size:13.5px;color:var(--t)}
.ofr-foglio .ofr-intesta{padding:14px 16px 4px;font-size:12.5px;line-height:17px;color:var(--t)}
.ofr-foglio .ofr-intesta div:first-child{font-size:15px;font-weight:700}
.ofr-foglio td.ofr-art{white-space:normal}
.ofr-etichetta{max-width:360px;margin-top:16px;padding:14px 18px;font-size:14px;line-height:20px;border:1px dashed var(--t4filo)}
@media print{.ofr-etichetta{break-before:page;border:0}}
/* blocco 22, difetti visti negli screenshot: Blazor toglie gli spazi fra gli elementi → numero della scheda, «nuovo cliente» e codice attaccati al nome */
.ofr-schede a .grigio{margin-left:6px}
.ofr-el td.tr .rosso,.ofr-el td.tr .grigio{margin-left:6px}
.ofr .oc-cli > span,.ofr .oc-cli > a{margin-left:6px}
.ofr-carta{border-top:0}
.ofr-el td.ofr-stato > span:first-child{margin-left:0}
/* ── fase 2 blocco 24: Costi (compito 17 § 5.1-5.3) — costo al metro sempre in vista, una riga per voce, rosso solo dove il mandato lo chiede */
.cs-dafare{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.cs-dafare li.rosso a{color:var(--rosso)}
.cs-el td.tr .grigio{margin-left:4px}
.cs-el td.li-az{overflow:visible}
.cs-el.cs-in td.num input{width:88px;height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:4px;padding:0 6px;text-align:right;font:inherit;font-size:13.5px}
.cs-el.cs-in td.tr input{height:28px;box-sizing:border-box;border:1px solid var(--filetto);border-radius:4px;padding:0 6px;font:inherit;width:110px;margin-right:6px}
.cs-el.cs-in td input:disabled{background:transparent;border-color:transparent;color:var(--t)}
.cs-testa{padding-left:12px;padding-right:12px}
.cs-el td.tr > b{margin-right:6px}
.cs-testa .cs-costo{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:4px 0 10px}
.cs-costo .cs-eti{font-size:13px;color:var(--t3);text-transform:uppercase;letter-spacing:.04em}
.cs-costo .cs-cifra{font-size:30px;line-height:34px;font-weight:600;font-variant-numeric:tabular-nums}
.cs-costo .cs-um{font-size:14px;color:var(--t3)}
.cs-costo .sp{flex:1}
.cs-costo label,.cs-righe label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--t3)}
.cs-costo select,.cs-righe input,.cs-menu input{height:30px;border:1px solid var(--filetto);border-radius:4px;padding:0 8px;font:inherit;font-size:13.5px;color:var(--t)}
.cs-costo button,.cs-avviso button{height:32px;padding:0 14px;border-radius:5px;border:1px solid var(--filetto);background:var(--foglio);font:inherit;font-size:13.5px;cursor:pointer}
.cs-costo button.cs-salva{background:var(--blu);border-color:var(--blu);color:#fff;font-weight:600}
.cs-righe{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:6px}
.cs-righe input:disabled,.cs-costo select:disabled{background:transparent;border-color:transparent}
.cs-altro .ofr-filtri-in{display:flex;flex-wrap:wrap;gap:10px 16px}
.cs-avviso{margin:8px 0 2px;padding:8px 12px;border:1px solid var(--filetto);border-radius:6px;font-size:13.5px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cs-cambio{font-variant-numeric:tabular-nums}
.cs-simula{margin:0 0 8px;padding:8px 12px;background:var(--blu-chiaro);border-radius:6px;font-size:13.5px}
.cs-menu{min-width:220px}
.cs-menu label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--t3)}
.cs-scelta{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.cs-calcola .cs-conferma{font-weight:600}
.cs-manca{color:var(--t3);font-size:12.5px;white-space:normal}
.cs-el.cs-3 td{font-size:15px}
.cs-dett{padding:8px 0}
.cs-dett p{font-size:13.5px;margin:0 0 8px}
.cs-da{font-style:italic}
details.ofr-filtri>summary{cursor:pointer;color:var(--blu);font-weight:600;list-style:none;font-size:13px}
details.ofr-filtri>summary::-webkit-details-marker{display:none}
/* fase 2 blocco 25: compensi (Versa il mese, Compenso, Professionista, stampe) */
.cp-ufficio{width:440px}
.ch-el.cp-campi td{white-space:normal;line-height:1.35}
.cp-rate ul{margin:4px 0 4px 18px;padding:0}
.cp-rate summary{cursor:pointer;color:var(--blu)}
.ch-el.cp-righe tr.cp-sotto td,.ch-el.cp-righe tr.cp-sotto a{color:var(--t3)}
.cb-ritenuta{font-weight:500}
@media print{.cp-foglio{break-after:page}.cp-foglio:last-child{break-after:auto}}
/* ── fase 2 blocco 26 (compito 24): pannello «Invia per e-mail», messaggi, Cerca */
/* blocco 27 (minore a del blocco 26): «⌕ Cerca» sotto il nome utente come una voce del menu (prima un glifo di 8 px senza scritta) */
.ch-lato .ch-chi a.ch-trova{font-size:13.5px;font-weight:500;color:var(--t2)!important;padding:6px 8px 6px 10px;margin:4px 0 2px -12px;border-left:2px solid transparent;text-decoration:none!important}
.ch-lato .ch-chi a.ch-trova:hover{background:#E6E3DC}
.ch-lato .ch-chi a.ch-trova svg{vertical-align:-2px;margin-right:6px}
.ch-lato .ch-chi a.ch-trova.on{color:var(--blu)!important;background:var(--foglio);border-left-color:var(--blu);font-weight:600}
.em-form{padding:0 16px}
.em-riga{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start;padding:8px 0;border-top:1px solid var(--filetto2);font-size:13.5px}
.em-et{color:var(--t3);font-size:12.5px;padding-top:4px}
.em-a{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.em-ind{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.em-altri{flex-basis:100%;font-size:12.5px;margin-top:2px}
.em-piu input{height:28px;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px;min-width:240px}
.em-ogg{height:32px;border:1px solid var(--filetto);border-radius:5px;padding:0 10px;font:inherit;font-size:13.5px;width:100%;box-sizing:border-box}
.em-testo{border:1px solid var(--filetto);border-radius:5px;padding:8px 10px;font:inherit;font-size:13.5px;width:100%;box-sizing:border-box;resize:vertical;line-height:1.4}
.em-ogg:disabled,.em-testo:disabled{background:var(--carta);color:var(--t2)}
.em-altro{padding-left:0}
.em-piede{border-top:1px solid var(--filetto2);margin:4px -16px 0}
.em-tanaemai td{vertical-align:top}
.em-ind-in{height:30px;border:1px solid var(--filetto);border-radius:5px;padding:0 8px;font:inherit;font-size:13px;width:100%;box-sizing:border-box}
.em-tipi{display:flex;flex-wrap:wrap;gap:4px 6px}
.em-tipo{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--filetto);border-radius:12px;font-size:12px;color:var(--t2);white-space:nowrap}
.em-tipo.on{background:var(--blu-chiaro);border-color:var(--blu-filo);color:var(--blu)}
.em-coda td.tr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ms-el tr.on td{background:var(--blu-chiaro)}
.ms-el tr.ms-nuovo td a{font-weight:650}
.ms-segno{color:var(--blu);text-align:center}
.ch-el td.ms-segno{text-overflow:clip;padding-left:12px;padding-right:0}   /* colonna stretta: senza «clip» l'ellissi del td disegna un puntino accanto al segno */
.ms-doc .ch-btn2.spento{background:var(--foglio);border-color:var(--filetto);color:var(--t3)!important;cursor:not-allowed;font-weight:500}
/* l'azione: un rombo disegnato (il «◆» non c'è nel font e il ripiego lascia un puntino accanto) */
.ms-rombo{display:inline-block;width:7px;height:7px;background:currentColor;transform:rotate(45deg);vertical-align:middle}
.ms-testo{padding:4px 16px 10px;font-size:14px;white-space:pre-wrap;line-height:1.45}
.ms-azioni{align-items:flex-end}
.ms-lungo{flex:1 1 420px}
.ms-lungo textarea{border:1px solid var(--filetto);border-radius:5px;padding:6px 10px;font:inherit;font-size:13.5px;width:100%;box-sizing:border-box;resize:vertical}
.ms-bottoni{display:flex;gap:10px}
.ms-passa{display:flex;gap:10px;align-items:flex-end;flex-basis:100%}
.ms-doc .ch-btn2{margin-left:0}
.ms-scrivi select{height:auto;min-width:280px;padding:4px}
.ms-link{background:none!important;border:0!important;color:var(--blu)!important;padding:0!important;height:auto!important;font-weight:500!important}
.cr-form{border-top:0}
.cr-q{flex:1 1 auto;min-width:360px!important;font-size:15px!important;height:36px!important}
.cr-el td.tr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-piede{justify-content:space-between}
.cr-piede .ch-btn2{margin-left:auto}
.cr-numeri input{width:100%;box-sizing:border-box;height:28px;border:1px solid var(--filetto);border-radius:4px;padding:0 6px;font:inherit;font-size:13px}
/* ---------- fase 2 blocco 29: Scambi (compito 28) ---------- */
.sb-testa{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 12px;margin:0;padding:6px 16px 12px;font-size:13.5px}
.sb-testa dt{color:var(--t3);font-size:12.5px;padding-top:1px}
.sb-testa dd{margin:0;color:var(--t);min-width:0;overflow-wrap:anywhere}
.sb-testa dd.sb-perche{color:var(--rosso);font-weight:600}
.sb-gira{align-items:center;justify-content:space-between}
.sb-gira form{margin:0}
.sb-esito{padding:8px 16px;background:var(--blu-chiaro);border:1px solid var(--blu-filo);border-radius:5px;color:var(--t)}
.sb-righe tr.sb-ko td{background:#FBEDEC}
.sb-righe tr.sb-non td{color:var(--t3)}
.sb-righe tr.sb-mille td{background:#FFF6E0}
.sb-righe details.sb-det summary{cursor:pointer;color:var(--blu);font-size:12.5px;list-style:none}
.sb-righe details.sb-det[open]{white-space:normal}
.sb-righe details.sb-det span{display:block;font-size:12px;color:var(--t2);white-space:normal}
.sb-altri>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:650;padding:0 16px 8px}
.sb-altri>summary::-webkit-details-marker{display:none}
.sb-altri>summary .quante{font-size:12.5px;font-weight:400;color:var(--t3)}
.sb-altri[open]>summary{padding-bottom:10px}
.sb-imp label{min-width:300px}
.sb-imp input.largo{min-width:420px}
.sb-pir{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 16px;border-top:1px solid var(--filetto2);font-size:13.5px}
.sb-pir form{display:flex;align-items:center;gap:10px;margin:0}
.sb-pir .spunta{display:inline-flex;align-items:center;gap:6px;color:var(--t)}
.ch-mod label.tx-spunta{flex-direction:row;align-items:center;gap:6px;height:32px;color:var(--t);font-size:13.5px}
.ch-mod label.tx-spunta input{min-width:0;height:auto}
