:root{--bg:#F3F6F4;--surface:#FFFFFF;--ink:#0F211D;--muted:#5E7069;--line:#DBE3DF;--pine:#0E3A34;--pine-soft:#17544B;--ochre:#D9A441;--verde:#2F7D5B;--rosso:#A63D33;--mono:ui-monospace,"SFMono-Regular","IBM Plex Mono",Menlo,monospace;--display:"Space Grotesk",system-ui,sans-serif;--body:"Inter",system-ui,-apple-system,sans-serif;--radius:6px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:244px;flex:0 0 244px;background:var(--pine);color:#DCE8E3;display:flex;flex-direction:column;padding:22px 0}.sidebar .marchio{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;color:#fff;padding:0 22px 4px}.sidebar .sottotitolo{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7FA096;padding:0 22px 22px}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}.sidebar .gruppo{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6B8C82;padding:20px 10px 8px}.sidebar a.voce{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius);text-decoration:none;color:#C6D9D3;font-size:14px;transition:background .12s ease,color .12s ease}.sidebar a.voce:hover{background:rgba(255,255,255,.07);color:#fff}.sidebar a.voce[aria-current=page]{background:var(--pine-soft);color:#fff;box-shadow:inset 3px 0 0 var(--ochre)}.sidebar a.voce .glifo{font-size:15px;width:18px;text-align:center}.sidebar .piede{margin-top:auto;padding:20px 22px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px}.sidebar .piede .chi{color:#fff;font-weight:500}.sidebar .piede .ruolo{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}.sidebar .piede button{margin-top:12px;background:none;border:1px solid rgba(255,255,255,.22);color:#C6D9D3;font:inherit;font-size:13px;padding:6px 12px;border-radius:var(--radius);cursor:pointer}.sidebar .piede button:hover{background:rgba(255,255,255,.1);color:#fff}.contenuto{flex:1 1;min-width:0;padding:34px 38px 64px}.testata{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px}.testata .occhiello{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}.testata h1{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-.02em;margin:0}.testata p.desc{color:var(--muted);margin:8px 0 0;max-width:62ch;font-size:14px}h2{font-family:var(--display);font-size:16px;font-weight:500;margin:30px 0 12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.griglia{display:grid;grid-gap:14px;gap:14px}.griglia.tre{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.griglia.due{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.etichetta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.numero{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.02em;line-height:1.1;margin:6px 0 2px}.numero small{font-size:15px;font-weight:500;color:var(--muted)}.nota{color:var(--muted);font-size:13px}.tabella-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:620px}th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;color:var(--muted);padding:12px 14px}td,th{border-bottom:1px solid var(--line)}td{padding:13px 14px;font-size:14px;vertical-align:middle}tr:last-child td{border-bottom:none}td.mono,td.num,th.mono{font-family:var(--mono);font-size:13px}td.num{text-align:right}.tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;white-space:nowrap}.tag.admin{background:rgba(217,164,65,.18);color:#8A6410}.tag.user{background:rgba(94,112,105,.14);color:var(--muted)}.tag.attivo{background:rgba(47,125,91,.14);color:var(--verde)}.tag.sospeso{background:rgba(166,61,51,.13);color:var(--rosso)}label.campo{display:block;margin-bottom:12px}label.campo span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}input[type=email],input[type=password],input[type=text],select{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ochre);outline-offset:1px}button.azione{font:inherit;font-size:14px;font-weight:500;padding:9px 16px;border:none;border-radius:var(--radius);background:var(--pine);color:#fff;cursor:pointer}button.azione:hover{background:var(--pine-soft)}button.azione:disabled{opacity:.55;cursor:progress}button.azione.tenue{background:transparent;color:var(--ink);border:1px solid var(--line)}button.azione.tenue:hover{background:#EEF2F0}button.azione.pericolo{background:transparent;color:var(--rosso);border:1px solid rgba(166,61,51,.35)}button.azione.pericolo:hover{background:rgba(166,61,51,.08)}button.azione.mini{font-size:13px;padding:6px 11px}.avviso{border-radius:var(--radius);padding:10px 13px;font-size:14px;margin-bottom:14px}.avviso.errore{background:rgba(166,61,51,.1);color:#7E2C24}.avviso.ok{background:rgba(47,125,91,.12);color:#1F5A40}.avviso.info{background:rgba(217,164,65,.14);color:#7A5A0F}.accesso{min-height:100vh;display:grid;place-items:center;padding:24px}.accesso .riquadro{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:30px}.accesso .marchio{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 4px}.accesso .sottotitolo{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}.accesso button.azione{width:100%;margin-top:6px}@media (max-width:860px){.shell{flex-direction:column}.sidebar{width:100%;flex:none;padding:16px 0}.sidebar nav{flex-direction:row;flex-wrap:wrap}.sidebar .gruppo{display:none}.sidebar .piede{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sidebar .piede button{margin-top:0}.contenuto{padding:24px 18px 48px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}