/* GLAD sign in: isolated from registration and password recovery. */
body.auth-login-page {
    --text-primary: #222b23;
    --text-secondary: #59665b;
    --text-muted: #657167;
    --border: #dce3dd;
    --border-focus: #198508;
    --surface: #ffffff;
    --surface-soft: #ffffff;
    --theme-primary: #188708;
    --primary: var(--theme-primary);
    --app-background: #eef2ee;
    --theme-on-primary: #ffffff;
    --contrast-control-text: var(--text-primary);
    --contrast-control-bg: var(--surface);
    --login-promo-bg: #105900;
    --login-promo-text: #ffffff;
    --login-promo-detail: #dfecda;
    --login-promo-inset: #198708;
    color: var(--text-primary);
    background: #eef2ee;
    font-family: "Ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-theme="dark"] body.auth-login-page {
    --text-primary: #eef3e9;
    --text-secondary: #bac7b5;
    --text-muted: #a9b9a4;
    --border: #314332;
    --border-focus: #8ed575;
    --surface: #1b2c1e;
    --surface-soft: #1b2c1e;
    --theme-primary: #8fd676;
    --app-background: #0d1b12;
    --theme-on-primary: #142b10;
    --login-promo-bg: #b8e9a3;
    --login-promo-text: #153015;
    --login-promo-detail: #294b25;
    --login-promo-inset: #8fd676;
    background: #0d1b12;
}
.auth-login-page .auth-shell { min-height: 100vh; min-height: 100svh; }
.auth-login-page .auth-shell::before,
.auth-login-page .auth-shell::after { display: none; }
.auth-login-page .auth-shell-header {
    width: min(100% - 96px, 1184px);
    min-height: 88px;
}
.auth-login-page .auth-shell-brand { width: auto; }
.auth-login-brand { display: inline-flex; align-items: center; }
.auth-login-brand img { display: block; width: 72px; height: 44px; object-fit: contain; }
.auth-login-page .auth-shell-actions { gap: 20px; }
body.auth-login-page .auth-home-link { font-size: 12px; }
.auth-login-page .auth-theme-toggle { width: 64px; height: 32px; }
.auth-login-page .auth-theme-toggle span { width: 24px; height: 24px; }
html[data-theme="dark"] .auth-login-page .auth-theme-moon {
    color: var(--theme-on-primary);
    background: var(--theme-primary);
}
.auth-login-page .auth-main {
    width: min(100% - 96px, 1184px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-content: center;
    align-items: center;
    gap: clamp(48px, 8.6vw, 112px);
    padding: 32px 0;
}
.auth-login-page .auth-promo {
    min-height: 0;
    border-radius: 14px;
    color: var(--login-promo-text);
    background: var(--login-promo-bg);
    box-shadow: 0 3px 9px #102b1420;
}
.auth-login-page .auth-promo-inner { padding: 44px 40px 20px; }
.auth-login-page .auth-promo-badge {
    padding: 8px 11px;
    border-radius: 9px;
    color: var(--login-promo-text);
    background: var(--login-promo-inset);
    font-size: 10px;
    letter-spacing: 0;
}
.auth-login-page .auth-promo h1 {
    margin: 24px 0 0;
    color: var(--login-promo-text);
    font-size: 42px;
    line-height: 1.23;
    letter-spacing: -.025em;
    font-weight: 700;
}
body.auth-login-page .auth-promo p {
    margin-top: 24px;
    color: var(--login-promo-detail);
    font-size: 14px;
    line-height: 1.6;
}
body.auth-login-page .auth-promo-list { margin-top: 32px; gap: 12px; font-size: 13px; font-weight: 400; }
.auth-login-page .auth-promo-list li { gap: 9px; }
.auth-login-page .auth-promo-list span {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    color: var(--login-promo-text);
    background: var(--login-promo-inset);
}
.auth-login-page .auth-promo-note { margin-top: 20px; padding: 15px 16px; background: var(--login-promo-inset); }
body.auth-login-page .auth-promo-note strong { color: var(--login-promo-text); font-size: 12px; }
body.auth-login-page .auth-promo-note small { color: var(--login-promo-detail); font-size: 10px; }
.auth-login-page .auth-card {
    max-width: 536px;
    padding: 34px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: 0 4px 12px #102b1412;
}
.auth-login-page .auth-login-header { margin-bottom: 27px; }
.auth-login-page .auth-eyebrow { margin-bottom: 10px; font-size: 10px; letter-spacing: 0; }
.auth-login-page .auth-login-header h1 { font-size: 30px; letter-spacing: -.02em; line-height: 1.2; }
body.auth-login-page .auth-login-header p { margin-top: 10px; font-size: 12px; line-height: 1.5; }
.auth-login-page .auth-login-field { margin-bottom: 22px; }
body.auth-login-page .auth-label { margin-bottom: 8px; font-size: 12px; }
body.auth-login-page .auth-forgot-link { font-size: 10px; }
.auth-login-page .auth-input-wrap input { height: 50px; border-radius: 6px; font-size: 14px; font-weight: 400; }
.auth-login-page .auth-password-toggle { font-size: 11px; }
.auth-login-page .auth-login-submit {
    margin-top: 25px;
    min-height: 48px;
    border-radius: 6px;
    font-size: 12px;
    transition: filter .15s ease;
}
.auth-login-page .auth-login-submit:hover { filter: brightness(.95); }
body.auth-login-page .auth-register { margin-top: 24px; padding-top: 18px; font-size: 12px; }
.auth-login-page .auth-register a { margin-left: 3px; }
body.auth-login-page .auth-shell-footer { min-height: 84px; padding: 12px 0 24px; font-size: 12px; }
@media (max-width: 1023px) {
    .auth-login-page .auth-shell-header { width: min(100% - 96px, 536px); min-height: 90px; }
    .auth-login-page .auth-main { display: block; width: min(100% - 80px, 536px); padding: 60px 0 100px; align-self: start; }
    .auth-login-page .auth-promo { display: none; }
    .auth-login-page .auth-card { padding: 34px; }
    .auth-login-page .auth-home-link { display: none; }
}
@media (max-width: 600px) {
    .auth-login-page .auth-shell-header { width: calc(100% - 40px); min-height: 78px; }
    .auth-login-brand img { width: 64px; height: 40px; }
    .auth-login-page .auth-main { width: calc(100% - 32px); padding: 48px 0 32px; }
    .auth-login-page .auth-card { padding: 30px 22px 26px; }
    .auth-login-page .auth-login-header h1 { font-size: 28px; }
    .auth-login-page .auth-input-wrap input { font-size: 16px; }
    body.auth-login-page .auth-forgot-link { font-size: 11px; }
    body.auth-login-page .auth-register { font-size: 11px; }
    body.auth-login-page .auth-shell-footer { min-height: 64px; }
}
@media (max-width: 370px) {
    .auth-login-page .auth-card { padding-inline: 18px; }
}

