:root{
  --ink:#1A3A5C; --sun:#E8A020; --sun-fill:rgba(232,160,32,.28); --bg:#FFFFFF; --bg-alt:#F1F4F7; --line:#D8E0E7; --text:#14273B; --muted:#5C6E80; --btn-text:#FFFFFF; --error:#B3261E; --ok:#2D7A4A;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root{--ink:#9CC3EA; --sun:#F0B13A; --sun-fill:rgba(240,177,58,.22); --bg:#0F1C29; --bg-alt:#152536; --line:#26394C; --text:#E6EDF3; --muted:#9AAEC1; --btn-text:#0F1C29; --error:#F2B8B5; --ok:#8FD0A5; color-scheme:dark}
}
*,*::before,*::after{box-sizing:inherit}
html,body{min-height:100%}
body{margin:0;background:var(--bg-alt);color:var(--text);font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
a{color:var(--ink)}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;max-width:1120px;width:100%;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none}
.brand svg{width:28px;height:28px}
.top a.link{font-weight:500;font-size:.95rem;text-decoration:none}
main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:16px 16px 64px}
.carta{background:var(--bg);border-radius:20px;padding:32px 28px;width:100%;max-width:460px;box-shadow:0 1px 2px rgba(20,39,59,.06)}
.carta.larga{max-width:640px}
h1{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 10px}
h2{font-size:1.2rem;font-weight:700;margin:0 0 8px}
p{margin:0 0 14px}
.tenue{color:var(--muted)}
label.etic{display:block;font-weight:500;font-size:.95rem;margin:14px 0 4px}
input.campo{display:block;width:100%;font:inherit;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}
input.campo:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px var(--sun-fill)}
.campo-pw{position:relative}
.campo-pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--ink);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;padding:6px}
.aiuto{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.spunta{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted);line-height:1.45;margin:14px 0 0}
.spunta input{margin-top:3px;width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}
.btn{display:block;width:100%;text-align:center;font:inherit;font-weight:700;font-size:1rem;padding:14px 22px;border:0;border-radius:10px;background:var(--ink);color:var(--btn-text);text-decoration:none;cursor:pointer;margin-top:18px}
.btn:hover{filter:brightness(1.12)}
.btn[disabled]{opacity:.6;cursor:default}
.btn.secondario{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.pericolo{background:transparent;color:var(--error);border:1.5px solid var(--error)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg);color:var(--text);border:1.5px solid var(--line)}
.btn-google svg{width:20px;height:20px}
.separatore{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.9rem;margin:20px 0 4px}
.separatore::before,.separatore::after{content:"";flex:1;height:1px;background:var(--line)}
.msg{min-height:1.4em;margin:12px 0 0;font-size:.95rem}
.msg.errore{color:var(--error)}
.msg.ok{color:var(--ok);font-weight:500}
.sotto{margin-top:20px;font-size:.95rem;color:var(--muted);text-align:center}
.blocco{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.stato{display:flex;gap:12px;align-items:flex-start;background:var(--bg-alt);border-radius:14px;padding:16px;margin:16px 0 4px}
.stato svg{flex:none;width:24px;height:24px;margin-top:2px}
.interruttore{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.interruttore input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin-top:2px}
[hidden]{display:none !important}
