.order-details{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;color:#d4e1e9}.order-details>.panel-header{flex-shrink:0}.order-details .order-timezone{font-size:9px;color:#93a8b6}.order-details .order-header-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.order-details .order-view-map{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid #49636f;border-radius:4px;background:#22343c;color:#d7e7ec;font:inherit;font-size:11px;cursor:pointer}.order-details .order-view-map:hover{background:#2b414b}.order-details .order-view-map:focus-visible{outline:2px solid #68c0c8;outline-offset:2px}.order-details .order-details-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#465b65 transparent;padding:10px 11px 12px}.order-details .order-identity{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:9px;min-width:0}.order-details .order-identity>div{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%}.order-details .order-identity svg{color:#a2bbc8;flex-shrink:0}.order-details .order-identity strong{font-size:14px;letter-spacing:.2px;overflow-wrap:anywhere;min-width:0}.order-details .order-state{font-size:9px;line-height:1.3;border:1px solid #456273;background:#213340;color:#bdd6e7;border-radius:3px;padding:3px 6px;max-width:100%;overflow-wrap:anywhere}.order-details .order-state.completed{background:#20372d;border-color:#3c6353;color:#94d5b2}.order-details .order-state.cancelled{background:#342c2c;border-color:#665352;color:#cdb7b6}.order-details .order-vehicle{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.4;min-width:0}.order-details .order-vehicle>span,.order-details .order-vehicle svg{color:#91a8b5}.order-details .order-vehicle>strong{margin-left:auto;min-width:0;text-align:right;font-weight:550;overflow-wrap:anywhere}.order-details .order-carry-over{font-size:8px;color:#d2b779;line-height:1.5;padding-top:6px}.order-details .order-stops{display:flex;flex-direction:column;gap:10px;margin:12px 0;padding:10px 0;border-top:1px solid #2b3a40;border-bottom:1px solid #2b3a40}.order-details .order-stops>div{display:flex;gap:7px;align-items:flex-start;min-width:0}.order-details .order-stops svg{color:#d1b46f;flex-shrink:0;margin-top:2px}.order-details .order-stops>div:last-child svg{color:#68bec8}.order-details .order-stops>div>span{font-size:10px;line-height:1.5;min-width:0;overflow-wrap:anywhere}.order-details .order-stops small{display:block;color:#93a7b4;font-size:8px;margin-bottom:2px}.order-details .order-facts{margin:0}.order-details .order-fact-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:9px;align-items:start;padding:6px 0;border-bottom:1px solid #28363d;font-size:9px;line-height:1.5}.order-details .order-fact-row:last-child{border-bottom:0}.order-details .order-fact-row dt{color:#98adba;overflow-wrap:anywhere}.order-details .order-fact-row dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.order-details .is-unavailable{color:#8599a7!important;font-weight:400!important}.order-details .order-detail-section{padding-top:12px;margin-top:9px;border-top:1px solid #34454d}.order-details .order-detail-section h3{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;margin:0 0 9px;min-width:0;flex-wrap:wrap;line-height:1.4}.order-details .order-detail-section h3>span{font-size:8px;font-weight:400;color:#8fa5b3;margin-left:auto;overflow-wrap:anywhere;max-width:100%}.order-details .order-stage-list{list-style:none;margin:0;padding:1px 0 0 3px}.order-details .order-stage{position:relative;padding:0 0 12px 13px;border-left:1px solid #3c535e;min-width:0}.order-details .order-stage:last-child{padding-bottom:2px;border-left-color:transparent}.order-details .order-stage-dot{position:absolute;left:-3px;top:5px;width:5px;height:5px;border-radius:50%;background:#68c0c8}.order-details .order-stage-observation .order-stage-dot{background:#142027;border:1px solid #abbdc8;width:6px;height:6px;left:-3.5px}.order-details .order-stage-heading{display:flex;align-items:center;gap:7px;justify-content:space-between;min-width:0;font-size:10px;line-height:1.5}.order-details .order-stage-heading strong{font-weight:500;overflow-wrap:anywhere;min-width:0}.order-details .order-source-badge{font-size:7px;color:#a2bdce;padding:1px 4px;line-height:1.4;border:1px solid #3e5966;border-radius:3px;white-space:nowrap;flex-shrink:0}.order-details .order-source-badge.system{border-color:#3c777a;color:#82d0d1}.order-details .order-stage time{display:block;margin-top:2px;font-size:11px;font-weight:550;font-variant-numeric:tabular-nums;line-height:1.4;color:#d7e4ec}.order-details .order-record-interval{font-size:8px;line-height:1.6;color:#a5b8c5;display:block;margin-top:3px;overflow-wrap:anywhere}.order-details .order-record-interval>span{font-size:7px;color:#8098a9}.order-details .order-stage-missing{margin-top:8px}.order-details .order-coverage-note{font-size:8px;line-height:1.6;color:#8ea4b2;margin:7px 0 0}.order-details .order-coverage-note>span{display:block;padding-top:3px}.order-details .order-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-bottom:5px}.order-details .order-metric{background:#142024;border:1px solid #2d414b;border-radius:3px;padding:8px 7px;min-width:0}.order-details .order-metric>span{font-size:8px;color:#9bb2c1;display:block;line-height:1.4;margin-bottom:5px;overflow-wrap:anywhere}.order-details .order-metric>strong{display:block;font-size:12px;line-height:1.5;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.order-details .order-metric>strong.is-unavailable{font-size:9px}.order-details .order-missing-block{font-size:9px;line-height:1.6;color:#859cab;background:#142024;border:1px dashed #334650;border-radius:3px;padding:8px 9px}.order-details .order-detail-freshness{margin:12px 0 0;padding-top:8px;border-top:1px solid #2b3a40;font-size:8px;line-height:1.5;color:#8098a8;overflow-wrap:anywhere}.order-details.compact{flex:none;overflow:visible;background:transparent;border:0;border-radius:0}.order-details.compact .order-details-body{flex:none;overflow:visible;padding-left:0;padding-right:0}@media(max-width:800px){.order-details .order-details-body{padding:12px}.order-details .order-identity strong{font-size:16px}.order-details .order-state{font-size:10px;padding:4px 7px}.order-details .order-vehicle{font-size:12px}.order-details .order-carry-over{font-size:9px}.order-details .order-stops>div>span{font-size:12px}.order-details .order-stops small{font-size:10px}.order-details .order-fact-row{font-size:11px;padding:8px 0}.order-details .order-detail-section{margin-top:12px;padding-top:14px}.order-details .order-detail-section h3{font-size:12px;margin-bottom:11px}.order-details .order-detail-section h3>span{font-size:9px}.order-details .order-stage-heading{font-size:12px}.order-details .order-source-badge{font-size:9px}.order-details .order-stage time{font-size:13px}.order-details .order-record-interval{font-size:10px}.order-details .order-record-interval>span{font-size:8px}.order-details .order-coverage-note{font-size:10px}.order-details .order-metrics{gap:9px}.order-details .order-metric{padding:10px}.order-details .order-metric>span{font-size:10px}.order-details .order-metric>strong{font-size:16px}.order-details .order-metric>strong.is-unavailable{font-size:11px}.order-details .order-missing-block{font-size:11px;padding:10px}.order-details .order-detail-freshness{font-size:9px}.order-details.compact .order-details-body{padding:10px 0 0}}.map-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}@media(min-width:801px){.desktop-main.desktop-ops-layout{grid-template-columns:246px minmax(0,1fr) 295px;flex:1;min-height:0;max-height:none;height:auto}.desktop-ops-layout .fleet-column,.desktop-ops-layout .operations-center,.desktop-ops-layout .orders-column{display:flex;flex-direction:column;min-width:0;min-height:0;gap:8px}.desktop-ops-layout .fleet-column>.fleet-panel{flex:0 0 auto}.desktop-ops-layout .fleet-column>.fleet-panel .fleet-list{flex:none;overflow:visible}.desktop-ops-layout .fleet-column>.fleet-panel .fleet-row{flex-shrink:0}.desktop-ops-layout .selected-vehicle-panel{flex:1;min-height:0;display:flex}.desktop-ops-layout .selected-vehicle-panel>.vehicle-detail{width:100%;min-height:0;border-top:0;overflow:auto}.desktop-ops-layout .selected-vehicle-panel .panel-header{height:38px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.desktop-ops-layout .detail-identity{padding-top:7px}.desktop-ops-layout .detail-status{justify-content:flex-start;gap:5px 10px}.desktop-ops-layout .detail-facts dd{overflow-wrap:anywhere}.desktop-ops-layout .operations-center>.map-panel{flex:1;min-height:230px}.desktop-ops-layout .center-stats{flex:0 1 auto;max-height:49%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#465b65 transparent}.desktop-ops-layout .center-stats>.today-panel{min-height:0}.desktop-ops-layout .center-stats .panel-header{position:sticky;top:0;z-index:2;background:var(--surface)}.desktop-ops-layout .center-stats .dual-legends{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}.desktop-ops-layout .center-stats .timeline-readout{flex-wrap:wrap}.desktop-ops-layout .center-stats .timeline-keyboard-hint{white-space:normal}.desktop-ops-layout .orders-column>.demand-surface{display:flex;flex-direction:column;flex:0 0 44%;min-height:180px}.desktop-ops-layout .demand-surface>.demand-panel{min-height:0;flex:1}.desktop-ops-layout .demand-surface .demand-list{max-height:none;min-height:0;flex:1}.desktop-ops-layout .orders-column>.order-details{flex:1;min-height:0}}@media(min-width:1800px){.desktop-main.desktop-ops-layout{grid-template-columns:280px minmax(0,1fr) 330px}}@media(min-width:801px)and (max-width:1250px){.desktop-main.desktop-ops-layout{grid-template-columns:228px minmax(0,1fr) 260px}.desktop-ops-layout .center-stats .dual-legends{grid-template-columns:minmax(0,1fr)}.desktop-ops-layout .center-stats .panel-header{flex-wrap:wrap;height:auto;min-height:38px;padding-top:5px;padding-bottom:5px}.desktop-ops-layout .center-stats .dual-view-controls{gap:5px}}@media(min-width:801px)and (max-height:800px){.desktop-ops-layout .fleet-column>.fleet-panel .fleet-row{height:33px}.desktop-ops-layout .fleet-column>.fleet-panel .fleet-car{width:31px;height:29px}.desktop-ops-layout .operations-center>.map-panel{min-height:170px}}@media(max-width:800px){.app-shell .mobile-navigation button{min-width:0;max-width:none;font-size:13px;padding:0 5px}.mobile-orders-page{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px;overflow:hidden}.mobile-orders-page>.mobile-order-list{display:flex;flex-direction:column;flex:0 0 38%;min-height:165px}.mobile-orders-page .demand-panel{flex:1;min-height:0}.mobile-orders-page .demand-list{flex:1;max-height:none;min-height:0}.mobile-orders-page>.order-details{flex:1;min-height:0}.mobile-orders-page .panel-header{height:43px;min-height:43px;padding:0 12px}.mobile-orders-page .panel-header h2{font-size:14px}.mobile-orders-page>.order-details>.panel-header{height:52px;min-height:52px}.open-order-details{display:flex;justify-content:center;align-items:center;min-height:44px;width:100%;border:1px solid #46636c;border-radius:4px;color:var(--cyan);font-size:12px;margin:7px 0}.mobile-drawer .order-details{overflow:visible;min-height:0;margin-top:9px}.mobile-drawer .order-details .order-details-body{overflow:visible}}.dual-stats.today-panel{min-height:0}.dual-stats .dual-stats-table{padding:0 12px}.dual-stats .dual-table-head,.dual-stats .dual-vehicle-row{display:grid;grid-template-columns:54px minmax(0,1fr) 14px;align-items:center;column-gap:14px}.dual-stats .dual-table-head{min-height:28px;font-size:9px;color:#a2b7c7;border-bottom:1px solid var(--border)}.dual-stats .dual-comparison-head,.dual-stats .dual-source-summary{display:grid;grid-template-columns:60px 49px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.dual-stats .dual-comparison-head>span{white-space:nowrap}.dual-stats .dual-common-axis{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#91a5b3;min-width:0}.dual-stats .dual-vehicle-row{width:100%;grid-template-rows:17px 17px;min-height:40px;padding:3px 0;text-align:left;font-size:10px;border-bottom:1px solid #26343a;row-gap:0}.dual-stats .dual-vehicle-row:hover,.dual-stats .dual-vehicle-row.is-expanded{background:#243137}.dual-stats .dual-vehicle-id{grid-column:1;grid-row:1/3;font-size:10px;font-weight:500;align-self:center}.dual-stats .dual-source-summary{grid-column:2}.dual-stats .dual-source-platform{grid-row:1}.dual-stats .dual-source-momenta{grid-row:2}.dual-stats .dual-inline-source{display:block;font-size:9px;color:#aebfcb;white-space:nowrap}.dual-stats .dual-total{color:#adc1cf;font-size:10px;font-variant-numeric:tabular-nums}.dual-stats .dual-stackbar{height:9px;background:repeating-linear-gradient(to right,#23343c,#23343c calc(25% - 1px),#30424a calc(25% - 1px),#30424a 25%);display:flex;position:relative;overflow:hidden;min-width:0}.dual-stats .dual-stackbar>i{display:block;height:100%;flex-shrink:0}.dual-stats .dual-stack-empty{font-size:8px;line-height:9px;color:#92a9b5;text-align:center;position:absolute;top:0;right:0;bottom:0;left:0;background:#22323a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dual-stats .dual-expand-icon{grid-column:3;grid-row:1/3;align-self:center;color:#8095a0}.dual-stats .dual-stats-detail{border:1px solid #40565f;background:#152023;padding:12px;margin:6px 0 9px;border-radius:4px}.dual-stats .dual-detail-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;margin-bottom:9px}.dual-stats .dual-detail-title>span{font-size:10px;color:#a7b7c1}.dual-stats .dual-detail-tables{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.dual-stats .dual-source-table{width:100%;border-collapse:collapse;font-size:10px}.dual-stats .dual-source-table caption{text-align:left;font-weight:600;font-size:11px;color:#d3e0e8;padding:0 0 6px}.dual-stats .dual-source-table th{font-weight:400;color:#91a6b4;text-align:left;padding:6px 0;border-bottom:1px solid var(--border)}.dual-stats .dual-source-table th:not(:first-child),.dual-stats .dual-source-table td:not(:first-child){text-align:right;white-space:nowrap}.dual-stats .dual-source-table td{padding:6px 0;border-bottom:1px solid #28363c}.dual-stats .dual-source-table td:first-child .status-dot{margin-right:6px}.dual-stats .dual-stats-detail>p{color:#91a6b4;font-size:9px;padding-top:10px}.dual-stats .dual-legends{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:9px 12px 6px;border-top:1px solid var(--border);margin-top:7px}.dual-stats .dual-legend-group{display:flex;flex-direction:column;gap:6px;min-width:0}.dual-stats .dual-legend-group>strong{font-size:9px;font-weight:600;color:#aebfcb}.dual-stats .dual-legend-group>div{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:8px}.dual-stats .dual-legend-group>div>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.dual-stats .dual-stats-help{display:flex;align-items:center;gap:6px;color:#8b9da8;font-size:8px;padding:2px 12px 9px}.dual-stats .dual-view-controls{display:flex;align-items:center;gap:8px;min-width:0}.dual-stats .dual-view-controls .segmented{flex-shrink:0}.dual-stats .timeline-axis{position:relative;overflow:visible}.dual-stats .timeline-axis-now{position:absolute;bottom:-5px;height:4px;width:1px;background:#d5c394;pointer-events:none}.dual-stats .timeline-vehicle-row .dual-vehicle-id{padding:0;text-align:left}.dual-stats .timeline-detail-button{padding:0;width:14px;height:26px;display:grid;place-items:center}.dual-stats .timeline-band{display:block;position:relative;height:9px;min-width:0;isolation:isolate;background:repeating-linear-gradient(135deg,#172329 0,#172329 3px,#24343d 3px,#24343d 4px)}.dual-stats .timeline-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:crosshair;touch-action:pan-y}.dual-stats .timeline-canvas:focus-visible{outline:1px solid #dfce9b;outline-offset:2px}.dual-stats .timeline-future{position:absolute;top:0;bottom:0;right:0;background:#10191d;pointer-events:none}.dual-stats .timeline-now-line,.dual-stats .timeline-cursor-line{position:absolute;top:-2px;bottom:-2px;width:1px;pointer-events:none}.dual-stats .timeline-now-line{background:#d5c394;opacity:.85}.dual-stats .timeline-cursor-line{background:#f5f5ef;box-shadow:0 0 3px #10191d}.dual-stats .timeline-band-message{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;line-height:9px;background:#172329;color:#94a6b1;font-size:8px;pointer-events:none;white-space:nowrap;overflow:hidden}.dual-stats .timeline-readout{display:flex;align-items:center;gap:7px;padding:3px 12px 0;min-height:19px;font-size:8px;color:#a8bbc7}.dual-stats .timeline-fetch-state{white-space:nowrap;flex-shrink:0;color:#8fa5b3}.dual-stats .timeline-fetch-state.has-error{color:#dcac71}.dual-stats .timeline-retry{display:grid;place-items:center;width:17px;height:17px;padding:0;color:#adbbc5;flex-shrink:0}.dual-stats .timeline-cursor-readout{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.dual-stats .timeline-cursor-readout>strong{font-weight:500;white-space:nowrap;color:#d7e2e9}.dual-stats .timeline-inspected-source{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.dual-stats .timeline-inspected-source small{font-size:inherit;color:#90a4b2}.dual-stats .timeline-inspected-source .status-dot{width:5px;height:5px}.dual-stats .timeline-extra-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dual-stats .timeline-extra-legend>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.dual-stats .timeline-gap-key,.dual-stats .timeline-future-key{width:11px;height:7px;border:1px solid #34454d;display:inline-block}.dual-stats .timeline-gap-key{background:repeating-linear-gradient(135deg,#172329 0,#172329 3px,#3b4b53 3px,#3b4b53 4px)}.dual-stats .timeline-future-key{background:#10191d}.dual-stats .timeline-now-key{height:9px;width:1px;background:#d5c394;display:inline-block}.dual-stats .timeline-keyboard-hint{margin-left:auto;white-space:nowrap}.dual-stats .timeline-phone-inspection{display:none}@media(min-width:1800px){.dual-stats .dual-vehicle-id,.dual-stats .dual-total{font-size:11px}.dual-stats .dual-legend-group>div{font-size:9px}}@media(min-width:801px)and (max-height:1100px){.dual-stats .dual-table-head{min-height:23px;font-size:8px}.dual-stats .dual-vehicle-row{grid-template-rows:12px 12px;min-height:28px;padding:1.5px 0;font-size:9px}.dual-stats .dual-vehicle-id,.dual-stats .dual-total{font-size:9px}.dual-stats .dual-inline-source{font-size:9px;line-height:12px}.dual-stats .dual-legends{padding:4px 12px 3px;margin-top:4px;gap:14px}.dual-stats .dual-legend-group{gap:3px}.dual-stats .dual-legend-group>strong{font-size:8px;line-height:10px}.dual-stats .dual-legend-group>div{gap:3px 7px;font-size:8px;line-height:1.3}.dual-stats .dual-stats-help{padding:0 12px 3px;font-size:8px;line-height:11px}.dual-stats .timeline-readout{min-height:17px;padding-top:1px;gap:5px}.dual-stats .timeline-cursor-readout{gap:7px}}@media(min-width:801px)and (max-width:1300px)and (max-height:1100px){.dual-stats .dual-vehicle-row{grid-template-rows:10px 10px;min-height:24px}.dual-stats .dual-inline-source{line-height:10px}.dual-stats .dual-legend-group>div{column-gap:6px}}@media(max-width:800px){.dual-stats .timeline-phone-inspection{display:flex;flex-direction:column;gap:5px;padding:9px 10px;margin:0 0 6px;border-left:2px solid #d5c394;background:#243137;font-size:11px}.dual-stats .timeline-phone-inspection>strong{font-size:12px;color:#e6ebec;font-weight:500}.dual-stats .timeline-phone-inspection .timeline-inspected-source{gap:6px;font-size:10px}.dual-stats .timeline-phone-freshness{font-size:8px;color:#92a7b4}.dual-stats .timeline-phone-freshness.has-error{color:#dcac71}.dual-stats.has-timeline-cursor .timeline-cursor-readout{display:none}.mobile-scroll-page .dual-stats.today-panel>.panel-header{height:54px;min-height:54px;flex-wrap:nowrap;align-items:center;padding:5px 10px;gap:6px}.mobile-scroll-page .dual-stats.today-panel>.panel-header h2{font-size:11px;white-space:nowrap}.dual-stats .dual-view-controls{gap:5px}.dual-stats .dual-view-controls .segmented{padding:2px}.dual-stats .dual-view-controls .segmented button{min-height:40px;padding:0 6px;font-size:10px;white-space:nowrap}.dual-stats .dual-stats-table{padding:0 10px}.dual-stats .dual-table-head,.dual-stats .dual-vehicle-row{grid-template-columns:48px minmax(0,1fr) 14px;column-gap:8px}.dual-stats .dual-table-head{min-height:31px;font-size:8px}.dual-stats .dual-comparison-head,.dual-stats .dual-source-summary{grid-template-columns:56px 35px minmax(0,1fr);gap:6px}.dual-stats .dual-common-axis{font-size:7px}.dual-stats .dual-vehicle-row{grid-template-rows:28px 28px;min-height:68px;padding:6px 0}.dual-stats .dual-vehicle-id{font-size:12px}.dual-stats .dual-inline-source{font-size:9px}.dual-stats .dual-total{font-size:10px}.dual-stats .dual-stackbar{height:11px}.dual-stats .dual-stack-empty{line-height:11px;font-size:7px}.dual-stats .dual-stats-detail{padding:11px;margin:6px 0 10px}.dual-stats .dual-detail-title{font-size:12px;margin-bottom:12px}.dual-stats .dual-detail-tables{grid-template-columns:minmax(0,1fr);gap:18px}.dual-stats .dual-source-table{font-size:11px}.dual-stats .dual-source-table caption{font-size:12px;padding-bottom:7px}.dual-stats .dual-source-table td{padding:8px 0}.dual-stats .dual-stats-detail>p{font-size:9px;line-height:1.6}.dual-stats .dual-legends{grid-template-columns:minmax(0,1fr);gap:11px;padding:11px 10px 8px}.dual-stats .dual-legend-group{gap:7px}.dual-stats .dual-legend-group>strong{font-size:10px}.dual-stats .dual-legend-group>div{font-size:9px;gap:7px 12px}.dual-stats .dual-stats-help{font-size:8px;line-height:1.5;padding:2px 10px 10px;align-items:flex-start}.dual-stats .timeline-vehicle-row{grid-template-rows:44px 44px;min-height:96px;padding:4px 0}.dual-stats .timeline-source-summary{height:44px}.dual-stats .timeline-band{height:44px;background:none}.dual-stats .timeline-band:before{content:"";position:absolute;top:15.5px;left:0;right:0;height:13px;background:repeating-linear-gradient(135deg,#172329 0,#172329 3px,#24343d 3px,#24343d 4px)}.dual-stats .timeline-future{top:15.5px;bottom:15.5px}.dual-stats .timeline-now-line,.dual-stats .timeline-cursor-line{top:13px;bottom:13px}.dual-stats .timeline-band-message{top:15.5px;bottom:15.5px;line-height:13px;font-size:7px}.dual-stats .timeline-detail-button{width:22px;height:44px;margin-left:-4px}.dual-stats .timeline-vehicle-row .dual-vehicle-id{min-height:44px}.dual-stats .timeline-readout{padding:6px 10px;flex-wrap:wrap;gap:4px 8px;font-size:9px}.dual-stats .timeline-retry{width:44px;height:44px;margin-top:-8px;margin-bottom:-8px;margin-left:auto}.dual-stats .timeline-cursor-readout{width:100%;display:grid;grid-template-columns:1fr;gap:6px}.dual-stats .timeline-inspected-source{font-size:10px}.dual-stats .timeline-extra-legend{gap:8px}.dual-stats .timeline-keyboard-hint{display:none}}@font-face{font-family:Eurostile;src:url(/fonts/eurostile-extended-regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Eurostile;src:url(/fonts/eurostile-extended-bold.woff) format("woff");font-weight:700;font-display:swap}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#d8e3ec;background:#101719;font-synthesis:none;font-size:13px;font-weight:400;--surface:#182124;--border:#2b3538;--muted:#91a3b0;--gold:#e5b965;--cyan:#48d8d4;--green:#58ce9c;--red:#ea747b}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}h1,h2,p{margin:0}button{border:0;background:none}svg{flex-shrink:0}strong{font-weight:650}img{max-width:100%;object-fit:contain}.dim{color:var(--muted)}.small-text{font-size:10px}.warning-text{color:var(--gold)!important}.app-shell{padding:0 8px 8px;min-height:940px;max-width:2560px;margin:auto}.app-header{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:20px}.brand{display:flex;align-items:center;gap:22px}.brand img{width:118px;height:29px;object-fit:contain}.brand h1{font-size:21px;font-weight:600;letter-spacing:.2px}.brand-divider{height:25px;border-left:1px solid var(--border);display:none}.mobile-header-status{display:none}.header-actions{display:flex;align-items:center;gap:20px}.header-clock{display:flex;gap:15px;font-size:13px;white-space:nowrap}.header-clock strong{font-weight:400}.connection-label{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--gold)}.connection-label.connected{color:var(--green)}.live-dot{display:inline-block;width:8px;height:8px;background:var(--gold);border-radius:100%;flex-shrink:0}.live-dot.on,.connection-label.connected .live-dot{background:var(--green);box-shadow:0 0 8px #58ce9c25}.language-button{height:32px;min-width:44px;padding:0 10px;border:1px solid #425159;border-radius:5px;font-size:12px}.icon-button{display:grid;place-items:center;width:32px;height:32px}.kpi-strip{height:73px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--border);border-radius:5px;background:#151f22;align-items:center;margin-bottom:8px}.kpi{display:flex;align-items:center;gap:18px;padding:0 25px;border-right:1px solid #344248;min-width:0}.kpi:last-child{border-right:0}.kpi>svg{color:#a5b9cc}.kpi-label{font-size:11px;display:block;color:#b6c8d5;white-space:nowrap;margin-bottom:3px}.kpi strong{font-size:27px;font-weight:650;line-height:1.1;white-space:nowrap;letter-spacing:-.7px}.kpi small{font-size:18px;font-weight:400;letter-spacing:0;margin-left:5px;color:#b6c8d5}.alert-bar{min-height:25px;display:flex;align-items:center;gap:22px;color:#9baeb8;font-size:10px;margin:-1px 3px 6px;white-space:nowrap;overflow:hidden}.alert-bar>span{display:flex;align-items:center;gap:6px}.alert-bar.connection-warning>span:first-child{color:var(--gold)}.alert-bar button{display:grid;place-items:center}.alert-day{margin-left:auto;font-size:10px}.low-soc-alert{color:var(--red)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:5px;overflow:hidden;min-width:0}.panel-header{height:38px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-header h2{font-size:13px;font-weight:600;white-space:nowrap}.desktop-main{display:grid;grid-template-columns:246px minmax(0,1fr) 295px;gap:8px;min-height:540px;height:calc(100vh - 436px);max-height:960px}.fleet-panel{display:flex;flex-direction:column}.fleet-list{flex:1}.fleet-row{display:flex;width:100%;align-items:center;text-align:left;padding:7px;height:55px;gap:7px}.fleet-item{border-bottom:1px solid var(--border);position:relative}.fleet-item:last-child{border-bottom:0}.fleet-item.is-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid var(--gold);border-radius:5px}.fleet-item.is-selected{background:#1d2828}.fleet-car{width:44px;height:36px}.fleet-row-info{flex:1;min-width:0}.vehicle-id{font-size:12px;font-weight:700;display:flex;gap:7px;align-items:center;margin-bottom:3px}.heartbeat-dot{height:4px;width:4px;border-radius:50%}.heartbeat-dot.fresh{background:var(--green)}.heartbeat-dot.stale{background:var(--gold)}.status-line{display:flex;align-items:center;gap:5px;font-size:9px;line-height:1.65;white-space:nowrap}.status-source{width:41px;color:#b8c8d1;flex-shrink:0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.fleet-soc{width:51px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.fleet-soc .small-text{font-size:8px;display:flex;justify-content:space-between}.fleet-soc strong{font-weight:500;color:#d8e3ec}.soc-meter{display:flex;align-items:center;gap:10px;min-width:0;flex:1;font-size:10px}.soc-meter>span:last-child:not(.soc-track){width:30px;flex-shrink:0;text-align:right}.soc-track{height:7px;flex:1;background:#24323a;border:1px solid #415760;overflow:hidden;display:block;border-radius:3px;min-width:0}.soc-track i{display:block;height:100%;transition:width .45s ease}.fleet-foot{height:28px;display:flex;align-items:center;gap:6px;font-size:8px;color:var(--muted);padding:0 10px;border-top:1px solid var(--border)}.fleet-skeleton{height:55px;display:grid;grid-template-columns:45px 1fr 50px;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding:8px}.fleet-skeleton span,.fleet-skeleton i{height:6px;background:#26343a;border-radius:2px}.fleet-loading{font-size:10px;padding:10px;color:var(--muted)}.map-panel{display:flex;flex-direction:column;position:relative}.map-controls{display:flex;align-items:center;gap:9px}.segmented{display:inline-flex;align-items:center;background:#141e21;border:1px solid #34444c;border-radius:5px;overflow:hidden;padding:1px}.segmented button{padding:4px 13px;min-height:23px;font-size:10px;border:1px solid transparent;border-radius:4px;white-space:nowrap}.segmented button.selected{border-color:#6798ad;background:#21323a;color:#eef6fd}.trail-button{display:flex;align-items:center;gap:5px;font-size:10px;height:27px;padding:0 9px;border:1px solid #34444c;border-radius:4px;white-space:nowrap}.trail-button.active{border-color:var(--cyan);color:var(--cyan)}.map-stage{position:relative;flex:1;min-height:0;background:#14242b;overflow:hidden}.map-stage>*{height:100%}.map-wait{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;text-align:center;background:#14242b;color:#90a5b0;gap:12px}.map-wait strong{font-size:16px;color:#b8cbd7}.map-wait p{font-size:12px;line-height:1.8;max-width:360px}.map-wait button{display:flex;align-items:center;gap:7px;color:var(--cyan);border:1px solid #3c6971;border-radius:4px;font-size:11px;padding:8px 12px;margin-top:10px}.operations-rail{display:flex;flex-direction:column}.demand-panel{display:flex;flex-direction:column;flex:1;min-height:110px}.demand-list{overflow:auto;padding:7px 6px;max-height:248px;scrollbar-width:thin;scrollbar-color:#465b65 transparent}.text-button{font-size:9px;color:#9eafbb;padding:3px 0;white-space:nowrap}.ride-card{display:flex;flex-direction:column;text-align:left;gap:9px;border:1px solid #34464d;border-radius:4px;background:#162225;width:100%;padding:9px;margin-bottom:7px;min-height:83px}.ride-card:last-child{margin-bottom:0}.ride-card.waiting,.ride-card.is-selected{border-color:var(--gold);background:#222827}.ride-card-head{display:flex;align-items:center;gap:7px;font-size:10px;min-width:0}.ride-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95px;font-size:11px}.request-dot{height:8px;width:8px;border-radius:50%;background:#6797df;flex-shrink:0}.request-dot.waiting{background:var(--gold)}.ride-badge{font-size:9px;line-height:1.1;padding:3px 5px;border-radius:3px;color:#a4c9ec;background:#294258;white-space:nowrap;margin-left:auto}.ride-badge.completed{color:#86cbaa;background:#284b3d}.ride-badge.cancelled{color:#c0b1b1;background:#443637}.ride-card.waiting .ride-badge{background:var(--gold);color:#192026}.ride-stops{display:flex;align-items:center;gap:7px;font-size:9px;color:#c9d8e3}.ride-stops>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.ride-stops>svg:first-child{color:var(--gold);margin-right:1px}.ride-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#96b9cd;font-size:9px}.ride-card-foot>span:last-child{display:flex;gap:4px;align-items:center;color:var(--muted)}.ride-card.waiting .ride-card-foot>span:first-child{color:var(--gold)}.vehicle-detail{border-top:1px solid var(--border);flex:1;min-height:230px;overflow:auto;scrollbar-width:thin;scrollbar-color:#465b65 transparent}.vehicle-detail>.panel-header{border-bottom:0;height:29px}.detail-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px 5px}.detail-identity strong{font-size:24px;letter-spacing:.2px}.detail-identity img{width:78px;height:39px}.detail-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:0 12px 9px}.detail-status .status-line{font-size:9px;gap:4px}.detail-soc{display:flex;align-items:center;gap:15px;padding:9px 12px;border-top:1px solid #2b3a40;border-bottom:1px solid #2b3a40;font-size:10px}.detail-soc>span{color:#a2b5c2}.detail-facts{margin:0;padding:0 12px}.detail-facts>div{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #2b3a40;padding:7px 0;align-items:flex-start;font-size:9px;line-height:1.4}.detail-facts dt{color:#a1b5c2;flex-shrink:0;max-width:44%}.detail-facts dd{margin:0;text-align:right;color:#d2dfe8;min-width:0}.detail-facts dd>span{color:#a1b5c2}.detail-note{font-size:8px;line-height:1.55;color:#8599a5;padding:8px 12px}.detail-close-note{display:flex;align-items:center;justify-content:flex-end;color:#91a3b0;gap:5px;font-size:10px;padding:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;color:#8fa4b2;text-align:center;padding:25px;gap:12px}.empty-state.small{min-height:95px;padding:20px;font-size:11px}.empty-mark{width:24px;height:2px;background:#52646c}.empty-state p{max-width:280px;line-height:1.7}.desktop-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:8px;align-items:start}.today-panel{min-height:233px}.stats-controls{display:flex;gap:12px}.stats-table{padding:0 12px}.stats-table-head,.stats-row{display:grid;grid-template-columns:64px 72px minmax(0,1fr) 15px;align-items:center;gap:8px}.stats-table-head{height:23px;font-size:9px;color:#a2b7c7;border-bottom:1px solid var(--border)}.stats-axis{display:flex;justify-content:space-between;padding:0 1px;font-size:8px}.stats-row{width:100%;height:16px;padding:0;font-size:9px;text-align:left}.stats-row strong{font-size:9px;font-weight:500}.stats-row>span:nth-child(2){font-variant-numeric:tabular-nums;color:#adc1cf}.stackbar{height:8px;background:repeating-linear-gradient(to right,#23343c,#23343c calc(12.5% - 1px),#30424a calc(12.5% - 1px),#30424a 12.5%);display:flex;position:relative;overflow:hidden}.stackbar i{display:block;height:100%;flex-shrink:0}.stack-empty{font-size:8px;line-height:8px;color:#92a9b5;text-align:center;position:absolute;top:0;right:0;bottom:0;left:0;background:#22323a}.stats-row>svg{color:#8095a0}.stats-row:hover,.stats-row.is-expanded{background:#243137}.stats-detail{border:1px solid #40565f;background:#152023;padding:12px;margin:5px 0 8px;border-radius:4px}.stats-detail-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;margin-bottom:7px}.stats-detail-title>span{font-size:9px;color:#a7b7c1}.stats-detail table{width:100%;border-collapse:collapse;font-size:10px}.stats-detail th{font-weight:400;color:#91a6b4;text-align:left;padding:6px 0;border-bottom:1px solid var(--border)}.stats-detail th:not(:first-child),.stats-detail td:not(:first-child){text-align:right}.stats-detail td{padding:5px 0;border-bottom:1px solid #28363c}.stats-detail td:first-child .status-dot{margin-right:7px}.stats-detail p{color:#91a6b4;font-size:9px;padding-top:10px}.stats-legend{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:8px;border-top:1px solid var(--border);margin-top:7px}.stats-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.stats-help{margin-left:auto;color:#8b9da8}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;height:31px;color:#859ca9;font-size:9px;padding:0 12px;overflow:hidden;white-space:nowrap}.app-footer>span{display:flex;gap:5px;align-items:center;min-width:0}.coverage-footer{max-width:58%;overflow:hidden}.footer-note{display:block;overflow:hidden;text-overflow:ellipsis}.mobile-navigation,.mobile-content{display:none}.new-demand-toast{position:fixed;right:23px;top:155px;width:326px;max-width:calc(100vw - 30px);background:#1d2728;border:1px solid var(--gold);border-radius:6px;z-index:50;box-shadow:0 10px 40px #0006;padding:10px;animation:toast-in .2s ease-out}.new-demand-title{display:flex;align-items:center;gap:8px;color:var(--gold);margin-bottom:9px;font-size:12px}.new-demand-title button{margin-left:auto;display:grid;place-items:center;min-width:26px;min-height:26px}.new-demand-toast .ride-card{margin:0;background:#212c2c}.hourly-chart{display:flex;height:128px;align-items:end;padding:15px 12px 5px;gap:5px;justify-content:space-between}.hour-column{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;min-width:0;gap:4px;font-size:9px;color:#a8bbc7}.hour-column i{width:100%;min-height:1px;background:#6797df;max-width:15px;border-radius:2px 2px 0 0}.hour-column small{font-size:8px;height:12px;color:#8ba0ad}.chart-footnote{font-size:9px;color:#8ea4b2;padding:0 12px 12px}.hourly-chart>.empty-state{width:100%}.daily-counts{display:flex;justify-content:space-between;padding:15px 0;font-size:11px;gap:10px}.daily-counts>span{display:flex;flex-direction:column;gap:7px;color:#8ca2af}.daily-counts strong{font-size:21px;color:#d8e3ec}.today-coverage-note{color:#91a4af;font-size:11px;line-height:1.8;padding:10px 0}@keyframes toast-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1800px){.desktop-main{grid-template-columns:280px minmax(0,1fr) 330px;min-height:620px}.fleet-row{height:64px}.fleet-car{width:51px}.status-line{font-size:10px}.vehicle-id{font-size:14px}.fleet-soc{width:60px}.fleet-foot{font-size:10px}.detail-facts>div{font-size:11px}.detail-status .status-line{font-size:11px}.demand-list{max-height:320px}.ride-card{min-height:93px}.ride-stops{font-size:11px}.ride-card-head,.ride-card-head strong{font-size:12px}.ride-card-foot{font-size:10px}.stats-row{height:19px}}@media(max-width:1250px)and (min-width:801px){.desktop-main{grid-template-columns:228px minmax(0,1fr) 260px}.kpi{padding:0 15px;gap:12px}.kpi strong{font-size:25px}.kpi-label{font-size:10px}.kpi>svg{width:23px}.map-controls{gap:5px}.segmented button{padding:4px 9px}.source-label{display:none}.panel-header{padding:0 10px}.panel-header h2{font-size:12px}.fleet-row{gap:4px;padding:7px 6px}.fleet-car{width:39px}.fleet-soc{width:45px}.header-actions{gap:12px}.header-clock{gap:9px;font-size:11px}.stats-legend{gap:6px 9px}.stats-help{display:none}.status-source{width:38px}}@media(max-width:800px){:root{font-size:13px}.app-shell{padding:0;min-height:100dvh;max-width:none;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-header{height:63px;flex-shrink:0;padding:8px 15px;gap:8px}.brand{gap:12px;flex-wrap:wrap;position:relative;padding-bottom:14px;align-items:center}.brand img{width:93px;height:27px}.brand-divider{display:block;height:21px}.brand h1{font-size:16px;letter-spacing:0;font-weight:500}.mobile-header-status{display:flex;align-items:center;gap:5px;position:absolute;left:120px;bottom:0;font-size:9px;color:#99adbb}.mobile-header-status .live-dot{height:5px;width:5px}.header-actions{gap:0}.header-clock,.connection-label,.fullscreen-button{display:none}.language-button{height:44px;min-width:44px;padding:0 11px;font-size:12px}.kpi-strip{margin:7px 12px 5px;height:74px;min-height:74px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:none;border:0}.kpi{padding:8px 9px;border:1px solid var(--border);border-radius:5px;background:#162124;margin-right:5px;gap:5px;align-items:flex-start;flex-direction:column;height:74px}.kpi:nth-child(4){margin-right:0}.kpi>svg{display:none}.kpi>div{width:100%}.kpi-label{font-size:9px;line-height:1.4;white-space:normal;height:26px;margin-bottom:3px}.kpi strong{font-size:23px;letter-spacing:-.4px;line-height:1}.kpi small{font-size:15px;margin-left:3px}.kpi-0 strong{color:var(--cyan)}.kpi-2 strong{color:var(--gold)}.desktop-only{display:none}.alert-bar{margin:0 12px;min-height:24px;max-height:24px;gap:10px;font-size:8px;flex-shrink:0}.alert-bar svg{width:11px}.alert-day{display:none!important}.alert-error{display:none}.alert-bar>span{gap:4px}.mobile-navigation{height:43px;display:flex;flex-shrink:0;border-bottom:1px solid var(--border);justify-content:center;margin-top:4px;padding:0 18px;background:#101719}.mobile-navigation button{height:43px;min-width:90px;flex:1;max-width:150px;color:#91a2af;font-size:14px;border-bottom:2px solid transparent}.mobile-navigation button.active{color:var(--cyan);border-color:var(--cyan)}.desktop-main,.desktop-stats{display:none}.mobile-content{display:block;flex:1;min-height:0;overflow:hidden}.mobile-map-page{height:100%;display:flex;flex-direction:column}.mobile-map-surface{position:relative;flex:1;min-height:200px;background:#14242b;overflow:hidden}.mobile-map-surface>.ops-map{height:100%;width:100%}.mobile-map-toolbar{position:absolute;z-index:5;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.mobile-map-toolbar>*{pointer-events:auto}.mobile-map-toolbar .segmented{background:#152126e8;border-color:#5c7584;box-shadow:0 2px 5px #0003}.mobile-map-toolbar .segmented button{font-size:11px;min-height:39px;padding:6px 12px}.mobile-map-toolbar .trail-button{height:43px;padding:0 11px;background:#162126ed;font-size:11px;border-color:#526874;box-shadow:0 2px 5px #0003}.map-wait{padding:25px 25px 10px}.map-wait strong{font-size:14px}.map-wait p{font-size:11px}.map-wait button{min-height:44px}.mobile-drawer{height:33%;min-height:185px;max-height:310px;background:#152024;border:1px solid #2c424b;border-radius:20px 20px 0 0;position:relative;margin-top:-9px;z-index:6;overflow:auto;padding:6px 11px 12px;flex-shrink:0;scrollbar-width:none}.drawer-handle{width:45px;height:4px;background:#42535f;border-radius:3px;margin:2px auto 1px}.drawer-tabs{display:flex;gap:3px;border-bottom:1px solid var(--border);height:43px;position:sticky;top:-6px;background:#152024;z-index:1}.drawer-tabs button{font-size:12px;min-height:44px;padding:0 12px;flex:1;color:#98abb8;border-bottom:2px solid transparent}.drawer-tabs button.selected{color:#d5e5ed;border-color:var(--cyan)}.drawer-tabs button>span{font-size:11px;display:inline-block;margin-left:5px;color:var(--gold)}.vehicle-chip-list{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:6px 0 0;flex-shrink:0}.vehicle-chip-list button{min-height:44px;font-size:11px;display:flex;align-items:center;gap:6px;flex-shrink:0;padding:0 10px;border:1px solid #344c56;border-radius:5px;background:#18272c}.vehicle-chip-list button.selected{border-color:var(--cyan);color:var(--cyan)}.mobile-drawer .vehicle-detail{overflow:visible;min-height:0;flex:none;border-top:0}.vehicle-detail.compact .detail-identity{padding:6px 0 1px}.vehicle-detail.compact .detail-identity strong{font-size:24px}.vehicle-detail.compact .detail-identity img{width:90px;height:35px}.vehicle-detail.compact .detail-status{padding:0 0 8px;display:flex;gap:15px}.vehicle-detail.compact .detail-status .status-line{font-size:11px}.vehicle-detail.compact .detail-status .status-source{width:auto;min-width:36px}.vehicle-detail.compact .detail-soc{padding:9px 0;font-size:11px}.mobile-content .soc-meter{font-size:11px}.mobile-content .soc-track{height:8px}.vehicle-detail.compact .detail-facts{padding:0}.vehicle-detail.compact .detail-facts>div{font-size:11px;padding:8px 0}.vehicle-detail.compact .detail-note{font-size:9px;padding:8px 0}.vehicle-detail.compact .detail-close-note{display:none}.mobile-drawer .demand-panel>.panel-header{height:35px;padding:0 3px}.mobile-drawer .demand-list{padding:6px 0;max-height:none}.mobile-drawer .demand-panel .panel-header h2{font-size:12px}.text-button{font-size:11px;min-height:35px}.ride-card{padding:11px;min-height:105px;gap:10px;margin-bottom:9px}.ride-card-head strong{font-size:12px;max-width:110px}.ride-card-head{font-size:12px}.ride-badge{font-size:10px}.ride-stops{font-size:11px;gap:8px}.ride-card-foot{font-size:10px}.mobile-scroll-page{height:100%;overflow:auto;padding:10px 12px 18px}.mobile-scroll-page .panel{margin-bottom:10px}.mobile-scroll-page .panel-header{height:43px;padding:0 12px}.mobile-scroll-page .panel-header h2{font-size:14px}.fleet-row{height:78px;padding:9px 10px;gap:10px;min-height:44px}.fleet-car{width:63px;height:44px}.vehicle-id{font-size:16px;margin-bottom:4px}.status-line{font-size:11px;gap:7px;line-height:1.7}.status-source{width:49px}.status-dot{width:7px;height:7px}.fleet-soc{width:70px;gap:8px}.fleet-soc .small-text{font-size:10px}.fleet-foot{height:35px;font-size:9px}.fleet-panel.expanded .vehicle-detail.compact{padding:8px 14px}.fleet-panel.expanded .detail-identity{display:none}.fleet-panel.expanded .detail-status{padding-top:5px}.mobile-scroll-page .today-panel{min-height:0}.mobile-scroll-page .today-panel>.panel-header{flex-wrap:wrap;height:auto;min-height:98px;padding:12px;align-items:start;gap:12px}.stats-controls{width:100%;display:flex;justify-content:space-between;gap:7px}.segmented button{min-height:34px;padding:5px 10px;font-size:11px}.stats-table{padding:0 10px}.stats-table-head,.stats-row{grid-template-columns:51px 49px minmax(0,1fr) 14px;gap:6px}.stats-table-head{height:31px;font-size:8px}.stats-axis{font-size:8px}.stats-row{height:33px;min-height:33px;font-size:11px;border-bottom:1px solid #26373d}.stats-row strong{font-size:11px}.stackbar{height:12px}.stack-empty{font-size:7px;line-height:12px}.stats-detail{padding:10px;margin:6px 0}.stats-detail-title,.stats-detail table{font-size:11px}.stats-detail td{padding:8px 0}.stats-legend{font-size:9px;gap:9px 13px;line-height:1.5;padding:10px;margin-top:0;border-top:0}.stats-help{margin-left:0;width:100%;font-size:8px;margin-top:3px}.hourly-chart{height:134px;gap:4px}.chart-footnote{font-size:9px}.app-footer{height:24px;min-height:24px;padding:0 12px calc(env(safe-area-inset-bottom)/2);font-size:8px;gap:5px;background:#101719}.app-footer>.coverage-footer,.app-footer>span:last-child{display:none}.app-footer>span:first-child{margin:auto}.new-demand-toast{top:214px;right:12px;width:calc(100vw - 24px);max-width:420px;padding:10px;z-index:30}.new-demand-title{font-size:13px}.new-demand-title button{width:44px;height:35px}.new-demand-toast .ride-card{min-height:93px}.daily-counts{padding:8px 2px;font-size:10px}.daily-counts strong{font-size:18px}.today-coverage-note{padding:9px 2px}.hourly-panel{min-height:0}}@media(max-width:370px){.app-header{padding-left:11px;padding-right:11px}.brand{gap:9px}.brand img{width:83px}.brand h1{font-size:14px}.mobile-header-status{left:104px}.kpi{padding:8px 7px}.kpi-label{font-size:8px}.kpi strong{font-size:21px}.kpi small{font-size:13px}.fleet-car{width:51px}.fleet-row{gap:7px}.fleet-soc{width:59px}.status-line{font-size:10px}.status-source{width:45px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.keyboard-list:focus-within{outline:1px solid var(--cyan);outline-offset:-1px}.fleet-list{overflow:auto;scrollbar-width:thin;scrollbar-color:#465b65 transparent}.fleet-seen{font-size:7px;line-height:1.2;color:#91a3b0;text-align:right;white-space:nowrap}.fleet-soc{width:60px;gap:3px}.fleet-row{height:51px;padding-top:4px;padding-bottom:4px}.fleet-row .status-line{line-height:1.3}.fleet-row .vehicle-id{line-height:1.15}.desktop-main{min-height:530px}.fleet-list{min-height:0}.today-panel{min-height:207px}.stats-row{height:14px}.app-footer{height:25px}.kpi:last-child .kpi-label{font-size:10px}@media(min-width:1800px){.desktop-main{min-height:620px}.fleet-row{height:61px;padding-top:7px;padding-bottom:7px}.fleet-seen{font-size:8px}.stats-row{height:19px}.today-panel{min-height:245px}}@media(max-width:800px){.fleet-row{height:78px;padding:9px 10px}.fleet-row .status-line{line-height:1.7}.fleet-row .vehicle-id{line-height:1.2}.fleet-soc{width:76px;gap:4px}.fleet-seen{font-size:8px;line-height:1.3}.stats-row{height:33px}.today-panel{min-height:0}.app-footer{height:24px}.kpi:last-child .kpi-label{font-size:9px}}.fleet-age{font-size:8px;color:#9caeb8;font-weight:400;white-space:nowrap;margin-left:auto}.fleet-row .vehicle-id{gap:5px}.fleet-soc{width:51px;gap:6px}.fleet-row{height:55px;padding-top:6px;padding-bottom:6px}.desktop-main{min-height:565px}@media(min-width:1800px){.fleet-row{height:61px}.desktop-main{min-height:620px}.fleet-age{font-size:9px}.fleet-soc{width:60px}}@media(max-width:800px){.fleet-row{height:78px;padding:9px 10px}.fleet-age{font-size:9px;margin-left:5px}.fleet-soc{width:70px;gap:8px}}.source-error-alert{color:#d5ae60}@media(max-width:800px){.alert-bar{max-height:none;height:auto;flex-wrap:wrap;gap:2px 10px;overflow:visible;padding:2px 0}.alert-bar>span{min-height:16px;white-space:normal}.alert-bar .low-soc-alert{max-width:100%}.app-header{height:calc(63px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}.app-footer{height:calc(24px + env(safe-area-inset-bottom));min-height:calc(24px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:800px){.mobile-map-surface .ops-map-tools{top:62px}}@media(max-width:800px){.mobile-header-status{white-space:nowrap}}@media(min-width:801px){.app-shell{height:100vh;min-height:0;display:flex;flex-direction:column}.app-header,.kpi-strip,.alert-bar,.desktop-stats,.app-footer{flex-shrink:0}.desktop-main{height:auto;flex:1;min-height:565px}}@media(min-width:801px)and (max-height:1100px){.desktop-main{min-height:416px}.fleet-row{height:38px;padding-top:2px;padding-bottom:2px}.fleet-row .vehicle-id{font-size:11px;line-height:1.1;margin-bottom:2px}.fleet-row .status-line{font-size:9px;line-height:1.15}.fleet-car{width:36px;height:32px}}@media(min-width:801px){.kpi-strip{grid-template-columns:repeat(8,minmax(0,1fr))}.kpi{gap:8px;padding:0 13px}.kpi>svg{width:21px;height:21px}.kpi>div{min-width:0}.kpi-label{font-size:10px}.kpi strong{font-size:25px;font-variant-numeric:tabular-nums}.kpi small{font-size:14px;margin-left:4px}.kpi.kpi-duration strong{font-size:23px;letter-spacing:-.3px}.kpi .kpi-label .kpi-duration-unit{font-size:8px;margin-left:4px;color:#91a3b0;letter-spacing:0}}@media(min-width:801px)and (max-width:1300px){.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));height:128px;align-items:stretch}.kpi{padding:10px 16px;gap:12px}.kpi:nth-child(4){border-right:0}.kpi:nth-child(-n+4){border-bottom:1px solid #344248}}@media(max-width:800px){.daily-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0;font-size:10px}.daily-counts>span{min-width:0;padding:10px 9px;border:1px solid var(--border);border-radius:5px;background:#162124;gap:7px;line-height:1.4}.daily-counts strong{font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.daily-counts strong small{font-size:11px;font-weight:400;letter-spacing:0;color:#a3b7c5}.daily-counts .daily-duration-unit{font-size:8px;color:#91a3b0;white-space:nowrap}.daily-counts .daily-duration-value{font-size:18px}}@media(max-width:420px){.daily-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
