html,body,#root{width:100%;height:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}*{box-sizing:border-box;caret-color:#0000}input,textarea,[contenteditable=true]{caret-color:auto}input[type=date]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.9);opacity:.8;cursor:pointer;width:17px;height:17px;padding:1px}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.9);opacity:.8;cursor:pointer;width:17px;height:17px;padding:1px}input[type=month]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.9);opacity:.8;cursor:pointer;width:17px;height:17px;padding:1px}input[type=time]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.9);opacity:.8;cursor:pointer;width:17px;height:17px;padding:1px}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.app-shell{grid-template-columns:280px 1fr 320px;width:100vw;height:100vh;display:grid;overflow:hidden}.app-layout{--app-chrome-height:74px;flex-direction:column;width:100vw;height:100vh;display:flex}.app-header{background:#0e1d33;border-bottom:1px solid #1a3050;flex:none;align-items:center;height:48px;padding:0 18px;display:flex}.app-header-brand{align-items:center;gap:8px;text-decoration:none;display:flex}.app-header-logo{width:auto;height:30px;display:block}.app-layout-content{scrollbar-color:#2a4a70 #0b1526;flex:auto;min-height:0;overflow:auto}.cc-rail-card{transition:filter .15s,box-shadow .15s}.cc-rail-card:hover{filter:brightness(1.12);box-shadow:0 0 12px var(--rail-glow,#3b82f659)}.cc-kpi-link{cursor:pointer;transition:border-color .12s,box-shadow .15s}.cc-kpi-link:hover{box-shadow:0 0 10px #3b82f638;border-color:#2d5a80!important}.app-layout-content:has(.cc-light){scrollbar-color:#9fb0c3 #e4ebf3}.app-footer{box-sizing:border-box;letter-spacing:.6px;-webkit-user-select:none;user-select:none;background:#0e1d33;border-top:1px solid #1a3050;flex:none;align-items:center;gap:10px;height:26px;padding:0 18px;font-size:10px;display:flex}.app-footer-brand{color:#5d7891;white-space:nowrap;font-weight:700}.app-footer-values{color:#3f5673;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-footer-credit{color:#475569;white-space:nowrap;transition:color .2s}.app-footer-credit:hover{color:#7aaec8}@media (width<=560px){.app-footer-values{display:none}}.dashboard-tile{cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.dashboard-tile:hover{background:#0e3a5280;border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 10px 22px #00000059,0 0 10px #38bdf82e}.dashboard-tile.quad-tile{--tile-accent:#38bdf8;background:linear-gradient(180deg, color-mix(in srgb, var(--tile-accent) 16%, transparent), transparent 58%), #213a5cf2;border:1px solid color-mix(in srgb, var(--tile-accent) 32%, #35547e);border-top:3px solid var(--tile-accent)}.dashboard-tile.quad-tile:hover{border-color:var(--tile-accent);border-top-color:var(--tile-accent);background:linear-gradient(180deg, color-mix(in srgb, var(--tile-accent) 24%, transparent), transparent 58%), #1c3658f5;box-shadow:0 10px 22px #00000059, 0 0 16px color-mix(in srgb, var(--tile-accent) 45%, transparent);transform:translateY(-2px)}.sidebar{color:#e5e7eb;background:#0e1d33;flex-direction:column;padding:0 14px 24px;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#1e3354;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#2d4f7a}.left-sidebar{border-right:1px solid #1a3050;overflow:hidden}.right-sidebar{border-left:1px solid #1a3050}.sidebar-scroll{flex:auto;min-height:0;overflow:hidden auto}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-scroll::-webkit-scrollbar-thumb{background:#1e3354;border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#2d4f7a}.drawer-toggle,.sidebar-scrim{display:none}@media (width<=1280px){.app-shell{grid-template-columns:248px 1fr 296px}}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:1200;width:340px;max-width:86vw;transition:transform .25s;position:fixed;top:0;bottom:0;box-shadow:0 0 40px #0000008c}.left-sidebar{left:0;transform:translate(-102%)}.right-sidebar{right:0;transform:translate(102%)}.left-sidebar.is-open,.right-sidebar.is-open{transform:translate(0)}.drawer-toggle{z-index:1150;color:#cbd5e1;cursor:pointer;background:#0e1d33f2;border:1px solid #2d4f7a;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;line-height:1;display:flex;position:fixed;top:10px}.drawer-toggle:hover{background:#1a3050;border-color:#3d6499}.drawer-toggle-left{left:10px}.drawer-toggle-right{right:10px}.sidebar-scrim.is-visible{z-index:1100;background:#00000073;display:block;position:fixed;inset:0}.map-top-overlay{flex-wrap:wrap;row-gap:8px;left:60px;right:60px}.map-top-left,.map-top-right{flex-wrap:wrap}}@media (width<=560px){.sidebar{width:88vw;max-width:none}.map-top-overlay{padding:8px 10px}}.subpage-2col{grid-template-columns:340px 1fr;height:100%;display:grid}.subpage-2col--wide{grid-template-columns:510px 1fr}@media (width<=900px){.subpage-2col{grid-template-rows:46% 54%;grid-template-columns:1fr;height:100%}.subpage-2col>aside{border-bottom:1px solid #1a3050;border-right:none;overflow-y:auto}}.subpage-picker-2col{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:20px;display:grid}@media (width<=720px){.subpage-picker-2col{grid-template-columns:1fr}}.responsive-2up{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=720px){.responsive-2up{grid-template-columns:1fr}}.dashboard-center-col{container-type:inline-size}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-block{flex-direction:column;gap:6px;display:flex}.kpi-card-btn{transition:transform .1s,box-shadow .1s,border-color .1s}.kpi-card-btn:not(:disabled):hover{border-color:#4d76ad;transform:translateY(-2px);box-shadow:0 6px 18px #0006}.kpi-card-btn:disabled{cursor:default}.kpi-truck-btn:hover{color:#bae6fd;text-decoration-style:solid}.sec-row{transition:background .12s}.sec-row:hover{background:#38bdf812}.sec-row-approved{background:#22c55e14}.sec-row-approved:hover{background:#22c55e21}.sec-thumbbtn{transition:transform .1s,box-shadow .1s}.sec-thumbbtn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0006}.sec-figure img{outline-offset:-2px;outline:2px solid #0000;transition:outline-color .1s}.sec-figure:hover img{outline-color:#38bdf8}@container (width<=620px){.kpi-grid,.kpi-grid--3,.kpi-grid--4{grid-template-columns:1fr}}.table-scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.sidebar-brand{border-bottom:1px solid #1a3050;margin-bottom:4px;padding:18px 2px 14px}.sidebar-logo{filter:invert();mix-blend-mode:screen;cursor:pointer;will-change:transform;width:100%;max-width:200px;height:auto;margin-bottom:4px;display:block}@keyframes logo-drive-away{0%{transform:translate(0)translateY(0)}7%{transform:translate(-1px)translateY(.5px)}13%{transform:translate(1px)translateY(0)}19%{transform:translate(-1.5px)translateY(.5px)}25%{transform:translate(1.5px)translateY(0)}33%{transform:translate(-2.5px)translateY(.5px)}39%{transform:translate(8px)translateY(-1px)}45%{transform:translate(24px)translateY(0)}53%{transform:translate(70px)translateY(-1px)}61%{transform:translate(170px)translateY(0)}67%{transform:translate(360px)translateY(-1px)}67.01%{transform:translate(-360px)translateY(0)}77%{transform:translate(-150px)translateY(-1px)}86%{transform:translate(-55px)translateY(0)}93%{transform:translate(-16px)translateY(-1px)}97%{transform:translate(-3px)translateY(0)}to{transform:translate(0)translateY(0)}}.tucker-logo-wrap.is-driving{animation:2.7s cubic-bezier(.45,.05,.55,.95) logo-drive-away}@media (prefers-reduced-motion:reduce){.tucker-logo-wrap.is-driving{animation:none}}.sidebar-trademark{color:#475569;letter-spacing:.6px;text-align:center;-webkit-user-select:none;user-select:none;z-index:5;background:linear-gradient(#0e1d3300 0%,#091221 45%);border-top:1px solid #1a3050;flex:none;margin:0 -14px -24px;padding:10px 14px 12px;font-size:10px;transition:color .2s}.sidebar-trademark:hover{color:#7aaec8}.sidebar-logo.is-glowing{animation:1.1s ease-in-out tfl-logo-glow}@keyframes tfl-logo-glow{0%,to{filter:invert()}50%{filter:invert()drop-shadow(0 0 10px #fbbf24)drop-shadow(0 0 22px #f59e0b)}}@media (prefers-reduced-motion:reduce){.sidebar-logo.is-glowing{animation:none}}@keyframes tfl-snow-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--snow-drift,0px), 105vh) rotate(180deg)}}@keyframes tfl-confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(105vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){[style*=tfl-snow-fall],[style*=tfl-confetti-fall]{display:none!important}}.sidebar-brand-sub{color:#6a90b8;text-transform:uppercase;letter-spacing:1.8px;margin-top:3px;font-size:10px}.auth-signin-btn{color:#cbd5e1;cursor:pointer;background:#1a3050;border:1px solid #2d4f7a;border-radius:8px;width:100%;margin-top:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.auth-signin-btn:hover:not(:disabled){background:#243d5c;border-color:#3d6499}.auth-signin-btn:disabled{opacity:.5;cursor:progress}.auth-pill{background:#112034;border:1px solid #243d5c;border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;font-size:12px;display:flex}.auth-pill-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.auth-pill-action{color:#7aaec8;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:11px;font-weight:600}.auth-pill-action:hover:not(:disabled){color:#cbd5e1}.auth-pill-action:disabled{opacity:.5;cursor:progress}.admin-nav-link{color:#7aaec8;text-align:center;text-transform:uppercase;letter-spacing:1.2px;background:0 0;border:1px solid #2d4f7a;border-radius:8px;margin-top:8px;padding:6px 10px;font-size:11px;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:block}.admin-nav-link:hover{color:#cbd5e1;background:#1a3050;border-color:#3d6499}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:#7aaec8;background:#0e1d33;border-bottom:1px solid #1a3050;padding:10px 14px;font-size:11px;font-weight:600}.admin-table td{vertical-align:top;border-bottom:1px solid #1a3050;padding:8px 14px}.admin-table td.route{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:hidden}.admin-row{cursor:pointer}.admin-row:hover{background:#7aaec80a}.admin-row-detail{background:#0e1d33}.admin-row-detail td{padding:12px 14px}.admin-chip{color:#fff;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.admin-pre{color:#cbd5e1;white-space:pre-wrap;word-break:break-word;background:#0a1426;border-radius:6px;max-height:300px;margin:0;padding:10px;font-size:11px;overflow:auto}.section-label{text-transform:uppercase;letter-spacing:1.5px;color:#7aaec8;align-items:center;gap:8px;margin:18px 0 10px;font-size:10px;font-weight:700;display:flex}.section-label:after{content:"";background:#1a3050;flex:1;height:1px}.section-label.is-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.section-label.is-collapsible:hover{color:#a9c7dc}.section-chevron{color:#7aaec8;font-size:9px;line-height:1;transition:transform .2s;display:inline-block}.section-label.is-collapsed .section-chevron{transform:rotate(-90deg)}.section-content{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .25s,opacity .2s;display:grid}.section-content.is-collapsed{opacity:0;pointer-events:none;grid-template-rows:0fr}.section-content>.section-content-body{min-height:0;overflow:hidden}.section-count{color:#7a9bc0;letter-spacing:0;text-transform:none;background:#1a3050;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700}.search-input{color:#cbd5e1;background:#112034;border:1px solid #243d5c;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:#5a7a9a}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.location-search-wrapper{margin-bottom:4px;position:relative}.location-search-wrapper .search-input{margin-bottom:0}.location-loading-indicator{color:#4a6f96;pointer-events:none;font-size:11px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.location-results{z-index:100;background:#112034;border:1px solid #243d5c;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 28px #0000008c}.location-result-btn{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0e1d33;width:100%;padding:9px 12px;font-family:inherit;transition:background .1s}.location-result-btn:last-child{border-bottom:none}.location-result-btn:hover{background:#162840}.location-result-name{color:#e2e8f0;font-size:13px;font-weight:600}.location-result-place{color:#7a9bc0;margin-top:1px;font-size:11px}.layer-list{flex-direction:column;gap:5px;margin-bottom:4px;display:flex}.layer-group+.layer-group{margin-top:10px}.layer-group-label{text-transform:uppercase;letter-spacing:.6px;color:#7aaec8;margin:0 2px 5px;font-size:10px;font-weight:700}.layer-group-label.is-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;display:flex}.layer-group-chevron{color:#5d7891;font-size:9px;transition:transform .15s}.layer-group-label.is-collapsed .layer-group-chevron{transform:rotate(-90deg)}.layer-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;background:#112034;border:1px solid #112034;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.layer-toggle:hover{background:#162840;border-color:#243d5c}.layer-toggle input[type=checkbox]{display:none}.layer-toggle-label{color:#a0c0d8;font-size:13px}.toggle-pill{background:#243d5c;border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .2s;position:relative}.toggle-pill:after{content:"";background:#7a9bc0;border-radius:50%;width:12px;height:12px;transition:left .2s,background .2s;position:absolute;top:3px;left:3px}.layer-toggle input:checked~.toggle-pill{background:#1d4ed8}.layer-toggle input:checked~.toggle-pill:after{background:#fff;left:17px}.truck-list{flex-direction:column;gap:5px;display:flex}.truck-item{color:#e5e7eb;text-align:left;cursor:pointer;background:#112034;border:1px solid #112034;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s}.truck-item:hover{background:#162840;border-color:#243d5c}.truck-item.active{background:#071a0f;border-color:#16a34a}.truck-item-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.truck-number{color:#e2e8f0;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.moving{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot.idle{background:#f59e0b}.status-dot.offline{background:#4a6f96}.truck-status-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.truck-status-badge.moving{color:#22c55e;background:#22c55e1a}.truck-status-badge.idle{color:#f59e0b;background:#f59e0b1a}.truck-status-badge.offline{color:#7a9bc0;background:#7a9bc01f}.truck-driver{color:#7a9bc0;font-size:12px}.truck-location{color:#6a90b8;margin-top:2px;font-size:11px}.stat-cards{grid-template-columns:1fr 1fr;gap:6px;display:grid}.stat-card{background:#112034;border:1px solid #1a3050;border-radius:8px;padding:10px 12px}.stat-card.full-width{grid-column:1/-1}.stat-card-label{color:#7aaec8;text-transform:uppercase;letter-spacing:1.2px;font-size:10px;font-weight:600}.stat-card-value{color:#e2e8f0;margin-top:3px;font-size:22px;font-weight:700;line-height:1.2}.map-area{width:100%;min-width:0;height:100%;min-height:0;position:relative}.map-wrapper{width:100%;height:100%;position:relative}.map-container{width:100%;height:100%}.panel{height:100%;padding:16px;overflow-y:auto}.panel::-webkit-scrollbar{width:5px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:#1e3354;border-radius:3px}.panel h2{text-transform:uppercase;letter-spacing:1.5px;color:#7aaec8;border-bottom:1px solid #1a3050;margin:0 0 14px;padding-bottom:14px;font-size:10px;font-weight:700}.panel h3{text-transform:uppercase;letter-spacing:1.5px;color:#7aaec8;margin:16px 0 8px;font-size:10px;font-weight:700}.muted{color:#64748b;font-size:13px}.details{flex-direction:column;gap:10px;display:flex}.detail-group{background:#112034;border:1px solid #1a3050;border-radius:10px;margin-bottom:12px;overflow:hidden}.detail-row{border-bottom:1px solid #0e1d33;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row span{color:#7a9bc0;font-size:12px}.detail-row strong{color:#cbd5e1;text-align:right;font-weight:600}.map-top-overlay{z-index:3;color:#e5e7eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1d33eb;border:1px solid #243d5c;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 14px;font-size:13px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-top-left,.map-top-right{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.map-top-left{flex:0 auto}.map-top-right{flex:auto}.tucker-logo-wrap{width:100%;max-width:200px;line-height:0;transition:transform .4s cubic-bezier(.34,1.4,.64,1);display:block;position:relative}.tucker-drive:hover{transform:translate(6px)}.tucker-wheel{z-index:3;opacity:0;width:14px;height:14px;transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .24s;position:absolute;bottom:-2px;transform:translateY(12px)scale(.4)}.tucker-wheel--rear{left:16%}.tucker-wheel--front{left:74%}.tucker-drive:hover .tucker-wheel{opacity:1;transform:translateY(0)scale(1)}.tucker-drive:hover .tucker-wheel--front{transition-delay:60ms}.tucker-wheel-inner{background:radial-gradient(circle,#d1d5db 0 22%,#0b1220 27% 100%);border-radius:50%;width:100%;height:100%;display:block;position:relative;box-shadow:0 0 0 1px #94a3b899,0 2px 4px #00000080}.tucker-wheel-inner:before{content:"";background:#e5e7eb;border-radius:1px;width:2px;height:5px;margin-left:-1px;position:absolute;top:1px;left:50%}.tucker-drive:hover .tucker-wheel-inner{animation:.5s linear infinite tucker-spin}@keyframes tucker-spin{to{transform:rotate(360deg)}}.tucker-smoke{opacity:0;z-index:2;pointer-events:none;background:radial-gradient(circle,#d6dee9b3 0%,#d6dee900 68%);border-radius:50%;width:12px;height:12px;position:absolute;bottom:2px;left:15%}.tucker-drive:hover .tucker-smoke{animation:1.4s ease-out infinite tucker-smoke}.tucker-smoke--1{animation-delay:.2s;left:15%}.tucker-smoke--2{animation-delay:.66s;left:10%}.tucker-smoke--3{animation-delay:1.12s;left:20%}.tucker-smoke--4{animation-delay:0s;left:5%}.tucker-smoke--5{animation-delay:.45s;left:24%}.tucker-smoke--6{animation-delay:.9s;left:13%}@keyframes tucker-smoke{0%{opacity:0;transform:translate(0)scale(.4)}18%{opacity:.7}to{opacity:0;transform:translate(-15px,-24px)scale(2)}}.tucker-logo-wrap.is-driving .tucker-wheel{opacity:1;transform:translateY(0)scale(1)}.tucker-logo-wrap.is-driving .tucker-wheel-inner{animation:.14s linear infinite tucker-spin}.tucker-logo-wrap.is-driving .tucker-smoke{animation:.6s ease-out infinite tucker-smoke-burnout}.tucker-logo-wrap.is-driving .tucker-smoke--1{animation-delay:0s}.tucker-logo-wrap.is-driving .tucker-smoke--2{animation-delay:.1s}.tucker-logo-wrap.is-driving .tucker-smoke--3{animation-delay:.2s}.tucker-logo-wrap.is-driving .tucker-smoke--4{animation-delay:.3s}.tucker-logo-wrap.is-driving .tucker-smoke--5{animation-delay:.4s}.tucker-logo-wrap.is-driving .tucker-smoke--6{animation-delay:.5s}@keyframes tucker-smoke-burnout{0%{opacity:0;transform:translate(0)scale(.5)}25%{opacity:.85}to{opacity:0;transform:translate(-12px,-11px)scale(2.7)}}@media (prefers-reduced-motion:reduce){.tucker-logo-wrap,.tucker-wheel{transition:none}.tucker-drive:hover{transform:none}.tucker-drive:hover .tucker-wheel-inner,.tucker-logo-wrap.is-driving .tucker-wheel-inner{animation:none}.tucker-smoke{display:none}}.map-top-right>button{flex:auto;min-width:max-content;margin-right:0}.radar-control-btn{color:#7a9bc0;cursor:pointer;background:#112034;border:1px solid #243d5c;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:background .15s,color .15s}.radar-control-btn:hover{color:#e2e8f0;background:#162840}.radar-control-btn:disabled{opacity:.4;cursor:not-allowed}.radar-time-label{color:#7a9bc0;font-size:12px}.map-legend{z-index:3;color:#e5e7eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1d33eb;border:1px solid #243d5c;border-radius:10px;flex-direction:column;gap:6px;padding:10px 14px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.legend-red{background:#ef4444}.legend-orange{background:#f59e0b}.legend-blue{background:#3b82f6}.legend-green{background:#22c55e}.status-summary{align-items:center;gap:7px;margin-bottom:10px;font-size:12px;display:flex}.status-summary-item{font-weight:600}.status-summary-item.moving{color:#22c55e}.status-summary-item.idle{color:#f59e0b}.status-summary-item.offline{color:#7a9bc0}.status-summary-sep{color:#2d4f7a;font-size:11px}.fuel-summary{margin-top:-4px}.status-summary-item.fuel-critical{color:#ef4444}.status-summary-item.fuel-low{color:#f59e0b}.status-summary-item.fuel-normal{color:#7a9bc0}.hos-page{color:#e5e7eb;box-sizing:border-box;background:#0e1d33;min-height:100%;padding:24px;font-family:Inter,system-ui,-apple-system,sans-serif}.hos-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.hos-header h1{color:#e5e7eb;margin:0;font-size:22px;font-weight:600}.hos-subtitle{color:#94a3b8;max-width:720px;margin:6px 0 0;font-size:12px;line-height:1.4}.hos-back{color:#7aaec8;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.hos-back:hover{color:#cbd5e1}.hos-controls{border-bottom:1px solid #1a3050;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:14px;display:flex}.hos-checkbox{color:#cbd5e1;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.hos-refresh-btn{color:#cbd5e1;cursor:pointer;background:#243d5c;border:1px solid #2d4f7a;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.hos-refresh-btn:hover:not(:disabled){background:#2d4f7a;border-color:#3d6499}.hos-refresh-btn:disabled{opacity:.5;cursor:progress}.hos-status-text{color:#9ca3af;font-size:12px}.hos-error{color:#fca5a5;background:#3b1414;border:1px solid #ef4444;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.hos-table-wrap{max-height:calc(100vh - 220px - var(--app-chrome,0px));background:#112034;border:1px solid #1a3050;border-radius:8px;overflow:auto}.hos-table{border-collapse:collapse;width:100%;font-size:13px}.hos-table th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:#7aaec8;z-index:1;background:#0e1d33;border-bottom:1px solid #1a3050;padding:10px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.hos-table td{vertical-align:top;border-bottom:1px solid #1a3050;padding:8px 14px}.hos-row:hover{background:#7aaec80a}.hos-driver-no{color:#cbd5e1;font-family:ui-monospace,Consolas,monospace;font-weight:600}.hos-driver-name{color:#94a3b8;margin-top:2px;font-size:11px}.hos-vehicle{color:#cbd5e1;font-family:ui-monospace,Consolas,monospace}.hos-online-pill{color:#10b981;letter-spacing:.3px;background:#10b9812e;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.hos-status-pill{color:#fff;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.hos-num{text-align:right;font-family:ui-monospace,Consolas,monospace;font-weight:600}.hos-cycle-rule{color:#94a3b8;margin-left:4px;font-size:10px;font-weight:400;display:inline-block}.hos-time{color:#94a3b8;font-size:12px}.hos-empty{text-align:center;color:#6a7a90;padding:24px;font-size:13px}.hos-detail{color:#e5e7eb;background:#0e1d33;flex:1;padding:16px 18px;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-y:auto}.hos-detail-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.hos-detail-driver-no{color:#cbd5e1;font-size:16px;font-weight:600}.hos-detail-driver-name{color:#94a3b8;margin-left:8px;font-size:13px}.hos-detail-clocks{background:#112034;border:1px solid #1a3050;border-radius:8px;flex-wrap:wrap;gap:16px 30px;margin-bottom:18px;padding:12px 16px;display:flex}.hos-detail-clock{flex-direction:column;gap:2px;font-size:13px;display:flex}.hos-detail-clock-label{letter-spacing:1px;text-transform:uppercase;color:#7aaec8;font-size:10px}.hos-detail-clock-value{font-family:ui-monospace,Consolas,monospace;font-size:15px;font-weight:700}.hos-detail-clock-suffix{color:#94a3b8;font-size:10px}.hos-detail-section{margin-bottom:18px}.hos-detail-h3{text-transform:uppercase;letter-spacing:1.2px;color:#7aaec8;margin:0 0 6px;font-size:13px;font-weight:700}.hos-detail-sub{color:#94a3b8;margin:0 0 10px;font-size:12px;line-height:1.5}.hos-detail-muted{color:#94a3b8;font-size:13px}.hos-detail-error{color:#fca5a5;background:#3b1414;border:1px solid #ef4444;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-size:12px}.hos-detail-key-pill{color:#fff;letter-spacing:.5px;border-radius:8px;margin-right:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.hos-detail-day{grid-template-columns:90px 1fr;align-items:center;gap:10px;margin:3px 0;font-size:12px;display:grid}.hos-detail-day-date{color:#94a3b8;font-family:ui-monospace,Consolas,monospace}.hos-detail-day-bar{background:#112034;border:1px solid #1a3050;border-radius:4px;height:22px;position:relative;overflow:hidden}.hos-detail-tick{opacity:.55;border-left:1px dashed #2d4f7a;position:absolute;top:0;bottom:0}.hos-detail-band{opacity:.92;position:absolute;top:0;bottom:0}.hos-detail-hour-labels{color:#6a7a90;grid-template-columns:repeat(8,1fr);margin-top:6px;padding-left:100px;font-size:10px;display:grid}.hos-detail-summary{border-collapse:collapse;width:100%;font-size:13px}.hos-detail-summary th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:#7aaec8;background:#112034;border-bottom:1px solid #1a3050;padding:8px 12px;font-size:11px;font-weight:600}.hos-detail-summary td{color:#cbd5e1;border-bottom:1px solid #1a3050;padding:6px 12px;font-family:ui-monospace,Consolas,monospace}.toll-summary{margin-top:0}.status-summary-item.toll-bridge{color:#3b82f6}.status-summary-item.toll-road{color:#06b6d4}.status-summary-item.toll-tunnel{color:#a855f7}.filter-row-icon{opacity:.75;-webkit-user-select:none;user-select:none;margin-right:-2px;font-size:13px;line-height:1}.fuel-badge{letter-spacing:.2px;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.fuel-badge.normal{color:#7a9bc0;background:#7a9bc01a;border:1px solid #7a9bc033}.fuel-badge.low{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.fuel-badge.critical{color:#ef4444;background:#ef44441f;border:1px solid #ef444459}.route-loading{background:#0e1d33;justify-content:center;align-items:center;min-height:100%;display:flex}.route-loading-full{min-height:100vh}.route-loading-text{color:#5d7891;letter-spacing:.02em;font-size:13px;animation:.2s ease-in .25s both route-loading-in}@keyframes route-loading-in{0%{opacity:0}to{opacity:1}}.term-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1800px;margin:0 auto 16px;display:grid}.term-panel-wide{grid-column:span 2}@media (width<=1180px){.term-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.term-panel-grid{grid-template-columns:minmax(0,1fr)}.term-panel-wide{grid-column:auto}}
