.fleet-operations-panel{flex:0 0 auto;min-height:0}.fleet-operations-panel>.panel-header{height:34px;min-height:34px;padding:0 11px}.fleet-operations-panel>.panel-header h2{font-size:11px}.fleet-chart-unit{font-size:8px;white-space:nowrap;color:#93a8b5}.fleet-operations-body{padding:7px 10px 5px}.fleet-source-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:16px;font-size:9px}.fleet-source-heading>strong{font-weight:600;color:#c4d2d9}.fleet-count-values{display:flex;gap:10px;color:#8fa7b5;font-size:8px;white-space:nowrap}.fleet-count-values b{font-size:10px;font-weight:600;color:#e4e6df;font-variant-numeric:tabular-nums}.fleet-operations-plot{height:110px;position:relative;min-width:0}.fleet-operations-svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:pan-y;cursor:crosshair;overflow:visible}.fleet-operations-svg:focus-visible{outline:1px solid #dec69e;outline-offset:2px}.fleet-chart-grid{stroke:#2c3b42;stroke-width:.7;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.fleet-axis-label{fill:#8fa4b0;font-size:8px;font-variant-numeric:tabular-nums}.fleet-area-orders{fill:#c39363;fill-opacity:.88}.fleet-area-available{fill:#d6bea0;fill-opacity:.25}.fleet-line-online{fill:none;stroke:#dfded6;stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linejoin:miter}.fleet-chart-future{fill:#111b20;fill-opacity:.65;pointer-events:none}.fleet-chart-now{stroke:#c1ad86;stroke-width:.7;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;pointer-events:none}.fleet-chart-cursor{stroke:#71d6d6;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.fleet-bucket-coverage{display:flex;justify-content:space-between;gap:5px;font-size:7px;min-height:10px;color:#829ca8;font-variant-numeric:tabular-nums}.fleet-bucket-coverage.is-partial{color:#c9aa77}.fleet-operations-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:7px;font-size:8px;color:#b8c8d0}.fleet-operations-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.fleet-operations-legend i{width:8px;height:6px;display:inline-block}.fleet-order-key{background:#c39363}.fleet-available-key{background:#d6bea0;opacity:.6}.fleet-online-key{height:1px!important;background:#dfded6}.fleet-gap-key{background:repeating-linear-gradient(135deg,#172329 0,#172329 2px,#40515a 2px,#40515a 3px)}.fleet-chart-unit.is-delayed{color:#d4a666}.fleet-operations-panel .empty-state{min-height:104px}@media(min-width:801px){.desktop-ops-layout .fleet-operations-panel{flex-shrink:0}}@media(min-width:801px)and (max-height:900px){.desktop-main.desktop-ops-layout .orders-column>.demand-surface{flex:0 0 170px;min-height:170px}}@media(max-width:800px){.mobile-scroll-page>.fleet-operations-panel{margin-bottom:10px}.fleet-operations-panel>.panel-header{height:40px;min-height:40px;padding:0 11px}.fleet-operations-panel>.panel-header h2{font-size:13px}.fleet-operations-body{padding:10px 11px 8px}.fleet-source-heading{font-size:11px;min-height:23px}.fleet-count-values{font-size:9px;gap:13px}.fleet-count-values b{font-size:12px}.fleet-bucket-coverage{font-size:8px;min-height:13px}.fleet-operations-legend{font-size:9px}}.pudo-routes-panel{min-width:0;flex:0 0 auto}.pudo-routes-panel>.panel-header{height:32px;min-height:32px;padding:0 12px}.pudo-routes-panel>.panel-header h2{font-size:12px}.pudo-ranking-basis{font-size:9px;color:#91a9b7;white-space:nowrap}.pudo-rankings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 12px 3px;gap:16px}.pudo-ranking{position:relative;min-width:0;border-right:1px solid #3b4442;padding-right:16px}.pudo-ranking:last-child{border-right:0;padding-right:0}.pudo-ranking h3{font-size:10px;line-height:1.5;font-weight:550;color:#c8d7df;margin:0 0 4px;padding-bottom:5px;border-bottom:1px solid #a48052}.pudo-table{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}.pudo-table th,.pudo-table td{text-align:right;vertical-align:middle;padding:4px 2px}.pudo-table thead th{font-size:8px;color:#8fa6b5;font-weight:400;height:20px;white-space:nowrap;width:54px}.pudo-table .pudo-name-column{width:auto;text-align:left}.pudo-table tbody tr{border-bottom:1px solid #2f3c42;height:26px}.pudo-table tbody tr:last-child{border-bottom:0}.pudo-table .pudo-place{text-align:left;font-size:10px;line-height:1.35;font-weight:400;padding-right:7px;overflow-wrap:anywhere}.pudo-rank{display:inline-block;color:#c49b66;width:22px;font-size:8px;vertical-align:top;font-weight:500}.pudo-place-label{display:inline-block;max-width:calc(100% - 22px);vertical-align:top}.pudo-route-arrow{color:#d5ae60;font-weight:600;white-space:nowrap}.pudo-table td{font-size:12px;color:#b8c9d4;white-space:nowrap}.pudo-table .pudo-requests{color:#e0e9ed;font-weight:700}.pudo-table .pudo-completed{color:#70c8a8}.pudo-empty{display:flex;align-items:center;justify-content:center;min-height:127px;padding:12px;text-align:center;color:#90a7b4;font-size:10px}.pudo-footnote{display:flex;align-items:center;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;padding:5px 12px 8px;border-top:1px solid #2b373b;color:#8fa6b3;font-size:8px;line-height:1.4}.pudo-footnote .is-delayed{color:#d5ae60}.pudo-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:801px){.orders-column>.pudo-routes-panel>.panel-header{height:auto;min-height:38px;flex-wrap:wrap;padding:8px 10px;gap:4px 8px}.orders-column .pudo-ranking-basis{white-space:normal}.orders-column .pudo-rankings{grid-template-columns:minmax(0,1fr);gap:14px;padding:10px}.orders-column .pudo-ranking{border-right:0;padding-right:0}.orders-column .pudo-ranking h3{font-size:11px}.orders-column .pudo-table thead th{width:42px;font-size:8px}.orders-column .pudo-table .pudo-name-column{width:auto}.orders-column .pudo-table th,.orders-column .pudo-table td{padding-top:6px;padding-bottom:6px}.orders-column .pudo-table tbody tr{height:32px}.orders-column .pudo-rank{width:18px}.orders-column .pudo-place-label{max-width:calc(100% - 18px)}.orders-column .pudo-footnote{padding:8px 10px;align-items:flex-start;gap:5px}.orders-column .pudo-footnote>span:first-child{width:100%}}@media(max-width:800px){.mobile-scroll-page>.pudo-routes-panel{margin-bottom:10px}.pudo-routes-panel>.panel-header{min-height:43px;height:auto;flex-wrap:wrap;padding:8px 12px;gap:5px}.pudo-routes-panel>.panel-header h2{font-size:14px}.pudo-ranking-basis{font-size:10px}.pudo-rankings{grid-template-columns:minmax(0,1fr);padding:12px;gap:16px}.pudo-ranking{border-right:0;padding-right:0}.pudo-ranking h3{font-size:12px;margin-bottom:5px}.pudo-table thead th{font-size:9px;width:48px;height:26px}.pudo-table .pudo-name-column{width:auto}.pudo-table .pudo-place{font-size:11px;line-height:1.4;padding-right:8px}.pudo-table td{font-size:13px}.pudo-table tbody tr{height:38px}.pudo-table th,.pudo-table td{padding-top:7px;padding-bottom:7px}.pudo-rank{font-size:9px;width:20px}.pudo-place-label{max-width:calc(100% - 20px)}.pudo-footnote{font-size:9px;align-items:flex-start;gap:5px;padding:8px 12px 10px}.pudo-footnote>span:first-child{width:100%}.pudo-empty{min-height:76px;font-size:11px}}.vehicle-trend{margin:14px 10px 12px;padding-top:12px;border-top:1px solid #33454c;min-width:0}.vehicle-trend-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.vehicle-trend-heading h3{font-size:11px;font-weight:600;margin:0}.vehicle-trend-heading button{display:grid;place-items:center;min-width:28px;min-height:28px;color:#9bb1bd;border:1px solid #34464d;border-radius:4px}.vehicle-trend-keys{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;font-size:10px;line-height:1.5}.vehicle-trend-keys span{display:flex;align-items:center;gap:5px}.vehicle-trend-keys i{display:block;width:14px;border-top:2px solid #58ce9c}.vehicle-trend-km-key i{border-top:2px dashed #d5ae60}.vehicle-trend-soc-key,.vehicle-trend-soc-value{color:#58ce9c;fill:#58ce9c}.vehicle-trend-km-key,.vehicle-trend-km-value{color:#d5ae60;fill:#d5ae60}.vehicle-trend-readout{display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:10px;min-height:34px;font-variant-numeric:tabular-nums}.vehicle-trend-readout time{color:#b7c8d1;white-space:nowrap}.vehicle-trend-readout small{font-size:8px;color:#8ba4b2}.vehicle-trend-readout b{font-weight:600;white-space:nowrap}.vehicle-trend-svg,.vehicle-speed-svg{display:block;width:100%;height:auto;touch-action:pan-y;border-radius:3px}.vehicle-trend-svg:focus-visible,.vehicle-speed-svg:focus-visible{outline:1px solid #6798ad;outline-offset:3px}.vehicle-trend-axis{font-size:10px;fill:#91a9b7;font-variant-numeric:tabular-nums}.vehicle-trend-axis-unit{font-size:10px;font-weight:600}.vehicle-trend-axis.vehicle-trend-soc-value{fill:#58ce9c}.vehicle-trend-axis.vehicle-trend-km-value{fill:#d5ae60}.vehicle-trend-grid{stroke:#33464d;stroke-width:.6;shape-rendering:crispEdges}.vehicle-trend-soc-line,.vehicle-trend-km-line{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.vehicle-trend-soc-line{stroke:#58ce9c}.vehicle-trend-km-line{stroke:#d5ae60;stroke-dasharray:4 3}.vehicle-trend-soc-dot{fill:#58ce9c}.vehicle-trend-km-dot{fill:#d5ae60}.vehicle-trend-cursor{stroke:#94a8b2;stroke-width:.7;stroke-dasharray:2 3}.vehicle-trend-future{fill:#0d171a;opacity:.4}.vehicle-trend-empty{fill:#91a9b7;font-size:10px}.vehicle-trend-note{color:#8da5b3;font-size:9px;line-height:1.5;margin:7px 0 4px}.vehicle-trend-freshness{font-size:9px;color:#8da5b3;min-height:13px;line-height:1.5}.vehicle-trend-freshness.is-delayed{color:#d5ae60}.vehicle-trend-loading{min-height:175px;display:flex;align-items:center;justify-content:center;color:#8da5b3;font-size:10px;text-align:center;padding:16px}.vehicle-speed-value{color:#71c6ec;fill:#71c6ec}.vehicle-speed-line{fill:none;stroke:#71c6ec;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.vehicle-speed-dot{fill:#71c6ec}.vehicle-speed-isolated{fill:none;stroke:#71c6ec;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.vehicle-speed-loading{min-height:159px;display:flex;align-items:center;justify-content:center;color:#8da5b3;font-size:10px;text-align:center;padding:16px}.vehicle-speed-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.vehicle-speed-tools button{display:grid;place-items:center;min-width:28px;min-height:28px;padding:3px;color:#b7c8d1;border:1px solid #34464d;border-radius:4px}.vehicle-speed-tools button:disabled{opacity:.35;cursor:default}.vehicle-speed-tools .vehicle-speed-full-day{font-size:10px;padding:3px 7px}.vehicle-speed-range{font-size:10px;line-height:1.5;color:#b7c8d1;font-variant-numeric:tabular-nums;margin-top:6px}.vehicle-speed-range small{font-size:8px;color:#8ba4b2}.vehicle-speed-hint{font-size:9px;line-height:1.5;color:#8da5b3;margin:6px 0}.vehicle-speed-plot{position:relative}.vehicle-speed-axis-bounds{display:block;position:absolute;pointer-events:none}.vehicle-speed-plot.is-zoomed .vehicle-speed-svg{cursor:grab}.vehicle-speed-plot.is-dragging .vehicle-speed-svg{cursor:grabbing;-webkit-user-select:none;user-select:none}.vehicle-speed-svg{user-select:none;-webkit-user-select:none}@media(max-width:800px){.vehicle-speed-tools button{min-width:36px;min-height:36px}.vehicle-speed-range,.vehicle-speed-hint{font-size:10px}}.fullscreen-vehicle-trend .vehicle-speed+.vehicle-trend{border-top:1px solid #33454c}@media(max-width:800px){.vehicle-trend{margin:16px 12px 14px}.vehicle-trend-heading h3{font-size:13px}.vehicle-trend-heading button{min-width:36px;min-height:36px}.vehicle-trend-keys,.vehicle-trend-readout{font-size:11px}.vehicle-trend-note,.vehicle-trend-freshness{font-size:10px}}.ride-eta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0;font-size:10px;line-height:1.5;color:#a6bac7}.ride-eta-label{font-weight:600;flex-shrink:0;color:#b4c6d0}.ride-eta-values{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.ride-eta-duration{font-weight:650;white-space:nowrap}.ride-eta-values small{font-size:9px;font-weight:400;color:#94aab7}.ride-eta-distance{color:#a4bdcc;white-space:nowrap}.ride-eta-pickup.ride-eta-live .ride-eta-label,.ride-eta-pickup.ride-eta-live .ride-eta-duration{color:#e0ba70}.ride-eta-dropoff.ride-eta-live .ride-eta-label,.ride-eta-dropoff.ride-eta-live .ride-eta-duration{color:#88b9f3}.ride-eta-message{margin-left:auto;text-align:right;overflow-wrap:anywhere}.ride-card .ride-eta{border-top:1px solid #34464d80;padding-top:6px;width:100%}.ride-card .ride-card-foot{flex-wrap:wrap}.ride-elapsed{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.order-eta{padding:9px 0;border-bottom:1px solid #31444e;margin-bottom:4px}@media(max-width:900px){.ride-eta{font-size:11px}.ride-eta-values small{font-size:10px}}.demand-scope-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:9px;color:var(--muted);flex-shrink:0}.demand-scope-label{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap;line-height:1.35}.demand-scope-label strong{font-weight:600;color:#c8d8e2;white-space:nowrap}.demand-overview-button{font-size:9px;padding:3px 5px;white-space:nowrap;color:var(--cyan);border:1px solid #36535b;border-radius:3px;flex-shrink:0}.demand-panel[data-demand-scope=vehicle] .demand-scope-bar,.demand-panel[data-demand-scope=ride] .demand-scope-bar{background:#1b292c}.demand-panel .demand-filter-button{min-width:46px;text-align:right}@media(max-width:800px){.demand-scope-bar{font-size:11px;min-height:37px;padding:5px 11px;gap:10px}.demand-overview-button{font-size:11px;min-height:35px;padding:5px 9px}.mobile-drawer .demand-scope-bar{padding:3px 0}.demand-panel .demand-filter-button{min-width:56px}}.demand-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid var(--border);flex-shrink:0;font-size:11px}.demand-pagination button{padding:5px 8px;border:1px solid var(--border);border-radius:4px}.demand-pagination button:disabled{opacity:.4;cursor:default}.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){html,body,#root{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}#root>.app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.desktop-main.desktop-ops-layout{grid-template-columns:246px minmax(0,1fr) 295px;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;max-height:none;height:auto;overflow:hidden}.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{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}.desktop-ops-layout .fleet-column>.fleet-panel{min-height:0}.desktop-ops-layout .fleet-column>.fleet-panel .fleet-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.desktop-ops-layout .fleet-column>.fleet-panel .fleet-foot{flex-shrink:0}.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;overscroll-behavior:contain}.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:0}.desktop-ops-layout .map-stage .ops-map-shell:not(.ops-map-fullscreen){min-height:0}.desktop-ops-layout .center-stats{flex:0 1 auto;max-height:49%;min-height:0;overflow:auto;overscroll-behavior:contain;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{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#465b65 transparent}.desktop-ops-layout .orders-column>.demand-surface{display:flex;flex-direction:column;flex:0 0 clamp(170px,24vh,230px);min-height:170px}.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:0 0 230px;min-height:230px}}@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}}@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 .center-stats{max-height:40%}}@media(min-width:801px)and (max-height:700px){.desktop-ops-layout .ops-map-shell:not(.ops-map-fullscreen) .ops-status-route-legend{width:auto;left:10px;right:auto;bottom:8px;padding:3px 4px;gap:0}.desktop-ops-layout .ops-map-shell:not(.ops-map-fullscreen) .ops-map-route-scope,.desktop-ops-layout .ops-map-shell:not(.ops-map-fullscreen) .ops-route-status-key,.desktop-ops-layout .ops-map-shell:not(.ops-map-fullscreen) .ops-route-type-key,.desktop-ops-layout .ops-map-shell:not(.ops-map-fullscreen) .ops-map-color-controls strong{display:none}}@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.large-fleet .dual-stats-vehicle:not(:has(.is-selected,.is-expanded,.dual-stats-detail)){content-visibility:auto;contain-intrinsic-block-size:auto 41px}.dual-stats .dual-stats-table{padding:0 12px}.dual-stats .dual-table-head,.dual-stats .dual-vehicle-row{display:grid;grid-template-columns:54px 104px 112px 56px 56px minmax(0,1fr) 14px;align-items:center;column-gap:10px;padding-inline-start:8px}.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 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-block:3px;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-row{cursor:pointer}.dual-stats .dual-vehicle-row.is-selected{background:#20302d;box-shadow:inset 2px 0 var(--gold)}.dual-stats .dual-vehicle-row.is-selected .dual-vehicle-id{color:var(--gold)}.dual-stats .today-selection-controls{display:flex;align-items:center;gap:7px;font-size:10px}.dual-stats .today-selected-plate{font-variant-numeric:tabular-nums;color:var(--gold)}.dual-stats .today-selection-controls button{display:flex;align-items:center;justify-content:center;min-height:27px;padding:0 7px;border:1px solid #40545e;border-radius:3px;color:#cedce5;font-size:10px;white-space:nowrap}.dual-stats .today-selection-controls .today-clear-selection{width:27px;padding:0}.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:6}.dual-stats .dual-vehicle-time,.dual-stats .dual-vehicle-distance,.dual-stats .dual-vehicle-orders{grid-row:1/3;align-self:center;font-size:10px;font-variant-numeric:tabular-nums;color:#adc1cf}.dual-stats .dual-vehicle-time{grid-column:2}.dual-stats .dual-vehicle-distance{grid-column:3}.dual-stats .dual-vehicle-time,.dual-stats .dual-vehicle-distance{white-space:nowrap}.dual-stats .dual-ontrip-value,.dual-stats .dual-ontrip-help{color:#8eacd5}.dual-stats .dual-vehicle-assigned{grid-column:4}.dual-stats .dual-vehicle-completed{grid-column:5;color:#70c8a8}.dual-stats .dual-time-heading,.dual-stats .dual-mileage-heading,.dual-stats .dual-orders-heading{line-height:1.2}.dual-stats .dual-time-heading small,.dual-stats .dual-mileage-heading small,.dual-stats .dual-orders-heading small{display:block;font-size:8px;margin-top:1px}.dual-stats .dual-mobile-time,.dual-stats .dual-mobile-mileage,.dual-stats .dual-mobile-orders,.dual-stats .dual-mobile-summary-head{display:none}.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-expand-icon{grid-column:7;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 .timeline-axis{display:block;height:20px;position:relative;overflow:visible;touch-action:pan-y;-webkit-user-select:none;user-select:none}.dual-stats .timeline-axis-tick{position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}.dual-stats .timeline-axis-tick.is-first{transform:translateY(-50%)}.dual-stats .timeline-axis-tick.is-last{transform:translate(-100%,-50%)}.dual-stats .timeline-viewport-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:5px 12px;border-bottom:1px solid var(--border);font-size:9px;color:#9fb4c3}.dual-stats .timeline-viewport-buttons{display:flex;align-items:center;gap:3px}.dual-stats .timeline-viewport-buttons button{display:grid;place-items:center;min-width:27px;min-height:27px;padding:3px;border:1px solid #40545e;border-radius:3px;color:#cedce5}.dual-stats .timeline-viewport-buttons button:disabled{opacity:.4;cursor:default}.dual-stats .timeline-viewport-buttons .timeline-full-day{padding:3px 8px;font-size:9px}.dual-stats .timeline-visible-range{font-variant-numeric:tabular-nums;white-space:nowrap}.dual-stats .timeline-gesture-help{margin-left:auto;font-size:8px;color:#91a5b3}.dual-stats .timeline-source-summary{touch-action:pan-y}.dual-stats .timeline-gesturing,.dual-stats .timeline-gesturing .timeline-canvas{cursor:grabbing;-webkit-user-select:none;user-select:none}.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;overflow:hidden;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-vehicle-time,.dual-stats .dual-vehicle-distance,.dual-stats .dual-vehicle-orders{font-size:11px}.dual-stats .dual-legend-group>div{font-size:9px}}@media(min-width:801px){.dual-stats .dual-stats-table{overflow-x:auto}.dual-stats .dual-table-head,.dual-stats .dual-vehicle-row{min-width:690px}}@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-block:1.5px;font-size:9px}.dual-stats .dual-vehicle-id,.dual-stats .dual-vehicle-time,.dual-stats .dual-vehicle-distance,.dual-stats .dual-vehicle-orders{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.large-fleet .dual-stats-vehicle:not(:has(.is-selected,.is-expanded,.dual-stats-detail)){contain-intrinsic-block-size:auto 97px}.dual-stats .today-selection-controls{gap:4px;font-size:10px}.dual-stats .today-selection-controls button{min-height:44px;padding:0 6px;font-size:10px}.dual-stats .today-selection-controls .today-clear-selection{width:44px}.dual-stats .timeline-viewport-tools{padding:6px 10px;gap:5px 9px}.dual-stats .timeline-viewport-buttons button{min-width:35px;min-height:40px}.dual-stats .timeline-viewport-buttons .timeline-full-day{min-width:45px;font-size:10px}.dual-stats .timeline-gesture-help{width:100%;margin-left:0;font-size:8px}.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-stats-table{padding:0 10px}.dual-stats .dual-table-head,.dual-stats .dual-vehicle-row{grid-template-columns:112px minmax(0,1fr) 14px;column-gap:8px}.dual-stats .dual-source-summary{grid-column:2}.dual-stats .dual-expand-icon{grid-column:3}.dual-stats .dual-vehicle-time,.dual-stats .dual-vehicle-distance,.dual-stats .dual-vehicle-orders,.dual-stats .dual-time-heading,.dual-stats .dual-mileage-heading,.dual-stats .dual-orders-heading{display:none}.dual-stats .dual-mobile-time,.dual-stats .dual-mobile-mileage{display:block;font-size:10px;line-height:1.2;font-weight:400;white-space:nowrap;color:#adc1cf;font-variant-numeric:tabular-nums}.dual-stats .dual-mobile-time{margin-top:4px}.dual-stats .dual-mobile-mileage{margin-top:2px}.dual-stats .dual-mobile-time small,.dual-stats .dual-mobile-mileage small{font-size:8px}.dual-stats .dual-mobile-orders{display:block;margin-top:2px;font-size:9px;line-height:1.2;font-weight:400;white-space:nowrap;color:#adc1cf}.dual-stats .dual-mobile-orders b{font-weight:500;font-variant-numeric:tabular-nums}.dual-stats .dual-mobile-orders.is-completed{color:#70c8a8}.dual-stats .dual-mobile-summary-head{display:block;margin-top:2px;font-size:7px;white-space:nowrap;font-weight:400}.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 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-block:6px}.dual-stats .dual-vehicle-id{font-size:12px}.dual-stats .dual-inline-source{font-size:9px}.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-block:4px}.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}}.fullscreen-fleet-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.fullscreen-fleet-chart{--fullscreen-assigned:#c4a16b;--fullscreen-completed:#6eb89b;--fullscreen-soc:#68b7a0;min-width:0;background:#172227;border:1px solid #344248;border-radius:9px;color:#c9d6dc;overflow:hidden}.fullscreen-fleet-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 8px}.fullscreen-fleet-chart-heading h3{font-size:13px;line-height:1.3;font-weight:650;margin:0;letter-spacing:.01em}.fullscreen-fleet-chart-heading>span{font-size:9px;color:#96aab5;text-align:right}.fullscreen-fleet-chart-axis,.fullscreen-fleet-chart-row{display:grid;grid-template-columns:54px minmax(0,1fr) 42px;column-gap:10px;padding-left:12px;padding-right:12px}.fullscreen-fleet-chart-axis{align-items:center;height:21px;font-size:9px;font-variant-numeric:tabular-nums;color:#8ca1ac}.fullscreen-fleet-chart-axis>div{position:relative;height:14px;margin:0 1px}.fullscreen-fleet-chart-axis>div>span{position:absolute;top:1px;transform:translate(-50%)}.fullscreen-fleet-chart-axis>div>span:first-child{transform:none}.fullscreen-fleet-chart-axis>div>span:last-child{transform:translate(-100%)}.fullscreen-fleet-chart-axis>span:last-child{text-align:right;font-size:8px}.fullscreen-fleet-chart-rows{padding:0 0 4px}.fullscreen-fleet-chart-row{position:relative;width:100%;min-height:28px;border:0;border-radius:0;align-items:center;background:transparent;border-top:1px solid #28383f;text-align:left;cursor:pointer;color:inherit;font:inherit;touch-action:manipulation}.fullscreen-fleet-chart-row:hover{background:#203238}.fullscreen-fleet-chart-row.is-selected{background:#26363b;box-shadow:inset 2px 0 #d1b779}.fullscreen-fleet-chart-row:focus-visible{outline:2px solid #77c5c4;outline-offset:-2px}.fullscreen-fleet-chart-plate{display:flex;flex-direction:column;gap:2px;min-width:0;font-variant-numeric:tabular-nums}.fullscreen-fleet-chart-plate strong{font-size:11px;font-weight:650;white-space:nowrap}.fullscreen-fleet-chart-plate small{font-size:8px;line-height:1;color:#819ba8;white-space:nowrap}.fullscreen-soc-row.is-stale .fullscreen-fleet-chart-plate small{color:#c6a77c}.fullscreen-soc-track{height:11px;display:block;background:linear-gradient(to right,transparent calc(25% - 1px),#3b4a50 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#3b4a50 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#3b4a50 75%,transparent calc(75% + 1px)),#23333a;position:relative;isolation:isolate;overflow:visible;border-radius:2px}.fullscreen-soc-fill{position:absolute;left:0;top:0;bottom:0;display:block;background:var(--fullscreen-soc);border-radius:2px;transition:width .2s ease}.fullscreen-soc-threshold{position:absolute;top:-4px;bottom:-4px;left:20%;display:block;border-left:1px dashed #c99175;pointer-events:none;z-index:1}.fullscreen-soc-row.tone-warning{--fullscreen-soc:#c2a773}.fullscreen-soc-row.tone-low{--fullscreen-soc:#c47d6d}.fullscreen-soc-row.is-stale .fullscreen-soc-fill{opacity:.38}.fullscreen-soc-value{font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--fullscreen-soc);white-space:nowrap}.fullscreen-soc-value small{font-size:9px;font-weight:400;color:#9bb1ba;margin-left:2px}.fullscreen-soc-row.tone-unknown .fullscreen-soc-value{color:#91a2ac}.fullscreen-soc-track.is-unavailable,.fullscreen-order-track.is-unavailable>span{background:repeating-linear-gradient(135deg,#23333a 0,#23333a 4px,#3a4951 4px,#3a4951 5px)}.fullscreen-fleet-chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:13px;padding:0 12px;height:15px;font-size:9px;color:#a7bbc5}.fullscreen-fleet-chart-legend>span{display:inline-flex;gap:5px;align-items:center}.fullscreen-fleet-chart-legend i{display:block;width:12px;height:4px;border-radius:1px}.fullscreen-assigned-key,.fullscreen-assigned-fill{background:var(--fullscreen-assigned)}.fullscreen-completed-key,.fullscreen-completed-fill{background:var(--fullscreen-completed)}.fullscreen-order-track{display:flex;flex-direction:column;gap:5px;min-width:0}.fullscreen-order-track>span{display:block;position:relative;height:6px;border-radius:2px;background:#24343b;overflow:hidden}.fullscreen-order-track i{display:block;height:100%;border-radius:2px;transition:width .2s ease}.fullscreen-order-values{display:flex;flex-direction:column;gap:1px;text-align:right;font-size:11px;line-height:14px;font-weight:600;font-variant-numeric:tabular-nums}.fullscreen-assigned-value{color:var(--fullscreen-assigned)}.fullscreen-completed-value{color:var(--fullscreen-completed)}.fullscreen-fleet-chart-note{display:flex;align-items:flex-start;gap:6px;min-height:28px;padding:7px 12px;color:#819ba8;font-size:8px;line-height:1.4;border-top:1px solid #2a3a41}.fullscreen-chart-threshold-key{height:9px;border-left:1px dashed #c99175;flex:0 0 auto;display:block;margin-top:1px}.fullscreen-fleet-chart-empty{display:grid;place-items:center;text-align:center;padding:25px 12px;min-height:120px;margin:0;font-size:12px;color:#93aab6}@media(max-width:800px){.fullscreen-fleet-charts{grid-template-columns:minmax(0,1fr)}.fullscreen-fleet-chart-heading{padding-top:13px}.fullscreen-fleet-chart-row{min-height:44px}.fullscreen-fleet-chart-plate strong{font-size:12px}.fullscreen-fleet-chart-note{font-size:9px}}@media(prefers-reduced-motion:reduce){.fullscreen-soc-fill,.fullscreen-order-track i{transition:none}}.ops-map-viewport{position:relative;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.ops-map-shell.ops-map-fullscreen{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right));padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#0f181b}.ops-map-shell.ops-map-fullscreen.has-analytics{grid-template-columns:minmax(0,1fr) clamp(300px,23vw,380px)}.fullscreen-header-slot{grid-column:1/-1;grid-row:1;min-width:0}.ops-map-fullscreen .ops-map-viewport{grid-column:1;grid-row:2;width:auto;height:auto;border:1px solid #33454c;border-radius:5px}.ops-map-fullscreen .ops-map-route-scope{display:flex;justify-content:space-between;align-items:center;gap:10px}.ops-map-fullscreen .ops-map-tools{max-width:calc(100% - 28px);flex-wrap:wrap;justify-content:flex-end}.ops-map-tools .ops-map-trails-toggle[aria-pressed=true]{color:var(--cyan);border-color:#519ba0;background:#19343a}.fullscreen-panel-slot{grid-column:2;grid-row:2;min-height:0;min-width:0;overflow:hidden}.fullscreen-panel-content{height:100%;min-height:0}.fullscreen-panel-content[hidden],.fullscreen-panel-slot.is-collapsed,.fullscreen-dock-toolbar{display:none}.app-shell.is-map-fullscreen>.desktop-main{display:grid}.app-shell.is-map-fullscreen>.mobile-content{display:block}.fullscreen-ops-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:33px;margin:0 2px 7px}.fullscreen-ops-title>div{display:flex;align-items:center;gap:16px;min-width:0}.fullscreen-ops-title img{width:90px;height:22px;object-fit:contain}.fullscreen-ops-title strong{font-size:13px;font-weight:600;white-space:nowrap}.fullscreen-ops-clock{color:#a7bdc9;font-size:11px;font-variant-numeric:tabular-nums}.fullscreen-ops-clock time{white-space:nowrap}.fullscreen-feed{display:flex;align-items:center;gap:5px;color:var(--gold);font-size:10px;white-space:nowrap}.fullscreen-feed i{width:6px;height:6px;border-radius:50%;background:currentColor}.fullscreen-feed.is-live{color:var(--green)}.fullscreen-ops-clock button{min-width:40px;min-height:30px;padding:0 8px;border:1px solid #42575f;border-radius:4px;color:#d0dce3;font-size:11px}.fullscreen-ops-header .kpi-strip{grid-template-columns:repeat(7,minmax(0,1fr)) repeat(2,minmax(0,1.2fr));height:auto;min-height:70px;margin:0;gap:0;align-items:stretch;background:#151f22;border:1px solid var(--border);border-radius:5px;overflow:hidden}.fullscreen-ops-header .kpi{display:flex;flex-direction:row;align-items:center;gap:8px;height:auto;margin:0;padding:10px;border:0;border-right:1px solid #344248;border-radius:0;background:transparent}.fullscreen-ops-header .kpi:nth-child(n){grid-column:auto}.fullscreen-ops-header .kpi:last-child{border-right:0}.fullscreen-ops-header .kpi>svg{display:block;flex-shrink:0;width:19px;height:19px}.fullscreen-ops-header .kpi-label{height:auto;font-size:9px;line-height:1.35;white-space:normal;margin-bottom:3px}.fullscreen-ops-header .kpi strong{font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.4px;color:inherit}.fullscreen-ops-header .kpi small{font-size:12px;margin-left:3px}.fullscreen-ops-header .kpi.kpi-duration strong{font-size:21px}.fullscreen-ops-header .kpi .kpi-label .kpi-duration-unit{font-size:7px;white-space:nowrap;margin-left:3px}.fullscreen-ops-header .alert-bar{margin:3px 2px 0;min-height:20px;font-size:9px;gap:15px}.fullscreen-ops-header .alert-bar .alert-day{display:none}@media(min-width:801px){.fullscreen-ops-header .kpi:nth-child(n){border-bottom:0}}.fullscreen-analytics{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #33454c;border-radius:5px;background:#101a1e}.fullscreen-analysis-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;padding:5px 10px;border-bottom:1px solid #2b3d43;flex-shrink:0}.fullscreen-analysis-heading h2{margin:0;font-size:12px;font-weight:600}.fullscreen-analysis-heading button{display:flex;align-items:center;gap:5px;min-height:28px;padding:0 7px;border:1px solid #386068;border-radius:3px;color:var(--cyan);font-size:10px}.fullscreen-vehicle-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;flex-shrink:0}.fullscreen-vehicle-picker button{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:31px;padding:3px 5px;border:1px solid #2f444c;border-radius:3px;background:#18272c;font-size:10px;font-variant-numeric:tabular-nums}.fullscreen-vehicle-picker button.is-selected{border-color:var(--gold);color:var(--gold);background:#28302a}.fullscreen-picker-states{display:flex;align-items:center;gap:2px;color:#a1b8c4;font-size:7px}.fullscreen-picker-states i{width:4px;height:4px;border-radius:50%}.fullscreen-analysis-tabs{display:flex;gap:4px;padding:0 6px 6px;flex-shrink:0}.fullscreen-analysis-tabs button{flex:1;min-height:26px;font-size:10px;color:#99b1bd;border:1px solid #334a52;border-radius:3px}.fullscreen-analysis-tabs button[aria-pressed=true]{color:var(--cyan);border-color:#4b888e;background:#193036}.fullscreen-analysis-tabs button span{font-variant-numeric:tabular-nums;color:var(--gold);margin-left:5px}.fullscreen-mobile-analysis-tabs{display:none}.fullscreen-analysis-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#455b65 transparent;padding:6px;display:flex;flex-direction:column;gap:8px}.fullscreen-analysis-scroll>.panel,.fullscreen-analysis-scroll>.fullscreen-fleet-chart{flex:0 0 auto}.fullscreen-analysis-scroll.is-chart-grid{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));overflow:hidden}.fullscreen-chart-box{display:flex;min-width:0;min-height:0;overflow:hidden}.fullscreen-chart-box>section{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%;max-height:100%;overflow:hidden;border-radius:5px}.fullscreen-chart-box .fleet-operations-body,.fullscreen-chart-box .fullscreen-fleet-chart-rows{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#455b65 transparent}.fullscreen-chart-box[data-chart=trend] .fleet-operations-body{display:flex;flex-direction:column}.fullscreen-chart-box[data-chart=trend] .fleet-source-chart{display:flex;flex-direction:column;flex:1 0 auto}.fullscreen-chart-box[data-chart=trend] .fleet-operations-plot{height:75px;min-height:75px;flex:1 0 75px}.fullscreen-chart-box[data-chart=trend] .fleet-source-heading,.fullscreen-chart-box[data-chart=trend] .fleet-bucket-coverage,.fullscreen-chart-box[data-chart=trend] .fleet-operations-legend{flex-shrink:0}.fullscreen-chart-box[data-chart=trend] .empty-state{flex:1}.fullscreen-chart-box .fullscreen-fleet-chart-heading,.fullscreen-chart-box .fullscreen-fleet-chart-axis,.fullscreen-chart-box .fullscreen-fleet-chart-legend,.fullscreen-chart-box .fullscreen-fleet-chart-note{flex-shrink:0}.fullscreen-data-note{margin:2px 4px;color:#8ea7b4;font-size:8px;line-height:1.5}.fullscreen-data-note.is-fixed{flex-shrink:0;margin:0;padding:2px 10px 6px}.fullscreen-vehicle-summary>.panel-header{min-height:34px;height:34px;padding:0 9px}.fullscreen-vehicle-summary>.panel-header h2{font-size:11px}.fullscreen-vehicle-summary>.panel-header img{width:48px;height:29px;object-fit:contain}.fullscreen-vehicle-states{display:flex;flex-direction:column;gap:3px;padding:6px 9px;border-bottom:1px solid var(--border)}.fullscreen-vehicle-states .status-line{font-size:10px}.fullscreen-vehicle-states .status-source{width:51px}.fullscreen-vehicle-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px;padding:9px;margin:0}.fullscreen-vehicle-facts dt{font-size:8px;color:#91aab7;margin-bottom:3px}.fullscreen-vehicle-facts dd{margin:0;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.fullscreen-vehicle-trend .vehicle-trend{margin:0;padding:12px;border-top:0}.fullscreen-demand .demand-list{max-height:270px;min-height:100px}.fullscreen-demand .demand-panel{min-height:0}.fullscreen-analytics .order-details{flex:0 0 auto;min-height:0;max-height:none;overflow:hidden}.fullscreen-analytics .order-details-body{max-height:none;overflow:visible;flex:none}.ops-map-fullscreen .new-demand-toast{position:fixed;top:calc(210px + env(safe-area-inset-top));right:calc(clamp(300px,23vw,380px) + 24px);z-index:70;max-width:340px}.ops-map-fullscreen:not(.has-analytics) .new-demand-toast{right:14px}@media(min-width:801px)and (max-width:1350px){.fullscreen-ops-header .kpi{padding:8px;gap:6px}.fullscreen-ops-header .kpi>svg{width:16px;height:16px}.fullscreen-ops-header .kpi strong{font-size:20px}.fullscreen-ops-header .kpi.kpi-duration strong{font-size:18px}}@media(min-width:801px)and (max-width:1100px){.fullscreen-ops-header .kpi>svg{display:none}.fullscreen-ops-header .kpi strong{font-size:18px}.fullscreen-ops-header .kpi small{font-size:10px}}@media(min-width:801px)and (max-width:1000px){.ops-map-fullscreen .new-demand-toast{top:calc(260px + env(safe-area-inset-top))}}@media(max-width:800px){.ops-map-shell.ops-map-fullscreen,.ops-map-shell.ops-map-fullscreen.has-analytics{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 44px;gap:6px;padding:6px;padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.ops-map-shell.ops-map-fullscreen.has-analytics{grid-template-rows:auto minmax(0,1fr) minmax(0,.64fr)}.ops-map-shell.ops-map-fullscreen.has-analytics.analytics-expanded{grid-template-rows:auto minmax(0,.6fr) minmax(0,.9fr)}.fullscreen-ops-title{min-height:32px;margin-bottom:5px}.fullscreen-ops-title>div{gap:8px}.fullscreen-ops-title img{width:65px;height:19px}.fullscreen-ops-title strong{font-size:11px}.fullscreen-ops-clock{gap:7px!important;font-size:9px}.fullscreen-ops-clock>span:first-child,.fullscreen-feed{display:none}.fullscreen-ops-clock button{min-height:34px;min-width:36px;font-size:10px}.fullscreen-ops-header .kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;column-gap:0;height:auto;margin:0}.fullscreen-ops-header .kpi{height:51px;min-height:51px;padding:5px 8px;gap:0;border-bottom:1px solid #344248;border-right:1px solid #344248;display:flex}.fullscreen-ops-header .kpi:nth-child(3n){border-right:0}.fullscreen-ops-header .kpi:nth-child(n+7){border-bottom:0}.fullscreen-ops-header .kpi>svg{display:none}.fullscreen-ops-header .kpi-label{font-size:8px;line-height:1.2;height:12px;white-space:nowrap;margin-bottom:3px}.fullscreen-ops-header .kpi strong{font-size:20px;letter-spacing:-.3px}.fullscreen-ops-header .kpi.kpi-duration strong{font-size:18px}.fullscreen-ops-header .kpi small{font-size:10px}.fullscreen-ops-header .kpi .kpi-label .kpi-duration-unit{font-size:6px}.fullscreen-ops-header .alert-bar{max-height:22px;min-height:20px;font-size:8px;gap:8px;line-height:1.4}.fullscreen-panel-slot,.fullscreen-panel-slot.is-collapsed{display:flex;flex-direction:column;grid-column:1;grid-row:3;min-height:0;border:1px solid #33454c;border-radius:5px;background:#111d21}.fullscreen-dock-toolbar{display:flex;flex-shrink:0;height:44px;min-height:44px;border-bottom:1px solid #2b3d43}.fullscreen-dock-handle{display:flex;align-items:center;gap:7px;flex:1;padding:0 10px;min-height:44px;font-size:11px;text-align:left;color:#b5cbd6}.fullscreen-dock-handle>svg:last-child{margin-left:auto}.fullscreen-dock-resize{display:grid;place-items:center;width:44px;min-width:44px;min-height:44px;border-left:1px solid #2b3d43;color:var(--cyan)}.fullscreen-panel-content{flex:1;min-height:0;height:auto}.fullscreen-analytics{border:0;border-radius:0}.fullscreen-analysis-heading{min-height:32px;padding:4px 9px}.fullscreen-analysis-heading h2{font-size:11px}.fullscreen-analytics[data-mode=overview] .fullscreen-analysis-heading{display:none}.fullscreen-analysis-heading button{min-height:32px}.fullscreen-vehicle-picker{display:none}.fullscreen-analysis-tabs{padding:4px 6px;gap:5px}.fullscreen-analysis-tabs button{min-height:35px;font-size:11px}.fullscreen-desktop-analysis-tabs{display:none}.fullscreen-mobile-analysis-tabs{display:flex}.fullscreen-mobile-analysis-tabs button{min-width:0;min-height:44px;font-size:10px;white-space:nowrap}.fullscreen-mobile-analysis-tabs button span{margin-left:3px}.fullscreen-analysis-scroll{padding:6px;gap:8px}.fullscreen-analysis-scroll.is-chart-grid{grid-template-rows:minmax(0,1fr)}.fullscreen-analysis-scroll.is-chart-grid .fullscreen-chart-box{display:none}.fullscreen-analysis-scroll.is-chart-grid[data-chart-tab=trend] .fullscreen-chart-box[data-chart=trend],.fullscreen-analysis-scroll.is-chart-grid[data-chart-tab=soc] .fullscreen-chart-box[data-chart=soc],.fullscreen-analysis-scroll.is-chart-grid[data-chart-tab=orders] .fullscreen-chart-box[data-chart=orders]{display:flex}.fullscreen-demand .demand-list{max-height:350px}.ops-map-shell.ops-map-fullscreen .ops-map-tools{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1.2fr);left:calc(10px + env(safe-area-inset-left));max-width:none}.ops-map-fullscreen .ops-map-tools>button:first-child{grid-column:1;grid-row:1}.ops-map-fullscreen .ops-map-tools>button:nth-child(3){grid-column:2;grid-row:1}.ops-map-fullscreen .ops-map-fullscreen-toggle{grid-column:3;grid-row:1}.ops-map-fullscreen .ops-map-trails-toggle{grid-column:1/3;grid-row:2}.ops-map-fullscreen .ops-map-charts-toggle{grid-column:3;grid-row:2}.fullscreen-vehicle-trend .vehicle-trend{padding:10px}.ops-map-fullscreen .new-demand-toast,.ops-map-fullscreen:not(.has-analytics) .new-demand-toast{top:calc(350px + env(safe-area-inset-top));right:10px;width:calc(100vw - 20px);max-width:400px}.ops-map-shell.ops-map-fullscreen.analytics-expanded .ops-route-type-key,.ops-map-shell.ops-map-fullscreen .ops-map-viewport .ops-route-status-key{display:none}.ops-map-shell.ops-map-fullscreen .ops-map-viewport .ops-map-empty{white-space:normal;max-width:90%}}@media(max-width:800px)and (max-height:600px){.fullscreen-ops-header .kpi{height:39px;min-height:39px;padding-top:3px;padding-bottom:3px}.fullscreen-ops-header .kpi strong{font-size:16px}.fullscreen-ops-header .kpi.kpi-duration strong{font-size:15px}.fullscreen-ops-title{min-height:26px;margin-bottom:3px}.ops-map-fullscreen .new-demand-toast,.ops-map-fullscreen:not(.has-analytics) .new-demand-toast{top:calc(310px + env(safe-area-inset-top))}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px;background:radial-gradient(ellipse at 50% 15%,#183235,#101b1e 40%,#0c1416 85%);color:#d6e3e9;font-family:inherit;overflow:auto}.auth-brand{display:flex;align-items:center;gap:21px;margin:0 0 34px}.auth-brand img{width:126px;height:38px;object-fit:contain}.auth-brand>span{font-size:10px;letter-spacing:3px;border-left:1px solid #3d5057;padding:12px 0 12px 21px;color:#a8bcc4}.auth-card{width:min(440px,100%);padding:34px 36px;background:#162124;border:1px solid #35474d;border-radius:14px;box-shadow:0 20px 65px #0003}.auth-symbol{height:50px;width:50px;display:grid;place-items:center;border:1px solid #4b5b50;border-radius:12px;background:#b8965e12;color:#d7b67d;margin-bottom:24px}.auth-eyebrow{font-size:9px;letter-spacing:2px;color:#a9b8b8}.auth-card h1{font-size:25px;letter-spacing:-.5px;font-weight:600;line-height:1.2;margin:9px 0 10px}.auth-intro{font-size:13px;color:#98afb8;line-height:1.7;margin:0 0 29px}.auth-page button,.auth-page a,.auth-admin button{font:inherit;cursor:pointer}.auth-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 16px;border:1px solid #b89a67;border-radius:6px;font-size:13px;text-decoration:none;font-weight:600;transition:background .15s}.auth-primary{background:#c5a571;color:#10191b}.auth-primary>svg:last-child{margin-left:auto}.auth-primary:hover{background:#d6b681}.auth-footer{display:flex;align-items:center;gap:7px;color:#7c959e;font-size:10px;margin-top:26px}.auth-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:12px;color:#a9bdc6;line-height:1.5}.auth-spinner{animation:auth-spin 1.3s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-error{margin-top:15px;background:#d9a3570d;border:1px solid #a77d4a66;border-radius:5px;padding:12px 14px;font-size:12px;line-height:1.6;color:#e0bd88;overflow-wrap:anywhere}.auth-error>button{display:block;border:0;background:none;padding:8px 0 0;color:#dbe4e6;text-decoration:underline;text-underline-offset:3px}.auth-success{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #417764;background:#244b3b33;color:#8cceb2;border-radius:5px;font-size:12px;margin:12px 0}.auth-switch-account{display:block;margin-top:16px;text-align:center;font-size:12px;color:#a8bec8;text-underline-offset:3px;line-height:1.6}.auth-toolbar{display:flex;align-items:center;gap:7px;position:relative;color:#a8bec8;font-size:10px}.auth-toolbar button{min-height:32px;border:1px solid #3b505a;border-radius:4px;padding:0 8px;display:flex;align-items:center;gap:6px;background:#162429;color:#c3d4dd;cursor:pointer;font:inherit}.auth-toolbar button:hover{border-color:#7d9caa;color:#fff}.auth-user{display:flex;align-items:center;gap:5px;max-width:105px}.auth-user>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-toolbar.is-floating{position:fixed;left:14px;bottom:14px;padding:7px;background:#132126ee;border:1px solid #40565f;border-radius:6px;z-index:160;box-shadow:0 3px 15px #0003}.auth-toolbar-error{position:absolute;right:0;top:calc(100% + 8px);width:260px;max-width:80vw;padding:12px;background:#252922;color:#e5c38b;border:1px solid #a17f4c;border-radius:5px;z-index:200;line-height:1.6}.auth-toolbar.is-floating .auth-toolbar-error{top:auto;bottom:calc(100% + 8px);left:0;right:auto}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#061113ce;display:flex;align-items:center;justify-content:center;padding:28px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-admin{display:flex;flex-direction:column;max-height:calc(100dvh - 56px);width:min(1060px,100%);color:#d5e3e8;background:#142025;border:1px solid #47606b;border-radius:12px;box-shadow:0 30px 100px #0007;overflow:hidden;outline:none}.auth-admin-header{padding:22px 26px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #344850;flex:none}.auth-admin-header>div{display:flex;align-items:center;gap:13px}.auth-admin-header>div>svg{color:#c9a771}.auth-admin h2{font-size:19px;margin:0;font-weight:600;letter-spacing:-.2px}.auth-admin-header p{font-size:11px;margin:5px 0 0;color:#98b0bb}.auth-admin-header>button{width:34px;height:34px;display:grid;place-items:center;color:#a7bcc6;background:#1d3037;border:1px solid #3b535e;border-radius:5px}.auth-admin-tabs{display:flex;border-bottom:1px solid #344850;padding:0 20px;gap:8px;flex:none}.auth-admin-tabs>button{padding:15px 15px 12px;background:none;border:0;border-bottom:2px solid transparent;color:#9db4be;font-size:12px}.auth-admin-tabs>button[aria-pressed=true]{color:#e1c38e;border-color:#d1af72}.auth-admin-content{padding:18px 24px 26px;overflow:auto;min-height:220px;scrollbar-width:thin;scrollbar-color:#46616b transparent}.auth-admin-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.auth-admin-tools>span{font-size:11px;line-height:1.5;color:#91aab6}.auth-admin-tools>div{display:flex;gap:7px;flex-shrink:0}.auth-admin-tools button,.auth-row-actions button,.auth-form-actions>button{display:flex;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid #415963;border-radius:4px;background:#1c3037;color:#cbdde5;font-size:11px}.auth-admin-empty{min-height:180px;display:flex;align-items:center;justify-content:center;gap:9px;color:#93acb8;font-size:13px}.auth-admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 2px;border-bottom:1px solid #2f454f}.auth-admin-identity{display:flex;align-items:center;gap:12px;min-width:0}.auth-row-icon{display:grid;place-items:center;height:37px;width:37px;flex-shrink:0;border:1px solid #3a535e;border-radius:8px;color:#9ab6c2;background:#1a2a31}.auth-admin-identity>div{min-width:0}.auth-admin-identity strong{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;overflow-wrap:anywhere}.auth-admin-identity strong>small{font-size:9px;padding:2px 5px;border:1px solid #425e64;border-radius:3px;color:#9cd0c2}.auth-admin-identity>div>span{display:block;margin-top:4px;font-size:11px;color:#a1b7c2;overflow-wrap:anywhere}.auth-admin-identity>div>.auth-row-meta{font-size:10px;color:#7f9aa8}.auth-row-actions{display:flex;align-items:center;gap:7px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:50%}.auth-row-actions .auth-danger-button{border-color:#725751;color:#dbb6aa;background:#3c27232b}.auth-badge{font-size:9px;line-height:1.5;color:#83c9a9;background:#2e60452c;padding:3px 7px;border-radius:4px;white-space:nowrap}.auth-badge.is-disabled{color:#c4a092;background:#6742353b}.auth-audit-row{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid #2f454f;font-size:11px}.auth-audit-row>div>strong{display:block;font-size:12px;color:#c9dbe4}.auth-audit-row>div>span{display:block;margin-top:6px;color:#91aebd;overflow-wrap:anywhere}.auth-audit-row>time{flex-shrink:0;color:#8ba7b5;font-size:10px}.auth-admin-form{padding:20px;background:#101c21;border:1px solid #3e5864;border-radius:7px;margin:16px 0}.auth-admin-form h3{font-size:14px;margin:0 0 17px;font-weight:600}.auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-form-grid>label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#b5cbd5}.auth-form-grid input,.auth-form-grid select{width:100%;min-width:0;min-height:40px;padding:9px 11px;border:1px solid #415d69;border-radius:4px;background:#172a32;color:#deebf0;font:inherit;font-size:13px}.auth-form-grid input::placeholder{color:#7997a7;font-size:12px}.auth-form-grid input:focus,.auth-form-grid select:focus{outline:2px solid #6ac7c4;outline-offset:1px}.auth-form-wide{grid-column:1/-1}.auth-form-wide>small,.auth-admin-form>p{font-size:10px;color:#8da8b6;line-height:1.6}.auth-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.auth-form-actions>button.auth-primary{background:#c5a571;color:#102024;border-color:#c5a571}.auth-page button:disabled,.auth-admin button:disabled,.auth-toolbar button:disabled{opacity:.5;cursor:wait}.auth-admin button:focus-visible,.auth-page a:focus-visible,.auth-page button:focus-visible,.auth-toolbar button:focus-visible{outline:2px solid #6bd7d3;outline-offset:3px}@media(max-width:1250px){.auth-user{display:none}.auth-toolbar button>span{display:none}.auth-toolbar{gap:5px}.header-actions>.auth-toolbar{margin-right:3px}}@media(max-width:800px){.auth-toolbar{margin-right:5px;gap:4px}.auth-toolbar button{min-height:36px;width:34px;padding:0;justify-content:center}.auth-toolbar.is-floating{left:10px;bottom:calc(12px + env(safe-area-inset-bottom));padding:5px}.auth-modal-backdrop{padding:10px}.auth-admin{max-height:calc(100dvh - 20px);border-radius:9px}.auth-admin-header{padding:17px 15px}.auth-admin-header p{font-size:10px}.auth-admin h2{font-size:17px}.auth-admin-tabs{padding:0 9px;gap:2px;justify-content:space-between}.auth-admin-tabs>button{font-size:12px;padding:14px 10px 11px}.auth-admin-content{padding:15px 14px 22px}.auth-admin-tools{align-items:flex-start;flex-wrap:wrap;gap:10px}.auth-admin-tools>span{font-size:10px;max-width:100%}.auth-admin-row{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 0}.auth-row-actions{max-width:100%;margin-left:49px;justify-content:flex-start}.auth-row-actions button,.auth-admin-tools button{min-height:38px}.auth-form-grid{grid-template-columns:1fr;gap:14px}.auth-admin-form{padding:16px}.auth-audit-row{flex-direction:column;gap:8px}.auth-admin-identity>div>span{font-size:11px}.auth-admin-identity strong{font-size:13px}}@media(max-width:480px){.auth-page{padding:28px 20px}.auth-brand{margin-bottom:24px}.auth-brand img{width:112px}.auth-card{padding:28px 24px}.auth-card h1{font-size:24px}.auth-intro{font-size:12px}.auth-admin-identity{gap:10px}.auth-admin-header p{max-width:245px;line-height:1.5}.auth-row-actions{margin-left:47px}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}.auth-admin-identity>div>.auth-exact-username{font-weight:600;color:#c4d6dd}.auth-logout-confirmation{border-color:#76594c;margin:12px 0 20px}.auth-logout-confirmation>p>strong{color:#e5c69b;overflow-wrap:anywhere}.auth-logout-confirmation>p.auth-logout-warning{color:#e4b297}.auth-logout-confirmation .auth-danger-button{border-color:#8b6554;background:#432c263d;color:#edc5b2}.auth-logout-feedback{margin:10px 0 15px;padding:13px 15px;border:1px solid #417764;border-radius:6px;background:#20443726;color:#a9d8c3;font-size:11px;line-height:1.65;overflow-wrap:anywhere;scroll-margin:14px}.auth-logout-feedback>strong{display:flex;align-items:center;gap:7px;color:#d4e9e0}.auth-logout-feedback p{margin:5px 0}.auth-logout-feedback time{font-size:10px;color:#9bb8b7}.auth-logout-feedback.is-pending{border-color:#476b77;background:#23445026;color:#b4ccd5}.auth-logout-feedback.is-error{border-color:#986c42;background:#76512019;color:#e3be8f}.auth-logout-feedback>button{margin-top:7px;min-height:32px;padding:5px 9px;border:1px solid #8d775e;border-radius:4px;background:#30312c;color:#e3d1b4;font-size:11px}.auth-logout-feedback:focus{outline:1px solid #6bbcb5;outline-offset:2px}@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(7,minmax(0,1fr)) repeat(2,minmax(0,1.2fr))}.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(20,minmax(0,1fr));height:128px;align-items:stretch}.kpi{grid-column:span 4;padding:10px 16px;gap:12px}.kpi:nth-child(n+6){grid-column:span 5}.kpi:nth-child(5){border-right:0}.kpi:nth-child(-n+5){border-bottom:1px solid #344248}}@media(max-width:800px){.kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:5px}.kpi{margin-right:0;padding:8px 6px}.kpi-1 strong{color:var(--cyan)}.kpi-2 strong{color:inherit}.kpi-3 strong{color:var(--gold)}.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))}}@media(max-width:800px){.kpi-large-fleet .kpi{padding-top:5px;padding-bottom:5px}.kpi-large-fleet .kpi-label{height:23px}.kpi-large-fleet .kpi-0 strong,.kpi-large-fleet .kpi-1 strong{font-size:21px}.kpi-large-fleet .kpi-0 strong small,.kpi-large-fleet .kpi-1 strong small{display:block;margin:2px 0 0;font-size:10px;line-height:1.1}}.fleet-row .vehicle-id{min-width:0}.fleet-vehicle-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-row .heartbeat-dot,.fleet-row .fleet-age{flex-shrink:0}@media(min-width:761px){.kpi.kpi-long-value strong{font-size:clamp(16px,1.25vw,23px)}}.fleet-panel.large-fleet .fleet-item:not(.is-selected){content-visibility:auto;contain-intrinsic-block-size:auto 43px}
