/* Estilos complementarios (Tailwind hace el grueso vía CDN). */
html, body { height: 100%; margin: 0; }
.maplibregl-popup-content { font-size: 12px; padding: 10px 12px; border-radius: 8px; }
.nav-item { display:flex; align-items:center; gap:.6rem; padding:.55rem .75rem; border-radius:.5rem; cursor:pointer; }
.nav-item:hover { background:#1e293b; color:#fff; }
.nav-item.active { background:#0284c7; color:#fff; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; padding:1rem 1.25rem; }
.kpi { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; padding:1rem; }
.kpi .val { font-size:1.6rem; font-weight:700; color:#0f172a; }
.kpi .lbl { font-size:.72rem; color:#64748b; text-transform:uppercase; letter-spacing:.03em; }
table.tabla { width:100%; border-collapse:collapse; font-size:.8rem; }
table.tabla th { background:#f1f5f9; text-align:left; padding:.5rem .6rem; position:sticky; top:0; }
table.tabla td { padding:.4rem .6rem; border-top:1px solid #f1f5f9; }
table.tabla tr:hover td { background:#f8fafc; }
.btn { padding:.5rem .9rem; border-radius:.5rem; font-weight:600; font-size:.85rem; cursor:pointer; }
.btn-primary { background:#0284c7; color:#fff; } .btn-primary:hover{ background:#0369a1; }
.btn-sec { background:#e2e8f0; color:#334155; } .btn-sec:hover{ background:#cbd5e1; }
.btn-danger { background:#dc2626; color:#fff; } .btn-danger:hover{ background:#b91c1c; }
input, select, textarea { outline:none; }
.badge { font-size:.68rem; padding:.15rem .5rem; border-radius:999px; font-weight:600; }
#mapa { position:absolute; inset:0; }
.chip { font-size:11px; padding:3px 9px; border-radius:999px; border:1px solid #cbd5e1; background:#fff; cursor:pointer; color:#334155; line-height:1; }
.chip:hover { background:#f1f5f9; }
.chip.chip-on { background:#0284c7; border-color:#0284c7; color:#fff; }
.chip-todas.chip-on { background:#334155; border-color:#334155; }
.progress { height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.progress > div { height:100%; background:#0284c7; transition:width .3s; }
