/* EGStrategy · Desfibriladores (fase 1, 20-oct-2026). Mismas piezas que Proyectos (pj-*) y la ficha lateral (tf-*). */
.df-aviso{display:flex;align-items:center;gap:8px;margin:-4px 0 14px;font-size:13.5px}
.df-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.df-kpi{--c:#8b9a9c;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;text-align:left;border-left:4px solid var(--c);transition:.15s}
.df-kpi b{font-size:26px;line-height:1.1;color:var(--ink-fuerte,#fff);font-variant-numeric:tabular-nums}
.df-kpi span{font-size:13px;font-weight:600;color:var(--muted)}
.df-kpi:hover{transform:translateY(-1px);border-color:var(--c)}
.df-kpi.is-on{background:color-mix(in srgb,var(--c) 14%,var(--surface));border-color:var(--c)}
.df-kpi--critico{--c:#e5484d}.df-kpi--prevision{--c:#e0a43b}.df-kpi--faltan{--c:#f07b4f}.df-kpi--operativo{--c:#2bb673}
.df-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.df-filtros .pj-search{flex:1 1 320px}
.df-meta{margin:10px 2px;font-size:13px}
.df-lista{list-style:none;margin:0;padding:0;border:1px solid rgb(var(--tinte,255 255 255) / .07);border-radius:14px;overflow:hidden;background:rgb(var(--hondo-3,14 26 30) / .45)}
.df-fila{display:grid;grid-template-columns:120px minmax(220px,1.6fr) minmax(140px,1fr) minmax(140px,1fr) 190px minmax(120px,.8fr);gap:12px;align-items:center;padding:10px 14px;border-top:1px solid rgb(var(--tinte,255 255 255) / .05);font-size:14px;cursor:pointer}
.df-fila:first-child{border-top:0}
.df-fila:hover,.df-fila:focus-visible{background:rgb(var(--tinte,255 255 255) / .04);outline:none}
.df-fila--head{cursor:default;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:rgb(var(--hondo-1,8 16 19) / .55)}
.df-fila--head:hover{background:rgb(var(--hondo-1,8 16 19) / .55)}
.df-eq{display:flex;flex-direction:column;min-width:0}
.df-eq b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-eq small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-pill{--c:#8b9a9c;display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:color-mix(in srgb,var(--c) 55%,var(--ink-fuerte,#fff))}
.df-pill--critico{--c:#e5484d}.df-pill--prevision{--c:#e0a43b}.df-pill--faltan{--c:#f07b4f}.df-pill--operativo{--c:#2bb673}.df-pill--baja{--c:#8b9a9c}
.df-error{color:var(--danger,#ff8a80)}
.df-titulo{margin:0 0 8px;font-size:22px;line-height:1.3;color:var(--ink-fuerte,#fff)}
.df-dd{padding-top:8px;font-size:14px}
.df-cons,.df-notas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.df-cons li{display:flex;gap:12px;align-items:center}
.df-cons li>span:last-child{display:flex;flex-direction:column}
.df-cons small{color:var(--muted);font-size:12.5px}
.df-notas li{padding:10px 12px;border-radius:10px;background:rgb(var(--tinte,255 255 255) / .04)}
.df-notas p{margin:0 0 4px;white-space:pre-wrap}
.df-notas small{font-size:12px}
/* Tema claro: texto de las etiquetas más oscuro (contraste ≥ 4,5) */
[data-tema="claro"] .df-pill{color:color-mix(in srgb,var(--c) 70%,#000)}
[data-tema="claro"] :is(.df-lista,.df-kpi){background:#fff;border-color:var(--line)}
[data-tema="claro"] .df-fila--head,[data-tema="claro"] .df-fila--head:hover{background:#eef3f2}
[data-tema="claro"] .df-fila:hover{background:#f7faf9}
[data-tema="claro"] .df-notas li{background:#f2f5f4}
@media (max-width:1100px){
  .df-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .df-fila{grid-template-columns:110px 1fr 1fr}
  .df-fila>span:nth-child(4),.df-fila>span:nth-child(6){display:none}
}

/* Panel (21-oct-2026): indicadores + próximos vencimientos | mapa; reparto por empresa y provincia; lista. */
.df-filtros .pj-sel{max-width:210px}
.df-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:1px dashed rgb(var(--tinte,255 255 255) / .2);border-radius:99px;padding:6px 12px;cursor:pointer}
.df-chip.is-on{border-style:solid;border-color:#e0a43b;color:var(--ink);background:color-mix(in srgb,#e0a43b 16%,transparent)}
.df-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;margin:14px 0}
.df-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.df-kpis{margin-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.df-kpi small{font-size:12px;color:var(--muted);font-weight:500}
.df-caja{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-width:0}
.df-caja h3{margin:0 0 10px;font-size:14px;display:flex;align-items:baseline;gap:8px}
.df-caja h3 small{font-weight:500;font-size:12.5px}
.df-prox{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.df-prox li{display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:center;padding:6px 6px;border-radius:8px;font-size:13.5px;cursor:pointer}
.df-prox li:hover,.df-prox li:focus-visible{background:rgb(var(--tinte,255 255 255) / .05);outline:none}
.df-prox li span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-mapa-caja{display:flex;flex-direction:column}
.df-mapa-hueco{flex:1;min-height:420px;border-radius:10px;overflow:hidden;background:rgb(var(--tinte,255 255 255) / .04)}
.df-mapa{width:100%;height:100%;min-height:420px}
.df-mapa-aviso{margin:0;padding:16px;font-size:13.5px;color:var(--muted)}
.df-info{display:flex;flex-direction:column;gap:3px;min-width:190px;color:#111827;font-family:inherit}
.df-info small{color:#6b7280}
.df-info span{font-size:12px;font-weight:700}
.df-info button{margin-top:6px;font:inherit;font-size:12px;font-weight:700;color:#fff;background:#0b7a6d;border:0;border-radius:6px;padding:6px 10px;cursor:pointer}
.df-reparto{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.df-barras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.df-barras li{display:grid;grid-template-columns:minmax(110px,180px) 1fr 34px;gap:10px;align-items:center;font-size:13px}
.df-barra-et{font:inherit;font-size:13px;color:var(--ink);background:none;border:0;padding:0;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-barra-et:hover{color:var(--accent-2);text-decoration:underline}
.df-barra{display:flex;width:var(--w);height:12px;border-radius:99px;overflow:hidden;background:rgb(var(--tinte,255 255 255) / .06)}
.df-barra i{display:block;height:100%}
.df-barras b{text-align:right;font-variant-numeric:tabular-nums}
.df-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.df-meta label{display:inline-flex;align-items:center;gap:8px}
[data-tema="claro"] .df-caja{background:#fff}
@media (max-width:1100px){.df-panel,.df-reparto{grid-template-columns:1fr}}
