/* Fallback local de Leaflet para evitar mosaicos desacomodados cuando el CDN de CSS falla. */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;outline-offset:1px;background:#0a1726;font-family:inherit}
.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}
.leaflet-tile::selection{background:transparent}
.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}
.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}
.leaflet-marker-icon,.leaflet-marker-shadow{display:block}
.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}
.leaflet-tile{filter:inherit;visibility:hidden}
.leaflet-tile-loaded{visibility:inherit}
.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}
.leaflet-overlay-pane svg{-moz-user-select:none}
.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}
.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}
.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}
.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}
.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}
.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}
.leaflet-zoom-animated{transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}
.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive{cursor:grabbing}
.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}
.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:8px}.leaflet-bar a{background-color:#10223a;border-bottom:1px solid #2b415d;width:32px;height:32px;line-height:32px;display:block;text-align:center;text-decoration:none;color:#fff}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#1a3557}.leaflet-bar a:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.leaflet-bar a:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#18263a;color:#72839a}
.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 22px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-bar a{width:36px;height:36px;line-height:36px}
.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 6px;color:#aebed0;background:rgba(5,14,26,.82);border-radius:6px}.leaflet-control-attribution a{color:#7eb8ff}.leaflet-control-attribution{font-size:10px}
.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:14px;background:#0f2137;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.5)}.leaflet-popup-content{margin:14px 16px;line-height:1.45;min-width:210px}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg);background:#0f2137;box-shadow:3px 3px 8px rgba(0,0,0,.3)}.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:28px;height:28px;font:20px/28px Tahoma,Verdana,sans-serif;color:#a9b6c7;text-decoration:none;background:transparent}.leaflet-popup-close-button:hover{color:#fff}.leaflet-container a.leaflet-popup-close-button{color:#a9b6c7}
.leaflet-tooltip{position:absolute;padding:6px 9px;background:#0f2137;border:1px solid #2b415d;border-radius:8px;color:#fff;white-space:nowrap;user-select:none;pointer-events:none;box-shadow:0 5px 18px rgba(0,0,0,.3)}
/* Marcadores y clusters Fénix */
.fenix-map-pin{width:26px;height:26px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.55);display:grid;place-items:center}.fenix-map-pin>span{transform:rotate(45deg);font-size:10px;color:#fff;font-weight:900}.fenix-map-pin.current{background:#22c55e}.fenix-map-pin.overdue{background:#ef4444}.fenix-map-pin.pending{background:#f59e0b}.fenix-map-pin.order{background:#3b82f6}
.fenix-cluster{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#39f08a,#0c8d4b);border:3px solid rgba(255,255,255,.92);color:white;font-weight:900;box-shadow:0 4px 18px rgba(0,0,0,.55)}.fenix-cluster.overdue{background:radial-gradient(circle at 32% 28%,#ff6767,#b81727)}.fenix-cluster.mixed{background:radial-gradient(circle at 32% 28%,#ffca52,#d17800)}
