/* Authentication surface only; shares the approved workspace palette. */
#authModal{padding:24px;background:rgba(9,23,41,.66)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
#authModal *{box-sizing:border-box}#authModal .auth-dialog{display:grid;grid-template-columns:280px minmax(0,1fr);width:min(860px,100%);max-height:min(820px,calc(100dvh - 48px));background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(4,19,38,.28);overflow:hidden;text-align:left;color:#182433;position:relative}
#authModal .auth-brand{display:flex;flex-direction:column;justify-content:space-between;padding:36px 28px;background:#14263d;color:white;position:relative;overflow:hidden}
#authModal .auth-brand:after{content:"";position:absolute;inset:52% 0 0;background:linear-gradient(180deg,#14263d,rgba(20,38,61,.35)),url('/static/airport-hero-v1.webp') 78% center/auto 100%;pointer-events:none}
#authModal .auth-brand>div{position:relative;z-index:1}.auth-brand-name{font-size:27px;font-weight:750;letter-spacing:.02em}.auth-brand-platform{margin-top:7px;font-size:12px;color:#c1d0e0;line-height:1.6}.auth-brand-welcome{margin:48px 0 auto!important;padding-bottom:48px}.auth-brand-welcome strong{font-size:26px;font-weight:650;line-height:1.55;display:block}.auth-brand-welcome p{font-size:14px;color:#c1d0e0;line-height:1.8;margin-top:14px}.auth-brand-foot{font-size:12px;color:#e1eaf4;padding-top:72px;line-height:1.8}
#authModal .auth-brand-head{display:flex;align-items:center;gap:12px}#authModal .auth-brand-head .brand-mark{flex:0 0 44px;width:44px;height:44px;border-radius:10px;background:#f4f8fd;display:grid;place-items:center;box-shadow:0 2px 8px rgba(10,34,70,.18)}#authModal .auth-brand-head .brand-mark img{display:block;width:100%;height:100%;object-fit:contain;padding:5px}#authModal .auth-brand-text{display:flex;flex-direction:column;min-width:0}
#authModal .auth-form{min-width:0;min-height:0;display:flex;flex-direction:column;margin:0;overflow:hidden}
#authModal .auth-heading{padding:34px 36px 20px;flex-shrink:0}#authModal #authTitle{font-size:28px;line-height:1.3;margin:0 0 8px;font-weight:700;color:#182433}#authModal .auth-description{margin:0;color:#52657a;font-size:14px;line-height:1.6;padding-right:12px}
#authModal .auth-close{position:absolute;right:14px;top:14px;width:44px;height:44px;padding:12px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:#52657a;z-index:2;display:grid;place-items:center}#authModal .auth-close:hover{background:#edf2f7;color:#182433}#authModal svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#authModal .auth-fields{padding:0 36px 8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bac8d6 transparent}#authModal .auth-field{display:block;margin:0 0 18px;min-width:0}#authModal .auth-label{display:block;margin-bottom:8px;color:#24364b;font-size:14px;font-weight:600}#authModal .auth-input{display:flex;align-items:center;position:relative;border:1px solid #d5dfea;border-radius:8px;background:#fff;min-height:48px;color:#66788d;transition:border-color .15s,box-shadow .15s}#authModal .auth-input>svg{margin-left:14px}#authModal .auth-input:focus-within{border-color:#206bc4;box-shadow:0 0 0 3px rgba(32,107,196,.13)}
#authModal .auth-input input{height:48px;width:100%;min-width:0;border:0;outline:0;border-radius:8px;padding:0 14px;background:transparent;color:#182433;font:inherit;font-size:14px;text-align:left;margin:0}#authModal input::placeholder{color:#66788d}#authModal select{width:100%;height:48px;border:1px solid #d5dfea;border-radius:8px;background:#fff;color:#182433;padding:0 32px 0 12px;font:inherit;font-size:14px;margin:0;text-align:left}#authModal select:focus-visible{outline:3px solid rgba(32,107,196,.2);border-color:#206bc4}
#authModal .auth-password-toggle{height:44px;width:44px;flex:0 0 44px;border:0;background:transparent;color:#52657a;cursor:pointer;border-radius:6px;display:grid;place-items:center}#authModal .auth-help{font-size:12px;line-height:1.6;color:#52657a;margin:7px 0 0}#authModal .auth-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}#authModal .auth-section-title{font-size:13px;font-weight:600;color:#52657a;margin:4px 0 15px;padding-top:16px;border-top:1px solid #e3e9f0}

#authModal .auth-footer{padding:18px 36px 24px;background:white;border-top:1px solid #e9eef4;flex-shrink:0}#authModal #authSubmit{width:100%;height:48px;border:1px solid #206bc4;border-radius:8px;background:#206bc4;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}#authModal #authSubmit:hover{background:#1a5aa8}#authModal #authSubmit:disabled{opacity:.6;cursor:wait}#authModal .auth-footer p{margin:10px 0 0;font-size:12px;line-height:1.6;color:#52657a;text-align:center}
#authModal .auth-error{margin:14px 0 0;padding:10px 12px;background:#fff1f3;border:1px solid #f3c5cd;border-radius:8px;color:#a51d36;font-size:13px;line-height:1.5}#authModal .auth-error[hidden]{display:none}#authModal button:focus-visible{outline:3px solid rgba(32,107,196,.4);outline-offset:2px}
@media(max-width:640px){#authModal{padding:12px}#authModal .auth-dialog{grid-template-columns:1fr;max-height:min(740px,calc(100dvh - 24px))}#authModal .auth-brand{padding:18px 22px;display:block}#authModal .auth-brand:after,#authModal .auth-brand-welcome,#authModal .auth-brand-foot{display:none}#authModal .auth-brand-name{font-size:20px}#authModal .auth-brand-platform{margin-top:2px;font-size:12px}#authModal .auth-brand-head{gap:9px}#authModal .auth-brand-head .brand-mark{flex-basis:32px;width:32px;height:32px}#authModal .auth-close{top:18px;right:14px;color:#e7eff8}#authModal .auth-close:hover{background:#29415c}#authModal .auth-form{overflow:hidden}#authModal .auth-heading{padding:22px 22px 18px}#authModal #authTitle{font-size:25px}#authModal .auth-fields{padding:0 22px 4px}#authModal .auth-footer{padding:14px 22px 18px}#authModal .auth-field{margin-bottom:16px}#authModal .auth-field-pair{gap:10px}}
#authModal .auth-dialog{grid-template-rows:minmax(0,1fr)}#authModal .auth-dialog[data-mode=register]{height:min(680px,calc(100dvh - 48px))}#authModal .auth-fields{flex:1}
@media(max-width:640px){#authModal .auth-dialog{grid-template-rows:auto minmax(0,1fr)}#authModal .auth-dialog[data-mode=register]{height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){#authModal *{transition:none!important;animation:none!important}}

#authModal .auth-switch{color:#66788d;margin:8px 0 0}#authModal .auth-switch button{border:0;background:transparent;color:#185aa8;font:inherit;font-weight:650;cursor:pointer;min-width:44px;min-height:44px;padding:8px 6px;border-radius:4px}#authModal .auth-switch button:hover{color:#124782;background:#edf4fc;text-decoration:underline;text-underline-offset:3px}
