/* ═══════════════════════════════════════════════════════════════════════════════
   ▓ Cartera › Contratos — SÓLO LOS INVENTOS QUE EL CATÁLOGO NO DABA ▓
   2026-09-10 · rediseño del detalle 2026-09-17 (handoff
   `plans/handoff/detalle_contrato/handoff/README.md`, decisiones en `DECISIONES.md`).

   El detalle ya NO inventa cabecera, cifras ni columnas: monta `CabeceraObjeto`
   (`css/cabecera-objeto.css`), `TarjetaPestanas` (`css/tarjeta-pestanas.css`), `Kpi
   marco={false}` (`css/kpi.css`), `CamposColumnas` (`css/cajon-lateral.css`, bloque
   traído aparte — ver la nota ahí) y `PieLista` (`css/pie-lista.css`). Lo que queda
   aquí es SÓLO lo que ninguna de esas hojas resuelve: el vacío de sección, el layout
   del panel a pantalla completa y dos rejillas de colocación propias de esta pantalla
   (la banda de avisos, el envoltorio de una tabla dentro de una pestaña).
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ⛔ LA LÍNEA DE ABAJO NO NOMBRA EL DOCUMENTO DE REGLAS DEL PROYECTO POR SU NOMBRE DE
   ARCHIVO, A PROPÓSITO (2026-09-10, cierre de un gate del arnés que reporta «1
   declaración malformada»): ese lector de `GATE-ALLOW:` busca un punto seguido de letras
   para identificar la CLASE que la declaración ampara, y el nombre del archivo calzaba
   ahí por accidente — leía su extensión como si fuera un selector. Esta declaración no
   ampara ninguna clase ni propiedad, así que no lleva ningún punto seguido de letras. */
/* GATE-ALLOW: sin media queries — el backoffice es de ESCRITORIO, no-negociable 7 del
   proyecto (Ricardo, 2026-07-29): no se mide ni se mantiene ancho de teléfono */

/* ── La banda de Resumen de la LISTA · RETIRADA `.cart-resumen` ─────────────────────
   `#cartResumen` lleva `exds-pl-resumen` (`pantalla-lista.css`): aire arriba 16, rejilla auto-fit
   + gap 20 (antes 4 columnas fijas, gap 16, aire abajo). Registro del retiro (INC-005). */

/* ── Los avisos del detalle: LOS REPARTE EL LIENZO ───────────────────────────────────────────
   0 a N Banner apilados a 12 entre sí, hermanos de la ficha, y el contenedor vacío no se pinta
   (`.exds-pd-avisos`, `pantalla-detalle.css`): al cerrar el último los bloques de abajo suben y nada
   más cambia (PD-7). `.ctr-avisos` queda como ancla de lectura, sin estilo propio. */

/* ── El vacío DE UNA PESTAÑA: ES `.exds-pd-vacio` DEL LIENZO ──────────────────────────────────
   Pagos, Garantías, Documentos y Bitácora comparten el MISMO vacío (`.exds-estado` md: ícono de su
   pestaña + frase), y su envoltorio —fila centrada, 16 arriba y 20 abajo— ya no se declara aquí:
   es `.exds-pd-vacio` (`pantalla-detalle.css`), el mismo de todas las pantallas de detalle.
   Antes vivía como `.ctr-tab-vacio`, y Flota lo prestaba de esta hoja. */

/* ── El alto de la tabla de Amortización: YA NO SE DECLARA AQUÍ ──────────────────────────────
   Aquí vivía `.ctr-tabla-amort { max-height: 480px }` (el «piso sin JS» de un tope que calculaba
   `ctrRecalcAltoActivo`). Desde `PATRON_PANTALLA_DETALLE` v1.0 el alto lo reparte el lienzo
   (`pantalla-detalle.css`, M-21): la tarjeta llega hasta abajo y sólo su cuerpo se desplaza, sin ningún
   número de alto por módulo. `TarjetaPestanas[data-padded="false"]` sigue dando el relleno cero. */

/* ── La nota del cajón «Pago aplicado» (Z4) ───────────────────────────────────────
   `.exds-cajon-zona` ya trae su fondo/relleno; lo único que falta es el tipo del
   párrafo — 12/`--fg3`, igual que cualquier nota del sistema. */
.ctr-cajon-nota {
  margin: 0;
  font: var(--fw-regular, 400) var(--fs-caption, 12px) var(--font-sans, Inter);
  color: var(--fg3, #5C6B7A);
}

/* ── La fila de Pagos que tiene el cajón abierto ──────────────────────────────────
   Misma idea que la fila activa del patrón de lista: un tinte neutro, nada más — el
   cajón ya dice cuál es con su contenido. */
#ctrPagosTabla .exds-tr[id="ctrPagoFilaActiva"] {
  background: var(--color-bg-subtle, #F2F4F6);
}

/* ── H12 · EL FIN DEL CONTENEDOR DE LA LISTA (`PATRON_PANTALLA_LISTA.md`, Ricardo 2026-10-02) ─────────────────
   La lista llega, como máximo, hasta el borde inferior del área con un relleno inferior IGUAL al superior. El superior
   es el de toda vista (`--bo-content-pad-y-top`, `backoffice.css`); el inferior lo lee del MISMO token, así no pueden
   separarse (antes 24 contra 26: un 24 escrito en el bloque «5-octies» de `backoffice.css`). Va AQUÍ y no en esa hoja
   compartida: `data-view="cartera"` es sólo de este módulo, y tocar `backoffice.css` caduca la homologación de todos. */
/* PD-19 (Ricardo, 2026-10-20 · «Sobre visual: elijo B.»): con la banda de pestañas pegada arriba la lista termina a 24 del borde (antes 26 = el token de arriba) y deja 24 bajo la línea de la banda. */
.main-scroll > .bo-view[data-view="cartera"] { padding-bottom: var(--space-6, 24px); }
/* Aire bajo la banda «Fuente de la cartera»: 24 hasta la barra (antes 12 de `.exds-pl-bar-acc`, compartido: no se toca). Alcanza a Contratos y a SIAC. */
#cartTabs ~ .exds-pd-paneles .exds-pl > .exds-pl-bar > .exds-pl-bar-acc { padding-top: var(--space-6, 24px); }

/* ── LA TIRA «Contratos · SIAC» ES LA BANDA CANÓNICA: ANCLADA AL TECHO Y A SANGRE (Δ6-1, `COMPONENTE_TABS.md` § LA BANDA SIEMPRE VA ASÍ) ──
   `DECISION-FUENTE: Ricardo, 2026-09-15 — «D2: A» · «La banda SIEMPRE va así» · «Tanto mi exante como backoffice, en todos los modulos y
   submodulos».` Misma receta que Finanzas (`admin/index.html`, «Finanzas › STP + Facturación ancladas al techo»):
   (a) ANCLADA ARRIBA: la tira es lo primero del lienzo, sin el `padding-top: 26px` de toda vista (`.main-scroll > .bo-view`). Se acota con `:has()`
       al panel de la LISTA visible, no a la vista entera: el detalle tiene su propio host y no monta esta tira.
   (c) A SANGRE DEL TOPE DE ANCHO CENTRADO: la vista es `data-tier="wide"` (topada en `--content-wide`, centrada); `--exds-canvas-bleed-x` es la mitad
       de lo que sobra sobre ese tope y `tabs.css` la suma al relleno lateral que ya compensa (`--exds-content-inset-x`). `max()` es la guarda: bajo el
       tope vale 0. Se declara en la VISTA —el ancestro común de la tira y de su contenido—, como Admin.
   GATE-ALLOW: [data-view="cartera"] pierde su padding-top SOLO cuando el panel de la lista monta la tira canónica · homologación a la regla de banda
   del 2026-09-15; vive aquí y no en `backoffice.css` (compartido por cinco módulos, INC-821) */
.bo-view[data-view="cartera"] {
  --exds-canvas-bleed-x: max(0px, calc((100vw - var(--sbw, 240px) - var(--dw, 0px) - var(--content-wide, 1280px)) / 2));
}
.main-scroll > .bo-view[data-view="cartera"]:has(> [data-fpanel="contratos"]:not([hidden])) { padding-top: 0; }

/* ── LAS DOS LISTAS DE LAS PESTAÑAS «Contratos · SIAC» (1.D-d) ───────────────────────────────────────────────────────
   `.exds-pl` es `display:flex` y un `display` de autor le gana al `hidden` del navegador (INC-726): sin esto las DOS listas
   se verían a la vez. Id > clase, sin `!important` — la misma regla que `pagos.css` para sus tres listas. */
#cartPl[hidden],
#siacPl[hidden] { display: none; }

/* ── El panel del detalle · EL HOST ES LA PANTALLA (Pantalla de detalle v1.1, B-0 / PD-24) ──────────────────────────
   Entra y sale con `exdsEntradaDetalle.entrarADetalle()` (papel 9, «profundidad desde la fila» · DECISION-FUENTE: Ricardo,
   2026-10-05 — «2»): el utilitario lo pone DENTRO de `.main-scroll`, en el flujo, y oculta la vista de la lista con `hidden`.
   ⛔ Por eso aquí ya NO hay sombra, radio ni `z-index` (❌1 de `design-system/homologacion/pantalla-detalle.md`; ED-10: el host
   no es una tarjeta) — vivían para el panel `position:fixed` del vuelo, que se retira. Lo único que el anfitrión pone es el ALTO:
   `.main-scroll` es un bloque, y el lienzo (`pantalla-detalle.css`, requisito 3) necesita un contenedor con alto definido. */
.main-scroll > .ctr-detalle { height: 100%; }
/* La vista de la lista DESAPARECE con `hidden` (requisito 2 del utilitario; INC-726): `.is-active` le da `display:flex` y le
   ganaría a la hoja del navegador. */
.main-scroll > .bo-view[data-view="cartera"].is-active[hidden] { display: none; }
