:root{--bg-base:#f1f5f9;--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-hover:#0f172a0a;--bg-active:#eff6ff;--bg-card:#fff;--bg-input:#f8fafc;--bg-sidebar:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff;--accent-mid:#bfdbfe;--accent-glow:#2563eb1a;--success:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--error:#dc2626;--error-bg:#fef2f2;--error-border:#fecaca;--info:#0284c7;--info-bg:#f0f9ff;--info-border:#bae6fd;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow:0 4px 12px #00000012, 0 2px 4px #0000000a;--shadow-md:0 8px 24px #00000017, 0 4px 8px #0000000a;--shadow-lg:0 16px 48px #0000001c, 0 8px 16px #0000000d;--radius-sm:6px;--radius:8px;--radius-md:12px;--radius-lg:16px;--scrollbar:#e2e8f0}html[data-theme=dark]{--bg-base:#0f172a;--bg-surface:#1e293b;--bg-subtle:#0f172a;--bg-hover:#ffffff0d;--bg-active:#3b82f61f;--bg-card:#1e293b;--bg-input:#ffffff0a;--bg-sidebar:#0f172a;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#334155;--border-strong:#475569;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-light:#3b82f61f;--accent-mid:#3b82f64d;--accent-glow:#3b82f626;--success:#10b981;--success-bg:#10b9811a;--success-border:#10b98140;--warning:#f59e0b;--warning-bg:#f59e0b1a;--warning-border:#f59e0b40;--error:#f87171;--error-bg:#ef44441a;--error-border:#ef444440;--info:#38bdf8;--info-bg:#38bdf81a;--info-border:#38bdf840;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 12px #00000080;--shadow-md:0 8px 24px #0000008c;--shadow-lg:0 16px 48px #0009;--scrollbar:#334155}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;transition:background .2s,border-color .2s,box-shadow .15s}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border)}.glass-hover:hover{background:var(--bg-hover);border-color:var(--accent-mid)}.input-dark{background:var(--bg-input);border:1.5px solid var(--border);color:var(--text-primary);border-radius:var(--radius);outline:none;width:100%;padding:9px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input-dark:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-dark::placeholder{color:var(--text-muted)}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:none;align-items:center;gap:7px;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 14px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.page-shell{max-width:1200px;margin:0 auto;padding:32px 40px}.page-shell--narrow{max-width:980px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:800}.page-subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.6}.status-banner{border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.55;display:flex}.status-banner svg{flex-shrink:0;margin-top:1px}.status-banner--error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.status-banner--success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.status-banner--info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.status-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:1px;animation:.7s linear infinite spin}.auth-layout{background:#f8fafc;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.auth-brand-panel{background:#0f172a;flex-direction:column;flex-shrink:0;width:min(44%,540px);padding:44px 48px;display:flex;position:relative;overflow:hidden}.auth-brand-panel:before,.auth-brand-panel:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.auth-brand-panel:before{background:radial-gradient(circle,#2563eb24 0%,#0000 70%);width:360px;height:360px;top:-80px;right:-80px}.auth-brand-panel:after{background:radial-gradient(circle,#7c3aed1a 0%,#0000 70%);width:280px;height:280px;bottom:-60px;left:-60px}.auth-brand-logo{align-items:flex-start;margin-bottom:14px;display:flex;position:relative}.auth-brand-logoMark{background:#fff;border:1px solid #fff6;border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;width:248px;min-height:88px;padding:12px 18px;display:flex;overflow:hidden;box-shadow:0 22px 44px #0f172a4d}.auth-brand-name{color:#f1f5f9;letter-spacing:-.02em;font-size:22px;font-weight:700}.auth-brand-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:11px;font-weight:500}.auth-brand-label--standalone{margin-bottom:32px;display:inline-block}.auth-brand-copy{flex:1;position:relative}.auth-brand-title{color:#f1f5f9;letter-spacing:-.03em;max-width:340px;margin:0 0 14px;font-size:32px;font-weight:800;line-height:1.15}.auth-brand-description{color:#64748b;max-width:320px;margin:0 0 44px;font-size:14px;line-height:1.7}.auth-feature-list{flex-direction:column;gap:20px;display:flex}.auth-feature{align-items:flex-start;gap:13px;display:flex}.auth-feature-icon{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f640;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.auth-feature-title{color:#e2e8f0;margin-bottom:2px;font-size:13px;font-weight:600}.auth-feature-description{color:#64748b;font-size:12px;line-height:1.5}.auth-brand-footer{color:#334155;border-top:1px solid #ffffff14;margin-top:44px;padding-top:24px;font-size:11px;position:relative}.auth-form-panel{background:#f8fafc;flex:1;justify-content:center;align-items:center;min-width:0;padding:40px 48px;display:flex}.auth-form-column{width:100%;max-width:420px}.auth-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #e2e8f0eb;border-radius:18px;padding:28px;box-shadow:0 24px 64px #0f172a14}.auth-panel-header{margin-bottom:24px}.auth-panel-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:700}.auth-panel-subtitle{color:#64748b;margin:0;font-size:14px;line-height:1.6}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field-label{color:#374151;font-size:12px;font-weight:600}.auth-input-wrap{position:relative}.auth-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.auth-input{color:#0f172a;background:#fff;border-color:#e2e8f0;width:100%;padding-left:38px}.auth-input--withToggle{padding-right:40px}.auth-input::placeholder{color:#94a3b8}.auth-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.icon-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-submit{justify-content:center;width:100%;padding:11px 18px;font-size:14px}.auth-linkRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.auth-link{color:var(--accent);align-items:center;gap:6px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.auth-link--muted{color:var(--text-secondary);font-weight:500}.password-rules{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.password-rule{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.password-ruleDot{background:var(--bg-base);border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.password-rule--pass{color:var(--success)}.password-rule--pass .password-ruleDot{background:var(--success-bg);border-color:var(--success-border)}.gradient-text{background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.22s forwards fadeUp}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.live-dot{animation:1.5s ease-in-out infinite pulse-dot}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:980px){.auth-layout{flex-direction:column}.auth-brand-panel{width:100%;min-height:auto;padding:32px 28px}.auth-brand-footer{margin-top:28px}.auth-form-panel{align-items:flex-start;padding:28px 20px 36px}}
