/* Login has its own layout; dashboard spacing and sidebar colours do not apply. */
.login-page {min-height:100vh;min-height:100svh;padding:32px 20px;}
.login-page .login-shell {width:100%;max-width:440px;min-height:0;margin:0;padding:0;}
.login-page .login-card {max-width:none;margin:0;padding:36px;background:var(--surface);}
.login-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px;}
.login-page .login-brand {padding:0;margin:0;color:var(--ink);gap:9px;font-size:26px;}
.login-page .brand-mark {color:var(--accent);width:30px;height:38px;}
.login-brand-copy {display:flex;flex-direction:column;gap:5px;}
.login-brand-copy>span {display:flex;align-items:baseline;gap:4px;}
.login-page .brand-dot {color:var(--accent);margin:0;}
.login-brand-copy small {font-size:11px;font-weight:400;letter-spacing:0;line-height:1.3;color:var(--muted);}
.login-heading .mode-bar {display:inline-flex;align-items:center;max-width:none;padding:4px 7px;font-size:9px;letter-spacing:.06em;white-space:nowrap;background:var(--soft);}
.login-page h1 {font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:0 0 12px;}
.login-description {font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 28px;}
.login-card form {display:grid;gap:20px;}
.login-card label {gap:8px;margin:0;font-size:13px;font-weight:550;}
.login-card input {width:100%;min-width:0;min-height:46px;padding:11px 12px;font-size:16px;background:var(--surface);border-color:var(--line);}
.login-card button {min-height:46px;margin-top:4px;font-size:14px;font-weight:600;}
.login-card .flash {margin:0 0 24px;}
.login-footer {margin-top:24px;padding:0 12px;text-align:center;color:var(--muted);font-size:12px;line-height:1.5;}
.login-footer p {margin:0;}
.login-footer p+p {margin-top:6px;font-size:11px;}
[data-theme=glass] .login-card {background:rgba(250,252,255,.66);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:inset 0 1px 0 #ffffffb0,0 18px 60px #3447670d;}
[data-theme=glass2] .login-card {background:rgba(246,248,250,.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-color:#ffffffc7;box-shadow:inset 0 1px 0 #fff,0 12px 40px #263c5009;}
[data-theme=glass3] .login-card {background:rgba(240,248,249,.76);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:inset 0 1px 0 #ffffffc7,0 16px 48px #305b710d;}
[data-effects=reduced] .login-card {background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;}
@media(max-width:480px) {
  .login-page {padding:24px 16px;}
  .login-page .login-card {padding:28px 24px;}
  .login-heading {gap:12px;margin-bottom:30px;}
  .login-page h1 {font-size:26px;}
}
