/* Scoped to map pins and their InfoWindow contents; no viewport/navigation rules. */
.map-pin.map-case-pin,.map-pin.map-case-pin.route-origin { width:44px;height:44px;border:0;border-radius:50%;transform:none;background:transparent;box-shadow:none;padding:4px; }
.map-pin.map-case-pin > span { display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;border:2px solid white;border-radius:50%;transform:none;background:var(--map-status-color,#193e60);box-shadow:0 2px 7px #193e6050;color:#fff;font:800 15px/1 'DM Sans',sans-serif; }
.map-pin.map-case-pin.route-origin > span { outline:3px solid #193e60;outline-offset:2px; }
.map-pin.map-case-pin.map-pin-group > span { font-size:14px; }
.map-pin.map-case-pin.mixed > span { background:#193e60;border:3px solid transparent;background-image:linear-gradient(#193e60,#193e60),var(--map-cluster-colors);background-origin:border-box;background-clip:padding-box,border-box; }
.map-pin.map-case-pin:focus-visible { outline:3px solid #193e60;outline-offset:2px; }
.map-status-circle { display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--map-status-color,#193e60);color:#fff;font-weight:800;font-size:12px; }
.map-case-filters { padding:12px 16px;border-block:1px solid #dce5ec;background:#f8fafc; }
.map-case-filters[hidden] { display:none; }
.map-filter-row { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.map-filter-row label { display:flex;align-items:center;gap:8px;color:#304a5f;font-weight:700;font-size:13px; }
.map-filter-row select { min-height:44px;border:1px solid #b7c7d6;border-radius:9px;background:white;padding:8px 34px 8px 10px;color:#193e60;font:inherit; }
.map-case-filters button { min-height:44px;border:1px solid #c8d5e0;border-radius:9px;background:#fff;color:#334d62;padding:7px 10px;font:600 12px/1.3 'DM Sans',sans-serif;cursor:pointer; }
.map-case-filters button[aria-pressed=true] { border-color:#5486b2;background:#eaf3fb;color:#163f66;box-shadow:inset 0 0 0 1px #5486b2; }
.map-case-filters button:focus-visible,.map-case-filters select:focus-visible { outline:3px solid #2563eb;outline-offset:2px; }
.map-status-choices { display:flex;gap:6px;flex-wrap:wrap;margin-top:8px; }
.map-status-choices button { display:flex;align-items:center;gap:6px; }
.map-status-choices button[aria-pressed=false] .map-status-circle { opacity:.65; }
.map-filter-note { margin:8px 0 0;color:#576d80;font-size:12px;line-height:1.5; }
#jobsWorkspace.map-active #statusTabs [data-status] { display:none; }
@media(max-width:440px){ .map-case-filters{padding:10px}.map-status-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-status-choices button{min-width:0;padding:6px 8px}.map-filter-row{gap:6px}.map-filter-row label{flex:1}.map-filter-row select{max-width:100%;flex:1;min-width:0} }
/* The overlaid Jobs list must not cover the selected location's native popup. */
.map-view.map-job-popup-open > .map-sidebar { visibility: hidden; pointer-events: none; }
.dashboard-map-canvas.map-job-popup-open .dashboard-map-notice { visibility: hidden; }
.map-job-popup { width: 260px; max-width: 100%; color: #203b52; font: 14px/1.45 'DM Sans', sans-serif; overflow-wrap: anywhere; }
.map-job-popup article { border: 1px solid #d6e2ed; border-radius: 12px; overflow: hidden; background: #fff; }
.map-job-popup article + article { margin-top: 10px; }
.map-job-popup header { display: grid; gap: 2px; padding: 10px 12px; background: #193e60; color: #fff; }
.map-job-popup header small { color: #c9e0f3; font-size: 11px; font-weight: 600; }
.map-job-popup header strong { font-size: 15px; }
.map-job-popup-body { padding: 10px 12px; }
.map-job-popup h3 { margin: 0 0 5px; font-size: 15px; line-height: 1.4; color: #203b52; }
.map-job-popup p { margin: 4px 0; }
.map-job-popup-device { font-weight: 600; }
.map-job-popup-address { color: #596d7c; font-size: 12px; }
.map-job-popup .map-job-popup-route { width: 100%; min-height: 44px; margin-top: 10px; padding: 8px 10px; border: 1px solid #9ebddd; border-radius: 9px; color: #164c86; background: #edf5ff; font: 600 13px/1.4 'DM Sans', sans-serif; cursor: pointer; }
.map-job-popup .map-job-popup-route:hover { background: #dfeeff; }
.map-job-popup .map-job-popup-route:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.map-job-popup .map-popup-actions { display:flex;gap:8px; }
.map-job-popup .map-popup-actions button { flex:1;min-width:0; }
.map-job-popup .map-cluster-tools { margin-bottom:8px; }
.map-job-popup .map-cluster-tools p { font-size:12px;color:#536779; }
.map-popup-paging { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px; }
.map-popup-paging button { min-height:44px;border:1px solid #a8bfd2;border-radius:8px;background:#edf5ff;color:#193e60;padding:6px 10px;font-weight:600; }
.map-popup-paging button:disabled { opacity:.45; }
