.vehicle-pill{display:inline-flex;align-items:center;justify-content:center;width:4em;height:1.7em;padding:0 6px;border-radius:999px;font-family:var(--font-data);font-weight:700;letter-spacing:.01em;color:#000c;text-shadow:0 1px 2px rgba(255,255,255,.55);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;box-shadow:inset 0 1px 2px #ffffff4d,0 1px 3px #0000002e}.veh-dispatching .vehicle-pill{background:color-mix(in srgb,var(--car, #cbd5e1) 58%,#fff);animation:veh-breathe 2.4s ease-in-out infinite}@keyframes veh-breathe{0%,to{transform:scale(1);box-shadow:inset 0 1px 2px #ffffff4d,0 1px 3px #00000024}50%{transform:scale(1.035);box-shadow:inset 0 1px 2px #ffffff4d,0 0 0 3px color-mix(in srgb,var(--car, #cbd5e1) 28%,transparent)}}.veh-dispatching .vehicle-pill--ghost{background:transparent;box-shadow:none;border:1.5px dashed rgba(75,100,127,.55);color:var(--ink-muted, #4b647f);text-shadow:none;font-weight:500;letter-spacing:.2em;animation:none}.veh-snake{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:3}.veh-snake path{fill:none;stroke:#d97706;stroke-width:1.8;stroke-linecap:round;animation:veh-snake-crawl 1.8s linear infinite}.veh-snake path.veh-snake-t1{opacity:.55;animation-delay:-63ms}.veh-snake path.veh-snake-t2{opacity:.25;animation-delay:-.126s}@keyframes veh-snake-crawl{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@media(prefers-reduced-motion:reduce){.veh-dispatching .vehicle-pill{animation:none}.veh-snake{display:none}}.veh-desk-wrap{position:relative;display:inline-flex}.veh-desk{position:absolute;top:-5px;right:-5px;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:999px;border:1.5px solid #fff;background:#7c3aed;color:#fff;font-size:9px;font-weight:700;line-height:1;pointer-events:auto;box-shadow:0 1px 2px #00000040}.vehicle-marker{transform:translateY(-50%)}.vehicle-marker .marker-circle{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;padding:4px;text-align:center;font-size:12px;line-height:1;word-break:break-all;background:linear-gradient(145deg,#ffffff4d,#0000001a);box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0003,0 4px 8px #0003,0 2px 4px #0003;transform:translateZ(0)}.vehicle-marker .marker-circle.selected{box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0003,0 4px 8px #0003,0 2px 4px #0003,0 0 0 3px #3b82f680}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vehicle-marker .marker-circle.emergency{animation:pulse 1s ease-in-out infinite}.vehicle-marker .marker-circle.long-text{font-size:10px}.candidate-marker .asset-pin{position:relative}.candidate-marker .asset-circle.candidate{box-shadow:0 0 0 3px #2563eb59}.candidate-marker .candidate-rank{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#1d4ed8;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #fff}.asset-plate-text,.candidate-rank,.marker-circle{font-family:var(--font-data);font-variant-numeric:tabular-nums}.app{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.main-content{flex:1;overflow:auto;min-height:0}
