:root{--sfondo:#f6f7f9;--carta:#fff;--testo:#1c2330;--tenue:#5d6878;--bordo:#e2e6ec;--primario:#2554c7;--primario-t:#fff;
--ok:#1f7a3a;--ok-s:#e3f4e8;--att:#8a5a00;--att-s:#fdf1d8;--pro:#b42318;--pro-s:#fde7e5;--neu:#4b5563;--neu-s:#eceff3}
@media (prefers-color-scheme:dark){:root{--sfondo:#11151c;--carta:#1a2029;--testo:#e6e9ee;--tenue:#9aa4b2;--bordo:#2b3340;
--primario:#7aa2ff;--primario-t:#0d1320;--ok:#7fd49a;--ok-s:#173424;--att:#f3c469;--att-s:#3a2e14;--pro:#ff9a90;--pro-s:#3d1a18;--neu:#c1c8d2;--neu-s:#262e3a}}
*{box-sizing:border-box}body{margin:0;background:var(--sfondo);color:var(--testo);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--primario);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--carta);border-bottom:1px solid var(--bordo)}.barra{max-width:1100px;margin:auto;display:flex;align-items:center;gap:20px;padding:10px 16px;flex-wrap:wrap}
.marchio{font-weight:800;font-size:18px;color:var(--testo)}.marchio span{color:var(--primario)}nav{display:flex;gap:4px;flex:1}
nav a{padding:6px 10px;border-radius:8px;color:var(--tenue)}nav a.attiva{background:var(--neu-s);color:var(--testo);font-weight:600}
main{max-width:1100px;margin:auto;padding:20px 16px 60px}h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:24px 0 10px}
.riga{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.riga input{flex:1;width:auto;min-width:200px}h1.mono{font-size:22px}.spazio{flex:1}
.carta{background:var(--carta);border:1px solid var(--bordo);border-radius:12px;padding:16px;margin-bottom:16px}
.contatori{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.contatore{background:var(--carta);border:1px solid var(--bordo);border-radius:12px;padding:12px 14px}.contatore b{display:block;font-size:24px}.contatore span{color:var(--tenue);font-size:13px}
.tabella{overflow-x:auto;background:var(--carta);border:1px solid var(--bordo);border-radius:12px}
table{border-collapse:collapse;width:100%}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--bordo);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--tenue);font-weight:600}tr:last-child td{border-bottom:0}
.tenue{color:var(--tenue);font-size:13px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;margin:1px 4px 1px 0;white-space:nowrap}
.chip.ok{background:var(--ok-s);color:var(--ok)}.chip.attenzione{background:var(--att-s);color:var(--att)}.chip.problema{background:var(--pro-s);color:var(--pro)}.chip.neutro{background:var(--neu-s);color:var(--neu)}
label{display:block;font-size:13px;color:var(--tenue);margin:12px 0 4px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--bordo);border-radius:8px;background:var(--sfondo);color:var(--testo);font:inherit}
textarea{min-height:90px}.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}
.caselle label{display:flex;gap:8px;align-items:center;color:var(--testo);font-size:14px;margin:6px 0}.caselle input{width:auto}
button,.bottone{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--primario);background:var(--primario);color:var(--primario-t);font:inherit;font-weight:600;cursor:pointer}
button.secondario,.bottone.secondario{background:transparent;color:var(--primario)}button.pericolo{background:var(--pro);border-color:var(--pro);color:#fff}
button.link{background:none;border:0;color:var(--tenue);padding:6px;font-weight:400}
.avviso{padding:10px 14px;border-radius:10px;margin-bottom:16px}.avviso.ok{background:var(--ok-s);color:var(--ok)}.avviso.problema{background:var(--pro-s);color:var(--pro)}.avviso.attenzione{background:var(--att-s);color:var(--att)}
.testo-licenza{word-break:break-all;background:var(--sfondo);border:1px solid var(--bordo);border-radius:8px;padding:10px;max-height:140px;overflow:auto}
dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}dt{color:var(--tenue)}dd{margin:0}
.accesso{max-width:360px;margin:12vh auto}.accesso h1{text-align:center}
@media (max-width:600px){dl{grid-template-columns:1fr}dt{margin-top:6px}}
