/* =====================================================================
   Estilo «La semana»: barras colapsables, títulos con cuadro naranja y tarjetas oscuras (Semana anterior · Informe de la semana)
   ===================================================================== */
.cuadro { display: inline-block; flex: none; width: 8px; height: 8px; margin-right: 9px; border-radius: 2px; background: var(--accent); }
.tit-sec { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--text-primary); }
.tit-sec .cuadro { align-self: center; margin-right: 1px; }
.tit-sec .que { text-transform: none; letter-spacing: 0; font-weight: 400; }
.tit-ver { margin-left: auto; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--accent-2); text-decoration: none; }
.tit-ver:hover { text-decoration: underline; }

/* barra colapsable */
.cb { --cb: var(--accent); border-radius: 16px; border: 1px solid color-mix(in srgb, var(--cb) 50%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--cb) 7%, #101114), #0d0e10); box-shadow: var(--sombra); }
.cb.suave { --cb: var(--accent-2); border-color: color-mix(in srgb, var(--cb) 30%, transparent); }
.cb-cab { width: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; padding: 16px 22px; text-align: left; font: inherit; color: var(--text-secondary); background: transparent; border: 0; border-radius: 16px; }
.cb-cab:hover:not(:disabled) { background: color-mix(in srgb, var(--cb) 7%, transparent); border-color: transparent; }
.cb-t { font-size: 21px; font-weight: 800; line-height: 1.1; letter-spacing: .01em; text-transform: uppercase; color: var(--cb); }
.cb-sub { flex: 1; min-width: 0; font-size: 13px; color: var(--text-secondary); }
.cb-cab .chev { flex: none; width: 10px; height: 10px; margin: 0 6px 4px 0; color: var(--cb); }
.cb.abierta .cb-cab .chev { transform: translateY(3px) rotate(-135deg); }
.cb-cuerpo { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .38s cubic-bezier(.2,.8,.2,1), visibility 0s .38s; }
.cb.abierta .cb-cuerpo { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .38s cubic-bezier(.2,.8,.2,1), visibility 0s; }
.cb-plie { overflow: hidden; min-height: 0; }
.cb-in { display: grid; gap: 20px; padding: 8px 20px 22px; }
@container vista (max-width: 640px) { .cb-t { font-size: 17px; } .cb-cab { padding: 14px 16px; } .cb-in { padding: 6px 12px 16px; } }

/* semana anterior · noticia destacada y resumen */
.sa-noticia { display: grid; gap: 6px; padding: 18px 22px; border-radius: 14px; text-decoration: none; color: var(--text-secondary); border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-left-width: 4px;
  background: linear-gradient(100deg, rgba(245,165,36,.15), rgba(245,165,36,.03) 55%, rgba(255,255,255,.01)); transition: transform .2s cubic-bezier(.2,.8,.2,1), border-color .2s, box-shadow .2s; }
.sa-noticia:hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 16px 30px -18px rgba(0,0,0,.95); }
.sa-noticia[data-abrir] { cursor: pointer; text-align: left; }
.sa-noticia[aria-expanded="true"] { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(245,165,36,.3), 0 18px 30px -18px rgba(0,0,0,.95); }
.sa-et { display: flex; align-items: center; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.sa-nt { color: var(--text-primary); font-size: 22px; line-height: 1.2; letter-spacing: -.01em; }
.sa-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; color: var(--text-muted); }
.sa-lect { max-width: 95ch; font-size: 13.5px; line-height: 1.55; color: var(--text-primary); }
.sa-puntos { max-width: 95ch; margin: 2px 0 0; padding-left: 18px; display: grid; gap: 3px; font-size: 12.5px; }
.sa-ver { justify-self: start; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--accent-2); }
.sa-resumen { display: grid; gap: 8px; padding: 16px 20px; border-radius: 14px; border: 1px solid var(--border-2); border-left: 4px solid var(--accent); background: linear-gradient(180deg, #17181c, #0f1013); }
.sa-resumen .titular { margin: 0; font-size: 17px; letter-spacing: -.01em; color: var(--text-primary); }
.sa-lineas { max-width: 100ch; margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13px; line-height: 1.5; }
.sa-lineas li { position: relative; padding-left: 16px; }
.sa-lineas li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 2px; background: var(--accent); }

/* semana anterior · tarjetas ES, NQ, crudo y VIX con minigráfico */
.sa-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@container vista (max-width: 1000px) { .sa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container vista (max-width: 520px) { .sa-grid { grid-template-columns: minmax(0, 1fr); } }
.sa-card { position: relative; overflow: hidden; display: grid; gap: 4px; padding: 16px 16px 11px; cursor: pointer; text-align: left; border-radius: 14px; border: 1px solid var(--border-2);
  background: linear-gradient(180deg, #17181c, #0f1013); box-shadow: var(--sombra); transition: transform .2s cubic-bezier(.2,.8,.2,1), border-color .2s, box-shadow .2s; }
.sa-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--neutral); }
.sa-card.sube::before { background: var(--good); } .sa-card.baja::before { background: var(--critical); }
.sa-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 60%, transparent); }
.sa-card[aria-expanded="true"] { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(245,165,36,.3), 0 18px 30px -18px rgba(0,0,0,.95); }
.sa-card.vacia { cursor: default; opacity: .7; } .sa-card.vacia:hover { transform: none; border-color: var(--border-2); }
.sa-nombre { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); }
.sa-precio { font-size: 26px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: var(--text-primary); }
.sa-var { font-size: 14px; font-weight: 700; } .sa-var small { margin-left: 4px; font-size: 12px; font-weight: 400; color: var(--text-muted); }
.sa-spark { width: 100%; height: 38px; margin: 4px 0 2px; color: var(--neutral); overflow: visible; }
.sa-spark.sube { color: var(--good-text); } .sa-spark.baja { color: var(--critical-text); }
.sa-spark polygon { fill: currentColor; opacity: .13; }
.sa-spark polyline { fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sa-pie { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; padding-top: 8px; border-top: 1px solid var(--border); font-size: 12px; }
.sa-mas { display: inline-flex; align-items: center; gap: 4px; font-weight: 500; color: var(--accent-2); }
.sa-card[aria-expanded="true"] .chev { transform: translateY(3px) rotate(-135deg); }

/* semana anterior · noticias y datos clave en dos columnas */
.sd-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; align-items: start; }
@container vista (max-width: 900px) { .sd-cols { grid-template-columns: minmax(0, 1fr); } }
.sd-col { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.sd-item { display: grid; gap: 4px; padding: 10px 14px 11px; border-radius: 12px; border: 1px solid var(--border); border-left: 3px solid var(--accent); background: rgba(255,255,255,.025); }
.sd-cab { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.sd-nombre { font-size: 13.5px; color: var(--text-primary); overflow-wrap: anywhere; }
.sd-cifras { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; font-size: 12.5px; color: var(--text-secondary); } .sd-cifras b { font-size: 14px; color: var(--text-primary); }
.sd-cifras .badge { padding: 1px 8px; font-size: 12px; }
.sd-lectura { font-size: 12.5px; line-height: 1.45; color: var(--text-secondary); }

/* informe de la semana · 3×2 */
.inf-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 14px; min-height: 270px; padding: 18px 20px 14px; cursor: pointer; text-align: left; font-size: 13px; color: var(--text-secondary);
  border-radius: 14px; border: 1px solid var(--border-2); background: linear-gradient(180deg, #17181c, #0f1013); box-shadow: var(--sombra); transition: transform .2s cubic-bezier(.2,.8,.2,1), border-color .2s, box-shadow .2s; }
.inf-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 60%, transparent); box-shadow: 0 18px 30px -18px rgba(0,0,0,.95), 0 0 0 1px rgba(245,165,36,.14); }
.inf-card[aria-expanded="true"] { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(245,165,36,.35), 0 18px 30px -18px rgba(0,0,0,.95); }
.inf-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.inf-t { display: flex; align-items: center; min-width: 0; font-size: 15px; font-weight: 800; line-height: 1.15; letter-spacing: .03em; text-transform: uppercase; color: var(--text-primary); }
.inf-fecha { flex: none; padding-top: 3px; font-size: 12px; white-space: nowrap; color: var(--accent-2); }
.inf-cuerpo { display: flex; flex-direction: column; gap: 9px; flex: 1; min-width: 0; padding-top: 12px; border-top: 1px solid var(--border); }
.inf-titular { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: -.005em; color: var(--text-primary); }
.inf-p { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
.inf-p.ic-gris { font-size: 12.5px; }
.inf-ver { align-self: flex-start; margin-top: auto; font-size: 12.5px; font-weight: 600; color: var(--accent); text-decoration: none; }
.inf-ver:hover { color: var(--accent-2); text-decoration: underline; }
.ic-ev { display: grid; gap: 1px; padding: 2px 0 2px 11px; border-left: 3px solid var(--critical); }
.ic-ev.dec { padding: 7px 10px 7px 11px; border-radius: 0 10px 10px 0; border-left-color: var(--accent); background: linear-gradient(90deg, rgba(245,165,36,.2), rgba(245,165,36,.03)); }
.ic-cuando { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--critical-text); }
.ic-ev.dec .ic-cuando { color: var(--accent); }
.ic-nom { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.3; color: var(--text-primary); }
.ic-ev.dec .ic-nom { font-size: 15px; font-weight: 700; }
.ic-prev { font-size: 12px; color: var(--text-secondary); }
.ic-cot { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 10px; }
/* desplegable de la tarjeta COT: un bloque por activo (nombre + etiqueta, neto y cambio, lectura en 2 líneas) */
.cot-res { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.cot-r { min-width: 0; display: grid; gap: 4px; align-content: start; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--border); background: rgba(255,255,255,.03); }
.cot-r-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.cot-r-cab b { color: var(--text-primary); min-width: 0; overflow-wrap: anywhere; }
.cot-r-cab .badge { padding: 1px 8px; font-size: 12px; letter-spacing: .02em; white-space: nowrap; flex: none; }
.cot-r-num { display: flex; flex-wrap: wrap; gap: 2px 6px; align-items: baseline; }
.cot-r-num b, .cot-r-num span { white-space: nowrap; }
.cot-r-lec { font-size: 12px; line-height: 1.4; color: var(--text-secondary); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ic-tk { display: grid; place-items: center; height: 24px; border-radius: 5px; font-size: 12px; font-weight: 800; color: var(--t-sobre-marca, #1a0c02); background: var(--accent); }
.ic-pt { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--text-primary); } .ic-pt small { margin-left: 1px; font-size: 12px; font-weight: 500; color: var(--text-muted); }
.ic-pt.pos { color: var(--good-text); } .ic-pt.neg { color: var(--critical-text); }
.ic-etq { font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--text-secondary); }
.ic-sin { grid-column: 2 / -1; }
.ic-tabla { width: 100%; font-size: 13px; }
.ic-tabla th { padding: 0 0 6px; text-align: right; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.ic-tabla td { padding: 6px 0; text-align: right; color: var(--text-primary); border-top: 1px solid var(--border); border-bottom: 0; }
.ic-tabla th:first-child, .ic-tabla td:first-child { text-align: left; }

/* desplegable del calendario: la semana día por día */
.sc-tabla { min-width: 660px; font-size: 13px; }
.sc-tabla thead th { padding: 6px 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sc-tabla td { padding: 8px 10px; vertical-align: top; }
.sc-dia th { padding: 16px 10px 7px; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--text-primary); border-bottom: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); }
.sc-dia th .que { margin-left: 10px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.sc-dia.hoy th { color: var(--accent); }
.sc-h { width: 64px; font-weight: 700; white-space: nowrap; color: var(--text-primary); }
.sc-p { width: 150px; font-size: 12px; white-space: nowrap; color: var(--text-secondary); }
.sc-n { min-width: 220px; color: var(--text-primary); }
.sc-f.rojo > td:first-child { box-shadow: inset 3px 0 0 var(--critical); }
.sc-f.amarillo > td:first-child { box-shadow: inset 3px 0 0 #f3c04f; }
.sc-f.dest > td { padding-top: 11px; padding-bottom: 11px; border-bottom-color: transparent; background: linear-gradient(90deg, rgba(245,165,36,.18), rgba(245,165,36,.05)); }
.sc-f.dest > td:first-child { box-shadow: inset 4px 0 0 var(--accent); }
.sc-f.dest .sc-n b { font-size: 15px; }
.sc-et { margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; color: var(--t-sobre-marca, #1a0c02); background: var(--accent); }
.sc-esc td { padding: 0 10px 12px; background: rgba(245,165,36,.05); }
.sc-esc .esc-lista { margin: 0; }


/* Riesgo de cola: filas de señal desplegables */
.cola-fila { cursor: pointer; } .cola-fila:hover td { background: var(--surface-2, rgba(255,255,255,.04)); }
.cola-flecha { display: inline-block; color: var(--text-muted); transition: transform .2s; } .cola-fila.abierta .cola-flecha { transform: rotate(180deg); }
.cola-det[hidden] { display: none; } .cola-det td { padding: 0; }
.cola-det-in { padding: 10px 14px 12px; display: grid; gap: 4px; line-height: 1.5; font-size: 13px; }
.cola-det-in h5 { margin: 6px 0 0; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); } .cola-det-in p { margin: 0; }
/* móvil: la tabla de señales de Riesgo de cola se apila en filas (sin desborde horizontal ni scroll) */
.tabla-scroll { max-width: 100%; }
@media (max-width: 900px) {
  .tabla-scroll:has(.cola-fila) { overflow-x: hidden; }
  table:has(.cola-fila), table:has(.cola-fila) tbody { display: block; width: 100%; }
  table:has(.cola-fila) thead { display: none; }
  .cola-fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 2px 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
  .cola-fila td { display: block; min-width: 0; padding: 2px 8px; border: 0; overflow-wrap: anywhere; }
  .cola-fila td:nth-child(3), .cola-fila td:nth-child(5) { grid-column: 1 / -1; }
  .cola-fila td:nth-child(3)::before { content: "Umbral: "; } .cola-fila td:nth-child(5)::before { content: "Nota: "; }
  .cola-det { display: block; } .cola-det[hidden] { display: none; } .cola-det td { display: block; }
}
a.inf-card { text-decoration: none; color: var(--text-secondary); }

/* Informe del evento clave de la semana (informe_evento.js): la tarjeta es .sa-noticia (la misma que «La noticia de la semana»); el resto reutiliza .kpis, .titular, .sa-puntos y .fam-lista */
.ie-uno { grid-template-columns: 1fr; margin-bottom: 14px; }
.ie-cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.ie-nombre { font-size: 15px; color: var(--text-primary); }
.ie-chip { margin-right: 2px; padding: 2px 8px; border-radius: 5px; font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ie-chip.pre { background: transparent; color: var(--accent-2); border: 1px solid rgba(245,165,36,.6); }
.ie-chip.pub { background: var(--accent); color: var(--t-sobre-marca, #1a0c02); }
.ie-cifras { margin: 6px 0 10px; }
.ie-esc { display: grid; gap: 3px; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 12.5px; }
.ie-esc b { color: var(--text-primary); }
.ie-svg { width: 100%; height: auto; max-height: 300px; }
.ie-rej { stroke: var(--border-2); stroke-width: 1; }
.ie-ref { stroke: var(--text-muted); stroke-width: 1; stroke-dasharray: 3 3; }
.ie-eje { fill: var(--text-muted); font-size: 12px; font-family: var(--mono); }
.ie-ln { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.ie-ln.g { stroke: var(--accent); } .ie-ln.s { stroke: #9085e9; } .ie-ln.sube { stroke: var(--good-text); } .ie-ln.baja { stroke: var(--critical-text); }
.ie-prev { fill: var(--bg); stroke-width: 2; } .ie-prev.g { stroke: var(--accent); } .ie-prev.s { stroke: #9085e9; }
.ie-nuevo.g { fill: var(--accent); } .ie-nuevo.s { fill: #9085e9; }
.ie-leyenda { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; margin: 4px 0 8px; font-size: 12px; color: var(--text-secondary); }
.ie-sw { display: inline-block; width: 12px; height: 12px; margin-right: 5px; border-radius: 50%; vertical-align: -1px; }
.ie-sw.g { background: var(--accent); } .ie-sw.s { background: #9085e9; } .ie-sw.ph { border: 2px solid var(--text-secondary); } .ie-sw.pn { background: var(--text-secondary); }
.ie-reac { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 10px 0; }
.ie-mini { padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); }
.ie-mini-cab { display: flex; justify-content: space-between; font-size: 12.5px; }
.ie-mini svg { width: 100%; height: auto; }

/* gráfico de inflación: tira de cifras bajo el gráfico (la tabla de probabilidades de la Fed vive en fed_tabla.css, privada) */
.ie-datos { display: grid; gap: 4px; margin: 2px 0 6px; font-size: 12.5px; color: var(--text-secondary); }
.ie-dato b { color: var(--text-primary); font-weight: 600; }

/* tarjeta naranja desplegable del informe del evento (misma piel que .sa-noticia): «Cómo afecta a los activos» y, en tu vista, «Lectura fuente pública» */
.ie-nar { margin: 14px 0 6px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-left-width: 4px;
  background: linear-gradient(100deg, rgba(245,165,36,.15), rgba(245,165,36,.03) 55%, rgba(255,255,255,.01)); }
.ie-nar > summary { display: grid; gap: 8px; padding: 14px 18px; cursor: pointer; list-style: none; position: relative; }
.ie-nar > summary::-webkit-details-marker { display: none; }
.ie-nar > summary .chev { position: absolute; right: 16px; top: 16px; transition: transform .2s; }
.ie-nar[open] > summary .chev { transform: rotate(180deg); }
.nar-et { display: flex; align-items: center; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.nar-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.nar-cifra { display: grid; gap: 2px; padding-left: 10px; border-left: 3px solid var(--accent); }
.nar-cifra .et { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); }
.nar-cifra b { font-size: 28px; line-height: 1.1; color: var(--text-primary); }
.ac-cuerpo { display: grid; gap: 8px; padding: 4px 18px 16px; min-width: 0; }
.ac-cuerpo h4 { margin: 10px 0 2px; }
.ac-tabla td, .ac-tabla th { vertical-align: top; }
.ac-esp { white-space: nowrap; font-weight: 600; } .ac-esp.up { color: var(--critical-text, #ff6b6b); } .ac-esp.dn { color: var(--good-text); } .ac-esp.nul { color: var(--text-muted); font-weight: 500; }
.ac-co { font-weight: 800; white-space: nowrap; } .ac-co.si { color: var(--good-text); } .ac-co.no { color: var(--critical-text, #ff6b6b); } .ac-co.el, .ac-co.nd { color: var(--text-muted); }
.ac-tabla td.ac-por { min-width: 240px; color: var(--text-secondary); }
.ac-resumen { margin: 4px 0; font-size: 13.5px; }

/* explicación del dato, fichas de activos y panel «Qué ha empujado el IPC» (público); el panel de fuente pública usa las mismas filas (.emp-*) */
.exp-grid { display: grid; gap: 10px 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container vista (max-width: 900px) { .exp-grid { grid-template-columns: minmax(0, 1fr); } }
.exp-sec { padding: 10px 14px; border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; background: rgba(245,165,36,.05); }
.exp-sec b { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-2, var(--accent)); } .exp-sec p { margin: 4px 0 0; } .exp-sec ul { margin: 4px 0 0; }
.emp-lista { display: grid; gap: 10px; }
.emp-fila { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start; }
.emp-fl { font-size: 18px; font-weight: 800; line-height: 1.2; } .emp-fl.up { color: var(--critical-text, #ff6b6b); } .emp-fl.dn { color: var(--good-text); }
.emp-fc { display: grid; gap: 3px; min-width: 0; }
.emp-fn { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; } .emp-fn b { color: var(--text-primary); }
.emp-tag { padding: 0 7px; border-radius: 5px; font-size: 12px; font-weight: 700; letter-spacing: .04em; border: 1px solid var(--border-2, var(--border)); color: var(--text-muted); }
.emp-tag.per { color: var(--accent); border-color: rgba(245,165,36,.55); } .emp-tag.tra { color: var(--text-secondary); }
.emp-barra { display: block; height: 8px; border-radius: 4px; background: var(--border); overflow: hidden; }
.emp-barra i { display: block; height: 100%; border-radius: 4px; } .emp-barra i.up { background: var(--critical-text, #ff6b6b); } .emp-barra i.dn { background: var(--good-text); }
.emp-fuente { margin-left: 8px; padding: 1px 7px; border: 1px solid rgba(245,165,36,.6); border-radius: 5px; font-size: 12px; letter-spacing: .08em; }
.emp-svg { width: 100%; height: auto; max-height: 420px; } .emp-bar.up { fill: var(--critical-text, #ff6b6b); } .emp-bar.dn { fill: var(--good-text); }
.ipc-tabla { min-width: 880px; } .ipc-tabla td { vertical-align: top; } .ipc-tabla td.que { min-width: 200px; font-size: 12px; }
.ipc-tabla tr.ipc-det td:first-child { padding-left: 22px; } .ipc-tabla tr.ipc-det b { font-weight: 500; } .ipc-tabla tr.ipc-tot td { background: rgba(255,255,255,.03); }
.ipc-lec { font-size: 12px; min-width: 210px; } .ipc-lec.up { color: var(--critical-text, #ff6b6b); } .ipc-lec.dn { color: var(--good-text); }

/* titular + resumen de la semana actual (titular_semana.js), arriba de Macro semanal */
.ts-semana .titular { font-size: 19px; line-height: 1.3; }
.ts-semana .ts-p { margin: 0; line-height: 1.6; color: var(--text-secondary); }

/* NFP · revisiones (6/11/2026) */
.nfp-rev { margin: 12px 0; }
.nfp-fila { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
.nfp-fila .nfp-cifra { color: var(--text-secondary); font-size: 13.5px; text-align: right; }
.nfp-fila .nfp-dif { min-width: 76px; text-align: right; }
.nfp-neto .nfp-mes { font-weight: 600; }
.nfp-lectura { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.nfp-lectura.mixta { border-left: 3px solid var(--t-ambar, #f3c04f); padding-left: 10px; }
@media (max-width: 480px) { .nfp-fila { grid-template-columns: minmax(0, 1fr) auto; } .nfp-fila .nfp-cifra { grid-column: 1 / -1; order: 3; text-align: left; } }
