.mps-server-pin{width:44px;height:44px;border-radius:50%;background:#1E1E1E;border:2px solid #f96a0e;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:pointer}.mps-server-pin:hover{transform:scale(1.15);z-index:10!important}.mps-server-pin img{width:24px;height:24px;object-fit:contain;pointer-events:none}.mps-server-pin--fallback{background:#F96A0E;border-color:#FFFFFF}.mps-server-pin--fallback span{color:#FFFFFF;font-size:16px;font-weight:700;line-height:1;pointer-events:none}.mps-server-pin--outside-radius{opacity:.3}.mps-server-pin--saved{border-color:#FBBF24;background:#1E1E1E}.mps-server-pin--star{background:#FBBF24;border-color:#D97706}.mps-server-pin--star span{color:#1E1E1E;font-size:14px;font-weight:800;line-height:1;pointer-events:none}.mps-job-pin{width:28px;height:36px;position:relative;transition:transform .2s ease;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.mps-job-pin:hover{transform:scale(1.15);z-index:10!important}.mps-job-pin--badge{position:absolute;top:-6px;right:-10px;background:#1E1E1E;color:#FFFFFF;font-size:9px;font-weight:700;padding:1px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.3);white-space:nowrap;line-height:1.2;pointer-events:none;z-index:1}@media (prefers-reduced-motion:no-preference){.mps-job-pin--en-route{animation:mps-en-route-pulse 1.5s ease-in-out infinite}.mps-job-pin--overdue{animation:mps-overdue-glow 2s ease-in-out infinite}.mps-job-pin--served-celebrate{animation:mps-served-celebrate .5s ease-out forwards}}@keyframes mps-en-route-pulse{0%,to{box-shadow:0 0 0 0 rgba(168,85,247,.5)}50%{box-shadow:0 0 0 10px rgba(168,85,247,0)}}@keyframes mps-overdue-glow{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}@keyframes mps-served-celebrate{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.dark .mapboxgl-ctrl-logo,[data-theme=dark] .mapboxgl-ctrl-logo{filter:brightness(.5) contrast(.8)}.dark .mapboxgl-ctrl-group,[data-theme=dark] .mapboxgl-ctrl-group{background:#1A1B1E;border-color:rgba(255,255,255,.1)}.dark .mapboxgl-ctrl-group button,[data-theme=dark] .mapboxgl-ctrl-group button{background-color:#1A1B1E;color:#E5E7EB}.dark .mapboxgl-ctrl-group button+button,[data-theme=dark] .mapboxgl-ctrl-group button+button{border-top-color:rgba(255,255,255,.1)}.dark .mapboxgl-ctrl-group button:hover,[data-theme=dark] .mapboxgl-ctrl-group button:hover{background-color:#2A2B2E}.dark .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon,[data-theme=dark] .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:invert(1)}.dark .mapboxgl-ctrl-attrib,[data-theme=dark] .mapboxgl-ctrl-attrib{background-color:rgba(26,27,30,.7);color:#6B7280}.dark .mapboxgl-ctrl-attrib a,[data-theme=dark] .mapboxgl-ctrl-attrib a{color:#9CA3AF}.map-hover-card{position:absolute;z-index:20;background:var(--color-surface,#1A1B1E);border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:8px;padding:10px 14px;max-width:250px;pointer-events:none;opacity:0;transition:opacity .15s ease;box-shadow:0 4px 12px rgba(0,0,0,.3);color:var(--color-text,#E5E7EB);font-size:13px;line-height:1.4}.map-hover-card:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-surface,#1a1b1e)}.map-legend-trigger{position:absolute;top:12px;right:12px;z-index:15;width:32px;height:32px;border-radius:8px;background:var(--color-surface,#1A1B1E);border:1px solid var(--color-border,rgba(255,255,255,.1));display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);color:var(--color-text-faint,#6B7280);transition:color .15s ease}.map-legend-trigger:hover{color:var(--color-text,#FFFFFF)}.map-legend-panel{position:absolute;top:12px;right:12px;z-index:15;background:var(--color-surface,#1A1B1E);border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:10px;padding:12px 16px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:12px;color:var(--color-text,#E5E7EB);min-width:180px}.map-legend-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint,#6B7280);margin-bottom:8px}.map-legend-row{display:flex;align-items:center;gap:8px;padding:3px 0}.map-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.map-legend-dot--server{background:#1E1E1E;border:2px solid #f96a0e}.map-legend-divider{border-top:1px solid var(--color-border,rgba(255,255,255,.1));margin:6px 0}.mps-map-popup-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:50;will-change:transform}.mps-map-popup-overlay>div{pointer-events:auto;position:relative;transform:translate(-50%,calc(-100% - 12px))}.mps-map-popup-overlay--flipped>div{transform:translate(-50%,12px)}.mps-map-popup-arrow{width:12px;height:12px;background:var(--color-surface,#1A1B1E);transform:rotate(45deg);margin:-6px auto 0;position:relative;z-index:-1}.mps-map-popup-overlay--flipped .mps-map-popup-arrow{order:-1;margin:0 auto -6px}