/* Mercado del crédito · estilos propios del tablero (los demás vienen de /estilos.css).
   Paleta institucional de las series (pedido del usuario, 3/10/2026): sale de la identidad de Letra Grande (azul de datos #2F6AB0, celeste
   resaltador #5EB8EE, tinta #16181D, coral «por encima» #E5432B, ocre de aviso) y de Nina-labs (logo monocromo en tinta: aporta el gris
   grafito). Seis ranuras: --s1 azul · --s2 coral · --s3 grafito · --s4 celeste · --s5 ocre · --s6 azul marino. Validada: todo par con
   ΔE ≥ 15 bajo deuteranopia y protanopia (piso normal ≥ 17) sobre blanco; los pares azul / azul marino / grafito se apoyan en las etiquetas; --s4 y --s5 bajan de 3:1 de contraste, por eso cada gráfico
   lleva etiquetas directas en tinta y vista de tabla. El color sigue a la entidad (grandes siempre --s1…), nunca a la posición. */
.tasas { --s1: #5B93D8; --s2: #F0705A; --s3: #A9ADB6; --s4: #7CCBF5; --s5: #E8BD55; --s6: #9DB4D6; --ref: #8d8a84; --m-alerta: #fab219; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .tasas { --s1: #2F6AB0; --s2: #D93B23; --s3: #585C66; --s4: #4FB0E8; --s5: #D9A62B; --s6: #1C3A63; --ref: #898781; --m-alerta: #b8780a; --good: #0F7A43; } }
:root[data-theme="light"] .tasas { --s1: #2F6AB0; --s2: #D93B23; --s3: #585C66; --s4: #4FB0E8; --s5: #D9A62B; --s6: #1C3A63; --ref: #898781; --m-alerta: #b8780a; --good: #0F7A43; }  /* --good más hondo que el del sitio: el verde de la variación pasa AA (5:1) sobre blanco */

.doc.m-doc { max-width: 1040px; }
.m-hero { margin: 8px 0 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.m-hero b { font: 800 clamp(2.4rem, 6vw, 3.6rem)/1 var(--f-display); letter-spacing: -.03em; }
.m-hero span { color: var(--muted); font-size: .95rem; }
.m-hero .m-delta { font-weight: 600; color: var(--fg); }
.m-delta.up { color: var(--good); } .m-delta.down { color: var(--bad); }
.doc-cifras dd.largo { font-size: 1.05rem; line-height: 1.25; }
.doc-cifras dd small { display: block; font: 400 .78rem/1.3 var(--f-body); color: var(--muted); margin-top: 3px; }

.m-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 18px 0 10px; }
.m-flabel { font: 500 .66rem/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 4px 0 10px; }
.m-flabel:first-child { margin-left: 0; }
.tasas .m-f { font: 500 .84rem/1 var(--f-body); color: var(--fg); background: transparent; border: 1px solid var(--line-2); border-radius: var(--r-pill); padding: 7px 12px; cursor: pointer; }
.tasas .m-f:hover { border-color: var(--accent-text); }
.tasas .m-f:disabled { opacity: .45; cursor: not-allowed; border-color: var(--line-2); }  /* el plazo en UI: el BCU no lo abre */
.tasas .sin-plazo .m-f[data-plazo].on { background: transparent; color: var(--fg); border-color: var(--line-2); }
.tasas .m-f.on { background: var(--marca); color: var(--tinta); border-color: var(--marca); }

.m-fig { margin: 14px 0 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); padding: 16px 18px 12px; box-shadow: var(--shadow); }
.m-fig figcaption { font-size: .92rem; color: var(--muted); margin-bottom: 8px; line-height: 1.4; }
.m-fig figcaption b { color: var(--fg); }
.m-leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 2px 0 6px; padding: 0; list-style: none; font-size: .82rem; color: var(--muted); }
.m-leyenda li { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; }
.m-chart svg.m-llave, .m-llave { flex: none; display: block; width: 16px; height: 4px; overflow: visible; }  /* el contenedor .m-chart estira los svg al 100 %: la llave no */
.m-chart { position: relative; }
.m-chart svg { display: block; width: 100%; height: auto; font-family: var(--f-body); overflow: hidden; }
.m-chart svg:focus-visible { outline: 2px solid var(--marca); outline-offset: 4px; border-radius: 6px; }
.m-chart .grid line { stroke: var(--line); stroke-width: 1; shape-rendering: crispEdges; }
.m-chart .eje text { fill: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.m-chart .eje line { stroke: var(--line-2); shape-rendering: crispEdges; }
.m-chart .serie { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.m-chart .serie.ref { stroke: var(--ref); stroke-dasharray: 5 4; stroke-width: 1.6; }
.m-chart .fin circle { stroke: var(--surface); stroke-width: 2; }
.m-chart .fin text { fill: var(--fg); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.m-chart .fin text.ref { fill: var(--muted); font-weight: 500; }
.m-chart .cruz { stroke: var(--line-2); stroke-width: 1; shape-rendering: crispEdges; }
.m-chart .pto { stroke: var(--surface); stroke-width: 2; }
.m-chart .barra-label { fill: var(--fg); font-size: 12px; }
.m-chart .barra-val { fill: var(--fg); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.m-chart .umbral { stroke: var(--m-alerta); stroke-width: 1; stroke-dasharray: 3 3; }
.m-chart .umbral-t { fill: var(--muted); font-size: 10.5px; }
.m-chart .alerta-i { fill: var(--m-alerta); font-size: 11px; font-weight: 700; }
.m-tip { position: absolute; pointer-events: none; z-index: 3; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--r-small); padding: 8px 10px; font-size: .8rem; line-height: 1.45; box-shadow: var(--shadow); min-width: 150px; max-width: min(320px, 100%); display: none; }
.m-tip header { color: var(--muted); margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.m-tip div { display: flex; align-items: center; gap: 7px; }
.m-tip b { font-variant-numeric: tabular-nums; min-width: 5.5ch; text-align: right; white-space: nowrap; }
.m-tip span { color: var(--muted); }  /* el nombre entero, en dos renglones si hace falta: el tramo (< o ≥ 10.000 UI) no se puede perder */
.m-tip svg { flex-shrink: 0; }
.m-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.m-dos h4 { margin: 0 0 4px; font: 600 .86rem/1.3 var(--f-body); color: var(--fg); }
.m-fuente { font-size: .78rem; color: var(--muted); margin: 8px 0 0; line-height: 1.45; }
.m-fig details { margin-top: 8px; }
.m-fig summary { cursor: pointer; font-size: .82rem; color: var(--accent-text); }
.m-fig .tabla-wrap { margin-top: 8px; max-height: 320px; overflow: auto; border: 1px solid var(--line); border-radius: var(--r-small); }
.m-fig table { border-collapse: collapse; width: 100%; font-size: .8rem; font-variant-numeric: tabular-nums; }
.m-fig th, .m-fig td { padding: 5px 10px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.m-fig th:first-child, .m-fig td:first-child { text-align: left; position: sticky; left: 0; background: var(--surface); }
.m-fig thead th { position: sticky; top: 0; background: var(--surface-2); font: 500 .62rem/1.2 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.m-tabla td, .m-tabla th { text-align: right; }
.m-tabla th:first-child, .m-tabla td:first-child, .m-tabla td.txt { text-align: left; }
.m-tabla tbody th { text-align: left; }
.m-tabla .alerta { color: var(--m-alerta); font-weight: 600; }
.m-tabla tr.grupo th { background: var(--surface-2); font: 500 .66rem/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 10px; }
.m-pend h2 { color: var(--muted); }
.m-tag { display: inline-block; font: 500 .62rem/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tinta); background: var(--warn); padding: 4px 8px; border-radius: var(--r-pill); margin-left: 6px; vertical-align: middle; }
.m-sec { margin-top: 14px; }
.m-sec summary { cursor: pointer; color: var(--accent-text); font-size: .9rem; }
.m-sec table { margin: 10px 0; }
.m-calc { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-top: 14px; }
.m-calc label { display: grid; gap: 6px; font: 500 .72rem/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.m-calc label[hidden] { display: none; }
.tasas .m-calc select, .tasas .m-calc input { font: 500 1rem/1.3 var(--f-body); color: var(--fg); background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-field); padding: 10px 12px; width: 100%; min-width: 0; }
.tasas .m-calc select:focus, .tasas .m-calc input:focus { outline: 2px solid var(--marca); outline-offset: 1px; border-color: var(--marca); }
.m-resultado { margin-top: 16px; }
.m-resultado .doc-cifras dd { font-size: 1.6rem; }
.m-resultado .m-seg { margin: 10px 0 0; font-size: .92rem; color: var(--muted); }
.m-resultado .m-seg b { color: var(--fg); }
.m-resultado .err { color: var(--bad); font-weight: 500; }
@media (max-width: 760px) {
  .m-dos { grid-template-columns: 1fr; }
  .m-fig { padding: 12px 12px 10px; border-radius: var(--r-field); }
  .m-leyenda { font-size: .78rem; gap: 4px 12px; }
  /* en el celular, filtros y «Ver tabla» de 44 px de alto como mínimo, para el dedo */
  .tasas .m-f { min-height: 44px; padding: 12px 14px; }
  .m-fig summary { padding: 13px 0; }
  .tasas .doc-indice a { padding: 13px 14px; }
}
.m-tabla-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--r-field); }
.m-tabla-wrap .m-tabla { min-width: 900px; }
.m-tabla-wrap .m-tabla tbody th, .m-tabla-wrap .m-tabla thead th:first-child { position: sticky; left: 0; background: var(--surface); z-index: 1; box-shadow: 1px 0 0 var(--line); }
.m-tabla-wrap .m-tabla tr.grupo th { position: static; }
.m-calc .m-ayuda { font: 400 .74rem/1.35 var(--f-body); text-transform: none; letter-spacing: 0; color: var(--muted); }
.tasas .m-f[aria-pressed="true"] { background: var(--marca); color: var(--tinta); border-color: var(--marca); }
.m-aviso { margin: 10px 0 0; padding: 10px 14px; border-left: 3px solid var(--warn); background: var(--surface); border-radius: 0 var(--r-small) var(--r-small) 0; font-size: .9rem; }
@media (max-width: 760px) {
  /* tabla de la publicación: la primera columna (sticky) se angosta y parte el texto para que entren las cifras */
  .m-tabla-wrap .m-tabla { min-width: 0; font-size: .78rem; }
  .m-tabla-wrap .m-tabla tbody th { width: 36vw; min-width: 36vw; max-width: 36vw; white-space: normal; line-height: 1.25; font-size: .76rem; padding: 7px 8px; }
  .m-tabla-wrap .m-tabla thead th:first-child { width: 36vw; min-width: 36vw; }
  .m-tabla-wrap .m-tabla td { padding: 7px 8px; }
  .doc-cifras dd { font-size: 1.2rem; }
  .doc-cifras dd.largo { font-size: .98rem; }
  .m-hero b { font-size: clamp(2rem, 9vw, 2.6rem); }
}

/* sección 8 y nota mensual */
.m-nota-link { margin: 10px 0 0; font-size: .95rem; }
.m-nota-link a { color: var(--accent-text); font-weight: 600; text-decoration: none; }
.m-nota-link a:hover { text-decoration: underline; text-underline-offset: 3px; }
.m-rsf .m-tabla { min-width: 720px; }
.m-rsf td.txt { white-space: normal; max-width: 520px; line-height: 1.4; }
.m-rsf q, .m-citas q { quotes: "«" "»"; }
.m-pag { display: inline-block; font: 500 .66rem/1.2 var(--f-mono); letter-spacing: .04em; color: var(--muted); margin-left: 4px; }
.m-citas { margin: 10px 0 0; padding-left: 18px; font-size: .92rem; line-height: 1.5; }
.m-citas li { margin: 4px 0; }
@media (max-width: 760px) { .m-rsf .m-tabla { min-width: 0; } .m-rsf td.txt { max-width: none; } .m-tabla-wrap.m-rsf .m-tabla tbody th { width: 30vw; min-width: 30vw; max-width: 30vw; } }
.m-nota .doc-tabla th, .m-nota .doc-tabla td { white-space: normal; }
.m-nota .doc-tabla { font-variant-numeric: tabular-nums; }
.m-nota i { color: var(--muted); font-size: .9em; }
.m-metodologia h3 { margin-top: 18px; }
.m-metodologia pre { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-small); padding: 12px 14px; overflow-x: auto; font: 500 .82rem/1.5 var(--f-mono); }
.m-metodologia .doc-indice { margin: 4px 0 10px; }
.m-metodologia ul { padding-left: 20px; line-height: 1.55; }
.m-metodologia li { margin: 5px 0; }
.m-metodologia code { font: 500 .88em var(--f-mono); background: var(--surface-2); padding: 1px 5px; border-radius: 4px; }
.m-metodologia, .m-nota { min-width: 0; }
.m-metodologia > *, .m-nota > * { min-width: 0; max-width: 100%; }  /* en la grilla de .doc-cab, una tabla o un bloque de código ancho no debe ensanchar la página */
.m-metodologia .tabla-wrap, .m-nota .tabla-wrap { overflow-x: auto; }
.m-metodologia code, .m-metodologia h3, .m-metodologia p, .m-metodologia li { overflow-wrap: anywhere; }
.m-metodologia .doc-tabla code { white-space: nowrap; overflow-wrap: normal; }  /* los nombres de archivo no se parten por la mitad */
.m-metodologia .doc-tabla th:first-child, .m-metodologia .doc-tabla td:first-child { min-width: 9rem; }
.m-metodologia .tabla-wrap { position: relative; }
.m-metodologia .tabla-wrap::after { content: "deslizá para ver más →"; display: none; font: 500 .66rem/1 var(--f-mono); letter-spacing: .06em; color: var(--muted); margin: 6px 0 0; }
@media (max-width: 760px) { .m-metodologia .tabla-wrap::after { display: block; } }
.m-chart .marca { stroke: var(--ref); stroke-width: 1; stroke-dasharray: 2 3; }
.m-chart .marca-t { fill: var(--muted); font-size: 10px; }
/* firma de cada gráfico (pedido del dueño, 14/10/2026): el logo de Letra Grande en la misma fila que la fuente de los datos */
.m-firma { display: flex; align-items: flex-start; gap: 12px; margin: 10px 0 0; }
.m-firma .m-logo { flex: none; height: 16px; width: auto; margin-top: 1px; color: var(--fg); opacity: .8; }
.m-firma .m-fuente { margin: 0; }
@media (max-width: 640px) { .m-firma { flex-wrap: wrap; gap: 6px 12px; } .m-firma .m-fuente { flex-basis: 100%; } }
