/* Aviation gateway: one clear brand canvas and a focused sign-in surface. */
html.login-refined body {
    background:#071b30 !important;
    background-image:radial-gradient(ellipse at 10% 10%,#174969 0,transparent 60%) !important;
    font-family:var(--portal-font-family,"Nunito Sans","Segoe UI",sans-serif) !important;
}
html.login-refined body::before,html.login-refined body::after { display:none !important; }
html.login-refined body .kcaa-login-page {
    min-height:100svh !important; padding:40px 24px !important;
    display:grid !important; place-items:center !important; background:transparent !important;
}
html.login-refined body .kcaa-login-card {
    display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
    width:100% !important; max-width:1100px !important; margin:0 auto !important;
    border:1px solid #ffffff20 !important; border-radius:24px !important; overflow:hidden !important;
    background:#0b2942 !important; box-shadow:0 32px 90px #00000050 !important;
}
html.login-refined body .kcaa-login-brand {
    display:flex !important; flex-direction:column !important; align-items:flex-start !important;
    justify-content:flex-start !important; position:relative !important; min-height:660px !important;
    padding:40px !important; border:0 !important; border-radius:0 !important;
    background:radial-gradient(ellipse at 100% 90%,#196583 0,transparent 64%),linear-gradient(155deg,#081d33,#103954) !important;
}
html.login-refined body .kcaa-login-brand::before,
html.login-refined body .kcaa-login-brand::after,
html.login-refined body .kcaa-brand-atmosphere,
html.login-refined body .kcaa-login-trust-grid,
html.login-refined body .kcaa-login-signal,
html.login-refined body .kcaa-login-flightline,
html.login-refined body .kcaa-login-identity-badge,
html.login-refined body .kcaa-login-brand-tag { display:none !important; }
html.login-refined body .kcaa-login-identity { display:block !important; position:relative !important; z-index:2; margin:0 !important; }
html.login-refined body .kcaa-login-logo {
    width:104px !important; height:76px !important; padding:9px !important; object-fit:contain;
    background:#fff !important; border:0 !important; border-radius:10px !important; box-shadow:none !important;
}
html.login-refined body .kcaa-login-brand-copy { position:relative; z-index:2; margin:56px 0 0 !important; max-width:430px; }
html.login-refined body .kcaa-aviator-kicker { display:block; color:#e0bd78; font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; }
html.login-refined body .kcaa-login-brand h1 { display:block !important; margin:0 !important; font:750 42px/1.1 var(--portal-font-family,"Nunito Sans",sans-serif) !important; color:#fff !important; letter-spacing:-.035em !important; }
html.login-refined body .kcaa-login-brand h1 .kcaa-desktop-title { display:block !important; font:inherit !important; color:inherit !important; }
html.login-refined body .kcaa-login-brand h1 .kcaa-mobile-title { display:none !important; }
html.login-refined body .kcaa-login-brand-copy p { display:block !important; margin:20px 0 0 !important; max-width:340px !important; font:400 14px/1.65 var(--portal-font-family,"Nunito Sans",sans-serif) !important; color:#c1d5e3 !important; }
html.login-refined body .kcaa-login-brand-copy p .kcaa-desktop-title { display:block !important; color:inherit !important; font:inherit !important; }
html.login-refined body .kcaa-login-brand-copy p .kcaa-mobile-title { display:none !important; }
html.login-refined body .kcaa-aviator-art { position:absolute; width:340px; height:340px; right:-44px; bottom:-34px; opacity:.85; pointer-events:none; z-index:1; }
html.login-refined body .kcaa-aviator-signature { margin-top:auto; padding-top:100px; position:relative; z-index:2; color:#c3d7e5; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
html.login-refined body .kcaa-aviator-signature::before { content:""; display:block; width:44px; height:2px; margin-bottom:12px; background:#d8af65; }
html.login-refined body .kcaa-login-panel {
    padding:44px 36px !important; min-width:0 !important; border:0 !important; border-radius:0 !important;
    background:#fafbfd !important; box-shadow:none !important; align-self:stretch;
}
html.login-refined body .kcaa-login-panel-topline { display:block !important; color:#7b653a !important; margin:0 0 10px !important; padding:0 !important; background:none !important; font-size:10px !important; letter-spacing:.16em !important; font-weight:800 !important; text-transform:uppercase; }
html.login-refined body .kcaa-login-panel h2 { font:750 32px/1.15 var(--portal-font-family,"Nunito Sans",sans-serif) !important; letter-spacing:-.025em !important; color:#112e46 !important; margin:0 0 9px !important; }
html.login-refined body .kcaa-login-panel h2 .kcaa-welcome-emblem { display:none !important; }
html.login-refined body .kcaa-login-intro { margin:0 0 25px !important; color:#5e7182 !important; font-size:14px !important; line-height:1.5 !important; }
html.login-refined body .kcaa-login-divider,html.login-refined body .kcaa-login-panel-note { display:none !important; }
html.login-refined body .kcaa-login-panel .form-group { margin-bottom:18px !important; }
html.login-refined body .kcaa-login-panel label { font-size:13px !important; font-weight:700 !important; color:#18374d !important; margin-bottom:7px !important; }
html.login-refined body .kcaa-login-panel .form-control {
    height:52px !important; min-height:52px !important; width:100%; padding:12px 14px !important;
    font-size:16px !important; color:#18374d !important; background:#fff !important;
    border:1px solid #cbd6df !important; border-radius:8px !important; box-shadow:none !important;
}
html.login-refined body .kcaa-login-panel .form-control:focus { border-color:#17648a !important; outline:0; box-shadow:0 0 0 3px #17648a20 !important; }
html.login-refined body .kcaa-password-field { display:flex !important; }
html.login-refined body .kcaa-password-field .form-control { min-width:0; border-radius:8px 0 0 8px !important; }
html.login-refined body .kcaa-password-toggle { min-height:52px !important; height:52px !important; min-width:62px !important; border:1px solid #cbd6df !important; border-left:0 !important; border-radius:0 8px 8px 0 !important; background:#f0f4f7 !important; color:#174b6a !important; font-size:13px !important; box-shadow:none !important; }
html.login-refined body .kcaa-login-password-row { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
html.login-refined body .kcaa-login-password-row a { font-size:12px !important; color:#17648a !important; font-weight:700 !important; }
html.login-refined body .kcaa-field-help { font-size:11px !important; line-height:1.5 !important; color:#64798a !important; margin-top:7px !important; }
html.login-refined body .kcaa-login-panel > .btn-primary {
    width:100% !important; min-height:52px !important; height:auto !important; padding:14px 18px !important;
    font-size:16px !important; font-weight:750 !important; color:#fff !important;
    background:linear-gradient(110deg,#10344e,#145a7c) !important;
    border:0 !important; border-bottom:3px solid #d9b574 !important; border-radius:8px !important;
    box-shadow:0 8px 18px #10344e22 !important;
}
html.login-refined body .kcaa-login-panel > .btn-primary:hover { background:#10344e !important; }
html.login-refined body .kcaa-remember { min-height:32px !important; margin:12px 0 16px !important; gap:9px !important; }
html.login-refined body .kcaa-remember input[type=checkbox] { width:18px !important; height:18px !important; accent-color:#145a7c; }
html.login-refined body .kcaa-remember label { margin:0 !important; font-size:12px !important; font-weight:500 !important; }
html.login-refined body .kcaa-login-actions { display:flex !important; flex-wrap:wrap; justify-content:center; gap:6px !important; padding-top:16px !important; margin:0 !important; border-top:1px solid #dfe6ec !important; font-size:13px !important; }
html.login-refined body .kcaa-login-actions a { color:#145a7c !important; font-weight:750 !important; font-size:13px !important; }
html.login-refined body .kcaa-login-support { display:flex !important; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 12px !important; padding:14px 0 0 !important; margin:14px 0 0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
html.login-refined body .kcaa-login-support .btn { font-size:13px !important; color:#145a7c !important; background:none !important; border:0 !important; padding:4px !important; box-shadow:none !important; }
html.login-refined body .kcaa-login-support :is(span,a) { font-size:11px !important; color:#5e7182 !important; }
html.login-refined body :is(.kcaa-login-panel a,.kcaa-login-panel button,.kcaa-login-panel input):focus-visible { outline:2px solid #17648a !important; outline-offset:3px; }
@media(max-width:760px) {
    html.login-refined body .kcaa-login-page { padding:16px 14px 24px !important; place-items:start center !important; }
    html.login-refined body .kcaa-login-card { grid-template-columns:1fr !important; max-width:500px !important; border-radius:20px !important; }
    html.login-refined body .kcaa-login-brand { min-height:278px !important; padding:24px !important; }
    html.login-refined body .kcaa-login-logo { width:78px !important; height:58px !important; padding:7px !important; border-radius:8px !important; }
    html.login-refined body .kcaa-login-brand-copy { margin:22px 0 0 !important; max-width:230px !important; }
    html.login-refined body .kcaa-aviator-kicker { font-size:9px; letter-spacing:.16em; margin-bottom:9px; }
    html.login-refined body .kcaa-login-brand h1 { font-size:32px !important; line-height:1.08 !important; }
    html.login-refined body .kcaa-login-brand h1 .kcaa-desktop-title { display:none !important; }
    html.login-refined body .kcaa-login-brand h1 .kcaa-mobile-title { display:block !important; color:#fff !important; font:inherit !important; }
    html.login-refined body .kcaa-login-brand-copy p { margin-top:12px !important; max-width:205px !important; font-size:11px !important; }
    html.login-refined body .kcaa-login-brand-copy p .kcaa-desktop-title { display:none !important; }
    html.login-refined body .kcaa-login-brand-copy p .kcaa-mobile-title { display:block !important; color:#c1d5e3 !important; font:inherit !important; }
    html.login-refined body .kcaa-aviator-art { width:230px; height:230px; right:-67px; bottom:14px; opacity:.7; }
    html.login-refined body .kcaa-aviator-signature { display:none; }
    html.login-refined body .kcaa-login-panel { padding:26px 24px 24px !important; }
    html.login-refined body .kcaa-login-panel h2 { font-size:27px !important; }
    html.login-refined body .kcaa-login-intro { font-size:13px !important; margin-bottom:20px !important; }
    html.login-refined body .kcaa-login-panel .kcaa-desktop-title { display:none !important; }
    html.login-refined body .kcaa-login-panel .kcaa-mobile-title { display:inline !important; }
}
@media(max-width:360px) {
    html.login-refined body .kcaa-login-page { padding:8px !important; }
    html.login-refined body .kcaa-login-panel { padding:24px 18px !important; }
    html.login-refined body .kcaa-aviator-art { right:-92px; opacity:.5; }
}html.login-refined body .kcaa-login-brand h1,
html.login-refined body .kcaa-login-brand h1 .kcaa-mobile-title,
html.login-refined body .kcaa-login-brand h1 .kcaa-desktop-title {
    text-align:left !important; text-transform:none !important;
    letter-spacing:-.035em !important; width:auto !important;
}
html.login-refined body .kcaa-login-panel-topline {
    border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
html.login-refined body .kcaa-login-panel-topline::before,
html.login-refined body .kcaa-login-panel-topline::after { display:none !important; }

/* A continuous flight between route markers, within the current brand canvas. */
html.login-refined body .kcaa-aviator-art {
    width:calc(100% - 80px); height:auto; right:40px; bottom:80px;
    overflow:visible; opacity:1;
}
.kcaa-aviator-plane {
    offset-path:path("M30 155 C155 155 230 35 440 45");
    offset-rotate:auto 90deg;
    offset-distance:58%;
    animation:kcaaAviatorRoute 16s linear infinite;
    filter:drop-shadow(0 3px 5px #00132266);
}
@keyframes kcaaAviatorRoute {
    0% { offset-distance:0%; opacity:0; }
    7% { opacity:1; }
    90% { opacity:1; }
    100% { offset-distance:100%; opacity:0; }
}
@media(max-width:760px) {
    html.login-refined body .kcaa-aviator-art {
        position:relative; width:100%; height:auto; right:auto; bottom:auto;
        margin:12px 0 0; flex-shrink:0;
    }
}
@media(prefers-reduced-motion:reduce) {
    .kcaa-aviator-plane { animation:none; offset-distance:58%; opacity:1; }
}

/* Phone fit: retain the aviation design, with compact spacing and natural scrolling. */
@media (max-width:760px) {
    html.login-refined body .kcaa-login-page {
        padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
        min-height:100svh !important; place-items:start center !important;
    }
    html.login-refined body .kcaa-login-card { min-height:0 !important; width:100% !important; }
    html.login-refined body .kcaa-login-brand { min-height:0 !important; padding:16px 20px !important; }
    html.login-refined body .kcaa-login-logo { width:66px !important; height:48px !important; padding:6px !important; }
    html.login-refined body .kcaa-login-brand-copy { margin:12px 0 0 !important; max-width:100% !important; }
    html.login-refined body .kcaa-aviator-kicker { font-size:9px; margin-bottom:6px; letter-spacing:.12em; }
    html.login-refined body .kcaa-login-brand h1 { font-size:25px !important; line-height:1.08 !important; }
    html.login-refined body .kcaa-login-brand-copy p { margin-top:7px !important; max-width:100% !important; font-size:11px !important; line-height:1.4 !important; }
    html.login-refined body .kcaa-aviator-art { position:absolute; width:150px; height:auto; right:10px; top:10px; bottom:auto; margin:0; opacity:.65; }
    html.login-refined body .kcaa-login-panel { padding:18px 20px 14px !important; }
    html.login-refined body .kcaa-login-panel-topline { margin-bottom:6px !important; }
    html.login-refined body .kcaa-login-panel h2 { font-size:26px !important; margin-bottom:5px !important; }
    html.login-refined body .kcaa-login-intro { margin-bottom:14px !important; font-size:13px !important; }
    html.login-refined body .kcaa-login-panel .form-group { margin-bottom:12px !important; }
    html.login-refined body .kcaa-login-panel .form-control,
    html.login-refined body .kcaa-password-toggle { min-height:46px !important; height:46px !important; }
    html.login-refined body .kcaa-login-panel .form-control { font-size:16px !important; padding:10px 12px !important; }
    html.login-refined body .kcaa-login-panel > .btn-primary { min-height:46px !important; padding:10px 16px !important; }
    html.login-refined body .kcaa-login-actions { padding-top:10px !important; }
    html.login-refined body .kcaa-login-actions a { min-height:44px; display:inline-flex; align-items:center; }
    html.login-refined body .kcaa-login-actions { align-items:center; }
    html.login-refined body .kcaa-security-reopen { min-height:44px; margin:0 auto !important; }
    html.login-refined body .kcaa-login-support { padding:0 !important; margin:0 !important; gap:0 10px !important; }
    html.login-refined body .kcaa-login-support .btn { min-height:44px; }
    html.login-refined body .kcaa-support-contacts { display:flex; flex-wrap:wrap; justify-content:center; gap:0 4px; }
    html.login-refined body .kcaa-support-contacts a { display:inline-flex; align-items:center; min-height:28px; }
    html.login-refined body .kcaa-login-message { overflow-wrap:anywhere; }
}
