:root{--bg: #0b0d12;--card: #151922;--card-border: #262c3a;--text: #e7ebf3;--muted: #8b93a7;--accent: #5b8cff;--accent-hover: #6f9bff;--error-bg: #2a1416;--error-border: #7a2530;--error-text: #ff9ba6;--input-bg: #0f131b}@media (prefers-color-scheme: light){:root{--bg: #f4f6fb;--card: #ffffff;--card-border: #e2e6ef;--text: #1a1f2b;--muted: #66708a;--accent: #3b6fff;--accent-hover: #2c5cf0;--error-bg: #fdecee;--error-border: #f5c2c7;--error-text: #b42332;--input-bg: #f7f9fc}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000059}.auth-card--center{align-items:center;text-align:center}.auth-brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;letter-spacing:.02em}.auth-card h1{margin:4px 0 0;font-size:1.5rem}.auth-sub{margin:0 0 6px;color:var(--muted);font-size:.92rem}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.auth-field input{background:var(--input-bg);border:1px solid var(--card-border);border-radius:10px;padding:11px 13px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s}.auth-field input:focus{border-color:var(--accent)}.auth-btn{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.auth-btn:hover:not(:disabled){background:var(--accent-hover)}.auth-btn:disabled{opacity:.7;cursor:default}.auth-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:10px;padding:10px 12px;font-size:.85rem}.auth-foot{margin:6px 0 0;text-align:center;font-size:.88rem;color:var(--muted)}.auth-foot a{color:var(--accent);text-decoration:none;font-weight:500}.auth-foot a:hover{text-decoration:underline}.auth-success-icon{color:#3fbf7f}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
