.fleet-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#fff;border-bottom:1px solid #e2e7ee}.fleet-summary strong{font-size:17px}.fleet-summary span{display:block;font-size:12px;color:#64748b;margin-top:4px}.fleet-layout{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 255px);min-height:480px}.fleet-list{overflow:auto;border-right:1px solid #e2e7ee;background:#f8fafc;padding:14px}.fleet-route{padding:16px;margin-bottom:12px;background:#fff;border:1px solid #e2e7ee;border-radius:10px;border-left:4px solid var(--route-color)}.fleet-route.selected{box-shadow:0 0 0 2px #c9d8ee}.fleet-route-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.fleet-route-title button{display:flex;align-items:center;gap:8px;min-height:44px;background:transparent;font-weight:700;color:#24364a}.fleet-route-title i{width:10px;height:10px;background:var(--route-color);border-radius:50%}.fleet-route-title label{display:flex;align-items:center;gap:6px;font-size:12px;min-height:44px}.fleet-route h2{font-size:15px;overflow-wrap:anywhere}.fleet-route p{font-size:12px;color:#64748b;margin:8px 0;line-height:1.5}.fleet-progress{margin:14px 0}.fleet-progress progress{width:100%;height:6px;accent-color:var(--route-color)}.fleet-progress span{font-size:12px;color:#475569}.fleet-progress b{font-weight:600;color:#087b38}.fleet-route .fleet-note{color:#8b611e}.fleet-map-wrap{position:relative;min-width:0;min-height:380px}#fleet-map{height:100%;min-height:380px}.fleet-map-key{position:absolute;bottom:24px;left:16px;right:60px;background:#fffffff2;border:1px solid #dbe1ea;border-radius:8px;padding:10px;display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#334155;pointer-events:none}.fleet-dollar{color:#087b38;font-size:18px}.fleet-feedback{padding:12px 24px;color:#64748b;font-size:12px;line-height:1.6}.fleet-empty{padding:28px;line-height:1.7}.fleet-empty p{margin:12px 0}.fleet-stops{list-style:none;padding:0;margin:12px 0 0}.fleet-stops button{background:white;display:flex;gap:10px;padding:12px;box-sizing:border-box;border-top:1px solid #edf0f4;text-align:left;width:100%;min-height:44px}.fleet-stops button.chosen{background:#eff6ff}.fleet-stop-number{background:var(--route-color);color:white;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;flex-shrink:0}.fleet-stop-number.located{background:#22e66e;color:#063b1c;font-weight:800}.fleet-stops strong,.fleet-stops small{display:block;overflow-wrap:anywhere}.fleet-stops strong{font-size:12px}.fleet-stops small{color:#64748b;font-size:11px;margin-top:4px}.fleet-flag{background:#fffbeb;color:#805618;border:1px solid #f0dfb5;border-radius:8px;padding:10px;text-align:left;width:100%;margin:5px 0;min-height:44px}.fleet-flag small{display:block;margin-top:4px}.fleet-route>.text-button{min-height:44px}@media(max-width:760px){.fleet-summary{padding:14px;align-items:flex-start;flex-direction:column}.fleet-layout{display:flex;flex-direction:column;height:auto;min-height:0}.fleet-map-wrap{order:-1;height:48dvh;min-height:340px}.fleet-list{max-height:55dvh;border-right:0;border-top:1px solid #e2e7ee}.fleet-feedback{padding:14px}.fleet-map-key{bottom:26px;left:8px;gap:8px;font-size:10px}#fleet-map{min-height:340px}}

.fleet-list-header{position:sticky;top:-14px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;margin:-14px 0 12px;background:#f8fafcf5;border-bottom:1px solid #e2e7ee;backdrop-filter:blur(8px)}.fleet-list-header strong{display:block;font-size:13px;color:#334155}.fleet-list-header small{display:block;font-size:11px;color:#64748b;margin-top:3px}.fleet-list-header label{display:flex;align-items:center;gap:10px;font-size:12px;color:#475569;min-height:44px;cursor:pointer}.fleet-list input[type=checkbox]{width:17px;height:17px;accent-color:#2563eb;cursor:pointer}.fleet-list input:disabled{cursor:default}.fleet-fit{position:absolute;top:10px;left:10px;z-index:1;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 13px;border:1px solid #dbe1ea;border-radius:9px;background:#fffffff5;color:#334155;box-shadow:0 2px 8px #0f172a12;font-size:12px;font-weight:600}.fleet-fit:hover:not(:disabled){background:#f1f5f9}.fleet-fit:disabled{opacity:.45;cursor:default}

/* Keep mixed-size map symbols and labels centered on the same row. */
.fleet-map-key{align-items:center}.fleet-map-key>span{display:inline-flex;align-items:center;gap:5px;min-height:20px;line-height:20px;white-space:nowrap}.fleet-map-key .fleet-dollar{line-height:20px}


.fleet-details[hidden]{display:none}.fleet-chevron{margin-left:4px;color:#64748b;font-size:16px}.fleet-route-title button[aria-expanded]{flex:1;text-align:left}.fleet-route-title button[aria-expanded]:hover{color:#1d4ed8}

/* Dispatch cards: compact summaries with details revealed on demand. */
.fleet-list{padding:16px;background:#f4f7fb}
.fleet-route{padding:16px;margin-bottom:12px;border:1px solid #dce4ee;border-radius:16px;box-shadow:0 2px 5px #172b4205;background:#fff}
.fleet-route.selected{border-color:#87aaf2;box-shadow:0 0 0 1px #87aaf2;background:#fff}
.fleet-route-title{margin:-4px 0 10px;gap:12px}
.fleet-route-title button{padding:0;color:#536478;font-size:12px;letter-spacing:.02em}
.fleet-route-title i{width:9px;height:9px;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--route-color) 12%,transparent)}
.fleet-route-title label{color:#64748b;font-size:11px}
.fleet-chevron{margin-left:auto;margin-right:8px}
.fleet-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fleet-card-heading h2{font-size:17px;line-height:1.35;margin:0;color:#172b42;flex:1 1 140px;letter-spacing:-.025em}
.fleet-status{display:inline-flex;align-items:center;border-radius:6px;padding:4px 7px;background:#f1f4f8;color:#506176;font-size:10px;font-weight:600;line-height:1.4}
.fleet-status-received{background:#edf3ff;color:#2659ae}
.fleet-status-in_progress{background:#eaf7f0;color:#176b44}
.fleet-route .fleet-driver{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:#536478;font-size:13px}
.fleet-driver svg{flex:none;color:#7a8b9d}
.fleet-progress{margin:18px 0 14px}
.fleet-metrics{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.fleet-metrics>span{font-size:11px;color:#64748b}
.fleet-metrics strong{font-size:18px;font-weight:650;color:#172b42;margin-right:3px}
.fleet-metrics strong small{font-size:13px;font-weight:500;color:#64748b}
.fleet-metrics .fleet-located{color:#167544;white-space:nowrap}
.fleet-progress progress{display:block;border:0;border-radius:8px;overflow:hidden;height:5px;background:#edf1f6}
.fleet-progress progress::-webkit-progress-bar{background:#edf1f6;border-radius:8px}
.fleet-progress progress::-webkit-progress-value{background:var(--route-color);border-radius:8px}
.fleet-progress progress::-moz-progress-bar{background:var(--route-color);border-radius:8px}
.fleet-location-summary{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.5;color:#607187;padding-top:12px;border-top:1px solid #edf1f6}
.fleet-location-summary i{width:6px;height:6px;border-radius:50%;background:#94a3b8;flex:none;margin-top:5px}
.fleet-location-summary.fresh i{background:#209463}
.fleet-location-summary small{display:block;font-size:10px;color:#6b7b8f;margin-top:2px}
.fleet-details{margin-top:12px}
.fleet-details>.text-button{font-size:12px;font-weight:600;min-height:40px;padding:8px 0;color:#245ac5}
.fleet-map-key svg{flex:none;color:#334e68}
.fleet-route button:focus-visible{outline:2px solid #2563eb;outline-offset:3px}

/* Full-width opaque list header, flush with the map and summary above. */
.fleet-list{padding:0 16px 16px;scroll-padding-top:84px}
.fleet-list-header{top:0;margin:0 -16px 16px;padding:12px 16px;background:#f4f7fb;backdrop-filter:none}
.fleet-stop-number.not-located{background:#737b87;color:#fff;font-size:20px;font-weight:600;line-height:1}

.fleet-alerts-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #dce4ee;border-radius:10px;color:#24364a;font-weight:600}
.fleet-alerts-button b{border-radius:12px;background:#edf3ff;color:#245ac5;padding:2px 7px;font-size:12px}
.fleet-alert-list{list-style:none;padding:0;margin:0;display:grid;gap:12px;max-height:50dvh;overflow:auto}
.fleet-alert-list li{padding:14px;border:1px solid #e2e7ee;border-radius:12px;background:#fffaf0}
.fleet-alert-list p{margin:6px 0;font-size:13px}.fleet-alert-list small{color:#64748b}.fleet-alert-list a{display:block;padding-top:10px;color:#245ac5}

/* Match the app's softly raised panels and the shared dimensional map markers. */
.fleet-list{background:#f5f7fc}
.fleet-route{border-radius:22px;padding:18px;border-color:#e4eaf4;box-shadow:0 4px 16px #13274408;overflow:hidden}
.fleet-route.selected{border-color:#93b4f5;box-shadow:0 0 0 2px #dce8ff,0 6px 20px #1327440c}
.fleet-route-title{border-bottom:1px solid #edf1f8;padding-bottom:8px;margin-bottom:16px}
.fleet-route-title i{width:12px;height:12px;box-shadow:0 0 0 4px #edf3ff}
.fleet-card-heading h2{font-size:19px;letter-spacing:-.5px;color:#132744}
.fleet-route .fleet-driver{background:#f5f8fe;border-radius:12px;padding:10px 12px;color:#435773}
.fleet-driver svg{color:var(--route-color)}
.fleet-metrics strong{font-size:22px;font-weight:750;letter-spacing:-.5px}
.fleet-progress progress{height:7px}
.fleet-location-summary{padding:12px;background:#f5f8fe;border:0;border-radius:12px}
.fleet-stop-number{border-radius:9px;box-shadow:0 2px 5px #13274418;font-weight:700}
.fleet-stops button{border-radius:12px;margin-top:5px;border:1px solid #edf1f8}
.fleet-fit{border-radius:14px;box-shadow:0 4px 16px #13274414}
.fleet-map-key{width:fit-content;max-width:calc(100% - 76px);right:auto;border-radius:14px;padding:10px 14px;box-shadow:0 4px 18px #13274412}
@media(max-width:760px){.fleet-route{padding:16px;border-radius:18px}.fleet-map-key{max-width:calc(100% - 68px);padding:8px 10px}}

.fleet-route-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf5}.fleet-manage-button{min-height:40px;padding:8px 12px;border:1px solid #cddcf9;border-radius:10px;background:#eff5ff;color:#2457ba;font:inherit;font-weight:600;cursor:pointer}.fleet-manage-button:hover{background:#e2edff;border-color:#a5bff0}
.fleet-alerts-button{position:relative}
.fleet-unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 3px #fee2e2;animation:fleet-alert-pulse 1.8s ease-out infinite}
@keyframes fleet-alert-pulse{0%,100%{box-shadow:0 0 0 2px #dc26262b}50%{box-shadow:0 0 0 6px #dc262600}}
@media(prefers-reduced-motion:reduce){.fleet-unread-dot{animation:none}}
.dispatch-notification-help{font-size:12px;line-height:1.6;color:#64748b;margin:0 0 12px}
.fleet-alert-list .fleet-closed-alert{padding:8px 10px;border-radius:8px;background:#eef2f8;color:#475569;font-size:12px}
