.login-page{background:radial-gradient(circle at 18% 16%, var(--primary-pale), transparent 32rem), var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--bg);width:min(100%,420px);box-shadow:0 24px 70px var(--shadow-soft);border-radius:20px;padding:36px}.login-brand{background:var(--primary-strong);width:48px;height:48px;color:var(--bg);border-radius:14px;place-items:center;font-size:24px;font-weight:800;display:grid}.login-eyebrow{color:var(--primary-strong);margin:24px 0 4px;font-size:12px;font-weight:700}.login-card h1{margin:0;font-size:26px}.login-copy{color:var(--muted);margin:10px 0 24px;font-size:13px;line-height:1.9}.login-form{gap:16px;display:grid}.login-form label span{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:650;display:block}.login-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);border-radius:10px;padding:9px 12px;transition:border-color .16s ease-out,background .16s ease-out}.login-form input:focus{border-color:var(--primary);background:var(--bg)}.login-form button{border:1px solid var(--primary-strong);background:var(--primary-strong);min-height:46px;color:var(--bg);cursor:pointer;border-radius:10px;font-weight:700}.login-form button:hover{background:var(--primary-hover)}.login-form button:disabled{cursor:wait;opacity:.65}.login-error{color:var(--danger);margin:-4px 0 0;font-size:12px;line-height:1.7}.login-footnote{color:var(--faint);text-align:center;margin:22px 0 0;font-size:11px}@media (max-width:480px){.login-page{align-items:stretch;padding:0}.login-card{width:100%;box-shadow:none;border:0;border-radius:0;padding:32px 24px}}
