.login-page {
    display: flex;
    min-height: 100vh;
    padding: 7.25rem 0 2.5rem;
    align-items: center;
    background: radial-gradient(circle at 12% 15%, rgba(62,207,222,.14), transparent 24%), linear-gradient(145deg,#eefaff,#f9fdff 65%,#fff);
}

.login-shell {
    display: grid;
    max-width: 1180px;
    min-height: 620px;
    margin: 0 auto;
    grid-template-columns: minmax(430px, .9fr) 1.1fr;
    overflow: hidden;
    border: 1px solid #d8e7f1;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 32px 80px rgba(13,61,102,.14);
}

.login-form-panel { display: flex; padding: 2.6rem 3rem; align-items: center; background: #fff; }
.login-form-inner { width: 100%; max-width: 440px; margin: 0 auto; }
.login-eyebrow { display: inline-block; margin-bottom: .65rem; color: #0878e8; font-size: .69rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.login-form-panel h1 { margin-bottom: .85rem; color: #062d55; font-family: Manrope,sans-serif; font-size: clamp(2.15rem,3vw,3rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.06; }
.login-form-panel h1 span { color: #0878e8; }
.login-intro { margin-bottom: 1.35rem; color: #6b8195; font-size: .9rem; line-height: 1.6; }
.login-alert { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: .85rem; font-size: .82rem; }
.login-form { margin-top: 1.25rem; }
.login-field { margin-bottom: .85rem; }
.login-field label { margin: 0 0 .45rem .1rem; color: #163c60; font-size: .79rem; font-weight: 800; }
.login-input-wrap { position: relative; }
.login-input-wrap > i { position: absolute; z-index: 2; left: 1rem; top: 50%; color: #7e96aa; font-size: 1.05rem; transform: translateY(-50%); }
.login-input-wrap .form-control { min-height: 50px; padding-left: 3rem; border: 1px solid #d3e4ef; border-radius: .85rem; background: #fbfdff; }
.login-input-wrap .form-control:focus { border-color: #72bafa; background: #fff; box-shadow: 0 0 0 .22rem rgba(8,120,232,.1); }
.login-remember { display: flex; margin: 1rem 0 1.15rem; align-items: center; gap: .65rem; color: #506b82; cursor: pointer; font-size: .82rem; }
.login-remember .form-check-input { width: 1.1rem; height: 1.1rem; margin: 0; border-color: #a9becd; }
.login-submit { min-height: 50px; }
.login-new-member { display: flex; margin-top: 1.15rem; align-items: center; justify-content: center; flex-wrap: wrap; gap: .35rem; color: #71869a; font-size: .82rem; }
.login-new-member a { color: #0878e8; font-weight: 800; }
.login-security-note { margin: 1rem 0 0; color: #8a9cac; font-size: .7rem; text-align: center; }
.login-security-note i { margin-right: .35rem; color: #0aa474; }

.login-visual-panel { position: relative; display: flex; padding: 2.6rem 3rem; overflow: hidden; align-items: center; background: radial-gradient(circle at 85% 18%, rgba(51,211,219,.3), transparent 25%), linear-gradient(145deg,#073765,#075f98); color: #fff; }
.login-visual-bg { position: absolute; inset: 0; opacity: .8; pointer-events: none; }
.login-visual-bg::before { position: absolute; width: 34rem; height: 34rem; right: -17rem; bottom: -17rem; border: 4rem solid rgba(255,255,255,.045); border-radius: 50%; content: ""; }
.visual-route { position: absolute; width: 300px; height: 160px; border: 1px dashed rgba(126,226,255,.25); border-radius: 50%; transform: rotate(-18deg); }
.route-one { right: -50px; top: 120px; }
.route-two { left: -130px; bottom: 70px; transform: rotate(25deg); }
.visual-dot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #70e2ff; box-shadow: 0 0 0 8px rgba(112,226,255,.09); }
.dot-one { right: 90px; top: 165px; }
.dot-two { left: 85px; bottom: 110px; }
.dot-three { right: 160px; bottom: 75px; }
.login-visual-content { position: relative; z-index: 1; width: 100%; max-width: 550px; margin: 0 auto; }
.visual-brand-mark { display: grid; width: 48px; height: 48px; margin-bottom: .9rem; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 15px; background: rgba(255,255,255,.12); color: #81e4ff; font-size: 1.3rem; }
.login-visual-eyebrow { display: block; margin-bottom: .7rem; color: #87ddfa; font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.login-visual-panel h2 { margin-bottom: .75rem; color: #fff; font-family: Manrope,sans-serif; font-size: clamp(2.7rem,3.6vw,3.8rem); font-weight: 800; letter-spacing: -.06em; line-height: .98; }
.login-visual-panel h2 span { color: #71ddfa; }
.login-visual-content > p { max-width: 490px; margin-bottom: 0; color: #c5dfef; font-size: .9rem; line-height: 1.6; }
.login-benefit-list { display: grid; margin-top: 1.25rem; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.login-benefit-list > div { display: grid; padding: .75rem; grid-template-columns: 36px 1fr; column-gap: .65rem; border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; background: rgba(255,255,255,.075); }
.login-benefit-list > div > span { display: grid; width: 36px; height: 36px; grid-row: span 2; place-items: center; border-radius: 10px; background: rgba(255,255,255,.12); color: #73ddfb; }
.login-benefit-list strong { align-self: end; font-size: .78rem; }
.login-benefit-list small { color: #aac9dc; font-size: .62rem; }

.login-travel-illustration { position: relative; width: 100%; height: 92px; margin-top: 1rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.illustration-globe { position: absolute; display: grid; width: 88px; height: 88px; left: calc(50% - 44px); bottom: -10px; place-items: center; border: 1px solid rgba(126,225,255,.3); border-radius: 50%; color: rgba(126,225,255,.35); font-size: 3.5rem; }
.illustration-plane { position: absolute; z-index: 2; left: calc(50% - 14px); top: 0; color: #fff; filter: drop-shadow(0 8px 12px rgba(0,0,0,.2)); font-size: 1.75rem; transform: rotate(-18deg); }
.illustration-hotel,.illustration-case,.illustration-growth { position: absolute; display: grid; width: 42px; height: 42px; bottom: 8px; place-items: center; border-radius: 12px 12px 4px 4px; background: rgba(255,255,255,.13); color: #fff; font-size: 1rem; }
.illustration-hotel { left: 12%; }
.illustration-case { right: 12%; }
.illustration-growth { right: 27%; bottom: 43px; color: #7ff0c5; }

@media (min-width: 992px) and (max-height: 800px) {
    .login-page { padding-top: 6.7rem; }
    .login-shell { min-height: 570px; }
    .login-form-panel,.login-visual-panel { padding-top: 2rem; padding-bottom: 2rem; }
    .login-travel-illustration { display: none; }
}

@media (max-width: 991.98px) {
    .login-page { padding: 8rem 0 4rem; }
    .login-shell { display: block; max-width: 620px; min-height: 0; }
    .login-visual-panel { display: none; }
    .login-form-panel { padding: 3rem; }
}

@media (max-width: 575.98px) {
    .login-page { padding: 6.8rem 0 2.5rem; }
    .login-shell { border-radius: 1.4rem; }
    .login-form-panel { padding: 2rem 1.25rem; }
    .login-form-panel h1 { font-size: 2.45rem; }
    .login-intro { font-size: .9rem; }
}
