/* =============================================================================
   REPORTES (26-sep-2026) — el lenguaje del PNL premium para los reportes (reportes.js).
   Se apoya en los tokens .px de pnl.css (va después en index.html) y reusa las piezas
   del Tablero (fx-cab, fx-sub, fx-ley, fx-muestra, fx-d, fx-tabla, fx-fuente).
   Mismo significado de colores en todas las pantallas de plata: gris = gasto,
   verde azulado = ingreso, azul = mejor, naranja = peor.
   ============================================================================= */
.rp { --rp-gasto-rgb: 91, 107, 123; --rp-ing-rgb: 79, 138, 122; }
:root[data-tema="oscuro"] .rp { --rp-gasto-rgb: 154, 170, 185; --rp-ing-rgb: 111, 181, 161; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) .rp { --rp-gasto-rgb: 154, 170, 185; --rp-ing-rgb: 111, 181, 161; }
}

body[data-vista="reportes"] .px.rp { display: flex; flex-direction: column; gap: 20px; font-family: var(--px-texto); padding-bottom: 16px; }
.rp.rp-cambiando > *:not(.rp-informes):not(.rp-armador) { opacity: .5; transition: opacity .15s; }
.rp .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rp .card.fx-panel { padding: 22px 24px 20px; }
.rp .px-panel .fx-cab h3 { font-size: 26px; line-height: 1.05; margin: 0; }
/* la serif dibuja números antiguos: en títulos y cifras van derechos */
.rp .px-titulo, .rp .px-k-grande, .rp .px-k-medio, .rp .px-panel .fx-cab h3 { font-variant-numeric: lining-nums; }

/* ---------- los informes armados ---------- */
.rp-informes { display: flex; flex-direction: column; gap: 8px; }
.rp-inf-g { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rp-inf-g > .px-kl { width: 70px; flex: none; margin: 0; }
.rp-inf { font-family: var(--px-ui); font-size: 12px; font-weight: 600; line-height: 1.2; color: var(--px-tinta2); background: var(--px-sup);
  border: 1px solid var(--px-linea); border-radius: 999px; padding: 6px 12px; cursor: pointer; white-space: nowrap;
  transition: background .12s, color .12s, border-color .12s; }
.rp-inf:hover { border-color: var(--px-linea2); color: var(--px-tinta); }
.rp-inf.activo { background: var(--px-sel); color: var(--px-sel-t); border-color: var(--px-sel); }
.rp-inf:focus-visible { outline: 2px solid var(--px-azul); outline-offset: 2px; }

/* ---------- el armador ---------- */
.rp .card.rp-armador { padding: 18px 22px 16px; }
.rp-ctl { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: flex-end; }
.rp-c { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rp-c > .px-kl { margin: 0; }
.rp-c select { min-width: 176px; }
.rp-meses { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12.5px; color: var(--px-tinta3); }
.rp-meses input { width: 152px; }
.rp-fila2 { display: flex; justify-content: space-between; align-items: center; gap: 12px 20px; flex-wrap: wrap;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--px-fila); }
.rp-filtros { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.rp-filtros > .px-kl { margin: 0 4px 0 0; }
.rp-sin-f { font-size: 12.5px; color: var(--px-tinta3); }
.rp-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; font-size: 12.5px; line-height: 1.3; color: var(--px-tinta);
  background: var(--px-sup2); border: 1px solid var(--px-linea); border-radius: 999px; padding: 3px 3px 3px 11px; }
.rp-chip b { font-weight: 600; color: var(--px-tinta2); }
.rp-chip button { flex: none; border: 0; background: none; color: var(--px-tinta3); width: 24px; height: 24px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; padding: 0; min-height: 0; }
.rp-chip button:hover { background: var(--px-linea); color: var(--px-tinta); }
.rp-mas { font-family: var(--px-ui); font-size: 12px; font-weight: 600; color: var(--px-dorado-t); background: none;
  border: 1px dashed var(--px-linea2); border-radius: 999px; padding: 5px 12px; cursor: pointer; min-height: 0; }
.rp-mas:hover, .rp-mas[aria-expanded="true"] { border-style: solid; background: var(--px-sup2); }
/* siempre a la derecha, aunque bajen de línea: el «Cómo se lee» abre hacia la izquierda y así
   no se sale de la pantalla (en 768 y 1024 quedaba recostado a la izquierda y se cortaba) */
.rp-acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.rp-exp { display: inline-flex; align-items: center; gap: 6px; }

/* el panel para elegir filtros */
.rp-fp { margin-top: 14px; padding: 14px 16px 16px; background: var(--px-sup2); border: 1px solid var(--px-linea); border-radius: 12px; }
.rp-fp-cab { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
.rp-fp-cab > .px-kl { margin: 0; }
.rp-fp-cab .px-seg { flex-wrap: wrap; }
.rp-fp-busca { margin-top: 12px; width: 100%; max-width: 420px; }
.rp-fp-nota { margin: 8px 0 6px; font-size: 12px; color: var(--px-tinta3); }
.rp-fp-l { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow: auto;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 20px; }
.rp-fp-l label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 6px 2px;
  font-size: 13px; color: var(--px-tinta); cursor: pointer; border-bottom: 1px solid var(--px-fila); }
.rp-fp-l label span { overflow-wrap: anywhere; }
.rp-fp-l small { font-variant-numeric: tabular-nums lining-nums; color: var(--px-tinta3); white-space: nowrap; }
.rp-fp-acc { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

/* ---------- el veredicto ---------- */
.rp-meta-f { color: var(--px-tinta2); }
.rp-avisos { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-width: 80ch; }
.rp-avisos li { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: var(--warn-txt, #8A5407); }
.rp-avisos .px-ico { flex: none; margin-top: 2px; }

/* ---------- el gráfico: una barra por columna; lo comparado, detrás y con borde de rayas ---------- */
.rp-g { margin-top: 4px; }
.rp-g-cuerpo { height: 236px; padding-top: 20px; }
.rp-g-area { position: relative; height: 100%; display: grid; }
.rp-g-cero { position: absolute; left: 0; right: 0; border-top: 1px solid var(--px-linea2); pointer-events: none; }
.rp-g-col { position: relative; border-radius: 6px; outline: none; }
.rp-g-col:hover, .rp-g-col:focus-visible { background: rgba(var(--px-azul-rgb), .07); }
.rp-g-b { position: absolute; left: 26%; right: 14%; z-index: 1; border-radius: 4px 4px 0 0; }
.rp-g-b.out { background: var(--px-costo); }
.rp-g-b.in { background: var(--px-ingreso); }
.rp-g-b.neg { border-radius: 0 0 4px 4px; }
.rp-g-col.parcial .rp-g-b { background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .38) 0 3px, transparent 3px 6px); }
.rp-g-ant { position: absolute; left: 12%; right: 30%; border: 1.5px dashed var(--px-tinta3); border-radius: 4px 4px 0 0; opacity: .85; }
.rp-g-ant.neg { border-radius: 0 0 4px 4px; }
.rp-g-b em { position: absolute; bottom: calc(100% + 3px); left: 50%; transform: translateX(-50%); font-style: normal; font-family: var(--px-ui);
  font-size: 10.5px; font-weight: 600; color: var(--px-tinta2); white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
.rp-g-b.neg em { bottom: auto; top: calc(100% + 3px); }
.rp-g-et { display: grid; margin-top: 6px; }
.rp-g-et span { text-align: center; font-family: var(--px-ui); font-size: 10.5px; font-weight: 600; color: var(--px-tinta2); white-space: nowrap; }
.rp-g-et small { font-size: inherit; font-weight: 500; color: var(--px-tinta3); }
.rp-muestra-ant { display: inline-block; width: 11px; height: 11px; border: 1.5px dashed var(--px-tinta3); border-radius: 3px;
  vertical-align: -1px; margin: 0 5px 0 8px; }

/* ---------- la tabla ---------- */
.rp-t-caja { overflow-x: auto; }
table.rp-t { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.rp-t th { text-align: left; font-family: var(--px-ui); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--px-tinta3); padding: 0 8px 8px; border-bottom: 1px solid var(--px-linea2); background: none; position: static; height: auto;
  box-shadow: none; white-space: nowrap; vertical-align: bottom; }
.rp-t th button { all: unset; cursor: pointer; display: inline-flex; gap: 4px; align-items: baseline; border-radius: 3px; }
.rp-t th button:focus-visible { outline: 2px solid var(--px-azul); outline-offset: 2px; }
.rp-t th.num { text-align: right; }
.rp-t th.ord { color: var(--px-tinta); }
.rp-t th i { font-style: normal; }
.rp-t th small { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 10.5px; }
.rp-t td { padding: 9px 8px; border-bottom: 1px solid var(--px-fila); vertical-align: middle; color: var(--px-tinta); height: auto; }
.rp-t th:first-child, .rp-t td:first-child { padding-left: 2px; }
.rp-t th:last-child, .rp-t td:last-child { padding-right: 2px; }
.rp-t .num { text-align: right; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.rp-t td.rp-n { min-width: 210px; max-width: 380px; }
.rp-t .rp-n small { display: block; margin-top: 1px; font-size: 11.5px; color: var(--px-tinta3); }
.rp-ir { all: unset; cursor: pointer; font-weight: 600; color: var(--px-tinta); overflow-wrap: anywhere; border-radius: 3px; }
.rp-ir:hover { color: var(--px-dorado-t); text-decoration: underline; text-underline-offset: 3px; }
.rp-ir:focus-visible { outline: 2px solid var(--px-azul); outline-offset: 2px; }
.rp-n-in { display: flex; align-items: flex-start; gap: 2px; }
.rp-n-t { min-width: 0; padding-top: 2px; }
.rp-abrir { flex: none; width: 24px; height: 24px; min-height: 0; border: 0; background: none; color: var(--px-tinta3); border-radius: 6px; padding: 0;
  display: grid; place-items: center; cursor: pointer; margin: 0 2px 0 -4px; }
.rp-abrir-nada { flex: none; width: 24px; margin: 0 2px 0 -4px; }
.rp-abrir:hover { background: var(--px-sup2); color: var(--px-tinta); }
.rp-abrir .px-ico { transition: transform .15s; }
.rp-abrir[aria-expanded="true"] .px-ico { transform: rotate(90deg); }
.rp-t tbody tr.rp-f:hover > td { background: var(--px-sup2); }
.rp-t tr.abierta > td { border-bottom-color: var(--px-linea); }
.rp-t tr.rp-hijo > td { background: var(--px-sup2); font-size: 12.5px; padding-top: 6px; padding-bottom: 6px; }
.rp-t tr.rp-hijo > td.rp-n { padding-left: 32px; }
.rp-t tr.rp-hijo .rp-ir { font-weight: 500; color: var(--px-tinta2); }
.rp-t tr.rp-hijo .rp-tot b { font-weight: 600; }
.rp-t tfoot td { font-weight: 700; border-top: 1.5px solid var(--px-linea2); border-bottom: 0; padding-top: 11px; }
.rp-t tfoot .rp-n small { display: inline; margin-left: 6px; font-weight: 500; }
.rp-t .rp-dif small { display: block; font-size: 11px; color: var(--px-tinta3); }
.rp-t td.cero { color: var(--px-tinta3); }
/* ver = total: la barra, y la marca de lo comparado */
.rp-t th.rp-bar-th { width: 32%; }
.rp-bar { min-width: 120px; }
.rp-pista { position: relative; display: block; height: 10px; border-radius: 3px; background: var(--px-pista); }
.rp-pista i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; }
.rp-pista i.out { background: var(--px-costo); }
.rp-pista i.in { background: var(--px-ingreso); }
.rp-tick { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; background: var(--px-tinta); border-radius: 1px; }
/* la matriz: el tono de cada celda dice cuánto pesa ese mes en su renglón (un solo color, de claro a oscuro) */
.rp-t.matriz td.rp-cel { background: rgba(var(--rp-gasto-rgb), var(--a, 0)); }
.rp-t.matriz.ing td.rp-cel { background: rgba(var(--rp-ing-rgb), var(--a, 0)); }
.rp-t.matriz tr.rp-hijo > td.rp-cel { background: rgba(var(--rp-gasto-rgb), calc(var(--a, 0) * .7)); }
.rp-t.matriz.ing tr.rp-hijo > td.rp-cel { background: rgba(var(--rp-ing-rgb), calc(var(--a, 0) * .7)); }
.rp-t.matriz td.rp-tot { border-left: 1px solid var(--px-linea); }
/* con muchas columnas la tabla corre de costado y el nombre queda fijo */
.rp-t.matriz th:first-child, .rp-t.matriz td:first-child { position: sticky; left: 0; z-index: 1; background: var(--px-sup); }
.rp-t.matriz tr.rp-hijo > td:first-child, .rp-t.matriz tbody tr.rp-f:hover > td:first-child { background: var(--px-sup2); }
.rp-mas-f { margin-top: 12px; }
.rp-todos { white-space: nowrap; }

/* ---------- las filas que lo forman ---------- */
.rp-movs .fx-tabla { margin-top: 0; }
.rp-movs .tabla-envuelta { max-height: 560px; overflow: auto; margin-top: 8px; }
.rp-m-sub { display: block; font-size: 11px; color: var(--px-tinta3); }

/* ---------- el teléfono ---------- */
@media (max-width: 760px) {
  body[data-vista="reportes"] .px.rp { gap: 16px; }
  /* cada grupo de informes, una tira que corre de costado */
  .rp-inf-g { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .rp-inf-g > .px-kl { width: auto; margin-right: 4px; }
  .rp .card.rp-armador { padding: 14px 14px 12px; }
  .rp-ctl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  .rp-c-ancho { grid-column: 1 / -1; }
  .rp-c select { min-width: 0; width: 100%; }
  .rp-c .px-seg { width: 100%; overflow-x: auto; }
  .rp-c .px-seg button { flex: 1 0 auto; }
  .rp-meses { flex-wrap: wrap; }
  .rp-meses input { width: 100%; }
  .rp-fila2 { flex-direction: column; align-items: stretch; }
  /* «Cómo se lee», Excel y PDF en una sola fila */
  .rp-acciones { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .rp-acciones > * { width: auto; margin: 0; }
  .rp-acciones .rp-exp { justify-content: center; }
  /* el veredicto se reordena en el teléfono (pnl.css): los avisos van después del relato */
  .rp-hero .px-relato { margin-bottom: 20px; }
  .rp-hero .px-relato:has(~ .rp-avisos) { margin-bottom: 0; }
  .rp-hero .rp-avisos { order: 6; margin: 12px 20px 20px; }
  .rp .card.fx-panel { padding: 16px 14px; }
  .rp .px-panel .fx-cab h3 { font-size: 22px; }
  .rp-t td.rp-n { min-width: 140px; max-width: 220px; }
  .rp-t th.rp-bar-th, .rp-t td.rp-bar, .rp-t .rp-ant { display: none; }
  .rp-t.cmp .rp-pct { display: none; }
  .rp-g-cuerpo { height: 180px; padding-top: 6px; }
  .rp-g-b em { display: none; }
  .rp-g-et span { font-size: 10px; }
  .rp-g-et span:not(.ano) small { display: none; }
  .rp-g-et.muchas span:nth-child(even) { visibility: hidden; }
  .rp-g-et.muchas small { display: none; }
  /* blancos táctiles de 24 px o más */
  .rp-inf { min-height: 30px; }
  .rp-t th button { min-height: 26px; align-items: center; }
  .rp-abrir, .rp-abrir-nada { width: 30px; height: 30px; }
  .rp-ir { display: inline-block; padding: 4px 0; min-width: 28px; }
  .rp-t td.rp-n { padding-top: 5px; padding-bottom: 5px; }
  .rp-fp-l { grid-template-columns: minmax(0, 1fr); max-height: 50vh; }
  .rp-fp-busca { max-width: none; }
}

/* ---------- el PDF (la hoja #px-imprimir del PNL, en papel claro) ---------- */
@media print {
  /* Papel blanco. El body es arena (componentes.css, que carga después, le gana al
     background:#fff de impresión de styles.css) y se imprimía un recuadro arena debajo del
     reporte, hasta el pie de la hoja. Le pasaba también al PDF del PNL: esta regla lo
     arregla para los dos, porque los dos imprimen con body.px-imprimiendo. */
  body.px-imprimiendo { background: #fff !important; }
  #px-imprimir.rp-imp { font-family: "Lato", system-ui, sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  /* las celdas del ERP tienen alto fijo y encabezados de 12px (styles.css): en papel, a medida */
  #px-imprimir .rp-imp-t th, #px-imprimir .rp-imp-t td { height: auto; line-height: 1.3; }
  #px-imprimir .rp-imp-t th { font-size: 6.6pt; letter-spacing: .04em; text-transform: uppercase; }
  #px-imprimir .rp-imp-t td { font-size: 7.6pt; letter-spacing: 0; }
  #px-imprimir .rp-imp-t.chica th { font-size: 5.8pt; }
  #px-imprimir .rp-imp-t.chica td { font-size: 6.4pt; }
  /* el total va una sola vez, al final (no al pie de cada hoja) */
  .rp-imp-t tfoot { display: table-row-group; }
  #px-imprimir .rp-imp-t tr:hover, #px-imprimir .rp-imp-t tr:hover > td { background: none; }
  #px-imprimir .rp-imp-t tr.rp-imp-padre > td { background: #F7F4EE; }
  .rp-imp-cab h1 { font-family: "Cormorant Garamond", Georgia, serif; font-size: 19pt; font-weight: 600; }
  .rp-imp-cab p { margin: 1px 0; }
  .rp-imp-kpis { display: flex; gap: 8px; margin: 8px 0 6px; }
  .rp-imp-k { flex: 1; border: 1px solid #ddd; border-radius: 6px; padding: 6px 9px; break-inside: avoid; }
  .rp-imp-kl { margin: 0; font-size: 6.8pt; text-transform: uppercase; letter-spacing: .08em; color: #6A6E73; }
  .rp-imp-kv { margin: 2px 0 0; font-size: 13pt; font-weight: 700; font-variant-numeric: tabular-nums; }
  .rp-imp-ks { margin: 1px 0 0; font-size: 7.4pt; color: #555; }
  .rp-imp-relato { font-size: 8.4pt; line-height: 1.45; margin: 6px 0 9px; }
  #px-imprimir .rp-imp-relato .fx-d.peor { color: #9A4512; }
  #px-imprimir .rp-imp-relato .fx-d.mejor { color: #1F5A86; }
  table.rp-imp-t { width: 100%; border-collapse: collapse; font-size: 7.6pt; }
  table.rp-imp-t.chica { font-size: 6.3pt; }
  .rp-imp-t thead { display: table-header-group; }
  .rp-imp-t th { background: #F1ECE3; text-align: left; font-weight: 700; padding: 3px 4px; border-bottom: 1px solid #c9c1b3; white-space: nowrap; }
  .rp-imp-t td { padding: 2.2px 4px; border-bottom: .5px solid #e3ded5; vertical-align: top; }
  .rp-imp-t .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .rp-imp-t tr { break-inside: avoid; }
  .rp-imp-t small { color: #666; font-size: 88%; }
  .rp-imp-t tr.rp-imp-padre td { font-weight: 700; background: #F7F4EE; }
  .rp-imp-t tr.rp-imp-hijo td:first-child { padding-left: 14px; }
  .rp-imp-t tfoot td { font-weight: 700; border-top: 1.2px solid #8C96A1; border-bottom: 0; }
  .rp-imp-t td.neg { color: #9A4512; }
  .rp-imp-t td.pos { color: #1F5A86; }
  .rp-imp-avisos { font-size: 7.4pt; line-height: 1.45; color: #8A5407; margin: 8px 0 0; padding-left: 14px; }
  .rp-imp-nota { font-size: 7pt; color: #666; margin: 5px 0 0; }
}

/* ================= formato contable (7-oct-2026) =================
   Tablas con líneas finas, cifras tabulares, sin tarjetas ni color: se lee como un reporte
   contable. Usa los colores del tema (claro u oscuro); en papel, siempre claro. */
.rc { color: var(--ink); font-size: 13px; }
.rc-barra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding-bottom: 12px; border-bottom: 1px solid var(--borde); }
.rc-c { display: grid; gap: 3px; font-size: 12px; color: var(--ink-3); }
.rc-c select, .rc-meses input { min-height: 32px; padding: 4px 8px; border: 1px solid var(--borde); border-radius: 4px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13px; }
.rc-meses { display: flex; gap: 6px; }
.rc-b { min-height: 32px; padding: 4px 12px; border: 1px solid var(--borde); border-radius: 4px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13px; cursor: pointer; }
.rc-b:hover { border-color: var(--ink-2); }
.rc-b:focus-visible, .rc-cel:focus-visible, .rc-abre:focus-visible, .rc-mon button:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; }
.rc-der { display: flex; gap: 8px; margin-left: auto; }
.rc .rp-fp { margin-top: 12px; }

.rc-cab { margin: 18px 0 6px; }
.rc-cab h1 { margin: 0 0 4px; font-size: 20px; font-weight: 600; line-height: 1.25; font-family: inherit; letter-spacing: 0; }
.rc-cab p { margin: 1px 0; color: var(--ink-2); font-size: 13px; }

.rc-sec { margin: 22px 0 0; }
.rc-sec h2 { margin: 0 0 8px; font-size: 14px; font-weight: 600; font-family: inherit; letter-spacing: 0; }
.rc-sec-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.rc-sec-cab h2 { margin: 0; }
.rc-scroll { overflow-x: auto; max-width: 100%; }

.rc-t { width: 100%; border-collapse: collapse; background: var(--surface); font-variant-numeric: tabular-nums; }
.rc-t th, .rc-t td { padding: 6px 10px; border-bottom: 1px solid var(--borde); text-align: left; white-space: nowrap; font-weight: 400; vertical-align: baseline; }
.rc-t thead th { font-size: 12px; font-weight: 600; color: var(--ink-2); border-bottom: 1px solid var(--ink-2); }
.rc-t tfoot th, .rc-t tfoot td { font-weight: 600; border-top: 1px solid var(--ink-2); border-bottom: 0; }
.rc-t .rc-num { text-align: right; }
.rc-t small { color: var(--ink-3); font-size: 11.5px; }
.rc-t .rc-per { width: 1%; color: var(--ink-2); }
.rc-t .rc-hijo { padding-left: 34px; color: var(--ink-2); }
.rc-t .rc-b2 { border-left: 1px solid var(--borde); }
.rc-res .rc-num { width: 13%; }
.rc-mes { font-size: 12.5px; }
.rc-mes .rc-n, .rc-mes thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--surface); }
.rc-mes td.rc-num { padding: 0; }
.rc-cel { display: block; width: 100%; min-height: 30px; padding: 6px 10px; border: 0; background: none; color: inherit; font: inherit; text-align: right; cursor: pointer; }
.rc-cel:hover:not(:disabled) { background: var(--surface-3); }
.rc-cel.act { box-shadow: inset 0 0 0 2px var(--ink); }
.rc-cel:disabled { cursor: default; color: var(--ink-3); }
.rc-abre { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 8px; padding: 0; border: 1px solid var(--borde); border-radius: 3px; background: none; color: var(--ink-2); font: inherit; font-size: 12px; line-height: 1; cursor: pointer; vertical-align: 1px; }
.rc-mon { display: inline-flex; border: 1px solid var(--borde); border-radius: 4px; overflow: hidden; }
.rc-mon button { min-height: 28px; padding: 3px 12px; border: 0; background: var(--surface); color: var(--ink-2); font: inherit; font-size: 12.5px; cursor: pointer; }
.rc-mon button + button { border-left: 1px solid var(--borde); }
.rc-mon button.act { background: var(--ink); color: var(--surface); }
.rc-mon-solo { font-size: 12.5px; color: var(--ink-2); }
.rc-cmp { font-size: 12.5px; }
.rc-nota, .rc-cargando, .rc-vacio { margin: 6px 0; color: var(--ink-3); font-size: 12px; }
.rc-vacio { margin: 18px 0; font-size: 13px; }
.rc-pie { margin-top: 26px; padding-top: 10px; border-top: 1px solid var(--borde); color: var(--ink-3); font-size: 11.5px; line-height: 1.5; }
.rc-pie p { margin: 0 0 2px; max-width: 120ch; }
@media (max-width: 640px) {
  .rc-barra { gap: 8px 10px; }
  .rc-c { flex: 1 1 140px; }
  .rc-c select { width: 100%; }
  .rc-der { margin-left: 0; }
  .rc-t th, .rc-t td { padding: 6px 8px; }
  .rc-cel { padding: 6px 8px; }
}

/* ---------- el papel ---------- */
.rc-imp { color: #1B2A3B; font-size: 8pt; font-variant-numeric: tabular-nums; }
.rc-imp header h1 { margin: 0 0 2pt; font-size: 13pt; font-weight: 600; font-family: inherit; }
.rc-imp header p { margin: 0; font-size: 8.5pt; color: #4A4A4A; }
.rc-imp h2 { margin: 10pt 0 3pt; font-size: 9pt; font-weight: 600; font-family: inherit; break-after: avoid; }
.rc-it { width: 100%; border-collapse: collapse; }
.rc-it th, .rc-it td { padding: 1.6pt 4pt; border-bottom: .5pt solid #D9D2C6; text-align: left; white-space: nowrap; font-weight: 400; }
.rc-it thead th { font-weight: 600; border-bottom: .75pt solid #4A4A4A; }
.rc-it tfoot td { font-weight: 600; border-top: .75pt solid #4A4A4A; border-bottom: 0; }
.rc-it .n { text-align: right; }
.rc-it .rc-hijo { padding-left: 12pt; }
.rc-it small { font-size: 7pt; color: #6A6E73; }
.rc-it tr { break-inside: avoid; }
.rc-it-m { font-size: 7pt; }
.rc-imp footer { margin-top: 10pt; padding-top: 4pt; border-top: .5pt solid #D9D2C6; font-size: 7pt; color: #4A4A4A; }
.rc-imp footer p { margin: 0 0 1.5pt; }
/* los estilos de tabla de todo el ERP (componentes.css: encabezado pegajoso, mayúsculas, fondo,
   alto fijo) no van en el formato contable: acá se apagan */
.rc-t th, .rc-it th { position: static; height: auto; background: transparent; text-transform: none; letter-spacing: 0; line-height: 1.35; }
.rc-t td, .rc-it td { height: auto; line-height: 1.35; }
.rc-t thead th { font-size: 12px; }
.rc-t tbody tr:hover { background: transparent; }
.rc-mes .rc-n, .rc-mes thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--surface); }
.rc-mes .rc-b2 { position: sticky; right: 0; z-index: 1; background: var(--surface); }
#px-imprimir .rc-it th, #px-imprimir .rc-it td { padding: 1.6pt 4pt; height: auto; font-size: inherit; background: none; color: #1B2A3B; border-left: 0; border-right: 0; }
#px-imprimir .rc-it thead th { font-weight: 600; color: #4A4A4A; }
@media (max-width: 640px) {
  .rc-t .rc-per { display: none; }
  .rc-res .rc-n { white-space: normal; min-width: 9em; }
  .rc-res .rc-num { width: auto; }
}
.rc-mes .rc-b2 { box-shadow: -1px 0 0 var(--ink-3); }
.rc-mes .rc-n { box-shadow: 1px 0 0 var(--borde); }
#px-imprimir .rc-it { font-size: 8pt; }
#px-imprimir .rc-it.rc-it-m { font-size: 7pt; }
#px-imprimir .rc-it th { border: 0; border-bottom: .75pt solid #4A4A4A; box-shadow: none; }
#px-imprimir .rc-it td { box-shadow: none; }
#px-imprimir .rc-it tfoot td { border-top: .75pt solid #4A4A4A; border-bottom: 0; }
.rc-corto { display: none; }
@media (max-width: 640px) { .rc-largo { display: none; } .rc-corto { display: inline; } }
.rc-res td.rc-num:has(> .rc-cel) { padding: 0; }
@media (max-width: 640px) {
  /* en el teléfono solo queda fijo el nombre: con el Total también fijo, los meses no tenían lugar */
  .rc-mes .rc-b2 { position: static; box-shadow: none; }
  .rc-mes .rc-n { white-space: normal; min-width: 8em; max-width: 10em; }
}
