.dispatch-board{height:calc(100vh - var(--nav-h, 72px));display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr auto;overflow:hidden}.dispatch-board .map-panel{grid-row:1;grid-column:1;position:relative;min-height:0}.dispatch-board .schedule-panel{grid-row:1;grid-column:2;overflow-y:auto;background:#1c1917;color:#fafaf9}.dispatch-board .summary-bar{grid-row:2;grid-column:1/-1}.truck-marker{display:flex;align-items:center;gap:4px;padding:4px 8px 4px 6px;border-radius:20px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:opacity .3s ease,transform .2s ease;transform:translate(-50%,-50%)}.truck-marker:hover{transform:translate(-50%,-50%) scale(1.1);z-index:10}.truck-marker.faded{opacity:.2}.job-marker{width:12px;height:12px;border-radius:50%;border:2px solid;cursor:pointer;transition:opacity .3s ease,transform .2s ease;transform:translate(-50%,-50%)}.job-marker:hover{transform:translate(-50%,-50%) scale(1.4)}.job-marker.faded{opacity:.2}.job-marker.filled{background:var(--job-color);border-color:var(--job-color)}.job-marker.hollow{background:transparent;border-color:var(--job-color);opacity:.5}.job-marker.pulse{animation:marker-pulse 2s ease-in-out infinite;z-index:5;position:relative}@keyframes marker-pulse{0%,to{box-shadow:0 0 0 0 var(--job-color)}50%{box-shadow:0 0 0 8px transparent}}@keyframes border-pulse{0%,to{border-left-color:var(--job-color);box-shadow:-2px 0 8px -2px var(--job-color)}50%{border-left-color:transparent;box-shadow:none}}.schedule-panel::-webkit-scrollbar{width:6px}.schedule-panel::-webkit-scrollbar-track{background:#292524}.schedule-panel::-webkit-scrollbar-thumb{background:#57534e;border-radius:3px}.schedule-panel::-webkit-scrollbar-thumb:hover{background:#78716c}.map-fallback{display:flex;align-items:center;justify-content:center;height:100%;background:#f1f5f9;color:#64748b;font-size:14px;text-align:center;padding:2rem}@media (max-width:1023px){.dispatch-board{grid-template-columns:1fr;grid-template-rows:50vh 1fr auto}.dispatch-board .map-panel{grid-column:1}.dispatch-board .schedule-panel{grid-column:1;grid-row:2}.dispatch-board .summary-bar{grid-column:1;grid-row:3}}