:root{--spagna-blue-50:#eff5ff;--spagna-blue-100:#e0ebff;--spagna-blue-200:#c2d7ff;--spagna-blue-300:#94bbff;--spagna-blue-400:#669cff;--spagna-blue-500:#3b7fff;--spagna-blue-600:#085dfb;--spagna-blue-700:#0b52db;--spagna-blue-800:#0b43ad;--spagna-blue-900:#0b3888;--spagna-blue-950:#08244a;--spagna-white:#fff;--spagna-canvas:#f7f9fc;--spagna-surface:#fff;--spagna-surface-subtle:#eaf2ff;--spagna-border:#d8e0eb;--spagna-text-muted:#667085;--spagna-text:#344054;--spagna-heading:#08244a;--spagna-midnight:#071b37;--spagna-success:#0e9f6e;--spagna-warning:#d97706;--spagna-danger:#d92d20;--spagna-info:#085dfb;--color-background:var(--spagna-canvas);--color-surface:var(--spagna-surface);--color-text:var(--spagna-text);--color-heading:var(--spagna-heading);--color-muted:var(--spagna-text-muted);--color-border:var(--spagna-border);--color-primary:var(--spagna-blue-600);--color-primary-action:var(--spagna-blue-700);--color-primary-hover:var(--spagna-blue-800);--color-focus-ring:#085dfb59;--color-dark-background:var(--spagna-midnight);--color-dark-text:var(--spagna-blue-50);--font-brand:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-brand:0 16px 40px #08244a1f}[data-theme=dark]{--color-background:#071b37;--color-surface:#0d2a52;--color-text:#c9d8ef;--color-heading:#fff;--color-muted:#94a9c7;--color-border:#23466f;--color-primary:#4d8bff;--color-primary-action:#3b7fff;--color-primary-hover:#669cff}@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--ui-color-canvas:var(--spagna-canvas);--ui-color-surface:var(--spagna-surface);--ui-color-surface-soft:var(--spagna-surface-subtle);--ui-color-brand:var(--spagna-blue-600);--ui-color-primary:var(--spagna-blue-700);--ui-color-primary-strong:var(--spagna-blue-800);--ui-color-primary-ink:var(--spagna-white);--ui-color-heading:var(--spagna-heading);--ui-color-text:var(--spagna-text);--ui-color-muted:var(--spagna-text-muted);--ui-color-border:var(--spagna-border);--ui-color-danger:#b42318;--ui-color-success:#147d64;--ui-font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ui-text-xs:.75rem;--ui-text-sm:.875rem;--ui-text-md:1rem;--ui-text-lg:1.125rem;--ui-text-xl:1.5rem;--ui-text-auth-title:1.75rem;--ui-line-body:1.55;--ui-space-1:.25rem;--ui-space-2:.5rem;--ui-space-3:.75rem;--ui-space-4:1rem;--ui-space-5:1.25rem;--ui-space-6:1.5rem;--ui-space-8:2rem;--ui-space-10:2.5rem;--ui-space-12:3rem;--ui-radius-control:.75rem;--ui-radius-card:1.375rem;--ui-control-height:2.875rem;--ui-auth-width:27rem;--ui-shadow-card:0 24px 70px #08244a1f;--ui-ring:0 0 0 3px #085dfb2e}.auth-page{min-height:100vh;font-family:var(--ui-font-sans);color:var(--ui-color-text);background:radial-gradient(circle at 14% 12%, #085dfb2b, transparent 30rem), radial-gradient(circle at 88% 88%, #14b8a61a, transparent 27rem), linear-gradient(145deg, #f8fbff 0%, var(--ui-color-canvas) 52%, #eef5ff 100%);background-attachment:fixed;margin:0}.auth-page:before{content:"";pointer-events:none;opacity:.38;background-image:linear-gradient(#085dfb0e 1px,#0000 1px),linear-gradient(90deg,#085dfb0e 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 72%);mask-image:linear-gradient(to bottom right,#000,#0000 72%)}.auth-page .auth-wrap,.auth-page>.auth-card{z-index:1;position:relative}.auth-page .auth-wrap{width:100%;min-height:100vh;padding:var(--ui-space-6);place-items:center;display:grid}.auth-page .auth-card{width:var(--ui-auth-width);max-width:100%;padding:var(--ui-space-8);border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #085dfb24}.auth-page>.auth-card{margin:max(var(--ui-space-6), calc((100vh - 620px) / 2)) auto}.auth-page .auth-logo,.auth-page .auth-brand{align-items:center;gap:var(--ui-space-3);min-height:2rem;margin:0 0 var(--ui-space-8);color:var(--ui-color-brand);font-family:var(--ui-font-sans);font-size:var(--ui-text-lg);letter-spacing:-.02em;font-weight:700;display:flex}.auth-page .auth-logo .brand-logo,.auth-page .auth-brand .brand-mark,.auth-page .auth-brand .brand-mark img{flex:0 0 2rem;width:2rem;height:2rem}.auth-page .auth-brand .brand-mark{background:0 0;border-radius:0;place-items:center;display:grid}.auth-page .auth-card h1{margin:0 0 var(--ui-space-3);color:var(--ui-color-heading);font-family:var(--ui-font-sans);font-size:var(--ui-text-auth-title);letter-spacing:-.035em;font-weight:700;line-height:1.18}.auth-page .lead,.auth-page .auth-card>p{margin:0 0 var(--ui-space-6);color:var(--ui-color-muted);font-size:var(--ui-text-sm);line-height:var(--ui-line-body)}.auth-page .form-grid,.auth-page .auth-card form{gap:var(--ui-space-4);margin:var(--ui-space-6) 0 0;display:grid}.auth-page .field,.auth-page .form-grid label{gap:var(--ui-space-2);margin:0;display:grid}.auth-page .auth-card label{color:var(--ui-color-muted);font-size:var(--ui-text-sm);font-weight:600}.auth-page .auth-card input:not([type=checkbox]),.auth-page .auth-card select,.auth-page .auth-card textarea{width:100%;min-height:var(--ui-control-height);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);color:var(--ui-color-text);font:400 var(--ui-text-sm)/1.35 var(--ui-font-sans);background:#ffffffeb;outline:none;padding:.75rem .875rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth-page .auth-card input:focus,.auth-page .auth-card select:focus,.auth-page .auth-card textarea:focus{border-color:var(--ui-color-brand);box-shadow:var(--ui-ring);background:#fff}.auth-page .auth-card button[type=submit],.auth-page .oauth-google{width:100%;min-height:var(--ui-control-height);justify-content:center;align-items:center;gap:var(--ui-space-2);border-radius:var(--ui-radius-control);font:700 var(--ui-text-sm)/1 var(--ui-font-sans);cursor:pointer;padding:.75rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.auth-page .auth-card button[type=submit]{border:1px solid var(--ui-color-primary);background:var(--ui-color-primary);color:var(--ui-color-primary-ink);box-shadow:0 8px 20px #085dfb2e}.auth-page .auth-card button[type=submit]:hover,.auth-page .oauth-google:hover{transform:translateY(-1px)}.auth-page .auth-card button[type=submit]:hover{background:var(--ui-color-primary-strong);border-color:var(--ui-color-primary-strong)}.auth-page .oauth-sep{align-items:center;gap:var(--ui-space-3);margin:var(--ui-space-5) 0;color:var(--ui-color-muted);font-size:var(--ui-text-xs);display:flex}.auth-page .oauth-sep:before,.auth-page .oauth-sep:after{content:"";background:var(--ui-color-border);flex:1;height:1px}.auth-page .oauth-sep span{padding:0}.auth-page .oauth-google{border:1px solid var(--ui-color-border);color:var(--ui-color-text);background:#fff;box-shadow:0 5px 16px #08244a0d}.auth-page .oauth-google:hover{background:var(--ui-color-surface-soft);border-color:#085dfb57}.auth-page .oauth-google img{width:1.125rem;height:1.125rem}.auth-page .alt,.auth-page .auth-foot{justify-content:center;align-items:center;gap:var(--ui-space-2);margin-top:var(--ui-space-6);color:var(--ui-color-muted);font-size:var(--ui-text-sm);text-align:center;flex-wrap:wrap;display:flex}.auth-page .alt a,.auth-page .auth-foot a{color:var(--ui-color-primary-strong);font-weight:600;text-decoration:none}.auth-page .alt a:hover,.auth-page .auth-foot a:hover{text-decoration:underline}.auth-page .error,.auth-page .auth-error:not(:empty){margin:0 0 var(--ui-space-4);padding:var(--ui-space-3) var(--ui-space-4);border-radius:var(--ui-radius-control);color:var(--ui-color-danger);font-size:var(--ui-text-sm);background:#feeceb;border:1px solid #f5c2be}.auth-page .auth-error:empty{display:none}@media (width<=520px){.auth-page .auth-wrap{padding:var(--ui-space-4)}.auth-page .auth-card{padding:var(--ui-space-6);border-radius:1.125rem}.auth-page>.auth-card{margin:var(--ui-space-4) auto}}@media (prefers-reduced-motion:reduce){.auth-page .auth-card button,.auth-page .oauth-google{transition:none}}
