.login-page{background:var(--bg);min-height:100vh;color:var(--ink);justify-content:center;align-items:center;padding:2rem;display:flex}.login-card{background:var(--bg-elev-1);border:1px solid var(--rule);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-soft);padding:2.25rem 2rem}.login-card .wordmark{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.4rem;font-weight:600}.login-card .subtitle{color:var(--ink-soft);margin:0 0 1.75rem;font-size:.85rem}.login-card label{text-transform:uppercase;letter-spacing:.15em;color:var(--ink-soft);margin-bottom:.4rem;font-size:.7rem;display:block}.login-card input{border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;color:var(--ink);background:0 0;margin-bottom:1rem;padding:.65rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .14s,background .14s}.login-card input:focus{border-color:var(--accent);background:#ffffff05;outline:none}.login-card .error{color:var(--bad);margin:0 0 .85rem;font-size:.85rem}.login-card button[type=submit]{background:var(--accent);width:100%;color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:filter .14s}.login-card button[type=submit]:hover:not(:disabled){filter:brightness(1.06)}.login-card button[type=submit]:disabled{cursor:wait;opacity:.6}.login-card .footnote{color:var(--ink-faint);font-size:.75rem;font-family:var(--font-mono);text-align:center;margin:1.25rem 0 0}
