/* =====================================================================
   Resumen ejecutivo. Formato sobrio de informe: cifras en tipografia
   monoespaciada, tablas cortas, color solo donde informa.
   Paleta de graficos validada (daltonismo y contraste) en claro y oscuro:
   series 1-3 = azul, naranja, aqua; rampa ordinal de un solo azul para
   antiguedad de cartera; los estados siempre llevan texto, no solo color.
   ===================================================================== */
:root{
  --rx-s1:#2a78d6; --rx-s2:#eb6834; --rx-s3:#1baf7a;
  --rx-neutro:#5b6675; --rx-ref:#98a2b3;
  --rx-r1:#8ab4e8; --rx-r2:#6297dc; --rx-r3:#3f7dcc; --rx-r4:#2a63ad; --rx-r5:#1c4a84;
}
:root[data-tema="oscuro"]{
  --rx-s1:#3987e5; --rx-s2:#d95926; --rx-s3:#199e70;
  --rx-neutro:#9aa7b8; --rx-ref:#5f6f82;
  --rx-r1:#2d5f97; --rx-r2:#3a7cc4; --rx-r3:#5c9ae0; --rx-r4:#93bff0; --rx-r5:#c6ddf7;
}

.rx{display:flex;flex-direction:column;gap:14px}
.rx .cifra{font-family:var(--cifra);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rx .neg{color:var(--rojo)}
.rx .nota{font-family:var(--fuente);font-weight:400;font-size:11.5px;color:var(--gris-500);letter-spacing:0}
.rx-aviso{margin:0}

/* ------------------------------------------------------------ barra */
.rx-barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rx-der{margin-left:auto;display:flex;gap:8px}
.rx-comp{font-size:12px;color:var(--gris-500)}
.rx-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--gris-100);border:1px solid var(--gris-200);border-radius:9px;flex-wrap:wrap}
.rx-seg-t{font-size:11.5px;color:var(--gris-500);padding:0 8px 0 6px}
.rx-seg button{border:0;background:transparent;padding:6px 11px;border-radius:7px;font-size:12.5px;color:var(--gris-700);cursor:pointer;min-height:32px}
.rx-seg button[aria-pressed="true"]{background:var(--blanco);color:var(--gris-900);font-weight:600;box-shadow:0 1px 2px rgb(13 22 33/.12)}
.rx-seg button:disabled{opacity:.45;cursor:not-allowed}

/* --------------------------------------------------- estados (texto+color) */
.rx-estado{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:5px;white-space:nowrap;font-family:var(--fuente)}
.rx-estado.bien{color:var(--verde);background:var(--verde-claro)}
.rx-estado.atencion{color:var(--ambar);background:var(--ambar-claro)}
.rx-estado.critico{color:var(--rojo);background:var(--rojo-claro)}
.rx-estado.info{color:var(--gris-700);background:var(--gris-100)}

/* ----------------------------------------------------------- lectura */
.rx-lectura ul{list-style:none;margin:0;padding:6px 17px 10px}
.rx-lectura li{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--gris-100);font-size:13.5px;line-height:1.55;color:var(--gris-700)}
.rx-lectura li:last-child{border-bottom:0}
.rx-lectura li .rx-estado{justify-self:start}
.rx-lectura b{color:var(--gris-900);font-weight:600}

/* ------------------------------------------------------------- heroes */
.rx-heroes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rx-hero{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:5px;
  background:var(--blanco);border:1px solid var(--gris-200);border-radius:var(--radio);padding:15px 17px 12px;box-shadow:var(--sombra);
  transition:border-color var(--t),box-shadow var(--t);min-width:0}
.rx-hero:hover{border-color:var(--gris-300);box-shadow:var(--sombra-md)}
.rx-hero:focus-visible{outline:2px solid var(--azul-700);outline-offset:2px}
.rx-hero-n{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-500)}
.rx-hero-v{font-family:var(--cifra);font-variant-numeric:tabular-nums;font-size:27px;font-weight:600;letter-spacing:-.035em;color:var(--gris-900);line-height:1.15}
.rx-hero-v.neg{color:var(--rojo)}
.rx-hero-s{font-size:12px;color:var(--gris-700);line-height:1.45}
.rx-hero-g{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;color:var(--rx-s1);margin-top:4px}
.rx-hero-g em{font-style:normal;font-size:10.5px;color:var(--gris-500)}
.rx-chispa{width:120px;height:30px;display:block}

.rx-var{display:inline-flex;align-items:center;gap:3px;font-family:var(--cifra);font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px;white-space:nowrap}
.rx-var.bien{color:var(--verde);background:var(--verde-claro)}
.rx-var.mal{color:var(--rojo);background:var(--rojo-claro)}
.rx-var.neutro{color:var(--gris-500);background:var(--gris-100);font-family:var(--fuente);font-weight:500}
.rx-var.gris{color:var(--gris-700);background:var(--gris-100)}

/* ------------------------------------------------------------- grupos */
.rx-grupos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rx-filas{width:100%;border-collapse:collapse}
.rx-filas tr{cursor:pointer;transition:background var(--t)}
.rx-filas tr:hover,.rx-filas tr:focus-visible{background:var(--gris-50);outline:none}
.rx-filas th,.rx-filas td{padding:8px 0;border-bottom:1px solid var(--gris-100);font-size:13px;vertical-align:middle}
.rx-filas tr:last-child th,.rx-filas tr:last-child td{border-bottom:0}
.rx-filas th{text-align:left;font-weight:400;color:var(--gris-700);padding-left:17px}
.rx-filas td.cifra{text-align:right;font-weight:600;color:var(--gris-900);white-space:nowrap;padding-left:10px}
.rx-filas td.rx-c{text-align:right;padding:8px 17px 8px 8px;width:1%;white-space:nowrap}
.rx-marca{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--ambar-claro);color:var(--ambar);font-size:10px;font-weight:700;margin-left:4px}

/* ---------------------------------------------------------- evolucion */
.rx-controles{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.rx-check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gris-700);cursor:pointer}
.rx-check input{accent-color:var(--azul-700);width:15px;height:15px}
.rx-subt{font-size:12.5px;font-weight:600;color:var(--gris-700);margin:14px 0 4px;letter-spacing:0;font-family:var(--fuente)}
.rx-g-sec .grafico{height:190px}
.rx-mes{margin:10px 0 2px;padding:10px 13px;border:1px solid var(--gris-200);border-radius:9px;background:var(--gris-50)}
.rx-mes-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;text-transform:capitalize}
.rx-x{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--gris-500);padding:2px 6px}
.rx-mes dl,.rx-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px 16px;margin:0}
.rx-mes dt,.rx-mini dt{font-size:11px;color:var(--gris-500)}
.rx-mes dd,.rx-mini dd{margin:1px 0 0;font-size:14px;font-weight:600;color:var(--gris-900)}
.rx-mini{margin-top:12px;padding-top:10px;border-top:1px solid var(--gris-100)}
.rx-brecha{margin:12px 0 0;font-size:13px;color:var(--gris-700)}
.rx-tabla-ev{margin-top:12px}

.rx-tabla{width:100%;border-collapse:collapse;font-size:12.5px}
.rx-tabla th{font-weight:600;color:var(--gris-500);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:7px 8px;border-bottom:1px solid var(--gris-200)}
.rx-tabla td{padding:6px 8px;border-bottom:1px solid var(--gris-100);color:var(--gris-700)}
.rx-tabla .num{text-align:right;font-family:var(--cifra);font-variant-numeric:tabular-nums}
.rx-tabla td:first-child{text-transform:capitalize}

/* -------------------------------------------------------- paneles dobles */
.rx-dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rx-dos > :only-child{grid-column:1 / -1}
.rx-panel .rx-seg{margin-bottom:6px}
.rx-leyenda{display:flex;gap:14px;font-size:11.5px;color:var(--gris-700);margin-bottom:4px}
.rx-leyenda i,.rx-cuadro{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.rx-resumen-c{margin:0 0 6px;font-size:12.5px;color:var(--gris-700)}
.rx-pista{margin:6px 0 0;font-size:11.5px;color:var(--gris-500)}
.rx-edades{margin-top:10px}
.rx-edades td:first-child{text-transform:none}

/* ------------------------------------------------------------- alertas */
.rx-chips{display:flex;gap:6px;flex-wrap:wrap}
.rx-chips button{border:1px solid var(--gris-200);background:var(--blanco);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--gris-700);cursor:pointer;min-height:30px;font-family:var(--fuente);font-weight:500}
.rx-chips button span{font-family:var(--cifra);color:var(--gris-500);margin-left:3px}
.rx-chips button[aria-pressed="true"]{background:var(--gris-900);color:var(--blanco);border-color:var(--gris-900)}
.rx-chips button[aria-pressed="true"] span{color:var(--gris-300)}

/* --------------------------------------------------------------- modal */
.rx-detalle dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;margin:0 0 14px;font-size:13px}
.rx-detalle dt{color:var(--gris-500);font-size:12px}
.rx-detalle dd{margin:0;color:var(--gris-900);line-height:1.5}
.rx-detalle dd.cifra{font-weight:600}
.rx-detalle .rx-adv{color:var(--ambar)}

/* ---------------------------------------------------------- responsive */
@media (max-width:1200px){
  .rx-heroes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-grupos{grid-template-columns:1fr 1fr}
  .rx-grupos > :last-child:nth-child(odd){grid-column:1 / -1}
}
@media (max-width:860px){
  .rx-dos,.rx-grupos{grid-template-columns:1fr}
  .rx-grupos > :last-child:nth-child(odd){grid-column:auto}
}
@media (max-width:560px){
  .rx-heroes{grid-template-columns:1fr}
  .rx-hero-v{font-size:24px}
  .rx-der{margin-left:0;width:100%}
  .rx-der .btn{flex:1}
  .rx-lectura li{grid-template-columns:1fr;gap:4px}
  .rx-detalle dl{grid-template-columns:1fr;gap:2px 0}
  .rx-detalle dd{margin-bottom:8px}
  .rx-filas td.rx-c{display:none}
}

/* =====================================================================
   Finanzas y contabilidad (comparte la base visual del resumen)
   ===================================================================== */
.rx-hero.estatico{cursor:default}
.rx-hero.estatico:hover{box-shadow:var(--sombra);border-color:var(--gris-200)}
.fz .pestanas{margin-bottom:0}
.fz-pyg{width:100%;border-collapse:collapse;font-size:13px}
.fz-pyg thead th{font-weight:600;color:var(--gris-500);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:8px 12px;border-bottom:1px solid var(--gris-200);white-space:nowrap;background:var(--gris-50)}
.fz-pyg th[scope=row]{text-align:left;font-weight:400;color:var(--gris-700);padding:8px 12px;white-space:nowrap}
.fz-pyg td{padding:8px 12px;border-bottom:1px solid var(--gris-100);white-space:nowrap}
.fz-pyg tr > *{border-bottom:1px solid var(--gris-100)}
.fz-pyg .num{text-align:right;font-family:var(--cifra);font-variant-numeric:tabular-nums}
.fz-pyg .pc{color:var(--gris-500)}
.fz-pyg tr.tot th,.fz-pyg tr.tot td{font-weight:700;color:var(--gris-900);background:var(--gris-50)}
.fz-pyg tr.final th,.fz-pyg tr.final td{border-top:2px solid var(--gris-300);font-size:13.5px}
.fz-pyg tr.abre{cursor:pointer}
.fz-pyg tr.abre:hover th,.fz-pyg tr.abre:focus-visible th{color:var(--azul-700)}
.fz-pyg tr.abre:focus-visible{outline:2px solid var(--azul-700);outline-offset:-2px}
.fz-pyg tr.hijo th{padding-left:34px;font-size:12.5px}
.fz-pyg tr.hijo td{font-size:12.5px;color:var(--gris-700)}
.fz-pyg tr.margen th,.fz-pyg tr.margen td{color:var(--gris-500);font-size:12px}
.fz-pyg .neg{color:var(--rojo)}
.fz-flecha{display:inline-block;width:14px;color:var(--gris-500);transition:transform var(--t)}
.fz-pyg tr[aria-expanded="true"] .fz-flecha{transform:rotate(90deg)}
.fz-pyg.mensual th[scope=row]{position:sticky;left:0;background:var(--blanco);z-index:1}
.fz-pyg.mensual tr.tot th[scope=row]{background:var(--gris-50)}
.fz-fuente{display:inline-block;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:5px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.fz-fuente.doc{color:var(--azul-800);background:var(--azul-100)}
.fz-fuente.cont{color:var(--verde);background:var(--verde-claro)}
.fz-fuente.mixta{color:var(--gris-700);background:var(--gris-100)}
.fz-tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fz-barra100{display:flex;height:22px;border-radius:6px;overflow:hidden;gap:2px;background:var(--gris-100)}
.fz-barra100 span{min-width:2px}
.fz-sim label{display:block;font-size:13px;color:var(--gris-700);margin-bottom:8px}
.fz-sim input[type=range]{width:100%;accent-color:var(--azul-700);height:28px}
@media (max-width:1100px){.fz-tres{grid-template-columns:1fr}}
.fz-columna{display:flex;flex-direction:column;gap:14px;min-width:0}
.fz-balance{align-items:start}
.rx-panel .tabla-scroll{max-width:100%;overflow-x:auto}
.fz-select{font:inherit;font-size:12.5px;padding:4px 8px;border:1px solid var(--gris-300);border-radius:6px;background:var(--blanco,#fff);color:var(--gris-900)}

.rx-nota-pie{margin:10px 0 0;font-size:11.5px;color:var(--gris-500);line-height:1.5}
.rx td .pista{margin-top:2px}
.modal .rx-hero-v{font-size:22px}
.modal .rx-heroes{gap:10px}
@media (max-width:760px){.modal .rx-heroes{grid-template-columns:repeat(2,minmax(0,1fr))}}
