.login { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.login-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-l, 18px); padding: 28px 28px 22px; width: min(360px, 100%); display: flex; flex-direction: column; gap: 12px; text-align: center; align-items: center; }
.login-card h1 { margin: 0; font: 600 26px var(--font); }
.login-card p { margin: 0; color: var(--ink-2); }
.login-card label { display: flex; flex-direction: column; gap: 4px; text-align: left; font-size: 14px; color: var(--ink-2); width: 100%; }
.login-card input { font: inherit; font-size: 16px; padding: 9px 11px; border-radius: 10px; border: 1px solid var(--line-strong); background: var(--bg); color: var(--ink); }
.login-card button { width: 100%; font: 600 16px var(--font); padding: 10px; border-radius: 10px; border: 0; background: var(--grid); color: #fff; cursor: pointer; }
.login-card small { color: var(--ink-3); }
.login-card .err { color: var(--bad); font-weight: 500; }
