/* Mobile-only native authentication surface; desktop keeps its native theme. */
@media (max-width: 720px) {
body.t-PageBody--login span.t-Login-logo:empty {
    display: none;
}
body.t-PageBody--login .sw-request-access .t-Icon--right {
    display: none;
}
body.t-PageBody--login .sw-request-access .t-Icon--left {
    margin-inline-end: 8px;
}
body.t-PageBody--login .t-Login-logo {
    object-fit: contain;
    background: #fff;
    padding: 10px 14px;
    border-radius: 4px;
    box-sizing: border-box;
}
body.t-PageBody--login .t-Login-region .t-Form-label {
    text-align: start;
    font-weight: 600;
}
body.t-PageBody--login .sw-request-access {
    min-height: 44px;
    border: 1px solid #cbd5df;
    background: #fff;
    color: #263a4a;
    box-shadow: none;
}
    body.t-PageBody--login {
        background: #fff !important;
        background-image: none !important;
        color: #202b35;
        min-height: 100dvh;
    }
    body.t-PageBody--login .t-Login-container {
        gap: 0;
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
        width: 100%;
        max-width: 480px;
        min-height: 100dvh;
        margin: 0 auto;
        padding: 0;
    }
    body.t-PageBody--login .t-Login-region {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        min-height: 100dvh;
        min-width: 0;
        margin: 0;
        padding: max(32px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));
        background: #fff;
        color: #202b35;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        backdrop-filter: none;
    }
    body.t-PageBody--login .t-Login-header {
        padding: 0;
        text-align: start;
    }
    body.t-PageBody--login .t-Login-logo {
        display: block;
        width: 100%;
        max-width: 336px;
        height: 56px;
        margin: 0 auto 36px;
        padding: 0;
        border-radius: 0;
    }
    body.t-PageBody--login .t-Login-title {
        color: #202b35;
        font-size: 28px;
        line-height: 1.25;
        font-weight: 700;
        letter-spacing: 0;
        text-align: start;
        margin: 0 0 8px;
    }
    body.t-PageBody--login .t-Login-body {
        padding: 0;
    }
    body.t-PageBody--login .sw-login-subtitle {
        color: #687583;
        font-size: 16px;
        line-height: 1.5;
        margin: 0 0 24px;
    }
    body.t-PageBody--login .t-Login-region .t-Form-label,
    body.t-PageBody--login .t-Login-region .apex-item-option label {
        color: #344452;
        font-size: 14px;
        line-height: 1.5;
    }
    body.t-PageBody--login .t-Login-region .t-Form-fieldContainer {
        margin-bottom: 16px;
    }
    body.t-PageBody--login .t-Form-labelContainer {
        width: 100%;
        max-width: none;
        padding: 0 0 8px;
    }
    body.t-PageBody--login .t-Form-inputContainer {
        width: 100%;
        max-width: none;
        padding: 0;
    }
    body.t-PageBody--login .t-Login-region .apex-item-text,
    body.t-PageBody--login .t-Login-region .apex-item-password {
        min-height: 56px;
        border: 1px solid #cbd5df;
        background: #fff;
        color: #202b35;
        border-radius: 8px;
        font-size: 16px;
        line-height: 1.5;
        box-shadow: none;
    }
    body.t-PageBody--login .t-Login-region input:focus-visible {
        outline: 3px solid #dcebf4;
        outline-offset: 2px;
        border-color: #427b9b;
    }
    body.t-PageBody--login .t-Form-itemText,
    body.t-PageBody--login .t-Form-helpText {
        color: #687583;
    }
    body.t-PageBody--login .t-Login-buttons {
        padding: 8px 0 0;
    }
    body.t-PageBody--login .t-Login-region .t-Button--hot {
        min-height: 56px;
        border-radius: 8px;
        box-shadow: none;
        font-size: 16px;
        font-weight: 700;
        transition: filter 120ms ease;
    }
    body.t-PageBody--login .t-Button:active {
        filter: brightness(.94);
    }
    body.t-PageBody--login .sw-forgot-password {
        color: #285f80;
        min-height: 44px;
        border: 0;
        background: transparent;
        box-shadow: none;
        font-size: 14px;
        text-decoration: none;
    }
    body.t-PageBody--login .sw-request-access {
        width: 100%;
        min-height: 48px;
        margin-top: 16px;
        border-radius: 8px;
        font-size: 15px;
    }
    body.t-PageBody--login .t-Alert {
        border-radius: 8px;
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}
@media (max-width: 720px) and (max-height: 700px) {
    body.t-PageBody--login .t-Login-region {
        padding: max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom));
    }
    body.t-PageBody--login .t-Login-logo {
        height: 40px;
        margin-bottom: 16px;
    }
    body.t-PageBody--login .sw-login-subtitle {
        margin-bottom: 12px;
    }
    body.t-PageBody--login .t-Login-region .t-Form-fieldContainer {
        margin-bottom: 8px;
    }
    body.t-PageBody--login .t-Form-fieldContainer--hiddenLabel > .t-Form-labelContainer {
        display: none;
    }
    body.t-PageBody--login .t-Login-region .apex-item-text,
    body.t-PageBody--login .t-Login-region .t-Button--hot {
        min-height: 48px;
    }
    body.t-PageBody--login .sw-request-access {
        margin-top: 8px;
    }
}
@media (min-width: 721px) {
    body.t-PageBody--login .sw-request-access,
    body.t-PageBody--login .sw-forgot-password {
        display: none;
    }
    body.t-PageBody--login .apex-item-wrapper--text-field > .t-Form-labelContainer,
    body.t-PageBody--login .apex-item-wrapper--password > .t-Form-labelContainer {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.t-PageBody--login .t-Button { transition: none; }
}
