.auth-page{background:#f8fafc;min-height:100svh;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background-color:#0f172a;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:24px 24px;height:520px;position:absolute;inset:0 0 auto}.auth-background{pointer-events:none;height:520px;position:absolute;inset:0 0 auto}.auth-glow{filter:blur(110px);pointer-events:none;border-radius:9999px;position:absolute}.auth-glow.glow-a{background:#06b6d433;width:420px;height:220px;top:-80px;left:8%}.auth-glow.glow-b{background:#4f46e538;width:360px;height:200px;top:40px;right:6%}.auth-shell{max-width:480px;padding:var(--space-6) var(--space-4) var(--space-16);margin-inline:auto;position:relative}.auth-breadcrumb p{color:#cbd5e1;margin:0 0 var(--space-6);font-size:.85rem}.auth-breadcrumb a{color:#e2e8f0;text-decoration:none}.auth-breadcrumb a:hover{text-decoration:underline}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-badge{align-items:center;gap:var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:#a5f3f0;padding:var(--space-1) var(--space-4);margin:0 0 var(--space-4);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;font-size:.78rem;font-weight:700;display:inline-flex}.auth-header h1{color:#fff;margin:0 0 var(--space-2);font-size:clamp(2rem,4vw + 1rem,2.75rem)}.auth-header h1 .grad{background:linear-gradient(90deg,#22d3ee,#7dd3fc,#818cf8);color:#0000;-webkit-background-clip:text;background-clip:text}.auth-sub{color:#cbd5e1;margin:0}.auth-card{max-width:440px;color:var(--color-text);background:#fff;border:1px solid #e2e8f0;border-radius:1.75rem;margin-inline:auto;padding:2rem;box-shadow:0 24px 60px #0f172a1a}@media (width<=640px){.auth-card{border-radius:1.5rem;padding:1.5rem}.auth-header h1{font-size:2rem}}.auth-card form{gap:var(--space-4);display:grid}.auth-card label{gap:var(--space-2);color:var(--color-text);font-weight:600;display:grid}.auth-input{font:inherit;width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #e2e8f0;transition:border-color .16s,box-shadow .16s,background-color .16s}.auth-input:focus-visible{outline-offset:2px;border-color:var(--color-cyan);background:#fff;outline:2px solid #06b6d4}.auth-submit{font:inherit;border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:linear-gradient(90deg, var(--color-cyan), var(--color-blue));border:0;width:100%;min-height:52px;font-weight:700;transition:transform .16s,box-shadow .16s,background-color .16s;box-shadow:0 12px 28px -12px #2563eb8c}a.auth-submit{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-submit:hover{transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-alert{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#fff1f2;border:1px solid #fecdd3}.auth-alert p{color:#881337;margin:0}.auth-notice{color:#065f46;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#ecfdf5;border:1px solid #6ee7b7}.auth-card footer{margin-top:var(--space-4);gap:var(--space-3);display:grid}.auth-card footer p{margin:0}.auth-center{text-align:center}.auth-center a strong{font-weight:700;text-decoration:none}.auth-card footer a,.auth-card footer a:hover{text-decoration:none}.auth-micro{text-align:center}.auth-status-card{text-align:center;max-width:440px;color:var(--color-text);background:#fff;border:1px solid #e2e8f0;border-radius:1.75rem;margin-inline:auto;padding:2rem;box-shadow:0 24px 60px #0f172a1a}@media (width<=640px){.auth-status-card{border-radius:1.5rem;padding:1.5rem}}.auth-status-icon{width:64px;height:64px;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.auth-status-icon.ok{color:#047857;background:#ecfdf5}.auth-status-icon.warn{color:#b45309;background:#fdf3dd}.auth-status-icon.err{color:#be123c;background:#fff1f2}.auth-status-card h2{margin:0 0 var(--space-2);font-size:1.4rem}.auth-status-card p{color:var(--color-muted)}
