:root{--auth-ink:#111;--auth-body:#374151;--auth-muted:#6b7280;--auth-hairline:#e5e7eb;--auth-hairline-strong:#d1d5db;--auth-canvas:#fff;--auth-surface:#f9fafb;--auth-surface-card:#f5f5f5;--auth-primary:#111;--auth-primary-active:#242424;--auth-primary-disabled:#e5e7eb;--auth-on-primary:#fff;--auth-error:#ef4444;--auth-error-bg:#fef2f2;--auth-error-border:#fecaca;--auth-error-text:#991b1b;--auth-success:#10b981;--auth-success-bg:#f0fdf4;--auth-success-border:#bbf7d0;--auth-success-text:#166534;--auth-info:#3b82f6;--auth-info-bg:#eff6ff;--auth-info-border:#bfdbfe;--auth-info-text:#1e40af;--auth-warning:#f59e0b;--auth-warning-bg:#fffbeb;--auth-warning-border:#fde68a;--auth-warning-text:#92400e;--auth-radius-sm:6px;--auth-radius-md:8px;--auth-radius-lg:12px;--auth-radius-xl:16px;--auth-radius-full:9999px}.auth-page{position:relative;min-height:100vh;background:var(--auth-surface);color:var(--auth-ink);font-family:var(--font-sans),"Inter",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.auth-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.auth-bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(180,83,9,.04) 0,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 20%,rgba(180,83,9,.025) 0,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(0,0,0,.015) 0,transparent 50%)}.auth-bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.06) 1px,transparent 0);background-size:32px 32px;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 70%)}.auth-bg-curve{position:absolute;bottom:0;left:0;width:100%;height:50%;pointer-events:none}.auth-topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}@media (min-width:640px){.auth-topbar{padding:28px 40px}}.auth-topbar-brand{display:flex;align-items:center;gap:10px}.auth-topbar-brand img{width:32px;height:32px;border-radius:7px}.auth-topbar-text{display:flex;flex-direction:column;line-height:1.2}.auth-topbar-name{font-size:14px;font-weight:600;color:var(--auth-ink)}.auth-topbar-by{font-size:11px;font-weight:500;color:var(--auth-muted)}.auth-hero-main{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:0 24px 48px;gap:24px}@media (min-width:640px){.auth-hero-main{padding:0 40px 64px;gap:28px}.auth-page-compact .auth-topbar{padding-block:20px}.auth-page-compact .auth-hero-main{min-height:calc(100svh - 72px);padding-bottom:16px;gap:16px}.auth-page-compact .auth-hero-title{font-size:clamp(28px,4vw,38px);margin-bottom:6px}.auth-page-compact .auth-hero-card{padding:28px 36px}.auth-page-compact .auth-head{margin-bottom:20px}.auth-page-compact .auth-form{gap:14px}.auth-page-compact .auth-footer{margin-top:18px}}.auth-hero-lead{max-width:420px;text-align:center}.auth-hero-title{font-size:clamp(28px,5vw,42px);font-weight:600;line-height:1.1;letter-spacing:-1px;color:var(--auth-ink);margin-bottom:10px}.auth-hero-title em,.auth-hero-title i{font-style:italic;color:var(--auth-muted)}.auth-hero-body{font-size:15px;line-height:1.5;color:var(--auth-muted);max-width:380px;margin:0 auto}@media (max-width:520px){.auth-hero-lead{max-width:320px}.auth-hero-main{min-height:calc(100vh - 72px);justify-content:flex-start;padding-top:24px}}.auth-hero-card{width:100%;max-width:480px;background:var(--auth-canvas);border:1px solid var(--auth-hairline);border-radius:var(--auth-radius-xl);padding:36px 40px;box-shadow:0 1px 2px rgba(0,0,0,.02),0 8px 32px rgba(0,0,0,.06),0 32px 80px rgba(0,0,0,.08)}@media (max-width:520px){.auth-hero-card{padding:24px 20px;border-radius:var(--auth-radius-lg)}}.auth-card{background:var(--auth-canvas);border:1px solid var(--auth-hairline);border-radius:var(--auth-radius-lg);padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}@media (max-width:520px){.auth-card{padding:24px 20px;border-radius:var(--auth-radius-md)}}.auth-card-plain{background:transparent;border:none;box-shadow:none;padding:0}.auth-head{margin-bottom:28px}.auth-head-center{text-align:center}.auth-title{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.5px;color:var(--auth-ink);margin-bottom:8px}.auth-subtitle{font-size:15px;line-height:1.5;color:var(--auth-muted);margin:0}.auth-form{gap:18px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{font-size:13px;font-weight:600;color:var(--auth-ink)}.auth-label-note{font-weight:400;color:var(--auth-muted)}.auth-input-wrap{position:relative}.auth-input{width:100%;height:44px;padding:0 14px;font-size:15px;color:var(--auth-ink);background:var(--auth-canvas);border:1px solid var(--auth-hairline);border-radius:var(--auth-radius-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-input::-moz-placeholder{color:#9ca3af}.auth-input::placeholder{color:#9ca3af}.auth-input:hover{border-color:var(--auth-hairline-strong)}.auth-input:focus{border-color:var(--auth-ink);box-shadow:0 0 0 3px hsla(0,0%,7%,.08)}.auth-input:disabled{opacity:.55;cursor:not-allowed;background:var(--auth-surface)}.auth-input-error,.auth-input-error:focus{border-color:var(--auth-error);box-shadow:0 0 0 3px rgba(239,68,68,.08)}.auth-input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--auth-muted);background:transparent;border:none;border-radius:var(--auth-radius-sm);cursor:pointer;transition:color .15s ease,background .15s ease}.auth-input-toggle:hover{color:var(--auth-ink);background:var(--auth-surface-card)}.auth-input-with-toggle{padding-right:46px}.auth-error-text{font-size:13px;color:var(--auth-error);margin-top:4px}.auth-field-hint{margin:2px 0 0;color:var(--auth-muted);font-size:12px;line-height:1.45}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;font-size:14px;font-weight:600;color:var(--auth-on-primary);background:var(--auth-primary);border:1px solid var(--auth-primary);border-radius:var(--auth-radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.auth-button:hover{background:var(--auth-primary-active);border-color:var(--auth-primary-active)}.auth-button:active{transform:translateY(1px)}.auth-button:disabled{opacity:.55;cursor:not-allowed;background:var(--auth-primary-disabled);border-color:var(--auth-primary-disabled);color:var(--auth-muted);transform:none}.auth-button-full{width:100%}.auth-button-secondary{color:var(--auth-ink);background:var(--auth-canvas);border-color:var(--auth-hairline)}.auth-button-secondary:hover{background:var(--auth-surface);border-color:var(--auth-hairline-strong)}.auth-button-link{height:auto;padding:0;color:var(--auth-ink);background:transparent;border:none;font-weight:500}.auth-button-link:hover{background:transparent;text-decoration:underline}.auth-banner{padding:12px 14px;border-radius:var(--auth-radius-md);font-size:13px;line-height:1.5;margin-bottom:18px}.auth-banner-error{background:var(--auth-error-bg);border:1px solid var(--auth-error-border);color:var(--auth-error-text)}.auth-banner-success{background:var(--auth-success-bg);border:1px solid var(--auth-success-border);color:var(--auth-success-text)}.auth-banner-info{background:var(--auth-info-bg);border:1px solid var(--auth-info-border);color:var(--auth-info-text)}.auth-banner-warning{background:var(--auth-warning-bg);border:1px solid var(--auth-warning-border);color:var(--auth-warning-text)}.auth-link{font-size:13px;font-weight:600;color:var(--auth-ink);text-decoration:none;transition:opacity .15s ease}.auth-link:hover{opacity:.7;text-decoration:underline}.auth-text{font-size:14px;color:var(--auth-muted)}.auth-text-muted{font-size:13px;color:var(--auth-muted)}.auth-row-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-row-end{display:flex;justify-content:flex-end}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--auth-muted)}.auth-otp{display:flex;gap:10px;justify-content:center;margin-bottom:24px}.auth-otp input{width:44px;height:52px;text-align:center;font-size:20px;font-weight:600;color:var(--auth-ink);background:var(--auth-canvas);border:1px solid var(--auth-hairline);border-radius:var(--auth-radius-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-otp input:focus{box-shadow:0 0 0 3px hsla(0,0%,7%,.08)}.auth-otp input.filled,.auth-otp input:focus{border-color:var(--auth-ink)}.auth-otp input.error{border-color:var(--auth-error);box-shadow:0 0 0 3px rgba(239,68,68,.08)}.auth-icon{width:56px;height:56px;border-radius:var(--auth-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.auth-icon-success{background:var(--auth-success-bg);color:var(--auth-success)}.auth-icon-info{background:var(--auth-info-bg);color:var(--auth-info)}.auth-icon-warning{background:var(--auth-warning-bg);color:var(--auth-warning)}.auth-icon-center{margin-left:auto;margin-right:auto}.auth-steps{margin:24px 0}.auth-steps-track{position:relative;display:flex;align-items:center;justify-content:space-between}.auth-steps-line{position:absolute;top:12px;left:16px;right:16px;height:2px;background:var(--auth-hairline);z-index:0}.auth-steps-line-fill{position:absolute;top:0;left:0;height:100%;background:var(--auth-ink);transition:width .4s ease}.auth-step{position:relative;z-index:1;flex-direction:column;gap:6px}.auth-step,.auth-step-dot{display:flex;align-items:center}.auth-step-dot{width:26px;height:26px;border-radius:var(--auth-radius-full);justify-content:center;font-size:11px;font-weight:700;background:var(--auth-canvas);border:2px solid var(--auth-hairline);color:var(--auth-muted);transition:border-color .2s ease,background .2s ease,color .2s ease}.auth-step.done .auth-step-dot{background:var(--auth-ink);border-color:var(--auth-ink);color:var(--auth-on-primary)}.auth-step.active .auth-step-dot{border-color:var(--auth-ink);color:var(--auth-ink);box-shadow:0 0 0 3px hsla(0,0%,7%,.06)}.auth-step-label{font-size:11px;font-weight:600;color:var(--auth-muted);text-align:center;max-width:70px;line-height:1.2}.auth-step.active .auth-step-label,.auth-step.done .auth-step-label{color:var(--auth-ink)}.auth-requirements{margin-top:10px;padding:12px 14px;background:var(--auth-surface);border:1px solid var(--auth-hairline);border-radius:var(--auth-radius-md)}.auth-requirements ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.auth-requirements li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--auth-muted)}.auth-requirements li.met{color:var(--auth-success-text)}.auth-divider{display:flex;align-items:center;gap:12px;margin:8px 0;font-size:12px;color:var(--auth-muted);text-transform:uppercase;letter-spacing:.05em}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--auth-hairline)}.auth-verification-panel{width:100%}.auth-verification-email{display:block;max-width:100%;margin-top:3px;overflow:hidden;color:var(--auth-ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.auth-code-input{height:58px;padding-left:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:24px;font-weight:650;letter-spacing:.32em;text-align:center;text-transform:uppercase}.auth-code-input::-moz-placeholder{color:#c4c8cf}.auth-code-input::placeholder{color:#c4c8cf}.auth-verification-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.auth-verification-actions .auth-button:disabled{color:var(--auth-muted);background:transparent;border-color:transparent}.auth-verification-actions .auth-button{min-height:44px}@media (max-width:520px){.auth-verification-actions{flex-direction:column;gap:12px}}.auth-verify-content{min-height:248px;flex-direction:column;text-align:center}.auth-verify-badge,.auth-verify-content{display:flex;align-items:center;justify-content:center}.auth-verify-badge{width:52px;height:52px;margin-bottom:18px;color:var(--auth-on-primary);background:var(--auth-primary);border-radius:var(--auth-radius-full);box-shadow:0 0 0 7px hsla(0,0%,7%,.06);animation:authVerifyBadgeIn .24s ease-out both}.auth-verify-eyebrow{margin-bottom:7px;color:var(--auth-muted);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.auth-verify-content .auth-title{margin-bottom:8px}.auth-verify-progress{width:min(100%,240px);height:2px;margin-top:28px;overflow:hidden;background:var(--auth-hairline);border-radius:var(--auth-radius-full)}.auth-verify-progress-fill{width:100%;height:100%;background:var(--auth-primary);transform-origin:left;animation:authVerifyProgress 1.5s linear both}@keyframes authVerifyBadgeIn{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes authVerifyProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.auth-verify-badge,.auth-verify-progress-fill{animation:none}}.auth-text-center{text-align:center}.auth-text-left{text-align:left}.auth-mt-4{margin-top:16px}.auth-mt-6{margin-top:24px}.auth-mb-4{margin-bottom:16px}.auth-mb-6{margin-bottom:24px}