@font-face{font-family:"Jakarta";src:url(/font/jakarta.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
  --bg:#0B1120;--bg-2:#0F172A;--card:#151D2E;--card-2:#1B2538;--line:#2A3650;
  --fg:#F1F5F9;--muted:#94A3B8;--accent:#22C55E;--accent-ink:#052E16;
  --brand-a:#A78BFA;--brand-b:#F472B6;--danger:#F87171;--ring:#E2E8F0;
  --r:16px;--r-sm:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--fg);
  font:16px/1.5 "Jakarta",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:-20% -10% auto;height:70vh;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 50% at 20% 30%,rgba(167,139,250,.16),transparent 70%),
             radial-gradient(35% 45% at 85% 10%,rgba(244,114,182,.10),transparent 70%)}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:8px}
.marchio{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}
.marchio svg{width:30px;height:30px;flex:none}
.firma{color:var(--muted);font-size:13px}
.firma b{background:linear-gradient(90deg,var(--brand-a),var(--brand-b));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
/* accesso */
.accesso{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}
.scheda{width:100%;max-width:380px;background:rgba(21,29,46,.78);border:1px solid var(--line);border-radius:22px;
  padding:32px 24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.scheda h1{font-size:26px;line-height:1.2;margin:22px 0 6px;letter-spacing:-.02em}
.scheda p{margin:0 0 22px;color:var(--muted)}
label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
input[type=password]{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1px solid var(--line);
  background:var(--bg-2);font-size:16px}
input[type=password]:focus{border-color:var(--brand-a);outline:none;box-shadow:0 0 0 3px rgba(167,139,250,.25)}
.bottone{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;
  border-radius:12px;border:0;cursor:pointer;font-weight:700;transition:transform .15s ease,filter .15s ease,background .15s ease}
.bottone:active{transform:scale(.98)}
.primario{width:100%;margin-top:16px;background:linear-gradient(90deg,var(--brand-a),var(--brand-b));color:#1E1033}
.primario:hover{filter:brightness(1.07)}
.errore{color:var(--danger);font-size:14px;margin:12px 0 0!important}
.scheda .firma{margin-top:26px;text-align:center}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
