/* Pagine di accesso di SlotsWeb: stessi colori del prototipo, accento verde (11/10/2026). */
:root{
  --bg:#F2F3F6; --surface:#FFFFFF; --line:#D8DBE3; --fg:#161922; --muted:#5B6274;
  --accent:#1B6B47; --accent-fg:#FFFFFF; --accent-soft:#DDEFE5; --bad:#B42318; --bad-soft:#FBE3E0;
  --f-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --f-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E1016; --surface:#161921; --line:#2A2F3B; --fg:#E7E9F0; --muted:#9BA2B3;
  --accent:#4CC38A; --accent-fg:#06180F; --accent-soft:#12301F; --bad:#F2706A; --bad-soft:#3A1614; color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg);color:var(--fg);font:15px/1.5 var(--f-ui)}
.box{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;margin-bottom:20px}
.reel{display:flex;gap:3px}.reel i{width:6px;height:16px;border-radius:2px;background:var(--accent)}
h1{font-size:20px;margin:0 0 12px}
p{margin:0 0 14px;color:var(--muted)}
form{display:grid;gap:14px;margin-top:6px}
label{display:grid;gap:6px;font-weight:600;font-size:14px}
input[type=email],input[type=password],input[name=codice]{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
input[name=codice]{font:600 20px var(--f-mono);letter-spacing:.2em;text-align:center}
label small{font-weight:400;font-size:13px;color:var(--muted)}
input:focus{outline:2px solid var(--accent);outline-offset:1px}
.spunta{display:flex;gap:8px;align-items:flex-start;font-weight:400;color:var(--muted)}
.spunta input{margin-top:4px;accent-color:var(--accent)}
button{font:600 15px var(--f-ui);padding:11px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer}
button.secondario{background:transparent;color:var(--fg);border-color:var(--line)}
.errore{background:var(--bad-soft);color:var(--bad);padding:10px 12px;border-radius:8px}
.qr{display:block;margin:4px auto 14px;background:#fff;border-radius:8px;max-width:100%;height:auto}
details{margin-bottom:14px;color:var(--muted)}summary{cursor:pointer}
.chiave{font:600 15px var(--f-mono);color:var(--fg);word-spacing:.3em;overflow-wrap:anywhere}
