.rt-view{--rt-navy:#08253b;--rt-blue:#22a8d6;--rt-cyan:#68d7ff;--rt-green:#9fd22f;--rt-line:#d7e3e7;--rt-muted:#6b808a;color:#173847;font-family:Inter,"Segoe UI",Arial,sans-serif}
.rt-view [hidden]{display:none!important}.rt-command-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;min-height:190px;margin:0 0 16px;padding:30px;border:1px solid #cfe0e5;border-radius:14px;background:radial-gradient(circle at 85% 20%,rgba(104,215,255,.22),transparent 24%),linear-gradient(125deg,#fff 0 62%,#eef8f9);box-shadow:0 12px 30px rgba(8,48,65,.06)}
.rt-command-hero>div{max-width:760px}.rt-command-hero span,.rt-map-head>div>span,.rt-route-directory header span,.rt-inspector header span{display:block;color:#59808e;font-size:.58rem;font-weight:700;letter-spacing:.14em}.rt-command-hero h1{max-width:720px;margin:8px 0 12px;color:var(--rt-navy);font-size:clamp(2rem,4vw,3.7rem);font-weight:300;letter-spacing:-.045em;line-height:1}.rt-command-hero p{max-width:690px;margin:0;color:#627985;font-size:.9rem;line-height:1.7}
.rt-button,.rt-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #b9ccd3;border-radius:7px;background:#fff;color:#244f61;font:500 .7rem/1.2 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer}.rt-button:hover,.rt-icon-button:hover{border-color:#61bad6;background:#f0fafc;color:#0b607e}.rt-primary-action{min-width:156px;border-color:var(--rt-navy);background:var(--rt-navy);color:#fff}.rt-primary-action:hover{background:#0d3f5d;color:#fff}.rt-button .material-symbols-rounded{font-size:17px}.rt-icon-button{width:36px;padding:0;font-size:1rem}.rt-button:focus-visible,.rt-icon-button:focus-visible,.rt-view input:focus-visible,.rt-view select:focus-visible,.rt-map-surface:focus-visible,.rt-route-card:focus-visible{outline:3px solid rgba(34,168,214,.32);outline-offset:2px}
.rt-network-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.rt-network-kpis article{position:relative;min-height:100px;padding:18px;border:1px solid var(--rt-line);border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(9,56,75,.04);overflow:hidden}.rt-network-kpis article:after{position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:4px 4px 0 0;background:var(--rt-blue);content:""}.rt-network-kpis article:nth-child(2):after{background:var(--rt-green)}.rt-network-kpis article:nth-child(3):after{background:#ffbd36}.rt-network-kpis article:nth-child(4):after{background:#9a7ce4}.rt-network-kpis span,.rt-network-kpis strong,.rt-network-kpis small{display:block}.rt-network-kpis span{color:#607984;font-size:.52rem;letter-spacing:.11em}.rt-network-kpis strong{margin:4px 0;color:var(--rt-navy);font-size:1.8rem;font-weight:400;line-height:1.1}.rt-network-kpis small{color:#87999f;font-size:.57rem}
.rt-control-deck{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,.65fr));gap:10px;align-items:end;padding:14px;border:1px solid var(--rt-line);border-radius:11px;background:#fff}.rt-control-deck>label,.rt-journey-picker{color:#637b84;font-size:.54rem;font-weight:700;letter-spacing:.09em}.rt-control-deck input,.rt-control-deck select,.rt-journey-picker select{width:100%;min-height:42px;margin:6px 0 0;padding:8px 10px;border:1px solid #c5d5da;border-radius:7px;background:#fbfdfd;color:#173b4b;font:500 .72rem Inter,"Segoe UI",Arial,sans-serif}.rt-search-control{position:relative;display:grid;grid-template-columns:30px 1fr;align-items:center;min-height:52px;padding:7px 12px;border:1px solid #c5d5da;border-radius:8px;background:#fbfdfd}.rt-search-control>span{grid-row:1/3;color:#5d8695;font-size:20px}.rt-search-control label{align-self:end;color:#77909a;font-size:.5rem;letter-spacing:.06em}.rt-search-control input{align-self:start;min-height:26px;margin:0;padding:0;border:0;background:transparent;font-size:.78rem;outline:0}.rt-search-control input:focus{box-shadow:none}.rt-advanced-filters{grid-column:1/-1;border-top:1px solid #e0e9ec;padding-top:10px}.rt-advanced-filters summary{width:max-content;color:#426574;font-size:.62rem;cursor:pointer}.rt-advanced-filters>div{display:grid;grid-template-columns:repeat(2,minmax(150px,240px)) auto;gap:10px;align-items:end;margin-top:10px}.rt-advanced-filters .rt-button{margin-bottom:0}.rt-status{min-height:20px;margin:9px 2px;color:#667e88;font-size:.64rem}.rt-status.rt-error{color:#a64242}
.rt-explorer{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:12px;align-items:start}.rt-route-directory,.rt-map-command,.rt-inspector{border:1px solid var(--rt-line);border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(8,48,65,.05)}.rt-route-directory{display:flex;flex-direction:column;height:680px;overflow:hidden}.rt-route-directory>header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e1eaed}.rt-route-directory header strong{display:block;margin-top:3px;color:var(--rt-navy);font-size:.8rem}.rt-journey-picker{padding:12px 14px 8px}.rt-route-cards{display:grid;gap:7px;overflow:auto;padding:5px 10px 14px}.rt-route-card{width:100%;padding:12px;border:1px solid #dce6e9;border-radius:9px;background:#fff;color:#1f4656;text-align:left;cursor:pointer;transition:.18s}.rt-route-card:hover{border-color:#8dc7d8;background:#f7fcfd;transform:translateY(-1px)}.rt-route-card.active{border-color:#3ba8ca;background:#eef9fc;box-shadow:inset 3px 0 #22a8d6}.rt-route-card-top,.rt-route-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.rt-route-card-top i{padding:3px 6px;border-radius:99px;background:#e9f7fa;color:#0f789b;font-size:.47rem;font-style:normal;letter-spacing:.08em}.rt-route-card-top i.direct{background:#f0ebfb;color:#7558a8}.rt-route-card-top small{color:#6c838d;font-size:.58rem}.rt-route-card>strong{display:block;margin:10px 0 8px;color:var(--rt-navy);font-size:.82rem;font-weight:600}.rt-route-card>strong b{color:#58a5bd;font-weight:400}.rt-route-card-meta em{color:#738a93;font-size:.55rem;font-style:normal}.rt-route-via{display:block;margin-top:7px;color:#758a92;font-size:.5rem;letter-spacing:.07em}.rt-route-directory>.rt-empty{padding:20px;color:#7e9198;font-size:.66rem;line-height:1.6}
.rt-map-command{min-width:0;padding:16px}.rt-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 13px}.rt-map-head h2{margin:5px 0 3px;color:var(--rt-navy);font-size:1.15rem;font-weight:450}.rt-map-head p{margin:0;color:#71868f;font-size:.63rem}.rt-map-actions{display:flex;gap:7px}.rt-map-stage{position:relative;overflow:hidden;border:1px solid #284d61;border-radius:11px;background:#082238}.rt-map-surface{height:590px;min-height:420px;overflow:hidden;cursor:grab;touch-action:none;user-select:none}.rt-map-surface:active{cursor:grabbing}.rt-map-svg{display:block;width:100%;height:100%}.rt-map-zoom,.rt-map-pan{position:absolute;z-index:3;display:grid;gap:5px}.rt-map-zoom{top:14px;right:14px}.rt-map-pan{top:14px;left:14px;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,34px)}.rt-map-pan button:first-child{grid-column:2}.rt-map-zoom button,.rt-map-pan button{display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:rgba(7,31,48,.86);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer}.rt-map-zoom button:hover,.rt-map-pan button:hover{background:#0c536f}.rt-map-legend{position:absolute;right:14px;bottom:14px;display:flex;gap:11px;flex-wrap:wrap;max-width:calc(100% - 28px);padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(6,27,43,.82);color:#d7e9ef;font-size:.54rem;backdrop-filter:blur(8px)}.rt-map-legend span{display:flex;align-items:center;gap:5px}.rt-map-legend i{width:10px;height:10px;border-radius:50%;background:#68d7ff}.rt-map-legend i.nonstop{width:17px;height:2px;border-radius:2px}.rt-map-legend i.origin{background:#9fd22f}.rt-map-legend i.stop{background:#68d7ff}.rt-map-legend i.destination{background:#ffc84a}.rt-map-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 2px 0;color:#71868f;font-size:.58rem}.rt-warning{margin:8px 2px 0;color:#a36c21;font-size:.62rem}.rt-warning:empty{display:none}
.rt-ocean{fill:url(#rtOcean)}.rt-graticule{stroke:#416276;stroke-width:.55;opacity:.42}.rt-land{fill:#173d50;stroke:#4f7281;stroke-width:.6}.rt-route-line{fill:none;stroke-width:1.15;stroke-linecap:round;opacity:.72}.rt-focused-line{stroke-width:2;opacity:1}.rt-airport-marker{cursor:pointer}.rt-label-leader{stroke:#8baab5;stroke-width:.65;opacity:.7}.rt-airport-marker circle{stroke:#071d32;stroke-width:2.5}.rt-origin{fill:#9fd22f}.rt-destination{fill:#ffc84a}.rt-stop{fill:#68d7ff}.rt-ordinal{font:600 10px Inter,"Segoe UI",sans-serif;text-anchor:middle;fill:#082238;pointer-events:none}.rt-label-box{fill:#08283d;fill-opacity:.96;stroke:#6f94a2;stroke-width:.7}.rt-airport-label{font:600 12px Inter,"Segoe UI",sans-serif;fill:#f3fbfd}.rt-airport-marker:focus{outline:none}.rt-airport-marker:focus .rt-label-box{stroke:#ffc84a;stroke-width:2}.rt-map-caption{font:600 9px Inter,"Segoe UI",sans-serif;fill:#91acb7;letter-spacing:.12em;paint-order:stroke;stroke:#082238;stroke-width:4}
.rt-inspector-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:12px;margin-top:12px}.rt-inspector{padding:17px}.rt-inspector>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.rt-inspector h2{margin:4px 0 0;color:var(--rt-navy);font-size:1rem;font-weight:500}.rt-inspector>strong{display:block;color:#284d5d;font-size:.82rem}.rt-inspector>p{margin:7px 0;color:#71858e;font-size:.65rem}.rt-inspector>a,.rt-note a{color:#0d789d}.rt-inspector>a{font-size:.62rem}.rt-journey-stops{display:flex;gap:7px;overflow:auto;margin:8px 0 14px}.rt-journey-stops article{min-width:140px;padding:12px;border:1px solid #dce6e9;border-radius:8px;background:#f9fbfc}.rt-journey-stops span{color:#788d95;font-size:.47rem;letter-spacing:.09em}.rt-journey-stops h3{margin:5px 0 2px;color:var(--rt-navy);font-size:1.05rem}.rt-journey-stops p,.rt-journey-stops small{display:block;margin:0;color:#6c838d;font-size:.58rem}.rt-table-wrap{overflow:auto}.rt-view table{width:100%;border-collapse:collapse}.rt-view th{padding:9px 10px;background:#f1f6f7;color:#65808b;font-size:.53rem;letter-spacing:.07em;text-align:left}.rt-view td{padding:10px;border-bottom:1px solid #e2eaec;color:#3b5c6a;font-size:.64rem}.rt-sectors i{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%}.rt-note{margin:12px 2px;color:#83959b;font-size:.57rem;line-height:1.6}.rt-map-surface>.rt-empty{display:grid;height:100%;margin:0;place-items:center;color:#b7cbd3;font-size:.72rem}
@media(max-width:1100px){.rt-control-deck{grid-template-columns:1.4fr repeat(2,minmax(130px,.7fr))}.rt-control-deck>label:nth-of-type(3){grid-column:2}.rt-explorer{grid-template-columns:250px minmax(0,1fr)}.rt-route-directory{height:610px}.rt-map-surface{height:520px}}
@media(max-width:800px){.rt-command-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:22px}.rt-network-kpis{grid-template-columns:1fr 1fr}.rt-control-deck{grid-template-columns:1fr 1fr}.rt-search-control{grid-column:1/-1}.rt-explorer{grid-template-columns:1fr}.rt-route-directory{height:auto;max-height:430px}.rt-map-surface{height:460px}.rt-inspector-grid{grid-template-columns:1fr}}
@media(max-width:540px){.rt-command-hero h1{font-size:2.25rem}.rt-network-kpis{gap:7px}.rt-network-kpis article{min-height:88px;padding:14px}.rt-control-deck{grid-template-columns:1fr}.rt-search-control{grid-column:auto}.rt-advanced-filters>div{grid-template-columns:1fr}.rt-map-command{padding:10px}.rt-map-head{align-items:flex-start;flex-direction:column}.rt-map-surface{height:390px;min-height:360px}.rt-map-pan{display:none}.rt-map-legend{left:10px;right:10px;bottom:10px}.rt-map-foot{align-items:flex-start;flex-direction:column}.rt-route-directory{max-height:390px}}

/* Passenger-map visual language, with the operations controls retained. */
#routemapView{font-family:'DM Sans',Arial,sans-serif}
#routemapView :is(h1,h2,h3){font-family:Manrope,Arial,sans-serif;font-weight:400}
#routemapView .rt-map-command{border-color:#dce5e6;box-shadow:0 8px 30px #193f4b08}
#routemapView .rt-map-stage{background:#edf4f5;border:1px solid #dce5e6;border-radius:12px}
#routemapView .rt-map-surface{background:#edf4f5;border:0;border-radius:0}
#routemapView .rt-ocean{fill:#edf4f5}
#routemapView .rt-graticule{stroke:#dae7e9;stroke-width:.6;opacity:1}
#routemapView .rt-land{fill:#fbfcf9;stroke:#cbdad9;stroke-width:.8}
#routemapView .rt-route-line{stroke-width:1.2;opacity:.48}
#routemapView .rt-focused-line{stroke-width:2;opacity:1}
#routemapView .rt-label-leader{stroke:#b7cbcd;stroke-width:.6;opacity:.6}
#routemapView .rt-airport-marker circle{stroke:#fff;stroke-width:1.5}
#routemapView .rt-origin,#routemapView .rt-hub{fill:#80b738}
#routemapView .rt-destination{fill:#063b58}
#routemapView .rt-stop{fill:#279fc6}
#routemapView .rt-ordinal{font:400 10px 'DM Sans',Arial,sans-serif;fill:#fff}
#routemapView .rt-label-box{fill:#fbfcf9;fill-opacity:.93;stroke:none}
#routemapView .rt-airport-label{font:400 11px 'DM Sans',Arial,sans-serif;fill:#173e4b}
#routemapView .rt-map-caption{font:400 9px 'DM Sans',Arial,sans-serif;fill:#718b92;stroke:#edf4f5;stroke-width:3;letter-spacing:0}
#routemapView :is(.rt-map-zoom,.rt-map-pan) button{border:1px solid #d4e0e1;border-radius:6px;background:#fff;color:#275569;box-shadow:0 2px 8px #153b4910}
#routemapView :is(.rt-map-zoom,.rt-map-pan) button:hover{background:#f2f8f8}
#routemapView .rt-map-legend{background:#ffffffec;color:#526c75;border-color:#dce5e6;backdrop-filter:none;font:400 10px 'DM Sans',Arial,sans-serif}
#routemapView .rt-map-legend i.nonstop{background:#299fc6}
#routemapView .rt-map-legend i.origin{background:#80b738}
#routemapView .rt-map-legend i.stop{background:#279fc6}
#routemapView .rt-map-legend i.destination{background:#063b58}
#routemapView .rt-route-card{border:0;border-bottom:1px solid #ecf0ef;border-radius:0;box-shadow:none}
#routemapView .rt-route-card.active{background:#eef6e5;box-shadow:inset 3px 0 #83b73c}
#routemapView .rt-inspector-grid{grid-template-columns:minmax(0,1fr);width:100%}
#routemapView #rtJourney{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box}
#routemapView .rt-journey-stops{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));overflow:visible}
#routemapView .rt-journey-stops article{min-width:0}

#routemapView .rt-airport-marker circle.rt-hub{fill:#80b738}
