:root{
  --bg:#09101c; --panel:#111a2b; --panel-2:#0d1524; --linea:#223049; --linea-2:#2c3d5c;
  --txt:#e8eef8; --mut:#8fa1bd; --azul:#4da3ff; --azul-pot:#004884; --rojo:#e5384a; --ambar:#f2c14e;
  --sans:'Work Sans',system-ui,sans-serif; --titulo:'Montserrat','Work Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--sans);font-size:14px;line-height:1.4}
h1,h2,h3{font-family:var(--titulo);margin:0;font-weight:600}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--azul);outline-offset:2px}

.panel{background:var(--panel);border:1px solid var(--linea);border-radius:10px}
.etq{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:600}
.num{font-variant-numeric:tabular-nums}

.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--linea-2);
  background:transparent;cursor:pointer;color:var(--txt);transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--azul)}
.chip[aria-pressed="true"],.chip.on{background:var(--azul);border-color:var(--azul);color:#06121f;font-weight:600}
.chip.suave:not([aria-pressed="true"]){background:var(--panel-2)}
.chip.suave.on,.chip[aria-current="page"]{background:var(--azul);border-color:var(--azul);color:#06121f;font-weight:600}
.btn{padding:7px 12px;border-radius:8px;border:1px solid var(--linea-2);background:var(--panel-2);cursor:pointer}
.btn:hover{border-color:var(--azul)}
a.btn{color:var(--txt);text-decoration:none;display:inline-block}
select{padding:7px 10px;border-radius:8px;border:1px solid var(--linea-2);background:var(--panel-2);cursor:pointer}

.lista{list-style:none;margin:0;padding:0;overflow:auto}
.lista li button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 12px;
  background:none;border:0;border-bottom:1px solid var(--linea);cursor:pointer;text-align:left}
.lista li button:hover{background:rgba(77,163,255,.08)}
.lista li button[aria-pressed="true"]{background:var(--azul);color:#06121f;font-weight:600}
.lista li button[aria-pressed="true"] .mut{color:#10304f}
.mut{color:var(--mut);font-size:12px}

.cargando{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:2000;color:var(--mut);transition:opacity .3s}
.cargando.fuera{opacity:0;pointer-events:none}
.cargando b{display:block;color:var(--txt);font-family:var(--titulo);font-size:18px;margin-bottom:6px}

.maplibregl-map{font-family:var(--sans)}
.maplibregl-popup-content{background:#0f1a2e;color:var(--txt);border:1px solid var(--linea-2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}
.maplibregl-popup-content b{font-family:var(--titulo)}
.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:#0f1a2e}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#0f1a2e}
.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#0f1a2e}
.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#0f1a2e}
.maplibregl-popup-close-button{color:var(--mut);font-size:18px;padding:2px 8px}
.maplibregl-ctrl-attrib{background:rgba(9,16,28,.7)!important;color:var(--mut)!important}
.maplibregl-ctrl-attrib a{color:var(--mut)!important}
.maplibregl-ctrl-group{background:#0f1a2e!important;border:1px solid var(--linea-2)}
.maplibregl-ctrl-group button+button{border-top-color:var(--linea-2)}
.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.4)}
.maplibregl-ctrl-scale{background:rgba(9,16,28,.7);color:var(--txt);border-color:var(--mut)}

.mapboxgl-map{font-family:var(--sans)}
.mapboxgl-popup-content{background:#0f1a2e;color:var(--txt);border:1px solid var(--linea-2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}
.mapboxgl-popup-content b{font-family:var(--titulo)}
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-bottom-color:#0f1a2e}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#0f1a2e}
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:#0f1a2e}
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#0f1a2e}
.mapboxgl-popup-close-button{color:var(--mut);font-size:18px;padding:2px 8px}
.mapboxgl-ctrl-attrib{background:rgba(9,16,28,.7)!important;color:var(--mut)!important}
.mapboxgl-ctrl-attrib a{color:var(--mut)!important}
.mapboxgl-ctrl-group{background:#0f1a2e!important;border:1px solid var(--linea-2)}
.mapboxgl-ctrl-group button+button{border-top-color:var(--linea-2)}
.mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:invert(1) brightness(1.4)}
.mapboxgl-ctrl-scale{background:rgba(9,16,28,.7);color:var(--txt);border-color:var(--mut)}

.mp-panel{position:absolute;z-index:5;top:10px;right:52px;width:min(250px,calc(100% - 70px));background:rgba(9,16,28,.94);border:1px solid var(--linea-2);border-radius:12px;padding:8px}
.mp-panel .mp-abrir{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--titulo);font-weight:600;font-size:12.5px;padding:4px 6px;display:flex;justify-content:space-between}
.mp-panel .mp-abrir::after{content:"▾";color:var(--mut)}
.mp-panel.cerrado .mp-abrir::after{content:"▸"}
.mp-panel.cerrado .mp-cuerpo{display:none}
.mp-cuerpo{display:grid;gap:6px;margin-top:6px}
.mp-fila{display:flex;gap:4px;flex-wrap:wrap}
.mp-b{flex:1 1 auto;padding:6px 8px;border-radius:8px;border:1px solid var(--linea-2);background:var(--panel-2);cursor:pointer;font-size:12px;white-space:nowrap}
.mp-b:hover{border-color:var(--azul)}
.mp-b[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:#06121f;font-weight:600}
.mp-ayuda{font-size:11px;color:var(--mut);line-height:1.35;padding:2px 4px}
.leyenda{position:absolute;left:12px;bottom:12px;z-index:900;background:rgba(9,16,28,.92);border:1px solid var(--linea-2);
  border-radius:10px;padding:10px 12px;font-size:12px;max-width:230px}
.leyenda b{display:block;margin-bottom:6px;font-family:var(--titulo);font-size:12px}
.leyenda div{display:flex;align-items:center;gap:8px;margin:3px 0}
.leyenda i{width:14px;height:14px;border-radius:3px;display:inline-block;flex:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.nav-t{display:flex;gap:6px;flex-wrap:wrap}
.nav-t .chip{padding:5px 11px;font-size:12.5px;text-decoration:none}

/* El CSS del motor del mapa se carga después de este archivo: se sube la prioridad para que el cuadro emergente quede oscuro. */
.mapboxgl-map .mapboxgl-popup-content,.maplibregl-map .maplibregl-popup-content{background:#0f1a2e;color:var(--txt);border:1px solid var(--linea-2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}
.mapboxgl-map .mapboxgl-popup-close-button,.maplibregl-map .maplibregl-popup-close-button{color:var(--mut);font-size:18px;padding:2px 8px}
.mapboxgl-map .mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.mapboxgl-map .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.mapboxgl-map .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-bottom-color:#0f1a2e}
.mapboxgl-map .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.mapboxgl-map .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.mapboxgl-map .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#0f1a2e}
.mapboxgl-map .mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:#0f1a2e}
.mapboxgl-map .mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#0f1a2e}
