:root{--bg:#f4f6f8;--card:#fff;--ink:#1f2a30;--muted:#6b7a80;--line:#dbe3e6;--accent:#2563eb;--error:#b42318}
@media (prefers-color-scheme:dark){:root{--bg:#0f1418;--card:#182027;--ink:#e6edf0;--muted:#94a3aa;--line:#2b363d;--accent:#5b8def;--error:#f97066}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.login-card{width:min(360px,100%);display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.login-card h1{margin:0 0 4px;font-size:22px}
.login-card label{display:grid;gap:6px;color:var(--muted);font-size:14px}
.login-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font:inherit}
.login-card input:focus{outline:2px solid var(--accent);outline-offset:1px}
.login-card button{padding:12px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.login-card button:disabled{opacity:.6;cursor:wait}
.login-error{min-height:22px;margin:0;color:var(--error);font-size:14px}
.login-pending{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--ink)}
.login-pending strong{display:block;margin:6px 0;font-size:24px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.login-pending small{display:block;color:var(--muted)}
