:root{--brand-void:#06060b;--brand-surface:#101427;--brand-surface-raised:#1a2140;--brand-border:#252c4d;--brand-cyan:#2dbada;--brand-blue:#1e73d1;--brand-blue-lift:#2280de;--brand-magenta:#d440c1;--brand-gold:#e0a44f;--brand-text:#ededf2;--brand-text-muted:#9a9cb3;--brand-text-faint:#8a8ca3;--brand-success:#3fbf87;--brand-danger:#f2555a;--brand-warning:#e0a44f;--brand-info:#2dbada;color-scheme:dark;--navy-950:var(--brand-void);--navy-900:var(--brand-surface);--navy-800:var(--brand-surface);--navy-700:var(--brand-surface-raised);--navy-600:var(--brand-border);--blue-300:var(--brand-cyan);--blue-400:var(--brand-cyan);--blue-500:var(--brand-cyan);--blue-600:var(--brand-blue);--accent-gradient:linear-gradient(135deg,var(--brand-cyan) 0%,var(--brand-blue-lift) 100%);--text:var(--brand-text);--text-muted:var(--brand-text-muted);--text-faint:var(--brand-text-faint);--danger:var(--brand-danger);--danger-bg:rgba(242,85,90,.14);--success:var(--brand-success);--success-bg:rgba(63,191,135,.14);--card-bg:var(--brand-surface);--card-border:var(--brand-border);--input-bg:var(--brand-surface-raised);--input-border:var(--brand-border);--focus-ring:rgba(45,186,218,.55);--radius-sm:8px;--radius:14px;--radius-lg:20px;--font-sans:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text);background-color:var(--brand-void);background-image:radial-gradient(1100px 600px at 15% -10%,rgba(45,186,218,.1),transparent 60%),radial-gradient(900px 600px at 100% 0,rgba(30,115,209,.1),transparent 55%),linear-gradient(160deg,var(--brand-void),var(--brand-void) 70%);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--blue-300);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px;border-radius:4px}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--brand-text);box-shadow:0 0 0 1000px var(--brand-surface-raised) inset;caret-color:var(--brand-text)}*{scrollbar-color:var(--brand-surface-raised) var(--brand-void)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--brand-void)}::-webkit-scrollbar-thumb{background:var(--brand-surface-raised);border:3px solid var(--brand-void);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--brand-border)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:24px}.auth-brand{display:inline-flex;align-items:center;gap:14px}.auth-brand__mark{width:auto;height:44px;flex:none}.auth-brand__divider{width:1px;height:34px;background:linear-gradient(var(--blue-400),transparent);opacity:.6}.auth-brand__name{font-size:15px;font-weight:600;letter-spacing:.14em;line-height:1.15;text-transform:uppercase;color:var(--text)}.auth-brand__name span{color:var(--text-muted);font-weight:500}.auth-card{width:100%;max-width:440px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:32px;box-shadow:0 24px 60px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(45,186,218,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-card__title{margin:0 0 6px;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.auth-card__subtitle{margin:0 0 24px;color:var(--text-muted);font-size:.95rem;line-height:1.5}.auth-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--card-border);font-size:.9rem;color:var(--text-muted);text-align:center;gap:8px}.auth-footer,.auth-form{display:flex;flex-direction:column}.auth-form{gap:18px}.form-row{display:flex;gap:14px}.form-row>*{flex:1 1;min-width:0}.field{display:flex;flex-direction:column;gap:7px}.field__label{font-size:.85rem;font-weight:600;color:var(--text)}.field__input{width:100%;padding:12px 14px;font-size:.95rem;color:var(--text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s,background .15s}.field__input::placeholder{color:var(--text-faint)}.field__input:hover{border-color:rgba(45,186,218,.45)}.field__input:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px var(--focus-ring);background:rgba(45,186,218,.08)}.field__input--invalid{border-color:var(--danger)}.field__input--invalid:focus{box-shadow:0 0 0 3px rgba(242,85,90,.4)}.field__hint{font-size:.8rem;color:var(--text-faint)}.field__error{font-size:.8rem;color:var(--danger)}.password{position:relative}.password .field__input{padding-right:68px}.password__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--blue-300);font-size:.8rem;font-weight:600;padding:6px 8px;cursor:pointer;border-radius:6px}.password__toggle:hover{background:rgba(45,186,218,.14)}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--text-muted);line-height:1.45}.checkbox input{margin-top:2px;width:17px;height:17px;accent-color:var(--blue-500);flex:none}.strength{display:flex;flex-direction:column;gap:10px}.strength__bar{display:flex;gap:5px}.strength__seg{height:5px;flex:1 1;border-radius:999px;background:var(--brand-border);transition:background .2s}.strength__seg--weak{background:var(--brand-danger)}.strength__seg--medium{background:var(--brand-warning)}.strength__seg--strong{background:var(--success)}.strength__reqs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 14px;gap:4px 14px}.strength__req{font-size:.78rem;color:var(--text-faint);display:flex;align-items:center;gap:6px}.strength__req--met{color:var(--success)}.strength__req:before{content:"○";font-size:.7rem}.strength__req--met:before{content:"✓"}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:12px 18px;font-size:.98rem;font-weight:600;font-family:inherit;color:var(--brand-void);background:var(--accent-gradient);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:filter .15s,transform .05s,box-shadow .15s;box-shadow:0 10px 24px -12px rgba(45,186,218,.5)}.btn:hover:not(:disabled){filter:brightness(1.07)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;border:1px solid var(--input-border);box-shadow:none;color:var(--text)}.btn--ghost:hover:not(:disabled){background:rgba(45,186,218,.12);filter:none}.spinner{width:18px;height:18px;border:2px solid;border-top:2px solid transparent;opacity:.9;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.message{padding:12px 14px;border-radius:var(--radius-sm);font-size:.9rem;line-height:1.45;border:1px solid transparent}.message--error{color:#ffc9cb;background:var(--danger-bg);border-color:rgba(242,85,90,.4)}.message--success{color:#b8f0d5;background:var(--success-bg);border-color:rgba(63,191,135,.4)}.message--info{color:var(--blue-300);background:rgba(45,186,218,.12);border-color:rgba(45,186,218,.35)}.message a{color:inherit;font-weight:600;text-decoration:underline}.text-center{text-align:center}.stack{display:flex;flex-direction:column;gap:16px}.muted{color:var(--text-muted)}.code-input{letter-spacing:.5em;text-align:center;font-size:1.4rem;font-weight:600;padding-right:14px!important}.hero{text-align:center;max-width:520px}.hero h1{font-size:clamp(1.8rem,5vw,2.6rem);margin:18px 0 10px;letter-spacing:-.02em}.hero p{color:var(--text-muted);font-size:1.05rem;line-height:1.6;margin:0 0 26px}.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero__actions .btn{width:auto;min-width:150px}@media (max-width:520px){.auth-card{padding:24px 20px;border-radius:var(--radius)}.form-row{flex-direction:column;gap:18px}.strength__reqs{grid-template-columns:1fr}.hero__actions .btn{width:100%}}