/* Login and registration share the same dedicated phone layout. */
html {
    width: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.auth-page {
    width: 100%;
    min-width: 0;
    min-height: 100dvh;
    padding: 16px 12px;
    place-items: center;
    overflow-wrap: anywhere;
}

body.auth-page::before { background-size: cover; }

body.auth-page .auth-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: clamp(18px, 4vw, 32px);
    border-radius: 18px;
}

.auth-page .auth-brand { gap: 10px; font-size: clamp(14px, 3.5vw, 17px); }
.auth-page .auth-brand > span { min-width: 0; }
.auth-page .auth-brand small { letter-spacing: 1px; }
.auth-page .brand-seal { width: 52px; height: 52px; }
.auth-page .auth-heading h1 { font-size: clamp(28px, 7vw, 38px); }
.auth-page .auth-field,
.auth-page .password-wrap { min-width: 0; width: 100%; }
.auth-page .auth-field input { min-width: 0; max-width: 100%; min-height: 48px; font-size: 16px; }
.auth-page .password-wrap input { padding-right: 74px; }
.auth-page .password-toggle { min-width: 48px; min-height: 44px; right: 6px; }
.auth-page .auth-tabs a,
.auth-page .auth-submit { min-height: 48px; }
.auth-page .remember { min-height: 44px; }
.auth-page .remember input { flex-shrink: 0; }
.auth-page .auth-footer { overflow-wrap: anywhere; }

/* A more compact sign-in card, preserving comfortable touch targets. */
body.login-page .auth-card {
    max-width: 340px;
    padding: 16px 16px 12px;
    border-radius: 16px;
}
body.login-page .auth-brand { gap: 8px; font-size: 13px; letter-spacing: 1px; }
.login-page .brand-seal { width: 36px; height: 36px; flex-shrink: 0; }
.login-page .auth-brand small { font-size: 10px; letter-spacing: 1.5px; }
.login-page .eyebrow { font-size: 10px; letter-spacing: 1px; }
.login-page .auth-heading { margin: 14px 0 12px; }
body.login-page .auth-heading h1 { font-size: 26px; margin: 6px 0; }
.login-page .auth-heading p { font-size: 13px; line-height: 1.5; }
.login-page .auth-tabs { margin-bottom: 12px; padding: 3px; }
.login-page .auth-tabs a { min-height: 44px; padding: 10px 8px; font-size: 14px; }
.login-page .auth-field { margin-bottom: 10px; }
.login-page .auth-field label { font-size: 13px; margin-bottom: 5px; }
.login-page .auth-field input { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
.login-page .remember { margin: 0 0 8px; font-size: 13px; }
.login-page .auth-submit { min-height: 44px; padding: 10px 12px; font-size: 16px; }
.login-page .loading-status:empty { min-height: 0; margin: 8px 0; }
.login-page .auth-footer { padding-top: 10px; font-size: 11px; line-height: 1.5; }
