@page {
  size: letter;
  margin: 0.72in 0.6in 0.65in 0.6in;
  @top-left { content: "Cuaderno de práctica · Matemáticas " string(grado); font: 600 8pt "Poppins"; color: #1F3A5F; }
  @top-right { content: string(semana); font: 500 8pt "Inter"; color: #4A5A6A; }
  @bottom-left { content: string(rotulo) "\A Producido por: Prof. Jesús J. Bonilla López · Facilitador Docente de Matemáticas · ORE Caguas"; white-space: pre; font: 500 7.5pt/1.45 "Inter"; color: #6A7785; }
  @bottom-right { content: counter(page); font: 600 8.5pt "Poppins"; color: #1F3A5F; }
}
@page portada { @top-left { content: none; } @top-right { content: none; } @bottom-left { content: none; } @bottom-right { content: none; } }

:root {
  --navy: #1F3A5F; --teal: #0E6E6C; --teal-l: #E7F2F1; --amber: #B86E00; --amber-l: #FDF3E1;
  --ink: #1B2430; --mut: #5B6876; --rule: #C9D3DC; --paper: #F6F8FA;
}
* { box-sizing: border-box; }
html { font-family: "Inter", "DejaVu Sans"; font-size: 10.5pt; color: var(--ink); line-height: 1.42; }
h1, h2, h3, h4 { font-family: "Poppins"; color: var(--navy); margin: 0; line-height: 1.2; }
p { margin: 0 0 6pt; }
b { font-weight: 650; }
.m { white-space: nowrap; font-variant-numeric: lining-nums; }
.var { font-family: "Lora"; font-style: italic; font-weight: 500; font-size: 1.08em; }
sup { font-size: 0.68em; line-height: 0; vertical-align: 0.55em; }
.hl { border-bottom: 1.6pt solid var(--amber); padding-bottom: 0.5pt; }

/* ---------- portada */
.portada { page: portada; height: 9.55in; position: relative; display: flex; flex-direction: column; }
.portada .franja { background: var(--navy); color: white; padding: 0.55in 0.5in 0.45in; border-radius: 10pt; }
.portada .eyebrow { font: 600 10pt "Poppins"; letter-spacing: 2pt; text-transform: uppercase; color: #9FD3CF; }
.portada h1 { color: white; font-size: 38pt; font-weight: 700; margin-top: 6pt; }
.portada .sub { font: 500 15pt "Poppins"; color: #DCE7F0; margin-top: 4pt; }
.campos { margin: 0.35in 0 0.25in; display: grid; grid-template-columns: 1fr 1fr; gap: 16pt 24pt; }
.campo { border-bottom: 1pt solid var(--ink); padding-top: 14pt; font-size: 9pt; color: var(--mut); }
.campo.ancho { grid-column: span 2; }
.indice h3 { font-size: 12pt; margin-bottom: 6pt; }
table { border-collapse: collapse; width: 100%; }
.indice td, .indice th { border-bottom: 0.6pt solid var(--rule); padding: 5pt 6pt; text-align: left; font-size: 9.5pt; }
.indice th { font: 600 8.5pt "Poppins"; color: var(--mut); text-transform: uppercase; letter-spacing: 0.6pt; }
.indice td.pg::after { content: target-counter(attr(data-href), page); }
.uso { margin-top: 14pt; background: var(--paper); border-radius: 8pt; padding: 12pt 14pt; font-size: 9.5pt; }
.uso h3 { font-size: 11pt; margin-bottom: 5pt; }
.uso ol { margin: 0; padding-left: 16pt; }

/* ---------- apertura de semana */
.semana { break-before: page; }
section.semana { string-set: grado attr(data-grado), semana attr(data-semana), rotulo attr(data-rotulo); }
.banda { background: var(--teal); color: white; border-radius: 9pt; padding: 14pt 18pt; display: flex; justify-content: space-between; align-items: flex-end; }
.banda .n { font: 700 11pt "Poppins"; letter-spacing: 1.5pt; text-transform: uppercase; color: #CFEAE7; }
.banda h1 { color: white; font-size: 24pt; margin-top: 2pt; }
.banda .meta { font-size: 9pt; color: #E3F2F1; margin-top: 3pt; }
.banda .fecha { font-size: 9pt; text-align: right; min-width: 1.7in; }
.banda .fecha span { display: block; border-bottom: 1pt solid white; height: 14pt; margin-top: 2pt; }
.indicador { margin: 12pt 0 10pt; border: 1.2pt solid var(--navy); border-radius: 8pt; padding: 10pt 14pt; display: flex; gap: 12pt; }
.indicador .cod { font: 700 13pt "Poppins"; color: var(--navy); white-space: nowrap; }
.indicador .cod small { display: block; font: 500 8pt "Inter"; color: var(--mut); }
.indicador .txt { font-size: 11pt; }
.evid { font-size: 9.5pt; margin: 0 0 4pt; padding: 0; list-style: none; columns: 2; column-gap: 18pt; }
.evid li { padding-left: 14pt; position: relative; margin-bottom: 3pt; break-inside: avoid; }
.evid li::before { content: "✓"; position: absolute; left: 0; color: var(--teal); font-weight: 700; }

h2.sec { font-size: 14pt; margin: 14pt 0 7pt; display: flex; align-items: center; gap: 8pt; }
h2.sec .chip { font: 700 10pt "Poppins"; background: var(--navy); color: white; border-radius: 5pt; padding: 2pt 8pt; }
h2.sec.parte { break-before: page; margin-top: 0; }
.instr { font-size: 9.5pt; color: var(--mut); margin: -2pt 0 8pt; }

.pasos-orden { display: flex; gap: 6pt; margin: 6pt 0 8pt; }
.escalon { flex: 1; background: var(--teal-l); border-radius: 7pt; padding: 8pt 9pt; font-size: 9pt; border-top: 3pt solid var(--teal); }
.escalon .num { font: 700 15pt "Poppins"; color: var(--teal); line-height: 1; }
.escalon h4 { font-size: 9.5pt; margin: 3pt 0 3pt; }
.cuidado { background: var(--amber-l); border-left: 4pt solid var(--amber); border-radius: 0 7pt 7pt 0; padding: 8pt 12pt; font-size: 9.5pt; margin: 8pt 0; }
.cuidado b:first-child { color: var(--amber); }
.dos { display: flex; gap: 14pt; }
.dos > div { flex: 1; }
.vocab td { padding: 4pt 6pt; border-bottom: 0.6pt solid var(--rule); font-size: 9pt; vertical-align: top; }
.vocab td:first-child { font-weight: 650; color: var(--navy); width: 34%; }
.caja { background: var(--paper); border-radius: 7pt; padding: 8pt 12pt; font-size: 9.5pt; }
.caja h4 { font-size: 10pt; margin-bottom: 4pt; }
.caja ol { margin: 0; padding-left: 15pt; }

/* ---------- ejemplos */
.ejemplos { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9pt; }
.ej { border: 0.8pt solid var(--rule); border-radius: 7pt; padding: 8pt 11pt; break-inside: avoid; }
.ej .t { overflow-wrap: anywhere; font: 600 8.5pt "Poppins"; color: var(--teal); text-transform: uppercase; letter-spacing: 0.5pt; }
.ej .dado { font-size: 11.5pt; margin: 3pt 0 4pt; }
.pasos { margin: 0; padding: 0; list-style: none; font-size: 11pt; }
.pasos li { padding: 1.2pt 0; }
.pasos li .eq { display: inline-block; width: 13pt; color: var(--mut); }
.pasos li.fin { font-weight: 700; }
.ej .nota { font-size: 8.5pt; color: var(--mut); margin-top: 4pt; border-top: 0.6pt dashed var(--rule); padding-top: 3pt; }
.ej.error { grid-column: span 2; background: #FFF9F5; }
.mal li { text-decoration: line-through; text-decoration-color: #B23B2E; color: #6E3A33; }
.marca { font: 700 9pt "Poppins"; }
.marca.no { color: #B23B2E; } .marca.si { color: var(--teal); }

/* ---------- Parte A */
.practica { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8pt 10pt; }
.pr { border: 0.8pt solid var(--rule); border-radius: 6pt; padding: 6pt 9pt 7pt; height: 2.05in; display: flex; flex-direction: column; break-inside: avoid; }
.pr .cab { display: flex; gap: 7pt; align-items: baseline; font-size: 12pt; }
.pr .k { font: 700 9pt "Poppins"; background: var(--navy); color: white; border-radius: 50%; width: 17pt; height: 17pt; text-align: center; line-height: 17pt; flex: none; }
.pr .para { font-size: 9.5pt; color: var(--mut); }
.renglones { flex: 1; margin-top: 3pt; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='20'><line x1='0' y1='19.5' x2='10' y2='19.5' stroke='%23CDD5DD' stroke-width='0.8'/></svg>"); background-size: 100% 20pt; background-repeat: repeat; }
.resp { align-self: flex-end; font-size: 8.5pt; color: var(--mut); display: flex; align-items: center; gap: 5pt; }
.resp span { display: inline-block; width: 0.95in; height: 19pt; border: 1.1pt solid var(--navy); border-radius: 4pt; }

/* ---------- Parte B */
.sm { columns: 2; column-gap: 18pt; }
.it { break-inside: avoid; margin-bottom: 9pt; padding-bottom: 7pt; border-bottom: 0.6pt solid var(--rule); font-size: 9.8pt; }
.it .q { display: flex; gap: 6pt; }
.it .q .k { font: 700 9pt "Poppins"; color: var(--navy); min-width: 16pt; }
.ops { margin: 5pt 0 0 22pt; padding: 0; list-style: none; }
.ops li { margin: 3pt 0; display: flex; align-items: center; gap: 6pt; }
.burbuja { width: 14pt; height: 14pt; border: 1pt solid var(--navy); border-radius: 50%; font: 600 7.5pt "Poppins"; color: var(--navy); text-align: center; line-height: 12.5pt; flex: none; }
.borrador { height: 0.45in; margin: 4pt 0 0 22pt; border: 0.6pt dashed var(--rule); border-radius: 4pt; font-size: 7pt; color: #9AA6B2; padding: 2pt 4pt; }

/* ---------- Parte C */
.ciclo { display: flex; gap: 5pt; margin-bottom: 8pt; }
.ciclo div { flex: 1; text-align: center; font-size: 8.5pt; background: var(--teal-l); border-radius: 5pt; padding: 4pt; }
.ciclo b { display: block; font: 600 9pt "Poppins"; color: var(--teal); }
.prob { break-inside: avoid; border: 1pt solid var(--navy); border-radius: 8pt; padding: 10pt 13pt; margin-bottom: 10pt; }
.prob h3 { font-size: 12pt; display: flex; gap: 8pt; align-items: center; }
.prob h3 .k { font: 700 10pt "Poppins"; background: var(--navy); color: white; border-radius: 5pt; padding: 1pt 7pt; }
.prob .ctx { font-size: 10pt; margin: 6pt 0 4pt; }
.prob .parte-p { font-size: 10pt; margin-top: 6pt; display: flex; gap: 6pt; }
.prob .parte-p .l { font-weight: 700; color: var(--teal); }
.prob .renglones { height: 1.62in; flex: none; }
.prob.alto .renglones { height: 1.55in; }

/* ---------- autoevaluación */
.auto td, .auto th { border: 0.6pt solid var(--rule); padding: 5pt 7pt; font-size: 9.5pt; }
.auto th { background: var(--paper); font: 600 8.5pt "Poppins"; color: var(--navy); }
.auto td.c { text-align: center; width: 0.9in; font-size: 12pt; color: var(--mut); }

/* ---------- clave docente */
.docente-tag { display: inline-block; font: 700 8pt "Poppins"; letter-spacing: 1pt; text-transform: uppercase; background: var(--amber); color: white; border-radius: 4pt; padding: 2pt 7pt; }
.clave-a { columns: 3; column-gap: 12pt; }
.clave-a .ej { margin-bottom: 7pt; padding: 6pt 8pt; }
.clave-a .pasos { font-size: 9.5pt; }
.clave-b td, .clave-b th { border-bottom: 0.6pt solid var(--rule); padding: 4pt 6pt; font-size: 9pt; vertical-align: top; text-align: left; }
.clave-b th { font: 600 8.5pt "Poppins"; color: var(--mut); }
.clave-b td.l { font: 700 11pt "Poppins"; color: var(--teal); width: 0.45in; text-align: center; }
.clave-c .prob .renglones { display: none; }
.clave-c .sol { background: var(--teal-l); border-radius: 5pt; padding: 4pt 8pt; margin: 3pt 0 0 14pt; font-size: 9.5pt; }
.dias td { border-bottom: 0.6pt solid var(--rule); padding: 4pt 6pt; font-size: 9.5pt; vertical-align: top; }
.dias td:first-child { font-weight: 650; color: var(--navy); width: 0.9in; }
ul.lista { margin: 2pt 0 6pt; padding-left: 15pt; font-size: 9.5pt; }

.logos { display: flex; justify-content: space-between; align-items: center; margin: -0.3in 0 14pt; height: 1.08in; }
.logos img { width: auto; }
.logos img.de { height: 0.82in; }
.logos img.ore { height: 1.05in; }
.credito { position: absolute; left: 0; right: 0; bottom: 0; padding-top: 6pt; border-top: 0.8pt solid var(--rule); font-size: 8.5pt; color: var(--mut); text-align: center; }

/* ---------- genéricos v2 */
h3.bt { font-size: 11pt; margin: 6pt 0 3pt; }
.caja.teal { background: var(--teal-l); margin-top: 8pt; }
.dos > div > .caja + .caja { margin-top: 8pt; }
.figura { text-align: center; margin: 4pt 0; }
.figura svg { display: inline-block; }
.figura .pie { font-size: 8.5pt; color: var(--mut); margin-top: 2pt; }
.figura.comun { break-inside: avoid; border: 0.8pt solid var(--rule); border-radius: 7pt; padding: 6pt; margin-bottom: 10pt; }
.lado { display: flex; gap: 10pt; align-items: flex-start; }
.lado > div:first-child { flex: 1; }
.ej.ancho { grid-column: span 2; }
.pr.ancho { grid-column: span 2; height: auto; min-height: 2.05in; }
.pr.ancho .lado { flex: 1; }
.pr.ancho .lado .renglones { align-self: stretch; }
.grupo { grid-column: span 2; border: 0.8pt solid var(--rule); border-radius: 6pt; padding: 8pt 10pt; break-inside: avoid; }
.gins { font-size: 9.5pt; font-weight: 600; color: var(--navy); margin-bottom: 4pt; }
.gitems { flex: 1; }
.gi { display: flex; gap: 7pt; align-items: baseline; font-size: 10.5pt; padding: 6pt 0; border-bottom: 0.6pt solid var(--rule); }
.gi .k { font: 700 9pt "Poppins"; background: var(--navy); color: white; border-radius: 50%; width: 17pt; height: 17pt; text-align: center; line-height: 17pt; flex: none; }
.tabla { margin: 4pt 0 8pt; }
.tabla th { font: 600 8.5pt "Poppins"; color: white; background: var(--teal); padding: 4pt 6pt; text-align: left; }
.tabla td { border-bottom: 0.6pt solid var(--rule); padding: 4pt 6pt; font-size: 9.2pt; vertical-align: top; }
table.vert { width: auto; font: 500 12pt "Inter"; font-variant-numeric: tabular-nums; margin: 2pt 0 2pt 14pt; border-collapse: collapse; }
table.vert td { padding: 0 2pt; text-align: right; }
table.vert td.op { color: var(--mut); padding-right: 6pt; }
table.vert tr.ult td { border-bottom: 1.2pt solid var(--ink); }
table.vert tr.tot td { font-weight: 700; }
.pasos li.bloque { padding: 2pt 0; }
.frac { display: inline-block; vertical-align: middle; text-align: center; font-size: 0.92em; margin: 0 1pt; }
.frac > span { display: block; padding: 0 2pt; line-height: 1.15; }
.frac > span:first-child { border-bottom: 0.9pt solid currentColor; }
.clave-fig { break-inside: avoid; margin-bottom: 8pt; }
.prob.con-fig .figura { margin: 2pt 0 4pt; }
.sis { display: inline-block; vertical-align: middle; border-left: 1.3pt solid var(--ink); border-radius: 5pt 0 0 5pt; padding: 1pt 0 1pt 6pt; margin: 2pt 2pt; line-height: 1.45; text-align: left; }
table.inds td { border-bottom: 0.6pt solid var(--rule); padding: 5pt 6pt; font-size: 9.5pt; vertical-align: top; }
table.inds td.cod { font: 700 10pt "Poppins"; color: var(--navy); white-space: nowrap; width: 0.9in; }
.mapa .indice td.pg::after { content: target-counter(attr(data-href), page); }
.mapa p { font-size: 9.5pt; }
.mapa .indice td, .mapa .indice th { padding: 3.5pt 5pt; font-size: 8.8pt; }
.mapa table.inds td { padding: 3pt 5pt; font-size: 8.3pt; line-height: 1.32; }
.mapa table.inds td.cod { font-size: 8.8pt; }
section.mapa, section.anejos { string-set: grado attr(data-grado), semana attr(data-semana), rotulo attr(data-rotulo); }
.mapa .indice td:first-child { white-space: nowrap; }
.indicador { margin: 7pt 0 6pt; padding: 7pt 12pt; }
.indicador .txt { font-size: 10pt; }
h2.sec { break-after: avoid; }
p.instr { break-after: avoid; }
.en { font-style: italic; color: #3D4E61; }
.clave-c .sol .sol-en { margin-top: 3pt; padding-top: 3pt; border-top: 0.6pt dashed var(--rule); }
.prob.con-fig .renglones { height: 1.2in; }

/* notación de geometría (5.º U4) */
.gseg, .gray, .glin { display: inline-block; position: relative; font-weight: 600; padding-top: 0.32em; line-height: 1; }
.gseg::before, .gray::before, .glin::before { position: absolute; left: 0; right: 0; top: -0.28em; text-align: center; font: 600 0.78em "DejaVu Sans"; line-height: 1; }
.gseg::before { content: ""; top: 0.12em; border-top: 1.2px solid currentColor; }
.gray::before { content: "⟶"; }
.glin::before { content: "⟷"; }
.gang { font-weight: 600; white-space: nowrap; }
.sim { font-family: "DejaVu Sans"; }
table.tabla td svg.fig { display: block; margin: 0 auto; }
table.tabla { break-inside: avoid; }
h3.bt { break-after: avoid; }
.pr.ancho { margin: 8pt 0; }
.practica:empty { display: none; }
.practica { break-inside: avoid; margin-bottom: 8pt; }
.practica + .pr.ancho, .pr.ancho + .practica { margin-top: 0; }
table.tv { width: auto; border-collapse: collapse; margin: 4pt 0 2pt; font: 500 10.5pt Inter; display: inline-table; vertical-align: middle; }
table.tv td { border: 0.8pt solid var(--ink); padding: 2pt 9pt; text-align: center; min-width: 18pt; }
table.tv td:first-child { background: #E4ECEB; font-weight: 700; font-family: Lora; font-style: italic; }

section.modulo, section.unidad, section.intro, section.prueba { string-set: grado attr(data-grado), semana attr(data-semana), rotulo attr(data-rotulo); }
section.unidad { break-before: right; }
section.intro { break-before: page; }
section.intro.k { break-before: page; }
section.prueba { break-before: right; }
section.prueba.hoja { break-before: page; }
section.modulo { break-before: auto; margin-top: 16pt; }
section.unidad + section.modulo { margin-top: 0; break-before: page; }
.mcab, h2.sec { break-after: avoid; }
.inicio, .mcab, .ejemplos { break-inside: avoid; }
.portada h1.largo { font-size: 27pt; line-height: 1.12; }
.portada .sub { font-size: 12.5pt; line-height: 1.35; margin-top: 8pt; }
.mcab { display: flex; gap: 12pt; border: 1.4pt solid var(--navy); border-radius: 9pt; padding: 9pt 13pt; margin-bottom: 4pt; }
.mcab .mcod { font: 700 17pt "Poppins"; color: white; background: var(--navy); border-radius: 6pt; padding: 6pt 9pt; white-space: nowrap; align-self: flex-start; line-height: 1.1; }
.mcab .mcod small { display: block; font: 500 7.5pt "Inter"; color: #CFE0EE; margin-top: 2pt; }
.mcab h1 { font-size: 15pt; }
.mcab .oficial { font-size: 8.8pt; color: var(--mut); margin-top: 3pt; line-height: 1.35; }
.tags { margin-top: 5pt; }
.tag { display: inline-block; font: 600 7.5pt "Poppins"; letter-spacing: 0.4pt; text-transform: uppercase; border: 0.8pt solid var(--teal); color: var(--teal); border-radius: 4pt; padding: 1pt 6pt; margin-right: 4pt; }
.tag.refuerzo { background: var(--amber); border-color: var(--amber); color: white; }
.tag.breve { background: var(--paper); border-color: var(--mut); color: var(--mut); }
.tag.mini { font-size: 6.5pt; padding: 0 4pt; }
.cuenta { font: 500 9pt "Inter"; color: var(--mut); }
h2.sec { margin: 10pt 0 5pt; font-size: 12.5pt; }
.pasos-orden .escalon { font-size: 8.8pt; }
.lado-es { display: flex; gap: 12pt; align-items: flex-start; }
.lado-es > div { flex: 1; }
.fila { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8pt; margin-bottom: 8pt; break-inside: avoid; }
.fila.uno { grid-template-columns: minmax(0,1fr); }
.cx { border: 0.8pt solid var(--rule); border-radius: 7pt; padding: 6pt 10pt 7pt; font-size: 10.3pt; display: flex; flex-direction: column; min-height: 1.8in; }
.cx .q { display: flex; gap: 7pt; }
.cx .q .k { font: 700 9pt "Poppins"; background: var(--navy); color: white; border-radius: 50%; width: 17pt; height: 17pt; text-align: center; line-height: 17pt; flex: none; }
.cx .ops { margin: 5pt 0 0 24pt; }
.cx .espacio { flex: 1; min-height: 0.42in; margin: 4pt 0 0 24pt; border: 0.6pt dashed var(--rule); border-radius: 4pt; }
.cx .espacio::before { content: "Mis cálculos"; font-size: 6.8pt; color: #9AA6B2; padding: 1pt 4pt; display: block; }
.cx.corta .espacio { min-height: 0.75in; }
.fila.uno .cx { min-height: 0; }
.fila.uno .ops { columns: 2; column-gap: 14pt; }
.fila.uno .ops li { break-inside: avoid; }
.fila.uno .espacio { min-height: 0.5in; }
.caja-r { align-self: flex-end; margin-top: 6pt; font: 600 8.5pt "Poppins"; color: var(--navy); display: flex; align-items: center; gap: 6pt; }
.caja-r span { display: inline-block; width: 1.25in; height: 22pt; border: 1.3pt solid var(--navy); border-radius: 4pt; }
.cx.abierta .renglones { height: 1.2in; flex: none; }
.cx .figura { margin: 4pt 0 0 24pt; text-align: left; }
.ej .figura { text-align: left; }
.fin-unidad { break-inside: avoid; margin-top: 14pt; }
.ej .dado { font-size: 10.5pt; }
.pasos { font-size: 10pt; }
.indice td.c, .indice th.c { text-align: center; }
.indice td.cod { font: 700 9.5pt "Poppins"; color: var(--navy); white-space: nowrap; }
.idx td, .idx th { padding: 2.6pt 5pt !important; font-size: 8.8pt !important; }
.idx tr.ui td { background: var(--paper); color: var(--navy); font-size: 9.2pt !important; padding-top: 5pt !important; }
.nota-legal { font-size: 8pt; color: var(--mut); margin-top: 10pt; border-top: 0.6pt solid var(--rule); padding-top: 5pt; }
.nota-legal p { margin: 0 0 4pt; }
/* prueba */
section.prueba .cx { min-height: 0; padding-bottom: 8pt; }
section.prueba .cx.corta .espacio-p { height: 0.35in; }
section.prueba h2.parte2 { break-before: page; }
.hcs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14pt; grid-auto-flow: row; }
.hc { display: flex; align-items: center; gap: 5pt; border-bottom: 0.6pt solid var(--rule); padding: 3.2pt 0; }
.hc b { font: 700 9pt "Poppins"; color: var(--navy); width: 18pt; text-align: right; }
.hc .burbuja { width: 15pt; height: 15pt; line-height: 13.5pt; }
.caja-h { display: inline-block; width: 1.05in; height: 16pt; border: 1.2pt solid var(--navy); border-radius: 3pt; }
.abierta-h { font-size: 7.5pt; color: var(--mut); font-style: italic; }
/* clave */
.clave .caja { margin: 6pt 0; font-size: 9pt; }
.caja.ref { background: var(--amber-l); }
table.clave-t { margin-top: 6pt; table-layout: fixed; }
table.clave-t.cont { margin-top: 0; }
table.clave-t th:nth-child(1) { width: 0.3in; } table.clave-t th:nth-child(2) { width: 0.7in; } table.clave-t th:nth-child(3) { width: 0.95in; }
table.clave-t td.n { width: 0.3in; } table.clave-t td.l { width: 0.7in; } table.clave-t td.t { width: 0.95in; }
table.clave-t th { font: 600 8pt "Poppins"; color: white; background: var(--navy); padding: 4pt 6pt; text-align: left; }
table.clave-t td { border-bottom: 0.6pt solid var(--rule); padding: 3.5pt 6pt; font-size: 8.6pt; vertical-align: top; }
table.clave-t tr { break-inside: avoid; }
table.clave-t td.n { font: 700 10pt "Poppins"; color: var(--navy); width: 0.3in; }
table.clave-t td.l { font: 700 12pt "Poppins"; color: var(--teal); width: 0.7in; }
table.clave-t td.t { width: 0.95in; color: var(--mut); font-size: 8pt; }
ul.dist { margin: 0; padding: 0; list-style: none; }
ul.dist li { margin-bottom: 1.5pt; }
ul.dist li.ok { color: var(--teal); font-weight: 600; }
table.rub td { border: 0.6pt solid var(--rule); padding: 2pt 5pt; font-size: 8.3pt; }
table.rub td.p { font-weight: 700; width: 0.3in; text-align: center; }
table.tabla.resumen, table.tabla.rem { break-inside: auto; }
table.resumen tr, table.rem tr { break-inside: avoid; }
table.resumen td.c, table.rem td.c { text-align: center; }
table.resumen td.cod, table.rem td.cod { font-weight: 700; color: var(--navy); white-space: nowrap; }
table.resumen td, table.rem td { font-size: 8.4pt; padding: 2.4pt 5pt; }
section.modulo.clave { break-before: auto; margin-top: 18pt; }
section.unidad.k + section.modulo.clave { break-before: page; margin-top: 0; }
.clave .inicio { break-inside: avoid; }
table.clave-t thead { display: table-header-group; }
table.area { border-collapse: collapse; width: auto; font: 500 10pt "Inter"; margin: 2pt 0; }
table.area td { border: 1pt solid var(--navy); text-align: center; padding: 5pt 11pt; background: #F2F5F8; font-weight: 600; }
table.area td.h { border: none; background: none; color: var(--mut); font-weight: 600; padding: 2pt 6pt; }
table.picto { width: auto; border-collapse: collapse; margin: 2pt 0; font-size: 9.5pt; }
table.picto th { font: 600 9pt "Poppins"; color: var(--navy); text-align: left; padding: 2pt 4pt; }
table.picto td { border: 0.6pt solid var(--rule); padding: 2pt 6pt; }
table.picto td.pc { font-weight: 600; }
table.picto .pic { font-family: "DejaVu Sans"; letter-spacing: 1pt; color: #3D5A73; }
table.picto .medio { display: inline-block; width: 0.5em; overflow: hidden; vertical-align: bottom; }
table.picto td.clave { font-size: 8.5pt; color: var(--mut); border: none; }
table.conteo td.mk { font-family: "DejaVu Sans"; letter-spacing: 0.5pt; }
table.conteo .tg { text-decoration: line-through; }
.fila-fig { display: inline-flex; gap: 6pt; }
.fila-fig svg { display: inline-block; }
.angs, .solidos { display: flex; gap: 10pt; justify-content: space-around; text-align: center; font-size: 9pt; margin: 4pt 0; }
.angs > div, .solidos > div { flex: 1; }
.angs svg, .solidos svg { display: block; margin: 0 auto 2pt; }
.arbol { background: var(--paper); border-radius: 7pt; padding: 8pt 12pt; font-size: 10pt; line-height: 1.6; }
.cuidado.con-coqui { display: flex; gap: 8pt; align-items: center; }
.cuidado.con-coqui img.cq { height: 0.62in; flex: none; margin: -4pt 0; }
.cq-box { display: flex; gap: 8pt; align-items: center; margin: 2pt 0 7pt; break-inside: avoid; }
.cq-box img { height: 0.72in; flex: none; }
.cq-box.grande img { height: 1.05in; }
.cq-box.chico { margin: 0 0 5pt; }
.cq-box.chico img { height: 0.5in; }
.cq-box.chico .cq-globo { padding: 3pt 9pt; font-size: 8.8pt; }
.cq-globo { position: relative; border: 1.2pt solid #4C86AF; border-radius: 9pt; padding: 5pt 10pt; font-size: 9.2pt; background: white; }
.cq-globo::before { content: ""; position: absolute; left: -7pt; top: 50%; margin-top: -5pt; border: 5pt solid transparent; border-right: 7pt solid #4C86AF; border-left: 0; }
.cq-globo b { color: var(--navy); }
section.notas-pg { break-before: page; page: notas; }
@page notas { background: url("") no-repeat; background-position: 0.6in 0.85in; background-size: 7.3in 9in; }

.npv { display: inline-flex; align-items: flex-end; gap: 2pt; vertical-align: middle; margin: 2pt 0; }
.dg { display: inline-block; border: 1pt solid; border-radius: 4pt; font: 700 13pt "Poppins"; width: 19pt; text-align: center; line-height: 22pt; }
.dg.g { font-size: 18pt; width: 26pt; line-height: 30pt; }
.dg.foco { outline: 2.2pt solid #B86E00; outline-offset: 1.5pt; }
.npv .sep { font: 700 14pt "Poppins"; color: #1B2430; }
table.pvc { border-collapse: separate; border-spacing: 2pt; width: auto; margin: 3pt 0; }
table.pvc th { color: white; font: 600 6.8pt "Poppins"; padding: 2pt 4pt; line-height: 1.15; border-radius: 3pt; text-align: center; }
table.pvc td { text-align: center; font: 700 13pt "Poppins"; padding: 2pt; border-radius: 3pt; }
table.pvc td.foco { box-shadow: inset 0 0 0 2pt #B86E00; }
table.pvc tr.v td { font: 500 7pt "Inter"; padding: 0; }
table.pvc.ancha th { font-size: 5.8pt; padding: 2pt 2pt; }
table.pvc.ancha tr.v td { font-size: 5.6pt; white-space: nowrap; }
.ej table.pvc { border-spacing: 1.5pt; }
.ej table.pvc th { font-size: 5.4pt; padding: 1.5pt 1.5pt; }
.ej table.pvc td { font-size: 10.5pt; }
.ej table.pvc tr.v td { font-size: 5.4pt; }
.tpv { display: inline-block; border: 1pt solid; border-radius: 4pt; padding: 0 4pt; font-weight: 700; line-height: 1.5; }
.tpv.foco { box-shadow: 0 0 0 1.8pt #B86E00; }
b.op { font-weight: 800; }
.res { border: 1.3pt solid; border-radius: 4pt; padding: 0 4pt; font-weight: 800; }
.dato { background: #FFF1A8; padding: 0 2pt; border-radius: 2pt; }
.preg { text-decoration: underline; text-decoration-color: #8E2C7A; text-decoration-thickness: 1.6pt; text-underline-offset: 2pt; color: #4A1846; font-weight: 600; }
table.colc { border-collapse: separate; border-spacing: 2pt 0; width: auto; font: 600 12.5pt "Inter"; font-variant-numeric: tabular-nums; margin: 2pt 0; }
table.colc td { text-align: center; width: 17pt; padding: 1pt 0; }
table.colc tr.cab td { color: white; font: 600 6pt "Poppins"; border-radius: 3pt 3pt 0 0; padding: 0; }
table.colc tr.lleva td { font-size: 8pt; line-height: 1; }
table.colc td.op { font: 800 14pt "Poppins"; width: 13pt; background: none; }
table.colc tr.ult td { border-bottom: 1.5pt solid #1B2430; }
table.colc tr.ult td.op { border-bottom: none; }
table.colc tr.tot td { font-weight: 800; }
.galera { display: inline-block; font: 600 13pt "Inter"; vertical-align: middle; margin: 2pt 4pt; }
.galera .gq { text-align: right; font-weight: 800; padding-right: 3pt; }
.galera .gfila { display: flex; }
.galera .gdv { font-weight: 800; padding: 0 5pt 0 2pt; }
.galera .gdd { background: #E9EDF1; border-left: 1.6pt solid #1B2430; border-top: 1.6pt solid #1B2430; border-radius: 6pt 0 0 0; padding: 0 5pt 0 6pt; }
.galera .gres { font-size: 9pt; text-align: right; }
.frac { display: inline-block; vertical-align: middle; text-align: center; font-size: 0.95em; margin: 0 1pt; line-height: 1.1; }
.frac > span { display: block; padding: 0 2pt; }
.frac > span:first-child { border-bottom: 1pt solid currentColor; }
.fe { font-weight: 600; margin-right: 1pt; }
.cc-ops { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6pt; }
.cc-op { border: 0.8pt solid var(--rule); border-radius: 6pt; padding: 5pt 7pt; text-align: center; }
.cc-op b { display: block; font: 800 22pt "Poppins"; line-height: 1.1; }
.cc-op span { display: block; font: 600 9.5pt "Poppins"; }
.cc-op small { display: block; font-size: 7.6pt; color: var(--mut); }
.cc-ej { font-size: 11pt; margin: 6pt 0 2pt; text-align: center; }
.cc-pv p, .cc-n { font-size: 9pt; }
.cc-p { font-size: 10.5pt; margin: 3pt 0; }
