/* Laptop web composition; shared phone and Android styles remain independent. */
@media (min-width: 1024px) {
    .login-page {
        min-height: 100svh;
        padding: 32px 5vw;
        display: flex;
        align-items: center;
        background: linear-gradient(90deg, transparent 55%, #eaf2fa35), url("images/login_desktop_ayn10.png") center / cover fixed;
    }
    .login-content {
        width: 380px;
        max-width: 380px;
        margin: 0 0 0 auto;
        padding: 28px 28px 20px;
        border: 1px solid #ffffffdd;
        border-radius: 28px;
        background: linear-gradient(145deg, #fffffff2, #f5f9fff0);
        backdrop-filter: blur(20px);
        box-shadow: 0 24px 70px #16304d26;
    }
    .brand-header { display: grid; grid-template-columns: 48px 1fr; gap: 3px 12px; align-items: center; text-align: left; padding-bottom: 20px; border-bottom: 1px solid #dce5ee; }
    .app-logo { grid-row: 1 / 3; width: 48px; height: 48px; padding: 3px; border-radius: 13px; box-shadow: 0 3px 10px #082b6315; }
    h1 { font-size: 27px; letter-spacing: -.7px; margin: 0; text-shadow: none; }
    .brand-location { font-size: 12px; text-shadow: none; letter-spacing: .3px; }
    .security-divider { display: none; }
    .tagline { grid-column: 1 / -1; margin-top: 12px; font-size: 12px; line-height: 1.6; text-shadow: none; font-weight: 400; }
    .tagline br { display: none; }
    .login-card { margin: 0; padding: 22px 0 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
    .shield-badge { display: none; }
    h2 { text-align: left; font-size: 22px; letter-spacing: -.6px; margin: 0 0 8px; }
    .card-description { text-align: left; font-size: 12px; line-height: 1.55; margin-bottom: 20px; }
    .field-group { margin-bottom: 12px; }
    .field-group > label:not(.sr-only) { font-size: 11px; margin-bottom: 7px; }
    .input-wrap { min-height: 48px; border-radius: 10px; background: #fff; border-color: #dce3ec; }
    .input-wrap input { font-size: 13px; padding: 12px 10px; font-weight: 500; }
    .input-wrap > svg { width: 19px; }
    .at-icon { font-size: 22px; }
    .remember, .text-button { font-size: 11.5px; }
    .remember input { width: 16px; height: 16px; }
    .form-options { margin-bottom: 10px; }
    .login-button { min-height: 46px; border-radius: 10px; font-size: 14px; background: #0b4ea2; box-shadow: 0 5px 12px #0b4ea21a; }
    .login-button:hover { background: #083e84; }
    .account-request, .account-request button { font-size: 11px; }
    .account-request { margin-top: 6px; }
    .brand-footer { margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid #dce5ee; border-radius: 0; background: transparent; backdrop-filter: none; box-shadow: none; display: grid; grid-template-columns: 1fr 1fr; align-items: center; text-align: right; }
    .footer-logos { grid-row: 1 / 3; height: 34px; gap: 10px; margin: 0 12px 0 0; }
    .footer-logos img { height: 34px; width: calc(50% - 5px); }
    .brand-footer > strong { font-size: 10px; }
    .brand-footer > p { font-size: 9px; margin: 2px 0 0; }
    .brand-rule { grid-column: 1 / -1; height: 2px; margin-top: 14px; opacity: .65; }
    .footer-caption { grid-column: 1 / -1; text-align: center; font-size: 9px; line-height: 1.5; margin-top: 10px; font-weight: 400; }
}
@media (min-width: 1024px) and (max-height: 720px) {
    .login-page { padding-top: 18px; padding-bottom: 18px; }
    .login-content { padding-top: 20px; padding-bottom: 16px; }
    .brand-header { padding-bottom: 14px; }
    .login-card { padding-top: 16px; padding-bottom: 8px; }
    .card-description { margin-bottom: 14px; }
}
