.map-view .wrap{max-width:1500px;padding-left:32px;padding-right:32px}
.map-view header{padding-top:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.map-view nav [aria-current=page]{color:var(--blue);border-bottom:2px solid var(--blue)}
.map-main{padding-top:28px!important;padding-bottom:0!important}
.map-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.map-intro h2{font-size:34px;line-height:1.2;margin:6px 0 0;letter-spacing:-.035em}
.map-intro .eyebrow{font-size:12px;letter-spacing:.1em}
.map-source{font-size:13px;font-weight:600;background:#dcf4f3;color:#076561;padding:8px 13px;border-radius:20px;white-space:nowrap}
.map-source.test{background:#fff0cd;color:#795214}
.map-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid #cbdfe9;border-radius:20px;background:white;overflow:hidden;box-shadow:0 12px 38px #163c5010}
.map-sidebar{padding:22px;border-right:1px solid var(--line);min-width:0}
.map-sidebar form>.field,.map-sidebar .airport-card{margin-top:17px}
.map-sidebar input{width:100%}
.map-sidebar .options{z-index:1100;max-height:270px}
.map-sidebar .airport-card>.options{top:82px}
.map-modes{display:grid;grid-template-columns:1fr 1fr;width:100%}
.map-modes span{padding:10px 6px!important;min-height:44px;text-align:center;font-size:14px!important;display:flex;align-items:center;justify-content:center}
.map-modes label{min-width:0}
#mode-description{font-size:13px;margin:17px 0}
#map-status{margin-bottom:0;overflow-wrap:anywhere}
#map-status:empty{display:none}
#map-status.problem{color:var(--error)}
.map-results-title{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:25px;padding-top:19px;border-top:1px solid var(--line)}
.map-results-title h2{font-size:19px;letter-spacing:-.02em;margin:0}
.map-results-title .text-button{font-size:13px;text-align:right;padding:0}
#map-filter-field{margin-top:14px}
#result-count{font-size:13px;margin:12px 0 7px}
.map-result-list{max-height:440px;overflow-y:auto;overscroll-behavior:contain;margin:0 -8px;padding:0 8px 3px;scrollbar-width:thin}
.destination-map-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #e5eef3;padding:13px 2px;color:var(--ink)}
.destination-map-button strong{font-size:15px;font-weight:650;display:block}
.destination-map-button small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.destination-map-code{font-size:13px;font-weight:700;color:#08767d;padding:4px 7px;border-radius:6px;background:#e9f6f6;flex-shrink:0}
.destination-map-button:hover,.destination-map-button[aria-pressed=true]{background:#edf7fd}
.route-map-card{border:1px solid var(--line);padding:14px;border-radius:11px;margin:10px 0;background:#fff}
.route-map-card.selected{border-color:#3688d5;background:#f1f8ff;box-shadow:inset 3px 0 #0864dc}
.route-map-card h3{font-size:15px;margin:0 0 7px;line-height:1.5;overflow-wrap:anywhere}
.route-map-card .route-codes{font-size:14px;color:#0761ba;font-weight:700;letter-spacing:.015em}
.route-map-card p{font-size:13px;margin:6px 0;line-height:1.5}
.route-map-card .map-wait{background:#fff2d7;color:#795214;padding:6px 9px;border-radius:6px}
.route-map-card button{min-height:40px;font-size:14px;margin-top:7px;width:100%}
.map-stage{min-width:0;background:#fafdff}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;background:white;min-height:90px}
.map-toolbar h2{margin:0;font-size:20px;letter-spacing:-.025em}
.map-toolbar p{font-size:13px;margin:4px 0 0;color:var(--muted)}
.map-toolbar button{font-size:13px;min-height:42px;white-space:nowrap;padding:9px 13px}
.map-canvas-wrap{position:relative}
#flight-map{height:590px;min-height:410px;background:#deedf4;z-index:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:500;pointer-events:none;text-align:center;padding:22px;background:#fffffff0;border:1px solid #cfe2e9;box-shadow:0 8px 30px #13527912;border-radius:17px;max-width:340px;width:80%}
.map-empty>span{display:block;color:#0879b6;font-size:36px;margin-bottom:7px}
.map-empty strong{font-size:17px;display:block}
.map-empty p{font-size:14px;margin-bottom:0;color:var(--muted)}
.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:15px 22px 8px}
.map-bottom .check{font-size:13px}
.map-legend{display:flex;gap:16px;font-size:13px;flex-wrap:wrap}
.map-legend span{display:inline-flex;gap:7px;align-items:center}
.map-legend i{width:9px;height:9px;border-radius:50%;background:#0864dc}
.map-legend .legend-destination{background:#00877f}.map-legend .legend-transfer{background:#b97508}
.map-geography-note,.map-data-note{font-size:12px;color:var(--muted);margin:6px 22px 12px;line-height:1.55}
.map-data-note{border-top:1px solid var(--line);padding-top:12px;margin-bottom:17px}
.map-data-note a{color:#0761ba}
.airport-map-label{font-size:12px;font-weight:600;border:1px solid #c5dbe3;border-radius:5px;padding:3px 6px;box-shadow:0 2px 5px #1c527515;color:#173b51;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.3}
.airport-popup strong{font-size:16px}.airport-popup p{margin:8px 0!important;font-size:14px}.airport-popup small{font-size:13px}
.map-view .leaflet-control-attribution{font-size:10px;background:#ffffffe8}
.map-view .leaflet-control-zoom a{width:34px;height:34px;line-height:34px;color:#184e71}
.map-view .leaflet-bar{border:1px solid #b5d0de;box-shadow:0 2px 8px #15436415}
.map-view footer{margin-top:22px!important;padding-top:19px;padding-bottom:22px}
.map-view footer>a{font-size:14px;color:#075bb3;text-decoration:none}
@media(max-width:1050px){.map-view .wrap{padding-left:22px;padding-right:22px}.map-workspace{grid-template-columns:300px minmax(0,1fr)}.map-sidebar{padding:18px}.map-view nav{gap:18px}.map-intro h2{font-size:30px}.map-toolbar{padding:16px}.map-toolbar h2{font-size:18px}.map-source{white-space:normal}}
@media(max-width:800px){.map-workspace{grid-template-columns:1fr}.map-sidebar{display:contents}.map-sidebar form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:18px;border-bottom:1px solid var(--line);order:1}.map-stage{order:2}.map-sidebar #map-results{order:3;padding:0 18px 18px;border-top:1px solid var(--line)}.map-results-title{border:0;margin-top:0}.map-modes,#mode-description,#map-submit,#map-status{grid-column:1/-1}.map-sidebar form>.field,.map-sidebar .airport-card{margin:0}.map-sidebar .airport-card:first-of-type{grid-column:1/-1}#mode-description{margin:0}.map-result-list{max-height:320px}.map-intro{align-items:start}.map-intro h2{font-size:28px}#flight-map{height:470px}.map-view header{flex-wrap:wrap}.map-view nav{flex-wrap:wrap;flex-basis:100%;order:2}.map-view .route-types.map-modes{grid-template-columns:1fr 1fr}.map-sidebar .airport-card>.options{top:79px}}
@media(max-width:480px){.map-view .wrap{padding-left:14px;padding-right:14px}.map-view header{padding-top:18px;padding-bottom:16px}.map-view nav{gap:9px 20px;justify-content:start}.map-intro{display:block;margin-bottom:18px}.map-intro h2{font-size:28px}.map-source{display:inline-block;margin-top:13px}.map-sidebar{padding:16px}.map-sidebar form{grid-template-columns:1fr}.map-sidebar form>*{grid-column:1!important}.map-toolbar{padding:15px;align-items:start;flex-wrap:wrap;gap:10px}.map-toolbar button{padding:7px 11px;min-height:38px}#flight-map{height:420px;min-height:350px}.map-bottom{padding:14px 15px 6px;gap:12px}.map-geography-note,.map-data-note{margin-left:15px;margin-right:15px}.map-results-title h2{font-size:18px}.map-result-list{max-height:230px}.map-workspace{border-radius:15px}.map-view footer{gap:8px}.map-empty{padding:16px}.map-empty strong{font-size:16px}}

.route-hit{cursor:pointer}.route-hit:focus{stroke:#075fd3;stroke-opacity:.5;outline:none}.route-map-tooltip{white-space:normal;min-width:230px;max-width:310px;padding:14px;border-radius:12px;border-color:#b3d5e3;box-shadow:0 8px 30px #063f6324}.route-hover-card>strong,.route-popup-card>strong{display:block;font-size:15px}.route-hover-card small,.route-popup-card small{display:block;color:var(--muted);margin-top:4px}.route-hover-card .hint,.route-popup-card .hint{font-size:12px;line-height:1.4}.route-carrier-row{border-top:1px solid #dce7ed;padding-top:9px;margin-top:9px}.carrier-info-button{border:0;background:#ecf6ff;color:#085eac;padding:7px 10px;border-radius:8px;cursor:pointer;text-align:left}.week-controls{padding:14px;background:#eef7fc;border-radius:12px;margin:12px 0}.week-controls button{margin-top:10px;font-size:13px}.week-controls .hint{font-size:12px}.airline-info-dialog{border:1px solid #bdd3e2;border-radius:20px;padding:24px;width:min(520px,calc(100% - 28px));max-height:85vh;color:var(--ink);overflow:auto}.airline-info-dialog::backdrop{background:#082c5270}.airline-info-dialog>button{float:right}.airline-info-dialog h2{clear:both;padding-top:18px;font-size:26px}.airline-flight-list{padding-left:20px;font-size:14px;line-height:1.7}.airline-flight-list small{display:block;color:var(--muted)}.route-map-card>.text-button{display:block;margin:5px 0}.route-popup-card{max-height:340px;overflow:auto}.leaflet-popup-content{max-width:calc(100vw - 90px)}
