body.login-page{min-height:100vh;min-height:100svh;background:var(--bg)}
.login-page .login-shell{margin:0 auto;padding:40px 24px;max-width:490px;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:24px}
.login-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:23px;font-weight:700;letter-spacing:1.5px}
.login-brand>span:first-child{color:var(--blue)}
.login-source{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:auto}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px}
.login-card h1{font-size:28px;line-height:1.4;margin:0 0 9px;font-weight:650}
.login-description{font-size:13px;color:var(--muted);margin:0 0 27px;line-height:1.7}
.login-card #loginForm{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:0}
.login-card label{font-size:13px;gap:8px;color:var(--ink)}
.login-card #username{margin-bottom:11px}
.login-card input{width:100%;min-width:0;height:48px;padding:11px 12px;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:7px;font-size:15px}
.password-field{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:8px}
.password-field button{height:48px;font-size:12px;background:var(--field)}
.login-card #loginSubmit{min-height:48px;width:100%;margin-top:13px;font-size:15px;font-weight:600}
.login-card #loginSubmit:disabled{cursor:wait;opacity:.7}
.login-card input[aria-invalid=true]{border-color:#c7914b}
.login-card .alert{font-size:13px;line-height:1.65;overflow-wrap:anywhere;margin:7px 0 0}
.login-help{margin:20px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
.login-footer{margin:0;color:var(--muted);font-size:11px;letter-spacing:1px}
.auth-logout{min-height:44px;font-size:12px}
@media(max-width:480px){.login-page .login-shell{padding:28px 18px;gap:20px}.login-card{padding:24px 20px}.login-card h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
