.vehicle-list-panel{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;background:var(--bg);border-right:1px solid var(--line);grid-area:vehicle-list;min-width:0;min-height:0;overflow-y:auto}.vehicle-list-panel::-webkit-scrollbar{width:10px}.vehicle-list-panel::-webkit-scrollbar-track{background:var(--bg)}.vehicle-list-panel::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:var(--line-strong);border-radius:999px}.vehicle-list-panel::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.vehicle-list-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 14px;min-height:102px;padding:16px 16px 14px;display:flex}.vehicle-list-header-main{flex-direction:column;flex:auto;gap:10px;min-width:0;display:flex}.vehicle-list-header-meta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;display:grid}.vehicle-list-refresh-label{min-width:0;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:12px;display:inline-flex;overflow:hidden}.vehicle-list-refresh-label:before{content:"";background:var(--green);border-radius:999px;width:6px;height:6px;box-shadow:0 0 8px #80f17e99}.vehicle-list-refresh-label.vehicle-list-refresh-label-idle:before{background:var(--ink-soft);box-shadow:none}.vehicle-list-refresh-button{min-height:0;color:var(--ink-muted);background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.vehicle-list-refresh-button:hover:not(:disabled){color:var(--ink);background:0 0}.vehicle-list-wakeup-control{flex:none;align-items:flex-end;display:flex}.vehicle-list-wakeup-control button{border-radius:var(--radius-sm);min-height:30px;color:var(--green);white-space:nowrap;background:#80f17e1f;border:1px solid #80f17e61;padding:0 10px;font-size:12px;font-weight:800}.vehicle-list-wakeup-control button:hover:not(:disabled){background:#80f17e2e;border-color:#80f17e94}.vehicle-list-wakeup-control button:disabled{cursor:not-allowed;opacity:.55}.vehicle-list-wakeup-status{color:var(--ink-soft);overflow-wrap:anywhere;text-align:left;flex:1 0 100%;font-size:11px;line-height:1.35}.vehicle-list-header h1{letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1;font-family:var(--font-display,inherit);margin:3px 0 0}.vehicle-list-total{color:var(--ink-muted);margin-top:2px;font-size:11px;font-weight:700;display:block}.vehicle-list-filter{flex:0 178px;gap:5px;min-width:150px;display:grid}.vehicle-list-filter span{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.vehicle-list-filter select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);width:100%;min-width:0;height:34px;color:var(--ink);font:inherit;padding:0 9px;font-size:12px;font-weight:700}.vehicle-list-filter select:focus{outline-offset:2px;outline:2px solid #80f17e47}.vehicle-list-section{border-bottom:1px solid var(--line);padding:14px 16px}.vehicle-list-section-header{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 9px;display:flex}.vehicle-list-section-header h2{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.vehicle-list-section-header span{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.vehicle-list-rows{display:grid}.vehicle-list-row{border-radius:var(--radius-sm);width:100%;min-height:64px;color:var(--ink);text-align:left;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr);align-items:center;gap:5px 10px;padding:10px 12px 10px 14px;display:grid;position:relative}.vehicle-list-row+.vehicle-list-row{border-top-color:#2e2d37b3;margin-top:1px}.vehicle-list-row:hover:not(:disabled),.vehicle-list-row-selected{background:var(--panel);border-color:var(--line-strong)}.vehicle-list-row-selected{box-shadow:inset 3px 0 0 var(--green);background:#23222be6}.vehicle-list-primary{align-items:center;gap:6px;min-width:0;display:flex}.vehicle-list-number{min-width:38px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:17px;font-weight:800}.vehicle-list-service{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.vehicle-list-status{color:#141814;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;border-radius:999px;max-width:128px;padding:2px 8px;font-size:9.5px;font-weight:800;line-height:1.2;position:absolute;top:10px;right:12px;overflow:hidden}.vehicle-list-status.status-available{background:var(--green)}.vehicle-list-status.status-paused{background:var(--amber)}.vehicle-list-status.status-busy{background:var(--blue);color:#fff}.vehicle-list-status.status-stale{background:var(--gray);color:#fff}.vehicle-list-meta{min-width:0;color:var(--ink-soft);grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.vehicle-list-company{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vehicle-list-update{color:var(--ink-muted);font-variant-numeric:tabular-nums;flex:none}.vehicle-list-socket{border-radius:999px;flex:none;width:7px;height:7px;box-shadow:0 0 #0000!important}.vehicle-list-empty{color:var(--ink-soft);margin:0;padding:12px 6px 4px;font-size:13px}@media (max-width:980px){.vehicle-list-panel{border-right:0;border-bottom:1px solid var(--line);max-height:260px}.vehicle-list-header{align-items:center;min-height:0;padding:12px 14px}.vehicle-list-header-main{gap:8px}.vehicle-list-filter{flex-basis:210px}.vehicle-list-section{padding-left:8px;padding-right:8px}}
.vehicle-inspector{background:var(--bg-alt);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;min-width:0;height:100%;min-height:0;overflow-y:auto}.vehicle-inspector-empty{place-items:center;padding:24px;display:grid}.empty-inspector{text-align:center;color:var(--ink-soft);max-width:240px;line-height:1.5}.empty-inspector-icon{border:1px dashed var(--line-strong);width:52px;height:52px;color:var(--ink-soft);background:#ffffff05;border-radius:14px;place-items:center;margin:0 auto 16px;display:grid}.empty-kicker{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.empty-inspector p{margin:0;font-size:13px}.inspector-header{z-index:2;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#1f1e26f7;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex;position:sticky;top:0}.inspector-header-main{flex-direction:column;gap:10px;min-width:0;display:flex}.inspector-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inspector-focus-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:0;color:var(--ink-muted);background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.inspector-focus-button:hover{border-color:var(--focus);color:var(--ink)}.inspector-header h2{letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1.1;font-family:var(--font-display,inherit);margin:0}.last-update-lede{color:var(--ink-soft);font-size:12px;font-weight:500}.header-signal-row{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.header-signal-row>span{align-items:center;gap:6px;display:inline-flex}.socket-signal-dot{background:var(--gray);border-radius:999px;flex:none;width:7px;height:7px}.socket-signal-connected{color:var(--ink-muted)}.socket-signal-connected .socket-signal-dot{background:var(--green);box-shadow:0 0 8px #80f17e99}.socket-signal-disconnected{color:var(--ink-soft)}.socket-signal-disconnected .socket-signal-dot{background:var(--red);box-shadow:0 0 8px #f28b8280}.status-chip{color:#141814;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.status-available{background:var(--green)}.status-paused{background:var(--amber)}.status-busy{background:var(--blue);color:#fff}.status-stale{background:var(--gray);color:#fff}.inspector-section{border-bottom:1px solid var(--line);padding:16px 20px}.inspector-section:last-child{border-bottom:0}.inspector-section h3{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 12px;font-size:10px;font-weight:700;display:flex}.inspector-section h3:after{content:"";background:var(--line);flex:1;height:1px}.assignment-section{background:linear-gradient(145deg,#59a8ff1f,#0000 58%),#ffffff04}.assignment-target-card{border-radius:var(--radius-sm);background:#59a8ff14;border:1px solid #59a8ff4d;margin-bottom:16px;padding:15px}.assignment-target-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assignment-target-heading>div:first-child>span{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.assignment-target-heading>div:first-child>strong{color:var(--ink);font-family:var(--font-display,inherit);font-size:20px;line-height:1.15;display:block}.assignment-distance{text-align:right;flex:none}.assignment-distance span{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:750;display:block}.assignment-distance strong{color:var(--blue);font-family:var(--font-display,inherit);white-space:nowrap;font-size:21px;line-height:1}.assignment-target-card p{color:var(--ink-muted);margin:7px 0 0;font-size:13px;line-height:1.4}.assignment-timing-card{border-radius:var(--radius-sm);background:#ffbb5c12;border:1px solid #ffbb5c59;margin-bottom:12px;overflow:hidden}.assignment-elapsed{border-bottom:1px solid #ffbb5c38;flex-direction:column;align-items:flex-start;padding:15px;display:flex}.assignment-elapsed span{color:var(--amber);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.assignment-elapsed strong{color:var(--amber);font-family:var(--font-display,inherit);letter-spacing:-.035em;margin-top:4px;font-size:30px;line-height:1}.assignment-elapsed small{color:var(--ink-soft);margin-top:7px;font-size:10px;line-height:1.3}.inspector-section .assignment-event-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.assignment-event-times>div{min-width:0;padding:13px 15px}.assignment-event-times>div+div{border-left:1px solid #ffbb5c38}.assignment-event-times>.assignment-event-wide{border-top:1px solid #ffbb5c38;border-left:0;grid-column:1/-1}.assignment-event-times dt{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:750}.assignment-event-times dd{margin:0}.assignment-event-times dd strong,.assignment-event-times dd small{display:block}.assignment-event-times dd strong{color:var(--ink);font-family:var(--font-display,inherit);font-size:17px}.assignment-event-times dd small{color:var(--ink-soft);margin-top:2px;font-size:9px;line-height:1.35}.assignment-context{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff05;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:11px 13px;display:flex}.assignment-context span{color:var(--ink-soft);font-size:11px}.assignment-context strong{color:var(--ink);text-align:right;font-size:13px}.driver-performance-card{border-radius:var(--radius-sm);background:#80f17e0e;border:1px solid #80f17e3d;margin-bottom:14px;padding:14px}.driver-performance-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.driver-performance-heading>div>span,.driver-performance-heading>div>small{display:block}.driver-performance-heading>div>span{color:var(--ink);font-size:12px;font-weight:750}.driver-performance-heading>div>small{color:var(--ink-soft);margin-top:3px;font-size:10px}.driver-performance-heading>strong{color:var(--green);font-family:var(--font-display,inherit);letter-spacing:-.03em;text-align:right;font-size:25px;line-height:1}.driver-performance-bar{background:#ffffff14;border-radius:999px;height:6px;margin-top:13px;overflow:hidden}.driver-performance-bar span{border-radius:inherit;background:var(--green);height:100%;display:block;box-shadow:0 0 10px #80f17e59}.driver-performance-card p{color:var(--ink-soft);margin:8px 0 0;font-size:10px;line-height:1.4}.assignment-map-note{border-top:1px solid var(--line);color:var(--ink-soft);margin:0;padding-top:12px;font-size:11px;line-height:1.45}.inspector-section dl{gap:8px;margin:0;display:grid}.inspector-history-link{border-radius:var(--radius-sm);min-height:38px;color:var(--green);background:#80f17e14;border:1px solid #80f17e3d;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:0 12px;font-size:12px;font-weight:750;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.inspector-history-link:hover{background:#80f17e21;border-color:#80f17e73}.inspector-history-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.detail-row{grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:8px 12px;padding:4px 0;display:grid}.detail-row dt{color:var(--ink-soft);font-size:11.5px;font-weight:500}.detail-row dd{min-width:0;color:var(--ink-muted);overflow-wrap:anywhere;margin:0;font-size:12.5px;font-weight:500}.vehicle-dispatch-button{width:100%;color:var(--red);background:#f28b8214;border-color:#f28b8299;margin-top:16px}.vehicle-dispatch-button:hover:not(:disabled){border-color:var(--red);background:#f28b8229}.vehicle-dispatch-button-active{color:var(--green);background:#80f17e14;border-color:#80f17e99}.vehicle-dispatch-button-active:hover:not(:disabled){border-color:var(--green);background:#80f17e29}.inspector-footer{border-top:1px solid var(--line);background:#00000026;gap:10px;padding:16px 20px;display:grid;position:sticky;bottom:0}.inspector-footer button{width:100%}.wake-notification-option{color:var(--ink);cursor:pointer;justify-self:start;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.wake-notification-option input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--green);cursor:pointer;background:0 0;border:0;flex:0 0 16px;margin:0;padding:0}.wake-notification-option input[type=checkbox]:disabled{cursor:default}.inspector-footer-status{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.4}.empty-section-note{color:var(--ink-soft);margin:0;font-size:13px;font-style:italic}@media (max-width:980px){.vehicle-inspector{border-top:1px solid var(--line);min-height:340px}}@media (max-width:640px){.inspector-section .assignment-event-times{grid-template-columns:1fr}.assignment-event-times>div+div{border-top:1px solid #ffbb5c38;border-left:0}.detail-row{grid-template-columns:1fr;gap:3px}}
.admin-shell{background:var(--bg);grid-template:"topbar topbar topbar""vehicle-list main inspector"minmax(0,1fr)/380px minmax(0,1fr) 380px;height:100vh;display:grid;overflow:hidden}.refresh-label{color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12px;display:inline-flex}.refresh-label:before{content:"";background:var(--green);border-radius:999px;width:6px;height:6px;box-shadow:0 0 8px #80f17e99}.refresh-label.refresh-label-idle:before{background:var(--ink-soft);box-shadow:none}.map-stage{border-right:1px solid var(--line);flex-direction:column;grid-area:main;min-width:0;min-height:0;display:flex}.status-strip{background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px;display:flex}.status-counter{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;transition:border-color var(--t-fast);align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.status-counter:hover{border-color:var(--line-strong)}.status-counter strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.legend-dot{border-radius:999px;flex:none;width:8px;height:8px}.fleet-summary strong{text-align:right;min-width:42px}.map-display-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:3px;margin-left:auto;padding:3px;font-size:12px;font-weight:600;display:inline-flex}.map-display-toggle span{color:var(--ink-soft);padding:0 7px}.map-display-toggle button{min-height:26px;color:var(--ink-muted);transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);background:0 0;border-color:#0000;padding:0 9px;font-size:12px;font-weight:600}.map-display-toggle button:hover{background:var(--panel-strong);color:var(--ink);box-shadow:none}.map-display-toggle button.map-display-toggle-active{background:var(--green);color:#141814;font-weight:700}.socket-indicator{background:var(--green);border-radius:999px;flex:none;width:8px;height:8px;box-shadow:0 0 8px #80f17e99}.map-frame{flex:1 1 0;min-height:0;position:relative}.map-loading{height:100%;color:var(--ink-soft);place-items:center;font-size:13px;display:grid}.map-error{margin:12px 22px 0}@media (max-width:980px){.admin-shell{grid-template:"topbar""vehicle-list""main"minmax(0,58vh)"inspector"minmax(340px,auto)/1fr;height:auto;overflow:auto}.map-stage{border-right:0}.map-display-toggle{margin-left:0}}@media (max-width:640px){.status-strip{padding-left:14px;padding-right:14px}.refresh-label{flex:100%;order:-1}}
