:root{--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-dim: #64748b;--accent: #2563eb;--accent-hover: #1d4ed8;--shadow: 0 1px 3px rgba(0, 0, 0, .05)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,PingFang SC,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 24px}.auth-card{width:min(380px,100%);padding:32px 28px 28px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.auth-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-bottom:26px;color:var(--text);text-decoration:none}.auth-brand-mark{font-size:40px;line-height:1;font-weight:500;letter-spacing:-.04em}.auth-brand-sep{color:var(--text-dim);font-size:24px;line-height:1}.auth-brand-text{font-weight:700;font-size:28px;line-height:1;letter-spacing:.02em}.auth-form{display:grid;gap:12px}.auth-title{margin:0 0 8px;font-size:22px;text-align:center}.auth-subtitle{margin:0 0 18px;color:var(--text-dim);font-size:14px;line-height:1.6;text-align:center}.auth-form label{display:block}.auth-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:4px;background:#fff;font:inherit}.auth-form button{height:42px;margin-top:6px;border:none;border-radius:4px;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.auth-form button:hover{background:var(--accent-hover)}.auth-status{min-height:20px;margin:12px 0 0;color:var(--text-dim);font-size:13px}.auth-status[data-error=true]{color:#c43d3d}.auth-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:14px}.auth-links a{color:var(--text-dim);text-decoration:none}.auth-links a:hover{color:var(--accent)}@media (max-width: 520px){.auth-card{padding:22px}.auth-brand-mark{font-size:36px}.auth-links{flex-direction:column}}
