/* solapes.css (6/11/2026) — correcciones de solapes y textos cortados medidos en el navegador (móvil 360/390 y escritorio 1280/1440). SE CARGA EL ÚLTIMO.
   Criterio: CSS robusto (min-width: 0, flex-wrap, grid con minmax, sin anchos fijos, line-height y overflow-wrap) y NUNCA esconder texto: donde antes había nowrap + puntos suspensivos, ahora el texto envuelve. */

/* 0 · base: el texto envuelve y los hijos de flex/grid pueden encoger sin montarse */
:where(p, li, dd, dt, td, th, summary, h2, h3, h4, h5, figcaption, label, .que, .sa-nombre, .tr-l, .tr-t) { overflow-wrap: anywhere; }
:where(.num, .badge, .mt-chip, .af-chip, .imp, .pl-chip, .mm-chip) { overflow-wrap: normal; }
:where(.inf-cab, .tr-cab, .cot-r-cab, .is-ev-cab, .ds-cab, .pl-cab, .sa-cab, .cab, .ay-cab, .cb-cab, .mm-cab) { flex-wrap: wrap; min-width: 0; row-gap: 4px; }
/* los hijos de una columna flex con texto no se aplastan unos contra otros (causa típica del texto «colgando» o montado) */
.inf-cuerpo > *, .tr > *, .sa-card > *, .pt-card > *, .dz-in > * { flex-shrink: 0; }

/* 3a · Plan semanal y Informes (tarjetas inf-card) */
.ic-cot { grid-template-columns: auto auto minmax(0, 1fr); column-gap: 10px; row-gap: 4px; }
.ic-tk { min-width: 38px; padding: 0 8px; white-space: nowrap; }
.ic-etq { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 480px) { .ic-cot { grid-template-columns: auto minmax(0, 1fr); } .ic-cot .ic-etq { grid-column: 1 / -1; } }
.ic-ev { min-width: 0; }
.ic-nom { display: block; -webkit-line-clamp: unset; overflow: visible; overflow-wrap: anywhere; }
.inf-card { overflow: visible; gap: 10px; }
.inf-grid > .inf-card { overflow: visible; }
.inf-cuerpo { gap: 10px; }
.inf-fecha { white-space: normal; text-align: right; max-width: 45%; }
.inf-ver { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; position: static; }
.inf-cuerpo > .que { display: block; margin-top: 2px; }

/* 3b · Resultados de las grandes: ver resultados_grandes.css (cuadrícula etiqueta / valor, una fila por dato, sin truncar) */
.rg-v { display: inline-flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.rg-d b em { font-style: normal; white-space: nowrap; }

/* 3c · Resumen de la semana: nada de puntos suspensivos */
.rv-fig-k, .rv-tira *, .is-ev-t, .is-l { white-space: normal; text-overflow: clip; overflow: visible; }
.rv-fig-k { overflow-wrap: anywhere; }

/* 3d · Gamma e Informe: «cierra ↑ 57 % · ↓ 43 %» ya no se monta con Max Pain ni con el % de toque */
.prob { flex-wrap: wrap; justify-content: flex-end; white-space: normal; row-gap: 2px; }
.prob .barra { flex: 0 0 56px; }
.pg-cierre { white-space: normal; text-align: right; overflow-wrap: anywhere; line-height: 1.35; margin-top: 4px; display: block; }
.gm-prob, .gm-prob .prob { min-width: 0; }
td:has(> .prob), td:has(> .pg-cierre) { min-width: 120px; vertical-align: top; }

/* 3e · Agentes: la etiqueta de la sala no se monta con el resto de la escena */
.escena .nombre-sala { max-width: calc(100% - 52px); overflow-wrap: anywhere; line-height: 1.3; z-index: 3; }
.escena .nombre-sala small { line-height: 1.35; font-size: 12px; }

/* 3g · Metales */
.mt3-f:not(.abierta) .mt3-f-x { display: none; }
.mt3-f-b > * { min-width: 0; }
.mt3-f-eti, .mt3-f-txt small { white-space: normal; overflow-wrap: anywhere; }
.mt2-cot { display: block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

/* 3h · Indicadores y Cartera */
.imp-tabla thead th { white-space: normal; }
.imp-tabla td, .imp-tabla th { overflow-wrap: anywhere; }
.resultados-op { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.rojo-chip { white-space: normal; }

/* 3i · chips «sube/baja»: nunca recortados */
.imp, .af-chip, .rl-et, .mt-chip, .ie-chip, .c-imp { max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35; padding-block: 2px; }
.imp { display: inline-flex; align-items: baseline; gap: 4px; padding-inline: 8px; }

/* 3j · texto nunca por debajo de 12 px; en móvil, el principal a 13 px */
@media (max-width: 900px) {
  :where(.que, .inf-p, .is-l, .ds-txt, .pl-card p, .rl-l, .sa-lect, td, li, dd) { font-size: max(13px, 1em); }
}

/* 3k · Barra inferior móvil: etiquetas sin tocarse (Calendario es la más larga) */
@media (max-width: 900px) {
  #barra-inferior a, #barra-inferior button { flex: 1 1 0; min-width: 0; padding-inline: 1px; }
  #barra-inferior a span, #barra-inferior button span { font-size: 12px; letter-spacing: -.02em; white-space: nowrap; max-width: 100%; line-height: 1.15; }
}

/* texto que antes se cortaba con «…»: ahora envuelve (nada de nowrap + puntos suspensivos fuera de nombres cortos de menú) */
.cola-sen .que, .ay-n, #sesgo .sesgo-card .cab .que, .banda-t, .dv-uno, .mt2-cot, .rv-fig-k, .pt-sirve, .pt-b-d { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.banda-t { flex: 1 1 140px; }
.cola-sen .que { flex: 1 1 120px; line-height: 1.35; }

/* 3l / 3m · tablas: una celda con texto largo nunca se sale de su columna ni se escribe encima de la siguiente.
   Causa real (medida): `th { white-space: nowrap }` global en base.css y `.imp-ind` con `display: grid` (el th dejaba de ser celda). Ahora las cabeceras de FILA envuelven y ninguna celda de datos fuerza nowrap salvo cifras y chips. */
table tbody th, .tabla-scroll tbody th, th[scope="row"] { white-space: normal; overflow-wrap: anywhere; word-break: normal; }
table td, table th { min-width: 0; }
table td:not(.num):not([class*="num"]):not(.r) { overflow-wrap: anywhere; }
.imp-tabla { table-layout: auto; }
.imp-tabla .imp-ind { display: table-cell; }
@media (max-width: 760px) {                                   /* tarjetas apiladas: nombre, estado, descripción y luego el efecto en S&P, Dow y Nasdaq; sin tabla ancha ni scroll lateral */
  .imp-bloque .tabla-scroll { overflow: visible; }
  .imp-tabla, .imp-tabla tbody, .imp-tabla tr, .imp-tabla th, .imp-tabla td { display: block; width: 100%; min-width: 0 !important; }
  .imp-tabla .imp-ind { display: block; }
}

/* 6/11/2026 (2.ª revisión) · Mapa macro: filas de pestañas con botones de ancho propio y scroll horizontal limpio; mapa más alto; log crudo contenido */
.mm-modos-color, .mm-vistas { overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; min-width: 0; max-width: 100%; }
.mm-modos-color::-webkit-scrollbar, .mm-vistas::-webkit-scrollbar { display: none; }
.mm-modos button, .mm-vistas button, .mm-modos-color button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 900px) { .mm-mapa-caja { padding: 2px; } }
details.crudo { position: static; clear: both; margin: 24px 0 0; max-width: 100%; contain: layout; }
details.crudo:not([open]) > pre { display: none; }
details.crudo pre { max-height: 420px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; position: static; }
.pg-par { white-space: nowrap; display: inline-block; }

/* 7 / 8 · datos clave sin «…»: ninguna cifra o frase de dato se corta con puntos suspensivos ni con line-clamp (Resumen, Informe, Calendario móvil, Riesgo de cola).
   Las líneas largas envuelven; el subtítulo decorativo de las cabeceras (seccion-cab p, cb-sub) conserva su recorte. */
.inf-titular, .inf-p, .ic-nom, .cot-r-lec, .mc-umbral, .mt2-lectura, .pe-l, .rl-l, .sa-lect, .sa-puntos li, .ds-txt, .ds-imp-f, .ds-res-tx, .ds-res-f:nth-child(3) .ds-res-tx,
.pt-pasa, #sesgo .sesgo-card .motivo { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; text-overflow: clip; white-space: normal; max-height: none; }
.rg-d b { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: break-word; word-break: normal; min-width: 110px; }
.rg-d.rg-ver b, .rg-d.rg-ver .rg-vd { white-space: nowrap; overflow-wrap: normal; writing-mode: horizontal-tb; }
.rg-v { display: inline-flex; }
@media (max-width: 900px) {
  .inf-titular, .inf-p, .sa-lect, .sa-puntos li { -webkit-line-clamp: unset; overflow: visible; display: block; }
  /* Calendario móvil: el nombre del evento ocupa las líneas que necesite (mínimo dos antes de partir palabras) */
  #calendario-pagina .ev-nombre, #calendario-pagina .cal-n, #calendario-pagina [class*="ev-n"], #calendario-pagina [class*="cal-nom"], .cal-ev .nombre, .cal-fila .nombre
    { white-space: normal; overflow: visible; text-overflow: clip; -webkit-line-clamp: unset; display: block; overflow-wrap: anywhere; line-height: 1.3; }
}
.c-nombre { flex-wrap: wrap; row-gap: 2px; }
.c-nombre b { min-width: 0; flex: 1 1 auto; white-space: normal; overflow: visible; text-overflow: clip; -webkit-line-clamp: unset; overflow-wrap: anywhere; line-height: 1.3; }
.c-nombre .cs-flecha { flex: none; }

/* 9 · rótulos de tablas y medidores: 12 px es el suelo, aquí 12,5-13 px para no quedar por debajo con el redondeo del navegador */
th, thead th, .inf-card .inf-cuerpo th, .tabla-cot th, .gl-guia thead th { font-size: 13px; }
.sg-ext, .sg-ext span { font-size: 12.5px; }
.gv-ilu { min-width: 320px; }                       /* los dibujos educativos de Gamma llevan texto SVG de 12 px en un viewBox de 320: por debajo de ese ancho se encogerían */
.gv-ilu-wrap, .gv-ilu-caja { overflow-x: auto; }

/* E2 · Gamma: la tabla de niveles no parte palabras («0DTE», «vencimiento»): ancho mínimo por columna, salto solo entre palabras y scroll horizontal si no cabe; «Probabilidad · toque y cierre» se ve completa */
#gamma table td, #gamma table th, #gamma-bloque table td, #gamma-bloque table th, .tabla-niveles td, .tabla-niveles th { overflow-wrap: normal; word-break: normal; hyphens: none; }
#gamma .tabla-scroll, #gamma-bloque .tabla-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
#gamma table, #gamma-bloque table { min-width: 640px; }
#gamma table th:nth-child(1), #gamma table td:nth-child(1) { min-width: 110px; }
#gamma table th:nth-child(3), #gamma table td:nth-child(3) { min-width: 100px; }
#gamma table th:nth-child(4), #gamma table td:nth-child(4) { min-width: 130px; }
#gamma table td:last-child, #gamma table th:last-child { min-width: 190px; white-space: normal; }
#gamma td:has(> .prob), #gamma td:has(> .pg-cierre) { min-width: 190px; }
#gamma .pg-cierre { white-space: nowrap; text-align: left; }

/* G4 · barra lateral: todos con icono propio visible (también los hijos de un grupo), mismo paso entre iconos y activo resaltado; el nombre sale en el tooltip al pasar el ratón (title) */
html body #barra-enlaces a .ico, html body #barra-enlaces .grupo-enlace .ico { display: inline-block !important; flex: none; }
html body:not(.barra-abierta) #barra-enlaces > a, html body:not(.barra-abierta) #barra-enlaces .grupo-enlace, html body:not(.barra-abierta) #barra-enlaces a.hijo { min-height: 40px; padding: 10px 0; display: flex; align-items: center; justify-content: center; position: relative; }
html body:not(.barra-abierta) #barra-enlaces a .ico, html body:not(.barra-abierta) #barra-enlaces a.hijo .ico { width: 20px; height: 20px; }
html body:not(.barra-abierta) #barra-enlaces .grupo-hijos { gap: 0; flex-direction: column; margin: 0; padding: 0; }
html body:not(.barra-abierta) #barra-enlaces .grupo-cab { padding: 0; }
html body:not(.barra-abierta) #barra-enlaces a[aria-current="true"] { background: rgba(255,122,46,.14) !important; color: var(--t-naranja-2, #ff9a5c); box-shadow: inset 3px 0 0 var(--t-naranja, #ff7a2e); border-radius: 8px; }
html body #barra-enlaces a.hijo { display: flex; align-items: center; gap: 8px; }
/* 6/11 · zonas de Gamma nunca en vertical (gana a las reglas de overflow-wrap anteriores) */
.gm-z, .gm-z * { writing-mode: horizontal-tb; white-space: nowrap; overflow-wrap: normal; word-break: keep-all; }

/* 6 · Cartera (privada): la tarjeta «RSI 14» no parte «35» ni «neutral»; la tabla de posiciones y la de acciones con ancho mínimo en cada columna (nada en vertical) */
.rsi, .rsi * { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; writing-mode: horizontal-tb; }
.rsi { display: inline-flex; align-items: center; gap: 8px; min-width: max-content; }
.kpi:has(.rsi) { min-width: 150px; }
.kpi:has(.rsi) .v { white-space: nowrap; overflow-wrap: normal; }
#cartera table th, #cartera table td, #car-acciones table th, #car-acciones table td, #cartera-bloque table th, #cartera-bloque table td { overflow-wrap: normal; word-break: normal; hyphens: none; }
#cartera table, #cartera-bloque .tabla-scroll > table { min-width: 720px; }
#cartera table th:nth-child(1), #cartera table td:nth-child(1) { min-width: 84px; }
#cartera table th:nth-child(n+2):nth-child(-n+4), #cartera table td:nth-child(n+2):nth-child(-n+4) { min-width: 78px; white-space: nowrap; }
#cartera table th:nth-child(6), #cartera table td:nth-child(6) { min-width: 130px; white-space: nowrap; }
#cartera table th:nth-child(7), #cartera table td:nth-child(7) { min-width: 92px; white-space: nowrap; }
#cartera table th:nth-child(8), #cartera table td:nth-child(8) { min-width: 120px; white-space: normal; }
#cartera-bloque .tabla-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wl-rsi, .wl-rsi * { white-space: nowrap; overflow-wrap: normal; }

/* 9/11 · Mapa macro · Comparar: ninguna etiqueta ni celda se rompe letra a letra (gana a overflow-wrap:anywhere de arriba) */
.mm-tabla th, .mm-tabla td:not(.num):not([class*="num"]):not(.r), .mm-tabla th[scope="row"], .mm-fz, .mm-fz b { overflow-wrap: normal; word-break: normal; hyphens: none; writing-mode: horizontal-tb; }
