/* ═══════════════════════════════════════════════════════════════════════════
   labs_radar.css · RADAR · Señal y WiFi en campo (Labs del fabricante, chunk 697)
   Todo cuelga de .rdr. Los botones van con .rdr delante porque el reset
   `.shell button{padding:0;border:0;background:transparent}` pesa (0,1,1) y
   se los comería (ver el comentario de .bsm en main.css).
   Colores del tema: var(--sur), var(--tx)... ya cambian en modo oscuro.
   ═══════════════════════════════════════════════════════════════════════════ */
.rdr{--rdr-ok:#16A34A;--rdr-lima:#84CC16;--rdr-ambar:#F59E0B;--rdr-rojo:#DC2626;--rdr-gris:#94A3B8;
  --rdr-azul:#2563EB;--rdr-acento:var(--mag,#D42070);min-width:0;max-width:100%;overflow-x:clip}
.rdr *, .rdr *::before, .rdr *::after{box-sizing:border-box}

/* Pestañas y chips */
.rdr .rdr-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.rdr .rdr-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  border:1px solid var(--bdr2);background:var(--sur);color:var(--tx);font:700 12px/1.2 'Inter',sans-serif;
  cursor:pointer;white-space:nowrap;min-height:30px}
.rdr .rdr-chip:hover{background:var(--hov)}
.rdr .rdr-chip.on{background:var(--rdr-acento);border-color:transparent;color:#fff}
.rdr .rdr-chip.off{opacity:.38}
.rdr .rdr-chip:disabled{opacity:.45;cursor:not-allowed}
.rdr .rdr-tabs .rdr-chip{padding:8px 16px;font-size:13px}
.rdr .rdr-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto}

/* Barra de filtros */
.rdr .rdr-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px}
.rdr .rdr-f{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;letter-spacing:.3px;
  color:var(--tx2);text-transform:uppercase;min-width:0}
.rdr .rdr-f select,.rdr .rdr-f input{padding:7px 10px;border-radius:var(--rsm,8px);border:1px solid var(--bdr2);
  background:var(--sur);color:var(--tx);font:500 13px 'Inter',sans-serif;max-width:100%;min-height:34px;text-transform:none}
.rdr .rdr-f.ancho{flex:1 1 260px}
.rdr .rdr-f.ancho select{width:100%}
.rdr .rdr-estado{font-size:12.5px;color:var(--tx2)}
.rdr .rdr-estado.er{color:var(--er)}

/* KPIs */
.rdr .rdr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.rdr .rdr-kpi{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r,12px);padding:12px 14px;min-width:0}
.rdr .rdr-kpi.clic{cursor:pointer}
.rdr .rdr-kpi .t{font-size:10.5px;font-weight:700;color:var(--tx2);text-transform:uppercase;letter-spacing:.3px}
.rdr .rdr-kpi .v{font-size:22px;font-weight:800;color:var(--tx);margin-top:2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rdr .rdr-kpi .s{font-size:11px;color:var(--tx3)}

/* Bloques */
.rdr .rdr-card{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r,12px);padding:14px 16px;min-width:0;margin-bottom:14px}
.rdr .rdr-card.sin{padding:0;overflow:hidden}
.rdr .rdr-card h3{font-size:14px;font-weight:700;margin:0 0 8px;color:var(--tx);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rdr .rdr-card .rdr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px}
.rdr .rdr-card .rdr-head h3{margin:0;flex:1 1 auto}
.rdr .rdr-nota{font-size:12.5px;color:var(--tx2);line-height:1.5}
.rdr .rdr-nota b{color:var(--tx)}
.rdr .rdr-aviso{background:var(--wn-bg);border:1px solid var(--wn);color:var(--tx);border-radius:var(--r,12px);
  padding:10px 14px;font-size:12.5px;margin-bottom:14px}
.rdr .rdr-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:14px;align-items:start}
.rdr .rdr-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}
.rdr .rdr-pie{font-size:11px;color:var(--tx2);padding:6px 10px;display:flex;gap:12px;flex-wrap:wrap}
.rdr .rdr-mapa{position:relative;min-width:0}
.rdr .rdr-mapa-div{width:100%;height:560px}
.rdr .rdr-vacio{padding:22px;text-align:center;color:var(--tx3);font-size:13px}

/* Tablas */
.rdr .rdr-scroll{overflow:auto;max-height:440px;-webkit-overflow-scrolling:touch}
.rdr table.rdr-tbl{width:100%;border-collapse:collapse}
.rdr .rdr-tbl th{text-align:left;padding:8px;font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.3px;
  border-bottom:1px solid var(--bdr);white-space:nowrap;position:sticky;top:0;background:var(--sur2);z-index:1}
.rdr .rdr-tbl td{padding:6px 8px;font-size:12px;border-bottom:1px solid var(--bdr);white-space:nowrap;
  font-variant-numeric:tabular-nums;color:var(--tx)}
.rdr .rdr-tbl tr.clic{cursor:pointer}
.rdr .rdr-tbl tr.clic:hover td{background:var(--hov)}
.rdr .rdr-tbl tr.ev td{background:var(--wn-bg)}
.rdr .rdr-tbl tr.sel td{background:var(--ac-bg)}
.rdr .rdr-tbl td.franja{padding:0;width:5px}
.rdr .rdr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.rdr .rdr-trunc{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.rdr .rdr-pill{color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}

/* Distribución y barras */
.rdr .rdr-fila{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:7px}
.rdr .rdr-barra{height:6px;background:var(--sur2);border-radius:3px;margin-top:3px;overflow:hidden}
.rdr .rdr-barra > div{height:6px;border-radius:3px}
.rdr .rdr-apilada{display:flex;height:18px;border-radius:9px;overflow:hidden;margin:10px 0;background:var(--sur2)}
.rdr .rdr-horas{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:10px}
.rdr .rdr-horas > div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.rdr .rdr-horas .b{width:100%;border-radius:4px 4px 0 0}
.rdr .rdr-horas .n{font-size:9.5px;color:var(--tx2)}
.rdr .rdr-horas .h{font-size:9.5px;color:var(--tx3)}

/* Panel de lectura al estilo Network Cell Info (siempre oscuro, como la app de referencia) */
.rdr .rdr-nci{background:#1E1F24;color:#E5E7EB;border-radius:14px;padding:10px;border-left:6px solid var(--rdr-gris);min-width:0}
.rdr .rdr-nci .nav{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#9CA3AF;padding:2px 4px 9px}
.rdr .rdr-nci .nav b{color:#fff}
.rdr .rdr-nci .ev{display:block;color:#FBBF24;font-weight:700;font-size:10px}
.rdr .rdr-nci button.paso{border:1px solid #3A3D46;background:#25272D;color:#F3F4F6;border-radius:8px;padding:6px 8px;
  font:700 11px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.rdr .rdr-nci button.paso:disabled{opacity:.45;cursor:default}
.rdr .rdr-nci .grandes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.rdr .rdr-nci .grande{background:#25272D;border-radius:8px;padding:8px 9px;min-width:0}
.rdr .rdr-nci .grande .k{font-size:10px;color:#9CA3AF;font-weight:700;letter-spacing:.35px}
.rdr .rdr-nci .grande .x{font-size:21px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.rdr .rdr-nci .grande .u{font-size:10px;color:#9CA3AF;margin-left:3px}
.rdr .rdr-nci .bloque{background:#2A2C33;border-radius:6px;margin-bottom:8px;padding:5px 10px;border-left:5px solid var(--rdr-gris)}
.rdr .rdr-nci .bloque .tit{text-align:center;font-weight:800;color:#fff;font-size:13px;padding:2px 0 5px;border-bottom:1px solid #3A3D46;margin-bottom:4px}
.rdr .rdr-nci .pares{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:3px 8px;font-size:12.5px;padding:2px 0}
.rdr .rdr-nci .pares.dos{grid-template-columns:repeat(2,minmax(0,1fr))}
.rdr .rdr-nci .par{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rdr .rdr-nci .par i{font-style:normal;color:#9CA3AF}
.rdr .rdr-nci .par b{color:#E5E7EB}
.rdr .rdr-nci .aviso{background:#3F3A1E;color:#FDE68A;border-radius:6px;padding:6px 10px;font-size:12px;margin-bottom:8px}
.rdr .rdr-nci table{width:100%;border-collapse:collapse;font-size:11.5px}
.rdr .rdr-nci th{text-align:left;color:#9CA3AF;font-weight:600;padding:2px 4px;border-bottom:1px solid #3A3D46}
.rdr .rdr-nci td{padding:2px 4px;color:#E5E7EB}
.rdr .rdr-nci .tenue{font-size:11.5px;color:#9CA3AF;padding:4px}
.rdr .rdr-nivel{display:inline-flex;align-items:flex-end;gap:2px;height:16px;vertical-align:middle}
.rdr .rdr-nivel span{display:block;width:5px;border-radius:2px}

/* Serie de tiempo */
.rdr .rdr-serie svg{width:100%;display:block;cursor:crosshair;touch-action:pan-y}
.rdr .rdr-serie .ley{display:inline-flex;align-items:center;gap:5px;color:var(--tx2);font-size:11px;font-weight:700}
.rdr .rdr-serie .ley i{display:inline-block;width:14px;height:3px;border-radius:3px}

/* Carga */
.rdr .rdr-capa{position:absolute;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,.28)}
.rdr .rdr-capa > div{background:var(--sur);color:var(--tx);border-radius:14px;padding:14px 18px;display:flex;
  align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px;font-weight:700}
.rdr .rdr-giro{width:22px;height:22px;border-radius:50%;border:3px solid var(--bdr2);border-top-color:var(--rdr-acento);
  animation:rdrgiro .8s linear infinite}
@keyframes rdrgiro{to{transform:rotate(360deg)}}

/* Catálogo de parámetros */
.rdr .rdr-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.rdr .rdr-params > div{border:1px solid var(--bdr);border-radius:12px;padding:12px}
.rdr .rdr-params .it{font-size:12px;margin-top:5px;color:var(--tx2)}
.rdr .rdr-params .it b{color:var(--tx)}
.rdr .rdr-estado-p{font-size:10.5px;font-weight:700;border:1px solid;border-radius:999px;padding:1px 8px;white-space:nowrap}

@media (max-width:860px){
  .rdr .rdr-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .rdr .rdr-mapa-div{height:400px}
  .rdr .rdr-kpi .v{font-size:19px}
  .rdr .rdr-nci .grande .x{font-size:18px}
}
