body.airport-picker-open { overflow:hidden; }
.airport-picker-backdrop { position:fixed; inset:0; z-index:12000; background:#061b3266; display:flex; align-items:center; justify-content:center; padding:16px; }
.airport-picker-backdrop[hidden] { display:none; }
.airport-picker-panel { display:flex; flex-direction:column; width:580px; max-width:100%; max-height:calc(100dvh - 32px); background:#fff; border:1px solid #e2eaf2; border-radius:14px; box-shadow:0 18px 60px #00152e33; overflow:hidden; }
.airport-picker-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px 8px; }
.airport-picker-header h2 { font-size:14px; color:#183d62; font-weight:700; margin:0; }
.airport-picker-close { display:grid; place-items:center; background:#f3f6fa; border:0; border-radius:50%; color:#657b91; font-size:21px; width:28px; height:28px; cursor:pointer; }
.airport-picker-close:hover { background:#e5edf5; }
.airport-picker-search { padding:0 14px 12px; }
.airport-picker-search input { width:100%; padding:9px 11px; border:1px solid #d4e0ec; border-radius:8px; background:#f8fafc; font:inherit; font-size:12px; min-height:38px; color:#243b53; box-sizing:border-box; }
.airport-picker-search input:focus { outline:2px solid #d9eafb; outline-offset:0; border-color:#75a7d6; background:#fff; }
.airport-picker-body { min-height:0; display:grid; grid-template-columns:112px minmax(0,1fr); border-top:1px solid #e7edf4; overflow:hidden; }
.airport-picker-regions { overflow-y:auto; border-right:1px solid #e7edf4; padding:7px 6px; background:#f8fafc; }
.airport-picker-regions button { display:block; width:100%; padding:10px 9px; border:0; border-radius:6px; background:none; text-align:left; color:#536a81; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.airport-picker-regions button[aria-pressed=true] { background:#e5effb; color:#124b81; }
.airport-picker-regions button:disabled { color:#a5b3c1; cursor:default; }
.airport-picker-list { overflow-y:auto; min-width:0; max-height:min(340px,calc(100dvh - 180px)); overscroll-behavior:contain; }
.airport-picker-option { display:flex; align-items:center; gap:10px; width:100%; padding:10px 13px; min-height:56px; background:#fff; border:0; border-bottom:1px solid #edf2f7; text-align:left; font:inherit; cursor:pointer; }
.airport-picker-option:last-child { border-bottom:0; }
.airport-picker-option:hover,.airport-picker-option[aria-selected=true] { background:#f1f7fd; }
.airport-picker-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:2px; }
.airport-picker-copy strong { font-size:12px; color:#203d59; line-height:1.5; font-weight:600; }
.airport-picker-copy small { font-size:10px; color:#7a8da0; line-height:1.5; }
.airport-picker-code { border:1px solid #e1ebf5; border-radius:6px; background:#f0f6fc; padding:4px 6px; font-size:11px; color:#245c8c; flex:0 0 auto; min-width:34px; text-align:center; }
.airport-picker-note { margin:0; padding:7px 14px; border-top:1px solid #edf1f6; color:#8495a6; font-size:9px; line-height:1.6; }
.airport-picker-empty { padding:18px; color:#738499; font-size:12px; line-height:1.7; }
@media(max-width:600px) {
 .airport-picker-backdrop { padding:12px; }
 .airport-picker-panel { max-height:calc(100dvh - 24px); border-radius:12px; }
 .airport-picker-body { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
 .airport-picker-regions { display:flex; gap:3px; padding:6px 10px; border-right:0; border-bottom:1px solid #edf2f7; overflow-x:auto; }
 .airport-picker-regions button { width:auto; flex:0 0 auto; padding:7px 9px; font-size:11px; white-space:nowrap; }
 .airport-picker-list { max-height:min(320px,calc(100dvh - 218px)); }
 .airport-picker-search input { font-size:16px; padding-block:8px; }
 .airport-picker-header { padding:10px 14px 8px; }
 .airport-picker-option { padding:9px 13px; }
}