.dispatch-map-workspace{margin-top:18px;border:1px solid #dbe3ef;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(31,36,64,.08);overflow:hidden}.dispatch-map-workspace.is-fullscreen{position:fixed;inset:12px;z-index:1000;margin:0;display:flex;flex-direction:column}.dispatch-map-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e7edf5}.dispatch-list-heading small,.dispatch-map-header small{color:#2563eb;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.dispatch-list-heading h2,.dispatch-map-header h2{margin:3px 0;font-size:1.35rem}.dispatch-list-heading p,.dispatch-map-header p{margin:0;color:#64748b}.dispatch-map-buttons{display:flex;gap:8px;flex-wrap:wrap}.dispatch-map-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(200px,1.5fr);grid-gap:10px;gap:10px;padding:14px 18px;border-bottom:1px solid #e7edf5;background:#f8fafc}.dispatch-map-filters label{display:grid;grid-gap:4px;gap:4px;margin:0;color:#475569;font-size:.72rem;font-weight:800}.dispatch-map-filters input,.dispatch-map-filters select{width:100%;min-width:0;padding:9px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#17202a}.dispatch-map-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:540px}.dispatch-map-workspace.is-fullscreen .dispatch-map-layout{flex:1 1;min-height:0}.dispatch-map-legend{padding:12px;border-right:1px solid #e7edf5;background:#fbfcff;overflow:auto}.dispatch-map-legend>button{display:flex;align-items:center;gap:10px;width:100%;padding:11px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;text-align:left;cursor:pointer}.dispatch-map-legend>button.selected,.dispatch-map-legend>button:hover{border-color:#c7d2fe;background:#eef2ff}.dispatch-map-legend>button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.dispatch-map-legend button span:last-child{display:grid;min-width:0}.dispatch-map-legend button small{color:#64748b}.dispatch-route-symbol{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;color:#fff;font-weight:900}.dispatch-route-symbol.all{background:#172554}.dispatch-map-toggles{display:grid;grid-gap:8px;gap:8px;margin:12px 4px;padding-top:14px;border-top:1px solid #e2e8f0}.dispatch-map-toggles label{display:flex;align-items:center;gap:8px;margin:0;font-size:.8rem;color:#475569}.dispatch-map-toggles input{width:16px;height:16px}.dispatch-map-note{margin:14px 3px;padding:11px;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:.78rem;line-height:1.45}.dispatch-map-canvas-wrap{position:relative;min-width:0;min-height:540px;background:#e8edf4}.dispatch-map-canvas{position:absolute;inset:0}.dispatch-map-state{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;grid-gap:8px;gap:8px;width:min(380px,calc(100% - 32px));padding:22px;border:1px solid #dbe3ef;border-radius:16px;background:rgba(255,255,255,.96);text-align:center;box-shadow:0 12px 35px rgba(15,23,42,.16)}.dispatch-map-state p{margin:0;color:#64748b}.dispatch-map-state.error{border-color:#fecaca;background:#fff7f7}.dispatch-map-spinner{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:dispatch-spin .8s linear infinite}@keyframes dispatch-spin{to{transform:rotate(1turn)}}.dispatch-map-info{display:grid;grid-gap:4px;gap:4px;max-width:260px;padding:4px;color:#17202a}.dispatch-map-info span{color:#64748b}.dispatch-map-info a{margin-top:5px;font-weight:800}.dispatch-map-warnings{padding:18px 20px;border-top:1px solid #e7edf5}.dispatch-map-warnings h3{margin:0 0 8px;font-size:1rem}.dispatch-map-warnings>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.dispatch-map-warnings a{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:inherit;text-decoration:none}.dispatch-map-warnings a span{color:#9a3412;font-size:.78rem}.dispatch-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-top:28px}.dispatch-list-heading p{max-width:540px;text-align:right}@media(max-width:1000px){.dispatch-map-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-map-search{grid-column:1/-1}.dispatch-map-layout{grid-template-columns:220px minmax(0,1fr)}}@media(max-width:700px){.dispatch-list-heading,.dispatch-map-header{display:grid;align-items:flex-start}.dispatch-map-buttons>*{flex:1 1}.dispatch-map-filters{grid-template-columns:1fr 1fr}.dispatch-map-layout{grid-template-columns:1fr;min-height:0}.dispatch-map-legend{display:flex;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid #e7edf5}.dispatch-map-legend>button{flex:0 0 190px}.dispatch-map-toggles{flex:0 0 180px;margin:0;padding:8px;border:0}.dispatch-map-note{display:none}.dispatch-map-canvas-wrap{min-height:420px}.dispatch-map-warnings>div{grid-template-columns:1fr}.dispatch-list-heading p{text-align:left}.dispatch-map-workspace.is-fullscreen{inset:0;border-radius:0}.dispatch-map-workspace.is-fullscreen .dispatch-map-header{padding:12px}.dispatch-map-workspace.is-fullscreen .dispatch-map-filters{display:none}}@media(max-width:480px){.dispatch-map-filters{grid-template-columns:1fr}.dispatch-map-search{grid-column:auto}.dispatch-map-canvas-wrap{min-height:360px}}.dispatch-route-panels{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.dispatch-route-panel{overflow:hidden;border:1px solid #e2e8f0;border-radius:13px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.dispatch-route-panel.selected,.dispatch-route-panel:hover{border-color:#a5b4fc;box-shadow:0 6px 18px rgba(30,41,59,.08)}.dispatch-route-summary{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dispatch-route-details a:focus-visible,.dispatch-route-details button:focus-visible,.dispatch-route-summary:focus-visible{outline:3px solid #93c5fd;outline-offset:-2px}.dispatch-route-summary>span:nth-child(2){display:grid;grid-gap:1px;gap:1px;min-width:0}.dispatch-route-summary small,.dispatch-route-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-route-expand{display:flex!important;align-items:center;gap:5px;font-size:1.15rem;font-weight:800}.dispatch-route-expand b{display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#fff1f2;color:#be123c;font-size:.7rem}.dispatch-route-details{border-top:1px solid #e7edf5;background:#fbfcff}.dispatch-route-total,.dispatch-route-window{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;padding:9px 10px;color:#475569;font-size:.69rem}.dispatch-route-total{background:#eef2ff;color:#3730a3;font-weight:800}.dispatch-route-endpoint{display:grid;grid-gap:1px;gap:1px;padding:9px 10px;color:#475569;font-size:.72rem}.dispatch-route-endpoint b{color:#17202a}.dispatch-route-details ol{display:grid;grid-gap:5px;gap:5px;margin:0;padding:0 7px;list-style:none}.dispatch-route-details li{overflow:hidden;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.dispatch-route-details li.selected{border-color:#6366f1;box-shadow:0 0 0 2px #e0e7ff}.dispatch-route-details li>button{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:7px;gap:7px;padding:8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dispatch-route-details li>button:disabled{cursor:not-allowed;opacity:.76}.dispatch-stop-number{display:grid!important;place-items:center;width:23px;height:23px;border-radius:7px;background:#172554;color:#fff;font-size:.68rem;font-weight:900}.dispatch-stop-copy{display:grid!important;grid-gap:1px;gap:1px;min-width:0}.dispatch-stop-copy small,.dispatch-stop-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-stop-copy strong{font-size:.72rem}.dispatch-stop-copy small{font-size:.65rem}.dispatch-stop-icons{display:flex!important;align-items:flex-start;gap:3px}.dispatch-stop-icons b{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#e2e8f0;color:#334155;font-size:.62rem}.dispatch-stop-icons b.warning{background:#ffedd5;color:#c2410c}.dispatch-route-details li>a{display:block;padding:5px 8px;border-top:1px solid #f1f5f9;color:#3730a3;font-size:.67rem;font-weight:800;text-align:right;text-decoration:none}@media(max-width:700px){.dispatch-map-legend{display:block;max-height:440px;overflow:auto}.dispatch-map-legend>button{width:100%}.dispatch-route-panels{grid-template-columns:repeat(2,minmax(230px,1fr))}.dispatch-map-toggles{margin:12px 4px;padding-top:12px;border-top:1px solid #e2e8f0}}@media(max-width:520px){.dispatch-route-panels{grid-template-columns:1fr}}.dispatch-map-info .dispatch-info-warning{margin-top:3px;color:#9a3412}.dispatch-map-info .dispatch-info-warning.critical{color:#b91c1c}.dispatch-route-risks{display:grid;grid-gap:5px;gap:5px;padding:0 8px 8px}.dispatch-route-risks>div{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:6px;gap:6px;padding:7px;border-radius:8px;background:#fff7ed;color:#9a3412}.dispatch-route-risks>div.critical{background:#fff1f2;color:#b91c1c}.dispatch-route-risks>div.info{background:#eff6ff;color:#1d4ed8}.dispatch-route-risks>div>b{font-size:.57rem;text-transform:uppercase}.dispatch-route-risks>div span{display:grid;grid-gap:1px;gap:1px}.dispatch-route-risks strong{font-size:.68rem}.dispatch-route-risks small{font-size:.62rem;line-height:1.35}.dispatch-map-warnings article{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:inherit}.dispatch-map-warnings a:has(.dispatch-warning-severity.critical),.dispatch-map-warnings article.critical{border-color:#fecaca;background:#fff1f2}.dispatch-map-warnings a:has(.dispatch-warning-severity.info),.dispatch-map-warnings article.info{border-color:#bfdbfe;background:#eff6ff}.dispatch-map-warnings strong{display:flex;align-items:center;gap:7px}.dispatch-map-warnings article>span{color:#9a3412;font-size:.78rem}.dispatch-warning-severity{padding:2px 6px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:.62rem;text-transform:uppercase}.dispatch-warning-severity.critical{background:#fee2e2;color:#b91c1c}.dispatch-warning-severity.info{background:#dbeafe;color:#1d4ed8}.dispatch-route-details li[draggable=true]{cursor:-webkit-grab;cursor:grab}.dispatch-route-details li[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.dispatch-stop-actions{display:flex;justify-content:flex-end;gap:4px;padding:5px 7px;border-top:1px solid #f1f5f9}.dispatch-stop-actions a,.dispatch-stop-actions button{border:0;background:transparent;color:#3730a3;font-size:.65rem;font-weight:800;text-decoration:none;cursor:pointer}.dispatch-stop-actions button:disabled{color:#94a3b8;cursor:not-allowed}.dispatch-stop-actions button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.dispatch-reorder-preview{display:grid;grid-gap:7px;gap:7px;margin:8px;padding:10px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.dispatch-reorder-preview strong{font-size:.75rem}.dispatch-reorder-preview p{margin:0;color:#475569;font-size:.68rem;line-height:1.4}.dispatch-reorder-preview label{display:flex;align-items:flex-start;gap:6px;margin:0;color:#9a3412;font-size:.68rem;font-weight:750}.dispatch-reorder-preview label input{margin-top:2px}.dispatch-reorder-preview>div{display:flex;justify-content:flex-end;align-items:center;gap:8px}.dispatch-reorder-preview .sv-button{padding:7px 9px;font-size:.68rem}.dispatch-map-header .dispatch-plan-revision{display:block;margin-top:5px;color:#64748b;font-size:.7rem;font-weight:700;letter-spacing:0;text-transform:none}.dispatch-suggestions{margin-top:16px}.dispatch-suggestions>.panel-title small{color:#2563eb;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.dispatch-suggestions>div:last-child{display:grid;grid-gap:9px;gap:9px}.dispatch-suggestions article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px;border:1px solid #bfdbfe;border-radius:12px;background:#f8fbff}.dispatch-suggestions article>div{display:grid;grid-gap:3px;gap:3px}.dispatch-suggestions article p{margin:0;color:#64748b;font-size:.78rem}.dispatch-suggestions article small{color:#1d4ed8}.dispatch-suggestions article form{display:flex;gap:7px;flex:0 0 auto}@media(max-width:700px){.dispatch-suggestions article{display:grid}.dispatch-suggestions article form{display:grid;grid-template-columns:1fr 1fr}.dispatch-suggestions article form button{width:100%}}.route-endpoint-settings{margin-top:18px}.route-endpoint-settings .settings-form{margin-top:16px}.route-endpoint-settings legend{grid-column:1/-1;padding:0;font-weight:850}.route-technician-endpoints{display:grid;grid-gap:14px;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0}.dispatch-density{margin-top:16px}.dispatch-density>.panel-title small{color:#2563eb;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.dispatch-density>.panel-title p{margin:4px 0 0;color:#64748b}.dispatch-density>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.dispatch-density article{padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.dispatch-density h3{margin:0 0 8px;font-size:.82rem}.dispatch-density article>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;color:#475569;font-size:.75rem}.dispatch-density article>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.dispatch-density>div:last-child{grid-template-columns:1fr 1fr}}@media(max-width:460px){.dispatch-density>div:last-child{grid-template-columns:1fr}}.route-metrics{margin-top:16px}.route-metrics>.panel-title small{color:#2563eb;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.route-metrics>.panel-title p{margin:4px 0 0;color:#64748b}.route-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px}.route-metric-grid article,.technician-metrics article{padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.route-metric-grid article{display:grid;grid-gap:3px;gap:3px}.route-metric-grid small,.route-metric-grid span{color:#64748b;font-size:.7rem}.route-metric-grid strong{font-size:1.15rem}.technician-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.technician-metrics header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.technician-metrics header span{color:#475569;font-size:.75rem}.technician-metrics dl{display:grid;grid-gap:5px;gap:5px;margin:0}.technician-metrics dl div{display:flex;justify-content:space-between;gap:12px;font-size:.72rem}.technician-metrics dt{color:#64748b}.technician-metrics dd{margin:0;text-align:right;font-weight:750}@media(max-width:1000px){.route-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.technician-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.route-metric-grid,.technician-metrics{grid-template-columns:1fr}}.route-reporting>.workspace-panel{margin-top:16px}.route-report-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.route-report-filters label{display:grid;grid-gap:5px;gap:5px;color:#475569;font-size:.75rem;font-weight:800}.route-report-filters input{padding:9px;border:1px solid #cbd5e1;border-radius:9px}.route-trend-table{display:grid;margin-top:12px;overflow-x:auto}.route-trend-table>div{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:12px;gap:12px;min-width:600px;padding:10px;border-bottom:1px solid #e2e8f0;font-size:.78rem}.route-trend-head{background:#f8fafc;color:#475569}.route-trend-table p{color:#64748b}.dispatch-loading{display:grid;grid-gap:18px;gap:18px;min-height:100vh;padding:28px;background:#f6f8fc}.dispatch-loading article,.dispatch-loading aside,.dispatch-loading>div{border-radius:18px;background:linear-gradient(90deg,#e8edf5 25%,#f7f9fc 50%,#e8edf5 75%);background-size:200% 100%;animation:dispatch-skeleton 1.3s infinite}.dispatch-loading>div{height:80px}.dispatch-loading>section{display:grid;grid-template-columns:260px 1fr;grid-gap:14px;gap:14px;height:560px}.dispatch-loading article,.dispatch-loading aside{height:100%}.dispatch-error{display:grid;place-items:start;grid-gap:12px;gap:12px;max-width:680px;margin:10vh auto;padding:32px;border:1px solid #fecaca;border-radius:20px;background:#fff}.dispatch-error h1,.dispatch-error p{margin:0}@keyframes dispatch-skeleton{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.dispatch-loading article,.dispatch-loading aside,.dispatch-loading>div{animation:none}}@media(max-width:700px){.dispatch-loading{padding:16px}.dispatch-loading>section{grid-template-columns:1fr;height:auto}.dispatch-loading aside{height:180px}.dispatch-loading article{height:420px}}.route-audit-list{display:grid;margin-top:10px}.route-audit-list article{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid #e2e8f0;font-size:.78rem}.route-audit-list strong{text-transform:capitalize}.route-audit-list span{color:#64748b}