/* R3 — solo la extensión de En vivo. */
.rva-controles { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-left: auto; }
.rva-etiqueta { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #334155; }
.rva-selector { border: 1px solid #cbd5e1; border-radius: 8px; padding: 7px 10px; background: #fff; color: #0f172a; font: inherit; }
.rva-selector:focus-visible, .rva-persona:focus-visible, .rva-grupo summary:focus-visible { outline: 2px solid #2b5cc3; outline-offset: 2px; }
.rva-panel { display: flex; flex-direction: column; flex: 1; min-height: 0; padding: 10px; gap: 8px; }
.rva-panel[hidden], .rva-panel [hidden], .rgps-vivo-lista > [hidden] { display: none; }
.rva-resultados { overflow: auto; min-height: 0; }
.rva-grupo, .rva-cliente { border: 1px solid #e2e8f0; border-radius: 10px; margin: 0 0 10px; background: #fff; overflow-wrap: anywhere; }
.rva-grupo summary { padding: 12px; background: #f1f5f9; color: #1e3a5f; font-size: 13px; font-weight: 700; cursor: pointer; }
.rva-cliente { padding: 10px; }
.rva-cliente h3 { margin: 0; font-size: 14px; color: #0f172a; }
.rva-persona { display: flex; flex-direction: column; gap: 5px; width: 100%; padding: 12px; border: 0; border-top: 1px solid #e2e8f0; background: #fff; color: #0f172a; text-align: left; cursor: pointer; }
.rva-persona:hover { background: #eff6ff; }
.rva-persona:disabled { cursor: default; background: #f8fafc; color: #475569; }
.rva-meta { display: block; font-size: 12px; line-height: 1.5; color: #475569; margin: 4px 0; overflow-wrap: anywhere; }
.rva-aviso { font-size: 12px; line-height: 1.5; color: #854d0e; background: #fefce8; border-radius: 8px; padding: 8px; margin: 0; }
.rva-aviso:empty { display: none; }
.rva-grande .rgps-vivo { display: block; flex: none; width: 100%; height: 75vh; }
.rva-grande .rgps-vivo-lista { display: none; }
.rva-grande .rgps-vivo-mapa-wrap { width: 100%; height: 75vh; min-height: 320px; }
.rgps-panel.rva-grande { overflow: auto; }
@media (max-width: 700px) {
  .rva-controles { margin-left: 0; width: 100%; justify-content: space-between; }
  .rva-panel { min-height: 180px; }
  .rva-resultados { max-height: 40vh; }
  .rva-grande .rgps-vivo-mapa-wrap { min-height: 260px; }
}

/* R6: ocultar opciones denegadas aunque su estilo use flex. */
.rva-controles [hidden] { display: none; }
