@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff)format("woff")}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.mobile-carousel{overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;display:block;position:relative;overflow:auto}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel{touch-action:pan-y;overflow:auto hidden}.mobile-carousel[data-dragging=true]{cursor:none}.mobile-carousel-content{width:max-content;min-width:100%;transform:translateX(var(--mobile-carousel-overdrag));will-change:transform;display:flex}.mobile-carousel-scrollbar{z-index:4;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{background:#00000059;border-radius:999px;height:3px;position:absolute;bottom:4px;right:4px}body{min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.phone-stage{place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative}.device-menu-bar{z-index:100;border-radius:12px;padding:3px;position:absolute;top:18px;right:18px}.device-picker-trigger{color:#151515;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:34px;padding:0 10px 0 12px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-trigger:hover,.device-picker-trigger[data-state=open]{background:#0000000e}.device-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #000000b8}.device-picker-menu{z-index:200;min-width:168px;transform-origin:var(--radix-dropdown-menu-content-transform-origin);background:#fffffffa;border-radius:12px;padding:3px;animation:.12s ease-out device-menu-in;box-shadow:0 0 1px #0000000f,0 0 0 1px #00000014,0 4px 4px #0000000d}.device-picker-item{color:#181818;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 9px 0 10px;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-item[data-highlighted]{background:#f0f0f0}.device-picker-item[data-state=checked]{font-weight:600}.device-picker-check{color:#181818;place-items:center;display:grid}@keyframes device-menu-in{0%{opacity:0;transform:scale(.98)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.phone-scale-box{position:relative}.phone-device{transform-origin:0 0;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.phone-bezel{object-fit:contain;z-index:2;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{cursor:none;z-index:1;-webkit-user-select:none;user-select:none;background:#fff;border-radius:42px;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.device-camera{z-index:75;pointer-events:none;background:#050505;border-radius:50%;display:block;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.device-screen,.device-screen *{cursor:none!important}.device-screen img,.keyboard-asset{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.device-screen input,.device-screen textarea,.device-screen select,.device-screen option,.device-screen [contenteditable=true]{-webkit-user-select:auto;user-select:auto}.device-screen:active,.device-screen:active *,.device-screen input,.device-screen textarea,.device-screen button,.device-screen a,.device-screen [role=button]{cursor:none!important}.device-screen[data-cursor-debug=true],.device-screen[data-cursor-debug=true] *{cursor:default!important}.device-screen :focus,.device-screen :focus-visible{box-shadow:none!important;outline:0!important}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.mobile-app-viewport[data-platform=android][data-keyboard-visible=false]{bottom:var(--device-safe-area-bottom,48px)}.flow-stack{--flow-header-height:0px;--flow-header-content-height:0px;--flow-header-safe-area:0px;--flow-footer-height:0px;--keyboard-height:0px;touch-action:pan-y;background:0 0;overflow:hidden}.flow-fixed-header{z-index:12;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.flow-fixed-footer{z-index:12;right:0;bottom:var(--keyboard-height);height:var(--flow-footer-height);background:0 0;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{will-change:transform;background:0 0;overflow:hidden}.mobile-page{--mobile-safe-area-height:var(--device-safe-area-bottom,34px);--keyboard-height:0px;position:absolute;inset:0}.mobile-page[data-keyboard-visible=true],.mobile-app-viewport[data-platform=android] .mobile-page{--mobile-safe-area-height:0px}.mobile-scroll{top:0;right:0;bottom:var(--keyboard-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;overflow:hidden auto}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll[data-dragging=true]{cursor:none}.mobile-cursor{z-index:80;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle at 50% 44%,#ffffffb3 0 34%,#ffffff8a 58%,#eeeeee7a 100%);border:.5px solid #0000001f;border-radius:999px;width:48px;height:48px;transition:opacity 90ms,background 80ms,box-shadow 80ms;position:absolute;top:0;left:0;box-shadow:inset 0 1px 2px #fff9,inset 0 -5px 10px #0000000d,inset 0 0 0 1px #00000006}.mobile-cursor:before{content:"";pointer-events:none;background:linear-gradient(#ffffff61,#fff0);border-radius:999px;width:32px;height:17px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.mobile-cursor:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 1px 0 3px #ffffff47,inset -1px 0 3px #00000005}.mobile-cursor-hotspot{pointer-events:none;background:#ffffffd1;border:1px solid #007afff2;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffbf,0 0 0 3px #007aff29}.mobile-cursor-hotspot:before,.mobile-cursor-hotspot:after{content:"";background:#007afff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-cursor-hotspot:before{width:17px;height:1px}.mobile-cursor-hotspot:after{width:1px;height:17px}.mobile-cursor[data-visible=true]{opacity:1}.mobile-cursor[data-active=true]{background:radial-gradient(circle at 50% 55%,#e8e8e894 0 30%,#f8f8f880 62%,#ffffffad 100%);box-shadow:inset 0 3px 7px #00000014,inset 0 -4px 8px #ffffff57,inset 0 0 0 1px #00000008}.mobile-cursor[data-active=true]:before{background:linear-gradient(#0000000e,#0000)}.mobile-cursor[data-active=true]:after{box-shadow:inset 0 5px 9px #0000000b,inset 0 -3px 7px #ffffff47}.mobile-scroll-content{will-change:transform;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:0;display:grid}.mobile-scrollbar{z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);opacity:0;pointer-events:none;width:4px;transition:bottom .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute}.mobile-page[data-keyboard-dragging=true] .mobile-scroll,.mobile-page[data-keyboard-dragging=true] .mobile-scrollbar,.flow-stack[data-keyboard-dragging=true] .flow-fixed-footer{transition:none}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{background:#00000047;border-radius:999px;width:4px;min-height:36px;transition:background .12s;box-shadow:0 0 0 1px #ffffff2e}.status-bar{z-index:72;color:#050505;pointer-events:none;background:0 0;grid-template-columns:1fr auto;align-items:center;height:54px;padding:10px 34px 0 36px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;display:grid;position:absolute;top:0;left:0;right:0}.device-screen[data-device=pixel-10] .status-bar{align-items:start;height:auto;padding:32px 32px 0;font-family:Roboto,Arial,sans-serif}.status-time{text-align:center;letter-spacing:0;justify-self:start;min-width:58px;font-size:15px;font-weight:600;line-height:1}.status-indicators{justify-self:end;align-items:center;display:flex}.status-indicator-svg{display:block}.status-indicator-svg[data-platform=ios]{width:79px;height:13px}.status-indicator-svg[data-platform=android]{width:50px;height:14px}.device-screen[data-device=pixel-10] .status-time{font-weight:500;transform:translateY(2px)}.home-indicator-svg{z-index:70;width:100%;height:var(--device-safe-area-bottom,34px);pointer-events:none;display:block;position:absolute;bottom:0;left:0;right:0}.android-navigation-bar{z-index:70;width:428px;height:var(--device-safe-area-bottom,48px);pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;bottom:-1px;left:-1px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{gap:8px;display:grid}.mobile-field input{color:#151515;background:#fff;border:1px solid #0000001a;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}.mobile-field input:focus{box-shadow:none;border-color:#00000029}.device-screen .mobile-field input:focus,.device-screen .mobile-field input:focus-visible{border-color:#0000001f;box-shadow:none!important;outline:0!important}.sheet-overlay{z-index:20;background:#00000057;position:absolute;inset:0}.bottom-sheet{z-index:21;touch-action:none;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;min-height:260px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -16px 48px #0003}.sheet-handle-zone{touch-action:none;place-items:center;height:30px;display:grid}.sheet-handle{background:#c9c9c4;border-radius:999px;width:42px;height:5px}.sheet-header{gap:4px;padding:0 18px 14px;display:grid}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{color:#737373;margin:0;font-size:13px;line-height:1.35}.keyboard-dock{z-index:30;height:339px;box-shadow:none;pointer-events:none;will-change:transform;background:#d8d9de;border-radius:32px 32px 0 0;padding:0;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.keyboard-dock[data-platform=android]{background:#f3f2f6;border-radius:0;box-shadow:0 -1px 2px #00000014}.keyboard-dock[data-visible=true]{pointer-events:auto}.keyboard-asset{z-index:1;border-radius:inherit;object-fit:cover;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:relative}.keyboard-dock[data-platform=android] .keyboard-asset{object-fit:fill;border-radius:0}:root{--bg:#020817;--panel:#0b2035;--panel-2:#071729;--panel-3:#0d263e;--line:#4f9ddb42;--line-strong:#1fc0ff8c;--text:#eef8ff;--muted:#8facce;--cyan:#08d9ff;--green:#22ee8d;--amber:#ffb100;--red:#ff4a6d}.dispatch-app{color:var(--text);background:radial-gradient(circle at 50% -8%,#00d8ff29,#0000 34%),linear-gradient(#030918 0%,#06182a 58%,#04111f 100%);font-family:Roboto,Microsoft YaHei,PingFang SC,Arial,sans-serif;position:absolute;inset:0;overflow:hidden}.app-screen{background:0 0}.dispatch-scroll .mobile-scroll{bottom:calc(var(--mobile-safe-area-height) + 74px)}.dispatch-content{min-height:100%;padding:62px 14px 22px}.dispatch-content.vehicle-mode{padding:44px 10px 18px}button{color:inherit;border:0}.topbar-shell{margin-bottom:14px}.topbar{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{width:34px;height:34px;color:var(--cyan);background:#00d9ff1f;border:1px solid #10deff7a;border-radius:8px;flex:none;place-items:center;display:grid}.brand-mark svg{width:21px;height:21px}.brand h1{letter-spacing:0;margin:0;font-size:25px;font-weight:900;line-height:1.05}.brand p,.timebox small,.section-title small{color:var(--muted);font-size:12px}.timebox{justify-items:end;gap:2px;padding-top:1px;display:grid}.timebox strong{color:#fff;font-size:24px;line-height:1}.timebox small{align-items:center;gap:5px;display:inline-flex}.date-switcher{grid-template-columns:38px 1fr 38px;gap:8px;display:grid}.date-switcher button{color:#bce7ff;background:#081c31e6;border:1px solid #4489c45c;border-radius:8px;justify-content:center;align-items:center;min-height:34px;display:inline-flex}.date-switcher svg{width:17px;height:17px}.date-switcher .date-pill{color:#fff;gap:7px;font-size:14px;font-weight:900}.live-dot{background:var(--green);border-radius:999px;width:8px;height:8px;margin-right:4px;display:inline-block;box-shadow:0 0 12px #22ee8dcc}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.kpi-card{text-align:left;background:linear-gradient(#102c48fa,#081b2ffa);border:1px solid #4a94d26b;border-radius:8px;grid-template-columns:1fr auto;align-content:start;gap:3px;min-height:96px;padding:12px 12px 13px;display:grid;position:relative;overflow:hidden}.kpi-card span{color:#b4d8ff;min-height:20px;font-size:15px;line-height:1.25}.kpi-card svg{color:#82c8ff}.kpi-card strong{color:var(--cyan);grid-column:1/3;font-size:31px;font-weight:900;line-height:1}.kpi-card small{color:#b7d4f0;font-size:13px}.kpi-card i,.status-box i{background:currentColor;border-radius:999px;height:5px;display:block}.kpi-card i{grid-column:1/3;margin-top:4px}.kpi-card:after{content:"";background:#5fa5e43b;border-radius:999px;height:5px;position:absolute;bottom:12px;left:12px;right:11px}.kpi-card:first-child{grid-column:span 2;min-height:104px}.kpi-card:first-child span{min-height:18px}.kpi-card[data-tone=green]{color:var(--green)}.kpi-card[data-tone=amber]{color:var(--amber)}.kpi-card[data-tone=red]{color:var(--red)}.kpi-card[data-tone=cyan]{color:var(--cyan)}.kpi-card[data-tone=green] strong{color:var(--green)}.kpi-card[data-tone=amber] strong{color:var(--amber)}.kpi-card[data-tone=red] strong{color:var(--red)}.panel,.vehicle-hero{background:linear-gradient(#0d253df0,#061627f5);border:1px solid #3a85c761;border-radius:9px;margin-bottom:12px;box-shadow:inset 0 1px #ffffff08}.panel{padding:12px}.section-title{text-align:left;background:0 0;align-items:center;gap:7px;min-width:0;margin-bottom:10px;display:flex}.section-title>span{background:var(--cyan);border-radius:999px;flex:none;width:4px;height:22px;box-shadow:0 0 10px #00d9ffb3}.section-title h2{color:#fff;letter-spacing:0;margin:0;font-size:19px;font-weight:900}.section-title small{white-space:nowrap;margin-right:auto}.ghost-action,.link-action{color:#d7efff;background:#2c5e8880;border-radius:7px;flex:none;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.ghost-action{padding:8px 9px}.ghost-action[data-active=true]{color:var(--cyan);background:#00d9ff33}.link-action{color:#9dccf4;background:0 0;margin-left:auto;padding:6px 0 6px 8px}.status-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.status-box{text-align:left;background:#04111fa8;border:1px solid #58a3e147;border-radius:8px;gap:12px;padding:12px 10px;display:grid}.status-box header{justify-content:space-between;gap:6px;display:flex}.status-box header strong{color:#fff;font-size:15px;line-height:1.2}.status-box header small{color:var(--cyan);white-space:nowrap;font-size:11px}.status-box div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.status-box span{color:var(--muted);gap:5px;font-size:11px;display:grid}.status-box b{color:#e9f7ff;font-size:24px}.status-box[data-tone=cyan]{color:var(--cyan)}.status-box[data-tone=green]{color:var(--green)}.mini-port-table{background:#030e1a9e;border:1px solid #4e94cf3d;border-radius:7px;overflow:hidden}.mini-port-table>div{border-bottom:1px solid #4984b92e;grid-template-columns:1.35fr repeat(5,1fr);align-items:center;min-height:42px;display:grid}.mini-port-table>div:last-child{border-bottom:0}.mini-port-table span{color:#f3fbff;text-align:center;padding:0 6px;font-size:13px;font-weight:700}.mini-port-table>div:first-child span{color:#82b4df;font-size:11px;font-weight:500}.mini-port-table>div[data-risk=true]{background:#ff4a6d21;box-shadow:inset 0 0 0 1px #ff4a6d8c}.mini-port-table>div[data-risk=true] span:first-child{color:var(--red)}.mini-port-table span:last-child{color:var(--cyan)}.quota-panel{padding-bottom:10px}.quota-groups{gap:8px;display:grid}.quota-group{background:#020d19b8;border-radius:7px;gap:4px;min-height:38px;padding:8px;display:grid}.quota-group h3{color:#75a5d0;margin:0;font-size:12px;font-weight:500;line-height:1.25}.quota-track{background:#30638ea6;border-radius:999px;height:15px;position:relative;overflow:hidden}.quota-fill{border-radius:inherit;background:var(--cyan);min-width:42px;position:absolute;inset:0 auto 0 0}.quota-track[data-tone=blue] .quota-fill{background:#2b82c4}.quota-track[data-tone=danger] .quota-fill{background:var(--red)}.quota-track b{z-index:1;color:#fff;text-align:left;padding:0 5px;font-size:10px;line-height:15px;display:block;position:relative}.driver-preview,.driver-list{gap:4px;display:grid}.driver-summary{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px;display:grid}.driver-preview button,.driver-list button,.driver-head{text-align:left;background:#020d19b8;border-radius:7px;grid-template-columns:1fr 1.05fr auto;align-items:center;min-height:42px;padding:0 10px;display:grid}.driver-preview span,.driver-list span{color:#edf7ff;font-size:14px}.driver-preview strong{color:#a8c5e4;font-size:14px}.driver-preview svg{color:#8dbbdf}.driver-head{color:#75a5d0;font-size:12px}.on-duty-driver-list{gap:4px;display:grid}.on-duty-head,.on-duty-driver-list button{text-align:left;background:#020d19b8;border-radius:7px;grid-template-columns:.95fr 1fr 1fr .55fr .75fr;align-items:center;min-height:42px;padding:0 8px;display:grid}.on-duty-head{color:#75a5d0;font-size:11px}.on-duty-driver-list span,.on-duty-driver-list em{color:#edf7ff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-style:normal;overflow:hidden}.on-duty-driver-list em{color:#9fc6e4;background:#14334ee0;border-radius:5px;justify-self:end;padding:4px 6px;font-weight:800}.map-peek .section-title{width:100%}.map-peek .section-title b{color:var(--cyan);margin-left:auto;font-size:12px}.map-strip{text-align:left;background:#dce8de;border:1px solid #69b2ec47;border-radius:8px;width:100%;height:114px;display:block;position:relative;overflow:hidden}.map-strip img{object-fit:cover;object-position:45% 44%;filter:saturate(1.08)contrast(.94);width:100%;height:100%}.pin-badge,.map-strip b{color:#fff;background:#020911bd;border-radius:6px;font-size:12px;line-height:1.35;position:absolute}.pin-badge{padding:7px 8px;top:30px;right:70px}.map-strip b{color:var(--green);padding:5px 8px;bottom:9px;right:9px}.vehicle-hero{padding:10px}.vehicle-mode .vehicle-hero{padding:0}.vehicle-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.mini-metric{text-align:left;background:#071a2edb;border:1px solid #5097d257;border-radius:8px;gap:3px;min-height:70px;padding:8px;display:grid}.mini-metric span{color:#a5c8e4;font-size:11px}.mini-metric strong{color:var(--cyan);font-size:25px}.mini-metric[data-tone=green] strong{color:var(--green)}.mini-metric[data-tone=amber] strong{color:var(--amber)}.mini-metric[data-tone=red] strong{color:var(--red)}.map-panel{background:#0a1d2d;border-radius:9px;height:360px;position:relative;overflow:hidden}.vehicle-mode .map-panel{height:600px}.map-panel>img{object-fit:cover;object-position:45% top;filter:brightness(.62)saturate(1.08)contrast(1.08);width:100%;height:100%}.map-tool{color:#e7f7ff;background:#05101bd1;border-radius:10px;place-items:center;width:42px;height:42px;display:grid;position:absolute;right:14px}.map-tool.top{top:18px}.map-tool.bottom{top:68px}.vehicle-marker{background:var(--cyan);color:#001220;border:2px solid #ffffffdb;border-radius:8px;place-items:center;width:34px;height:27px;display:grid;position:absolute;box-shadow:0 3px 9px #000a1457}.vehicle-marker svg{stroke-width:2.6px;width:20px;height:20px}.vehicle-marker-label{color:#f3fbff;text-align:center;white-space:nowrap;pointer-events:none;background:#05101be6;border:1px solid #ffffffb8;border-radius:5px;min-width:28px;padding:2px 5px;font-size:10px;font-weight:700;line-height:14px;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)}.vehicle-marker.selected{border-radius:10px;width:44px;height:34px;box-shadow:0 0 0 8px #00d9ff33,0 4px 11px #000a1466}.vehicle-marker.selected svg{width:25px;height:25px}.vehicle-marker.small,.vehicle-marker[data-status=car]{background:var(--green)}.vehicle-marker[data-status=warn]{background:var(--amber);color:#241500}.vehicle-marker.m2{top:184px;left:95px}.vehicle-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;cursor:pointer;background:#040c16d6;border:1px solid #abdcff2e;border-radius:8px;padding:13px;font-family:inherit;position:absolute;bottom:14px;left:12px;right:12px}.vehicle-card:active{transform:scale(.99)}.vehicle-card>div{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.vehicle-card strong{color:#fff;font-size:18px}.vehicle-card span,.vehicle-card dd[data-status=bus],em[data-status=bus]{color:var(--green)}.vehicle-card span{background:#22ee8d2e;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:800}.vehicle-card dl,.vehicle-detail dl{grid-template-columns:1fr 1.2fr;gap:9px 14px;margin:0;display:grid}.calendar-sheet{gap:12px;display:grid}.calendar-month{color:#fff;text-align:center;background:#030e1a9e;border:1px solid #4e94cf3d;border-radius:8px;padding:10px 12px;font-size:18px;font-weight:900}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays span{color:#7faed8;text-align:center;font-size:12px;font-weight:800}.calendar-grid i,.calendar-grid button{place-items:center;min-height:38px;display:grid}.calendar-grid i{pointer-events:none}.calendar-grid button{color:#eaf8ff;background:#030e1a9e;border:1px solid #4e94cf2e;border-radius:8px}.calendar-grid button span{font-size:14px;font-weight:900}.calendar-grid button small{color:var(--cyan);margin-top:-5px;font-size:9px;font-weight:800}.calendar-grid button[data-selected=true]{border-color:var(--cyan);color:var(--cyan);background:#08d9ff2e;box-shadow:0 0 0 1px #08d9ff3d}.vehicle-card dt,.vehicle-detail dt{color:#93aec7;font-size:12px}.vehicle-card dd,.vehicle-detail dd{color:#f2fbff;text-align:right;margin:0;font-size:13px;font-weight:700}.filter-row{grid-template-columns:1.45fr .8fr .65fr;gap:7px;margin-bottom:10px;display:grid}.vehicle-list-dock{z-index:6;padding:12px 4px 2px;position:sticky;bottom:10px}.vehicle-list-action{color:#ecfbff;background:linear-gradient(#08d9ff47,#075b8beb);border:1px solid #08d9ff8c;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:15px;font-weight:900;display:inline-flex;box-shadow:0 12px 28px #00000059,0 0 20px #08d9ff2e}.vehicle-list-action svg{width:18px;height:18px}.filter-row button{color:#b6d2ec;white-space:nowrap;background:#0e2339d1;border:1px solid #5b9dd147;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:38px;padding:0 8px;font-size:12px;display:inline-flex;overflow:hidden}.chip-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.chip-row button{color:#9fc5e6;background:#020d197a;border:1px solid #3c88c757;border-radius:7px;min-height:34px;font-size:12px;font-weight:800}.chip-row button[data-active=true]{border-color:var(--cyan);color:var(--cyan);background:#08d9ff2e}.mobile-table{background:#030d1994;border-radius:8px;overflow:hidden}.table-head,.table-row{border-bottom:1px solid #4885ba2b;align-items:center;min-height:44px;display:grid}.vehicle-table .table-head,.vehicle-table .table-row{grid-template-columns:1.35fr .9fr .9fr .95fr .9fr}.vehicle-select-table .table-head,.vehicle-select-table .table-row{grid-template-columns:40px 1.2fr .78fr .82fr .92fr .84fr}.vehicle-list-sheet{gap:10px;display:grid}.vehicle-list-sheet .filter-row,.vehicle-list-sheet .chip-row{margin-bottom:0}.vehicle-select-table .table-row[data-checked=false]{opacity:.52}.vehicle-check{width:22px;height:22px;color:var(--cyan);background:#08d9ff1f;border:1px solid #08d9ff7a;border-radius:5px;justify-self:center;place-items:center;padding:0;font-size:15px;font-weight:900;display:grid}.table-row .vehicle-check{padding:0}.vehicle-all-check{color:#82afd6;background:#08d9ff1a;border:1px solid #08d9ff80;border-radius:5px;justify-content:center;justify-self:center;align-items:center;min-width:0;min-height:26px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.vehicle-all-check[data-checked=true]{color:var(--cyan);background:#08d9ff33}.sheet-data-table{width:100%;min-width:0}.task-table{gap:4px;display:grid}.task-table-head,.task-table-row{background:#020d19b8;border-radius:7px;grid-template-columns:.9fr 1.35fr 1.5fr .75fr .75fr;align-items:center;padding:0 6px;display:grid}.task-table-head{color:#82afd6;min-height:42px}.task-table-row{min-height:58px}.task-table span{color:#d8ebff;min-width:0;padding:0 4px;font-size:10px;line-height:1.35}.task-table-head span{color:#82afd6;white-space:nowrap;font-weight:600}.task-table-row span:first-child,.task-table-row span:nth-child(4),.task-table-row span:nth-child(5){white-space:nowrap}.task-table-row span:nth-child(2),.task-table-row span:nth-child(3){overflow-wrap:anywhere}.sheet-data-table .table-head,.sheet-data-table .table-row{grid-template-columns:1.1fr 1fr 1.1fr .65fr .85fr}.sheet-content .sheet-data-table{width:100%}.sheet-content{scrollbar-width:none}.sheet-content::-webkit-scrollbar{display:none}.table-head span,.table-row span,.table-row em{color:#d8ebff;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 7px;font-size:12px;overflow:hidden}.table-head span{color:#82afd6;font-weight:600}.table-row{text-align:left;background:0 0;width:100%}.table-row em{color:#9fc6e4;background:#14334ee0;border-radius:5px;justify-self:center;padding:4px 7px;font-style:normal;font-weight:800}em[data-status=warn]{color:var(--amber);background:#ffb1002e}em[data-status=repair]{color:var(--red);background:#ff4a6d24}.full-panel{min-height:610px}.sheet-overlay{background:#0000008f}.bottom-sheet{color:var(--text);background:#071b2e;border:1px solid #4395d85c;box-shadow:0 -18px 48px #00000080}.sheet-handle{background:#95beda7a}.sheet-title{color:#fff}.sheet-description{width:max-content;color:var(--cyan);background:#00d9ff29;border-radius:4px;padding:4px 8px;font-weight:800;display:inline-flex}.sheet-content{padding:0 14px 24px;overflow:auto}.port-sheet-scroll{scrollbar-width:thin;scrollbar-color:#08d9ffb3 #204c6f47;width:100%;padding-bottom:6px;overflow:hidden}.port-sheet-scroll::-webkit-scrollbar{height:4px}.port-sheet-scroll::-webkit-scrollbar-track{background:#204c6f47;border-radius:999px}.port-sheet-scroll::-webkit-scrollbar-thumb{background:#08d9ffb3;border-radius:999px}.sheet-table{width:100%;min-width:0}.sheet-table>div{grid-template-columns:86px repeat(5,minmax(0,1fr))}.sheet-table span{padding:0 2px;font-size:11px}.vehicle-detail{gap:12px;display:grid}.vehicle-detail dl{background:#040e1a9e;border-radius:8px;padding:12px}.vehicle-detail dt,.vehicle-detail dd{border-bottom:1px solid #7eaed330;padding-bottom:9px}.bottom-tabs{z-index:10;right:14px;bottom:calc(var(--device-safe-area-bottom,34px) + 8px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081c31eb;border:1px solid #4489c45c;border-radius:14px;grid-template-columns:repeat(4,1fr);height:66px;display:grid;position:absolute;left:14px;box-shadow:0 -12px 34px #00000042}.tab-button{color:#8fa6c2;background:0 0;align-content:center;place-items:center;gap:4px;font-size:12px;font-weight:800;display:grid}.tab-button svg{width:22px;height:22px}.tab-button[data-active=true]{color:var(--cyan)}.keyboard-dock[data-visible=false]{visibility:hidden;opacity:0}
