:root{
  --sfondo:#F5F5F7;--carta:#FFFFFF;--testo:#1D1D1F;--secondario:#6E6E73;--terziario:#8E8E93;--linea:#E3E3E8;--linea-forte:#D1D1D6;
  --blu:#0A66D8;--blu-tenue:#E8F0FC;--verde:#1F7A3A;--verde-tenue:#E6F4EA;--arancio:#A3570A;--arancio-tenue:#FBF0E0;--rosso:#B3261E;--rosso-tenue:#FBEAE8;--grigio:#8E8E93;
  --ombra:0 1px 2px rgba(0,0,0,.04),0 2px 10px rgba(0,0,0,.035);--ombra-sollevata:0 4px 14px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.06);
  --r:10px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --sfondo:#000000;--carta:#1C1C1E;--testo:#F5F5F7;--secondario:#A1A1A6;--terziario:#8E8E93;--linea:#2C2C2E;--linea-forte:#3A3A3C;
  --blu:#4C9BFF;--blu-tenue:#0F2A4A;--verde:#4CC26F;--verde-tenue:#143321;--arancio:#F0A04B;--arancio-tenue:#3A2A12;--rosso:#FF6B61;--rosso-tenue:#3A1613;
  --ombra:0 1px 2px rgba(0,0,0,.3),0 2px 10px rgba(0,0,0,.25);--ombra-sollevata:0 4px 16px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.3);
  color-scheme:dark}}
*{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
[hidden]{display:none!important}
body{margin:0;background:var(--sfondo);color:var(--testo);font:15px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;line-height:1.2}
h2{font-size:20px}h3{font-size:15px}
a{color:var(--blu)}
.btn{font:inherit;font-weight:500;padding:7px 14px;border-radius:8px;border:1px solid var(--linea-forte);background:var(--carta);color:var(--testo);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,transform .1s}
.btn:hover{border-color:var(--terziario)}
.btn:active:not([disabled]){transform:scale(.97)}
.btn[disabled]{opacity:.5;cursor:default}
.btn-primario{background:var(--blu);border-color:var(--blu);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.btn-primario:hover{opacity:.92;border-color:var(--blu)}
.btn-icona{padding:4px 10px}
.btn-piccolo{padding:4px 10px;font-size:13px}
input,select,textarea{font:inherit;color:var(--testo);background:var(--carta);border:1px solid var(--linea-forte);border-radius:8px;padding:7px 10px;transition:border-color .15s}
input[type=color]{padding:2px;width:44px;height:34px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blu);outline-offset:0;border-color:var(--blu)}
.entra{min-height:100vh;display:flex;align-items:center;justify-content:center}
.entra-modulo{background:var(--carta);padding:32px;border-radius:14px;border:1px solid var(--linea);width:320px;display:grid;gap:14px;box-shadow:var(--ombra-sollevata)}
.entra-modulo label{display:grid;gap:6px;color:var(--secondario)}
.errore{color:var(--rosso);margin:0}
.barra{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:var(--carta);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:5}
.barra-sx,.barra-dx{display:flex;align-items:center;gap:16px}
.marchio{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600;letter-spacing:-.01em}
.marchio svg{flex:none;color:var(--testo)}
.giro{color:var(--secondario);font-size:13px}
.segmenti{display:inline-flex;background:var(--sfondo);border-radius:8px;padding:2px}
.segmenti button{font:inherit;border:0;background:none;padding:5px 14px;border-radius:6px;color:var(--secondario);cursor:pointer;transition:background .15s,color .15s}
.segmenti button.attiva{background:var(--carta);color:var(--testo);box-shadow:0 0 0 1px var(--linea-forte)}
.schede{display:flex;gap:4px;padding:0 24px;background:var(--carta);border-bottom:1px solid var(--linea);overflow-x:auto}
.schede button{font:inherit;border:0;background:none;padding:12px 12px 10px;color:var(--secondario);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}
.schede button:hover{color:var(--testo)}
.schede button.attiva{color:var(--testo);border-bottom-color:var(--testo);font-weight:600}
.avviso-barra{margin:16px 24px 0;padding:10px 14px;border-radius:var(--r);background:var(--blu-tenue);color:var(--testo);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;animation:avviso-entra .2s ease both}
.avviso-barra span{flex:1}
.avviso-barra button{flex:none;border:0;background:none;color:inherit;opacity:.6;cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;border-radius:4px}
.avviso-barra button:hover{opacity:1;background:rgba(0,0,0,.08)}
.avviso-barra--ok{background:var(--verde-tenue)}
.avviso-barra--avviso{background:var(--arancio-tenue)}
.avviso-barra--errore{background:var(--rosso-tenue)}
@keyframes avviso-entra{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.vista{padding:20px 24px 60px;max-width:1280px}
.riquadro{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--ombra)}
.riquadro+.riquadro{margin-top:16px}
.riquadro>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--linea)}
.riquadro>.dentro{padding:16px}
.filtri{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.filtri .cerca{flex:1;min-width:200px;max-width:320px;margin-left:auto}
.filtro{font:inherit;border:1px solid var(--linea-forte);background:var(--carta);border-radius:8px;padding:5px 12px;cursor:pointer;color:var(--testo);transition:border-color .15s,box-shadow .15s}
.filtro b{font-weight:600;margin-left:4px;color:var(--secondario)}
.filtro.attiva{border-color:var(--testo);box-shadow:inset 0 0 0 1px var(--testo)}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:500;color:var(--secondario);font-size:13px;padding:10px 12px;border-bottom:1px solid var(--linea);white-space:nowrap;position:sticky;top:0;background:var(--carta)}
th[data-ord]{cursor:pointer;user-select:none}
th[data-ord]:hover{color:var(--testo)}
th[data-ord].asc::after,th[data-ord].desc::after{margin-left:4px;opacity:.6;font-size:11px}
th[data-ord].asc::after{content:"▲"}
th[data-ord].desc::after{content:"▼"}
td{padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
tbody tr{cursor:pointer;transition:background .1s}
tbody tr:hover td{background:var(--sfondo)}
tbody tr:last-child td{border-bottom:0}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.piccolo{font-size:13px;color:var(--secondario)}
.tappa{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tappa::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--grigio))}
.t-ordinato{--c:var(--grigio)}.t-preparazione{--c:var(--arancio)}.t-pronto{--c:var(--blu)}.t-in_viaggio{--c:var(--blu)}.t-in_consegna{--c:var(--verde)}.t-consegnato{--c:var(--verde)}.t-annullato{--c:var(--terziario)}
.segno{display:inline-block;font-size:12px;padding:1px 7px;border-radius:5px;border:1px solid currentColor;margin:0 4px 4px 0;white-space:nowrap}
.segno.rosso{color:var(--rosso)}.segno.arancio{color:var(--arancio)}.segno.grigio{color:var(--secondario)}
.vuoto{padding:40px;text-align:center;color:var(--secondario)}
.azioni-gruppo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--blu-tenue);border-radius:8px;margin-bottom:12px}
.pannello{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--carta);border-left:1px solid var(--linea);z-index:20;display:flex;flex-direction:column;box-shadow:var(--ombra-sollevata);transform:translateX(100%);visibility:hidden;transition:transform .25s cubic-bezier(.3,.8,.4,1),visibility 0s linear .25s}
.pannello.apri{transform:translateX(0);visibility:visible;transition:transform .25s cubic-bezier(.3,.8,.4,1)}
.pannello-testa{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--linea)}
.pannello-corpo{overflow:auto;padding:16px 20px 40px}
.pannello-corpo section{padding:14px 0;border-bottom:1px solid var(--linea)}
.pannello-corpo section:last-child{border-bottom:0}
.pannello-corpo h3{margin-bottom:10px}
.velo{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:15;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.velo.apri{opacity:1;visibility:visible;transition:opacity .2s ease}
.dati{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0}
.dati dt{color:var(--secondario)}.dati dd{margin:0;word-break:break-word}
.linea-tempo{list-style:none;margin:0;padding:0}
.linea-tempo li{display:grid;grid-template-columns:16px 1fr auto;gap:10px;padding:5px 0;align-items:baseline}
.linea-tempo li::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--linea-forte);margin-top:3px}
.linea-tempo li.fatto::before{background:var(--testo);border-color:var(--testo)}
.modulo-riga{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.eventi-admin{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.eventi-admin li{padding:6px 0;border-bottom:1px solid var(--linea);font-size:13px}
.sottotitolo-sezione{margin:14px 0 4px;font-size:13px;font-weight:600;color:var(--secondario)}
.tessere{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.tessera{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:14px 16px;box-shadow:var(--ombra);transition:box-shadow .2s}
.tessera span{display:block;color:var(--secondario);font-size:13px}
.tessera strong{display:block;font-size:26px;font-variant-numeric:tabular-nums;margin-top:4px}
.tessera small{color:var(--secondario)}
.barre{display:grid;gap:8px}
.barra-dato{display:grid;grid-template-columns:150px 1fr 48px;gap:10px;align-items:center}
.barra-dato .traccia-barra{height:14px;background:var(--sfondo);border-radius:4px;overflow:hidden}
.barra-dato .riempi{height:100%;background:var(--testo);border-radius:0 4px 4px 0}
.barra-dato .num{text-align:right}
.colonne{display:flex;align-items:flex-end;gap:2px;height:120px;padding-top:8px}
.colonne div{flex:1;background:var(--testo);border-radius:4px 4px 0 0;min-height:2px;position:relative}
.colonne div:hover{background:var(--blu)}
.anteprima-barra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.cornice{width:100%;height:78vh;border:1px solid var(--linea);border-radius:var(--r);background:#fff;box-shadow:var(--ombra)}
.cornici{display:grid;grid-template-columns:390px 1fr;gap:16px}
@media (max-width:1000px){.cornici{grid-template-columns:1fr}}
.campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.campo{display:grid;gap:6px;color:var(--secondario);font-size:13px}
.campo input,.campo select,.campo textarea{color:var(--testo);font-size:15px}
.spunta{display:flex;align-items:center;gap:8px}
.attenzione{border-left:3px solid var(--arancio);padding:8px 12px;background:var(--sfondo);border-radius:0 8px 8px 0;margin:8px 0;font-size:14px}
.codice{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sfondo);border:1px solid var(--linea);border-radius:8px;padding:12px;white-space:pre-wrap;word-break:break-all;margin:8px 0}
.passi-lista{margin:0;padding-left:20px}
.passi-lista li{margin-bottom:12px}
.salva-barra{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 0;background:var(--sfondo)}
.salta-sezioni{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;gap:4px;padding:10px 0;margin-bottom:12px;background:var(--sfondo)}
.salta-sezioni a{font-size:13px;color:var(--secondario);text-decoration:none;padding:5px 10px;border-radius:7px;border:1px solid var(--linea);background:var(--carta);transition:border-color .15s,color .15s;white-space:nowrap}
.salta-sezioni a:hover{color:var(--testo);border-color:var(--terziario)}
.riquadro[id]{scroll-margin-top:52px}
.righe-tabella td,.righe-tabella th{padding:6px 8px}
.righe-tabella input{width:100%}
@media (max-width:700px){.barra{flex-wrap:wrap;padding:12px 16px}.vista{padding:16px}.schede{padding:0 12px}.nascondi-stretto{display:none}}
