:root{--map-bg:#fff;--map-border:#e5e7eb;--map-text:#1f2937;--map-control-bg:#fff;--map-control-border:#d1d5db;--map-control-shadow:0 2px 4px rgba(0,0,0,.1);--map-popup-bg:#fff;--map-popup-border:#e5e7eb;--map-popup-shadow:0 4px 6px rgba(0,0,0,.1)}.dark{--map-bg:#1f2937;--map-border:#374151;--map-text:#f9fafb;--map-control-bg:#374151;--map-control-border:#4b5563;--map-control-shadow:0 2px 4px rgba(0,0,0,.3);--map-popup-bg:#374151;--map-popup-border:#4b5563;--map-popup-shadow:0 4px 6px rgba(0,0,0,.4)}.maplibregl-ctrl-group{border:1px solid var(--map-control-border)!important;box-shadow:var(--map-control-shadow)!important}.maplibregl-ctrl-group,.maplibregl-ctrl-group button{background:var(--map-control-bg)!important;transition:all .2s ease}.maplibregl-ctrl-group button{color:var(--map-text)!important;border:none!important}.maplibregl-ctrl-group button:hover{background:var(--map-border)!important}.maplibregl-ctrl-group button:focus{outline:2px solid #10b981;outline-offset:2px}.maplibregl-ctrl-zoom-in,.maplibregl-ctrl-zoom-out{color:var(--map-text)!important;background:var(--map-control-bg)!important}.maplibregl-ctrl-zoom-in:hover,.maplibregl-ctrl-zoom-out:hover{background:var(--map-border)!important}.maplibregl-ctrl-compass{background:var(--map-control-bg)!important}.maplibregl-ctrl-compass .maplibregl-ctrl-compass-arrow{filter:brightness(var(--map-text,1))}.dark .maplibregl-ctrl-compass .maplibregl-ctrl-compass-arrow{filter:brightness(0) invert(1)}.maplibregl-ctrl-geolocate{background:var(--map-control-bg)!important;color:var(--map-text)!important}.maplibregl-ctrl-geolocate:hover{background:var(--map-border)!important}.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active{background:#10b981!important;color:#fff!important}.maplibregl-popup-content{background:var(--map-popup-bg)!important;color:var(--map-text)!important;border:1px solid var(--map-popup-border)!important;box-shadow:var(--map-popup-shadow)!important;border-radius:8px!important;padding:16px!important;max-width:300px}.maplibregl-popup-close-button{color:var(--map-text)!important;font-size:18px!important;padding:4px 8px!important;border-radius:4px;transition:all .2s ease}.maplibregl-popup-close-button:hover{background:var(--map-border)!important}.maplibregl-popup-tip{border-top-color:var(--map-popup-bg)!important;border-bottom-color:var(--map-popup-bg)!important}.maplibregl-ctrl-attrib{background:var(--map-control-bg)!important;color:var(--map-text)!important;border:1px solid var(--map-control-border)!important}.maplibregl-ctrl-attrib a{color:#10b981!important}.maplibregl-ctrl-attrib a:hover{color:#059669!important}.maplibregl-ctrl-scale{background:var(--map-control-bg)!important;color:var(--map-text)!important;border:1px solid var(--map-control-border)!important;border-radius:4px;padding:2px 6px}.map-marker{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;z-index:1}.map-marker:hover{z-index:2;transform:scale(1.1)}.map-marker.selected{z-index:3;transform:scale(1.15)}.map-marker-producer{background:var(--map-control-bg);border:2px solid #10b981;color:var(--map-text)}.map-marker-producer.selected{border-color:#059669;box-shadow:0 0 0 4px rgba(16,185,129,.3)}.map-marker-producer:hover{border-color:#059669}.map-marker-pickup{background:var(--map-control-bg);border:2px solid #3b82f6;color:var(--map-text)}.map-marker-pickup.selected{border-color:#2563eb;box-shadow:0 0 0 4px rgba(59,130,246,.3)}.map-marker-pickup:hover{border-color:#2563eb}.map-marker-user{background:var(--map-control-bg);border:2px solid #ef4444;color:var(--map-text)}.map-marker-user.selected{border-color:#dc2626;box-shadow:0 0 0 4px rgba(239,68,68,.3)}.dark .map-marker-producer{border-color:#34d399}.dark .map-marker-producer.selected{border-color:#10b981;box-shadow:0 0 0 4px rgba(52,211,153,.4)}.dark .map-marker-pickup{border-color:#60a5fa}.dark .map-marker-pickup.selected{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(96,165,250,.4)}.dark .map-marker-user{border-color:#f87171}.dark .map-marker-user.selected{border-color:#ef4444;box-shadow:0 0 0 4px hsla(0,91%,71%,.4)}.map-container{background:var(--map-bg);border:1px solid var(--map-border);border-radius:8px;overflow:hidden;transition:all .3s ease}.map-container.dark{box-shadow:0 4px 6px rgba(0,0,0,.4)}.map-container:not(.dark){box-shadow:0 2px 4px rgba(0,0,0,.1)}.map-loading{background:var(--map-bg);color:var(--map-text);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;min-height:400px;border:1px solid var(--map-border);border-radius:8px}.map-loading-spinner{width:32px;height:32px;border:3px solid var(--map-border);border-top:3px solid #10b981;border-radius:50%;animation:mapLoadingSpinner 1s linear infinite}@keyframes mapLoadingSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.map-error{background:var(--map-bg);color:var(--map-text);border:1px solid var(--map-border);border-radius:8px;padding:24px;text-align:center;min-height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.map-error-icon{width:48px;height:48px;color:#ef4444}.map-error-title{font-size:18px;font-weight:600;margin:0}.map-error-message{font-size:14px;opacity:.8;margin:0}.map-error-retry{background:#10b981;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.map-error-retry:hover{background:#059669}.map-marker:focus,.maplibregl-ctrl-group button:focus{outline:2px solid #10b981;outline-offset:2px}@media (prefers-reduced-motion:reduce){.map-container,.map-marker,.maplibregl-ctrl-group,.maplibregl-popup-content{transition:none!important}.map-loading-spinner{animation:none}}@media (prefers-contrast:high){.maplibregl-ctrl-group{border-width:2px!important}.map-marker{border-width:3px!important}}@media print{.maplibregl-ctrl-group,.maplibregl-popup{display:none!important}}