/* NOMBRE_APP · simulacro: configuración, examen en curso e informe (sección 3).
   Fase 4: hojas blancas redondeadas sobre el papel, píldoras para lo que se pulsa y cifras en Literata.
   El examen se parece a una hoja de examen: la pregunta manda, el reloj y la hoja de
   respuestas están siempre a mano y nada más compite por la atención. */

/* ── Configuración ────────────────────────────────────────────────────── */
.sim { display: grid; gap: var(--esp-6, 24px); max-width: 1120px; }
.sim__cabeza { display: grid; gap: var(--esp-1, 4px); }
.sim-config { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: var(--esp-6, 24px); align-items: start; }
@media (max-width: 900px) { .sim-config { grid-template-columns: 1fr; } }
.sim-config__campos { display: grid; gap: var(--esp-6, 24px); min-width: 0; }
.sim-bloque { display: grid; gap: var(--esp-4, 16px); min-width: 0; margin: 0; padding: var(--esp-5, 20px); border: 1px solid var(--linea-suave); border-radius: var(--s3-radio, 24px); background: var(--superficie); box-shadow: var(--sombra-suave); }
.sim-bloque legend { float: left; width: 100%; padding: 0; color: var(--tinta); font: 600 1.25rem/1.25 var(--letra-serif, Georgia, serif); letter-spacing: -.01em; }
.sim-bloque legend + * { clear: both; }
.sim-ayuda { max-width: var(--medida, 62ch); color: var(--tenue); font-size: var(--tam-m, .875rem); line-height: 1.5; }
.sim-libro--varios::after { border-radius: 6px !important; }
.sim-libro--varios:has(input:checked)::after { border: 2px solid var(--marca) !important; background: var(--marca); box-shadow: inset 0 0 0 3px var(--superficie); }
#zonaAmbito { display: grid; gap: var(--esp-4, 16px); }
#zonaAmbito:empty { display: none; }
.sim-ambito { padding-top: var(--esp-4, 16px); border-top: 1px solid var(--linea-suave); }

.sim-numero { display: grid; grid-template-columns: minmax(96px, 140px) minmax(0, 1fr); align-items: end; gap: 6px var(--esp-3, 12px); }
.sim-numero .entrada { font-variant-numeric: tabular-nums; }
.sim-numero small { grid-column: 1 / -1; color: var(--tenue); font-size: var(--tam-s, .8125rem); }
.sim-rapidos { display: flex; flex-wrap: wrap; gap: 6px; }
.sim-rapidos button {
  min-width: 56px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--linea); border-radius: var(--radio-pildora, 999px); background: var(--superficie);
  color: var(--tinta-2); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer;
  transition: var(--mv-b);
}
.sim-rapidos button:hover { border-color: var(--linea-fuerte); }
.sim-rapidos button[aria-pressed="true"] { border-color: var(--marca); background: var(--marca); color: #fff; }
@media (max-width: 400px) { .sim-numero { grid-template-columns: 1fr; } }
.sim-penal { display: grid; gap: var(--esp-2, 8px); }

.sim-reparto-zona { display: grid; gap: var(--esp-2, 8px); }
.sim-reparto { display: grid; max-height: 340px; overflow: auto; overscroll-behavior: contain; border-top: 1px solid var(--linea-suave); }
.sim-reparto__fila { display: grid; grid-template-columns: minmax(0, 1fr) 84px; align-items: center; gap: var(--esp-3, 12px); padding: var(--esp-2, 8px) 0; border-bottom: 1px solid var(--linea-suave); }
.sim-reparto__fila span { color: var(--tinta-2); font-size: var(--tam-m, .875rem); font-weight: 650; overflow-wrap: anywhere; }
.sim-reparto__fila small { display: block; color: var(--tenue); font-weight: 500; }
.sim-reparto__fila .entrada { min-height: 44px; text-align: right; font-variant-numeric: tabular-nums; }
.sim-suma { color: var(--tenue); font-size: var(--tam-s, .8125rem); font-weight: 600; }
.sim-suma.es-mal { color: var(--ambar-tinta); }

.sim-resumen { position: sticky; top: 96px; display: grid; gap: var(--esp-4, 16px); padding: var(--esp-5, 20px) var(--esp-5, 20px) var(--esp-6, 24px); border-radius: var(--s3-radio, 24px); background: var(--crema, #f7f1e8); }
.sim-resumen__ritmo { margin-top: 6px; color: var(--texto); font-size: var(--tam-m, .875rem); font-weight: 600; font-variant-numeric: tabular-nums; }
.sim-resumen__aviso { margin-top: calc(-1 * var(--esp-2, 8px)); }
.sim-resumen #avisoSim:empty { display: none; }
.sim-resumen h2 { font-size: var(--tam-s, .8125rem); font-weight: 650; color: var(--tenue); }
.sim-resumen__frase { color: var(--tinta); font: 600 1.625rem/1.15 var(--letra-serif, Georgia, serif); letter-spacing: -.015em; text-wrap: balance; }
.sim-resumen__frase strong { font-weight: 700; }
.sim-resumen__datos { display: grid; gap: var(--esp-2, 8px); margin: var(--esp-3, 12px) 0 0; }
.sim-resumen__datos div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--esp-2, 8px); font-size: var(--tam-m, .875rem); }
.sim-resumen__datos dt { color: var(--tenue); }
.sim-resumen__datos dd { margin: 0; color: var(--tinta-2); font-weight: 650; overflow-wrap: anywhere; }
.sim-consejo { max-width: var(--medida, 62ch); margin-top: var(--esp-1, 4px); padding: 10px 14px; border-radius: var(--radio-12, 12px); background: var(--crema, #f7f1e8); color: var(--texto); font-size: var(--tam-m, .875rem); line-height: 1.5; }
.sim-consejo:empty { display: none; }
/* Móvil y tableta: el resumen se queda pegado abajo, sobre la barra de pestañas, para empezar con un toque. */
@media (max-width: 900px) {
  .sim-resumen {
    position: sticky; z-index: 5; top: auto; bottom: calc(var(--barra-movil, 64px) + 10px + env(safe-area-inset-bottom, 0px));
    gap: 8px; padding: 12px 12px 10px; border: 1px solid var(--crema-2, #efe6d8); box-shadow: var(--sombra-flotante, var(--sombra-alta));
  }
  .sim-resumen > h2, .sim-resumen__datos { display: none; }
  .sim-resumen #resumenSim { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; padding-inline: 6px; }
  .sim-resumen__frase { font: 700 var(--tam-base, 1rem)/1.3 var(--letra); letter-spacing: 0; }
  .sim-resumen__frase--mal { font-weight: 600; font-size: var(--tam-m, .875rem); }
  .sim-resumen__ritmo { margin-top: 0; font-size: var(--tam-s, .8125rem); }
  .sim-resumen [type=submit] { min-height: 50px; }
  .sim-resumen__aviso { margin-top: -2px; font-size: var(--tam-xs, .75rem); text-align: center; }
}

.sim-hist { display: grid; gap: var(--esp-2, 8px); padding: var(--esp-5, 20px); border: 1px solid var(--linea-suave); border-radius: var(--s3-radio, 24px); background: var(--superficie); box-shadow: var(--sombra-suave); }
.sim-hist h2 { color: var(--tinta); font: 600 1.25rem/1.25 var(--letra-serif, Georgia, serif); }
.sim-hist .tabla-envoltura { margin-top: var(--esp-2, 8px); }
.sim-hist th[scope="row"] { background: none; font-weight: 650; white-space: nowrap; }
.sim-hist th[scope="row"] a { display: inline-flex; align-items: center; min-height: 44px; }
.sim-hist__nota { color: var(--tinta); font-weight: 750; }
.sim-hist__curso { color: var(--ambar-tinta); font-weight: 700; }
@media (max-width: 520px) { .sim-hist .sim-hist__libros { display: none; } }

/* ── Examen en curso ──────────────────────────────────────────────────── */
.examen { display: grid; gap: var(--esp-4, 16px); max-width: 1120px; }
.examen__barra {
  position: sticky; top: 72px; z-index: 16; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--esp-2, 8px) var(--esp-4, 16px);
  padding: var(--esp-3, 12px) var(--esp-4, 16px) 0; border: 1px solid var(--linea-suave); border-radius: var(--radio-l, 16px); background: var(--superficie); box-shadow: var(--sombra-suave); overflow: hidden;
}
@media (max-width: 1023px) { .examen__barra { top: 62px; } }
.examen__titulo { color: var(--tinta); font-weight: 750; line-height: 1.3; }
.examen__guardado { color: var(--tenue); font-size: var(--tam-s, .8125rem); }
.examen__reloj { display: grid; justify-items: end; grid-template-columns: auto auto; align-items: center; gap: 0 var(--esp-2, 8px); }
.examen__reloj-cifra { grid-column: 1 / -1; color: var(--tinta); font: 650 2rem/1 var(--letra-cond); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.examen__reloj-fin { color: var(--tenue); font-size: var(--tam-xs, .75rem); }
.examen__reloj-boton { position: relative; min-height: 32px; padding: 2px 4px; border: 0; background: none; color: var(--marca-fuerte); font-size: var(--tam-xs, .75rem); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.examen__reloj-boton::after { content: ''; position: absolute; inset: -6px -8px; }
.examen__reloj.es-oculto .examen__reloj-cifra { color: var(--tenue); font-size: 1.25rem; }
.examen__reloj.es-urgente .examen__reloj-cifra { color: var(--mal-tinta); }
.examen__avance { grid-column: 1 / -1; margin: 0 calc(-1 * var(--esp-4, 16px)); }
.examen__avance .barra { height: 4px; border-radius: 0; }
@media (max-width: 480px) {
  .examen__barra { padding: var(--esp-2, 8px) var(--esp-3, 12px) 0; }
  .examen__avance { margin: 0 calc(-1 * var(--esp-3, 12px)); }
  .examen__titulo { font-size: var(--tam-m, .875rem); }
  .examen__reloj-cifra { font-size: 1.625rem; }
  .examen__reloj-fin { display: none; }
}

.examen__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--esp-5, 20px); align-items: start; }
@media (max-width: 1023px) { .examen__cuerpo { grid-template-columns: minmax(0, 1fr); } }
.examen__pregunta { min-width: 0; padding: clamp(18px, 3vw, 32px); border: 1px solid var(--linea-suave); border-radius: var(--s3-radio, 24px); background: var(--superficie); box-shadow: var(--sombra-suave); overflow-wrap: anywhere; }
.examen__num { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--tenue); font-size: var(--tam-m, .875rem); }
.examen__n { color: var(--tinta); font: 600 2.25rem/1 var(--letra-serif, Georgia, serif); font-variant-numeric: tabular-nums; }
.examen__de { font-weight: 650; }
.examen__ubic { flex-basis: 100%; }
.examen__enunciado { max-width: 62ch; margin: var(--esp-4, 16px) 0 var(--esp-5, 20px); color: var(--tinta); font-size: 1.1875rem; font-weight: 650; line-height: 1.5; letter-spacing: 0; text-wrap: pretty; }
@media (min-width: 720px) { .examen__enunciado { font-size: 1.3125rem; } }
.examen__opciones { display: grid; gap: var(--esp-2, 8px); max-width: 72ch; }
.examen-opcion {
  display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: var(--esp-3, 12px); width: 100%; min-height: 56px; padding: 12px 14px;
  border: 1px solid var(--linea); border-radius: var(--radio-12, 12px); background: var(--superficie); color: var(--texto); font-size: 1rem; line-height: 1.55; text-align: left; cursor: pointer;
  transition: var(--mv-b), box-shadow var(--mv), transform var(--mv-corta) var(--mv-curva);
  touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
@media (hover: hover) { .examen-opcion:hover { border-color: var(--linea-fuerte); } }
@media (prefers-reduced-motion: no-preference) {
  .examen-opcion:active, .examen-casilla:active, .informe-casilla:active, .sim-rapidos button:active { transform: scale(.985); }
  .examen-opcion__letra { transition: background-color var(--mv), border-color var(--mv), color var(--mv); }
  .examen-opcion.es-recien[aria-pressed="true"] .examen-opcion__letra { animation: mv-salta var(--mv-larga) var(--mv-curva); }
}
.examen-opcion__letra {
  display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--linea-fuerte); border-radius: 50%;
  color: var(--tinta-2); font: 650 1rem/1 var(--letra-cond);
}
.examen-opcion__texto { padding-top: 3px; }
.examen-opcion[aria-pressed="true"] { border-color: var(--marca); background: var(--marca-suave); box-shadow: inset 0 0 0 1px var(--marca); color: var(--tinta); }
.examen-opcion[aria-pressed="true"] .examen-opcion__letra { border-color: var(--marca); background: var(--marca); color: #fff; }
.examen__herramientas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--esp-2, 8px); margin-top: var(--esp-5, 20px); }
.examen__dudosa[aria-pressed="true"] { border-color: var(--ambar-borde); background: var(--ambar-suave); color: var(--ambar-tinta); }
.examen__dudosa svg.icono { width: 16px; height: 16px; }
.examen__herramientas .boton-peq { min-height: 44px; padding-inline: 16px; }

/* Hoja de respuestas: columna fija en escritorio, panel desde abajo en el móvil */
.examen__hoja { position: sticky; top: 196px; display: grid; gap: var(--esp-3, 12px); padding: var(--esp-4, 16px); border: 1px solid var(--linea-suave); border-radius: var(--s3-radio, 24px); background: var(--superficie); box-shadow: var(--sombra-suave); }
.examen__hoja-cabeza { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-2, 8px); }
.examen__hoja h2 { font-size: var(--tam-base, 1rem); font-weight: 750; }
.examen__hoja-cerrar { display: none; }
.examen__hoja-cuenta { color: var(--tenue); font-size: var(--tam-s, .8125rem); }
.examen__casillas { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 6px; max-height: 44vh; overflow: auto; padding: 5px; margin: -2px; }
.examen-casilla {
  display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--linea); border-radius: var(--radio-pildora, 999px);
  background: var(--superficie); color: var(--tinta-2); font-size: var(--tam-m, .875rem); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer;
}
span.examen-casilla { width: 14px; min-width: 0; height: 14px; border-radius: 3px; cursor: default; }
.examen-casilla.es-respondida { border-color: var(--marca-borde); background: var(--marca-suave); color: var(--marca-profunda); }
.examen-casilla.es-dudosa { border: 2px solid var(--ambar); }
.examen-casilla.es-actual { outline: 2px solid var(--tinta); outline-offset: 2px; }
.examen__leyenda { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--tenue); font-size: var(--tam-xs, .75rem); }
.examen__leyenda li { display: inline-flex; align-items: center; gap: 6px; }
.examen__abrir-hoja { display: none; font-variant-numeric: tabular-nums; }
.examen__teclas { display: none; color: var(--tenue); font-size: var(--tam-xs, .75rem); line-height: 1.6; }
.examen__teclas kbd { display: inline-block; min-width: 1.6em; padding: 0 4px; border: 1px solid var(--linea); border-bottom-width: 2px; border-radius: 5px; background: var(--superficie); color: var(--tinta-2); font: 650 11px/1.4 var(--letra); text-align: center; }
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) { .examen__teclas { display: block; } }

@media (max-width: 1023px) {
  .examen__hoja {
    position: fixed; z-index: 40; left: 8px; right: 8px; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); top: auto;
    max-height: 62dvh; overflow: auto; box-shadow: var(--sombra-alta); visibility: hidden; opacity: 0; transform: translateY(8px);
    transition: opacity var(--mv-media-s) var(--mv-curva), transform var(--mv-media-s) var(--mv-curva), visibility 0s linear var(--mv-media-s);
  }
  .examen__hoja.es-abierta { visibility: visible; opacity: 1; transform: none; transition-duration: var(--mv-media); transition-delay: 0s; }
  .examen__hoja-cerrar { display: inline-grid; }
  .examen__casillas { max-height: none; }
  .examen__abrir-hoja { display: inline-flex; }
}

.examen__pie {
  position: sticky; bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); z-index: 15; display: flex; align-items: center; gap: var(--esp-2, 8px);
  padding: 8px; border: 1px solid var(--linea-suave); border-radius: var(--radio-pildora, 999px); background: var(--superficie); box-shadow: var(--sombra-flotante, var(--sombra-alta));
}
.examen__pie [data-accion="anterior"] { margin-right: auto; }
.examen__pie .boton:disabled { visibility: hidden; }
@media (min-width: 1024px) { .examen__pie { max-width: calc(100% - 320px); } }
/* En el móvil el examen ocupa la pantalla, como el test: sin la barra de pestañas (se sale con el menú). */
@media (max-width: 1023px) {
  .app:has(.examen) .barra-inferior { display: none; }
  .app:has(.examen) .area { padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  .examen__pie { bottom: calc(env(safe-area-inset-bottom, 0px) + 10px); }
}
@media (max-width: 400px) {
  .examen__pie .boton { padding-inline: 12px; }
  .examen__pie [data-accion="anterior"] span, .examen__hoja-palabra { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .examen__pie .boton { min-width: 0; }
}

.examen-entrega { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--esp-3, 12px); margin: 0; }
.examen-entrega div { display: grid; gap: 2px; }
.examen-entrega dt { color: var(--tenue); font-size: var(--tam-s, .8125rem); }
.examen-entrega dd { margin: 0; color: var(--tinta); font: 600 1.75rem/1 var(--letra-serif, Georgia, serif); font-variant-numeric: tabular-nums; }
.examen-entrega__nota { color: var(--texto); font-size: var(--tam-m, .875rem); }

/* ── Informe ──────────────────────────────────────────────────────────── */
.informe { display: grid; gap: var(--esp-6, 24px); max-width: 980px; }
.informe__cabeza { display: grid; gap: var(--esp-3, 12px); }
.informe__cuando { color: var(--tenue); }
.informe__nota { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: var(--esp-2, 8px) var(--esp-6, 24px); margin-top: var(--esp-3, 12px); padding: var(--esp-5, 20px) var(--esp-6, 24px); border-radius: var(--s3-radio, 24px); background: var(--navy, #18304f); color: #fff; }
.informe__nota > p:first-child { display: flex; align-items: baseline; gap: var(--esp-2, 8px); }
.informe__cifra { color: #fff; font: 600 4.5rem/.9 var(--letra-serif, Georgia, serif); letter-spacing: -.02em; }
.informe__sobre { color: var(--navy-texto, #bccae0); font-weight: 650; }
.informe__frase { max-width: 52ch; padding-bottom: 6px; color: #fff; line-height: 1.55; }
@media (max-width: 600px) { .informe__nota { grid-template-columns: 1fr; } .informe__cifra { font-size: 3.75rem; } }

.informe-reparto { display: flex; gap: 2px; height: 12px; margin-top: var(--esp-2, 8px); }
.informe-reparto > span { display: block; height: 100%; min-width: 4px; border-radius: 2px; }
.informe-reparto > span:first-child { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.informe-reparto > span:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.informe-tramo--acierto { background: var(--ok); }
.informe-tramo--fallo { background: var(--mal); }
.informe-tramo--blanco { background: var(--linea-fuerte, #9fb0b7); }
.informe-tramo--retirada { background: var(--linea); }
.informe-cifras { display: flex; flex-wrap: wrap; gap: var(--esp-3, 12px) var(--esp-7, 32px); margin: 0; }
.informe-cifras div { display: grid; gap: 2px; }
.informe-cifras dt { display: inline-flex; align-items: center; gap: 6px; color: var(--tenue); font-size: var(--tam-m, .875rem); font-weight: 650; }
.informe-cifras dd { margin: 0; color: var(--tinta); font: 650 1.75rem/1 var(--letra-cond); font-variant-numeric: tabular-nums; }
.informe-muestra { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.informe__dudas { max-width: var(--medida, 62ch); color: var(--texto); }

.informe-seccion { display: grid; gap: var(--esp-3, 12px); padding: var(--esp-5, 20px); border: 1px solid var(--linea-suave); border-radius: var(--s3-radio, 24px); background: var(--superficie); box-shadow: var(--sombra-suave); }
.informe-seccion h2 { color: var(--tinta); font: 600 1.25rem/1.25 var(--letra-serif, Georgia, serif); }
.informe-ayuda { color: var(--tenue); font-size: var(--tam-m, .875rem); }
.informe-filtros { display: flex; flex-wrap: wrap; gap: 6px; }
.informe-filtros button {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 16px; border: 1px solid var(--linea); border-radius: var(--radio-pildora, 999px);
  background: var(--superficie); color: var(--tinta-2); font-size: var(--tam-m, .875rem); font-weight: 650; cursor: pointer;
}
.informe-filtros button span { color: var(--tenue); font-variant-numeric: tabular-nums; }
.informe-filtros button[aria-pressed="true"] { border-color: var(--marca); background: var(--marca); color: #fff; }
.informe-filtros button[aria-pressed="true"] span { color: var(--marino-borde, #c5d2e6); }
.informe-filtros button:disabled { opacity: .5; cursor: not-allowed; }
.informe-casillas { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; max-width: 640px; }
.informe-casilla {
  position: relative; display: grid; place-items: center; height: 44px; border: 1px solid var(--linea); border-radius: var(--radio-pildora, 999px);
  background: var(--superficie); color: var(--tinta-2); font-size: var(--tam-m, .875rem); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer;
}
span.informe-casilla { width: 14px; height: 14px; border-radius: 3px; cursor: default; }
.informe-casilla.es-acierto { border-color: var(--ok-borde); background: var(--ok-suave); color: var(--ok-tinta); }
.informe-casilla.es-fallo { border-color: var(--mal-borde); background: var(--mal-suave); color: var(--mal-tinta); }
.informe-casilla.es-blanco { border-style: dashed; border-color: var(--linea-fuerte); color: var(--tenue); }
.informe-casilla.es-retirada { color: var(--tenue); text-decoration: line-through; }
.informe-casilla.es-dudosa::after { content: ''; position: absolute; top: 4px; right: 4px; width: 6px; height: 6px; border-radius: 50%; background: var(--ambar); }
.informe-casilla.es-actual { outline: 2px solid var(--tinta); outline-offset: 2px; }
.informe-leyenda { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--tenue); font-size: var(--tam-xs, .75rem); }
.informe-leyenda li { display: inline-flex; align-items: center; gap: 6px; }

.informe-rev { display: grid; gap: var(--esp-4, 16px); margin-top: var(--esp-3, 12px); padding-top: var(--esp-5, 20px); border-top: 1px solid var(--linea-suave); }
.informe-rev__cabeza { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-3, 12px); }
.informe-rev__cabeza h3 { color: var(--tinta); font: 600 1.5rem/1 var(--letra-serif, Georgia, serif); }
.informe-rev__cabeza h3 span { color: var(--tenue); font-size: 1rem; }
.informe-rev__nav { display: flex; gap: 6px; }
.informe-rev__veredicto { color: var(--tenue); font-weight: 650; }
.informe-rev__veredicto.es-acierto { color: var(--ok-tinta); } .informe-rev__veredicto.es-fallo { color: var(--mal-tinta); }
@media (max-width: 480px) { .informe-rev__cabeza h3 { font-size: 1.25rem; } .informe-rev__nav { gap: 2px; } }
.informe-rev__enunciado { max-width: 62ch; text-wrap: pretty; color: var(--tinta); font-size: var(--tam-l, 1.125rem); font-weight: 650; line-height: 1.5; }
.informe-ops { list-style: none; display: grid; gap: var(--esp-2, 8px); max-width: 72ch; }
.informe-op { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--esp-3, 12px); padding: 10px 14px; border: 1px solid var(--linea-suave); border-radius: var(--radio-12, 12px); color: var(--texto); line-height: 1.55; }
.informe-op__letra { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--linea-fuerte); border-radius: 50%; color: var(--tinta-2); font: 700 1rem/1 var(--letra-cond); }
.informe-op__texto { padding-top: 3px; }
.informe-op__marca { display: block; margin-top: 4px; font-size: var(--tam-s, .8125rem); font-weight: 750; }
.informe-op.es-buena { border-color: var(--ok-borde); background: var(--ok-suave); color: var(--tinta); }
.informe-op.es-buena .informe-op__letra { border-color: var(--ok-tinta); background: var(--ok-tinta); color: #fff; }
.informe-op.es-buena .informe-op__marca { color: var(--ok-tinta); }
.informe-op.es-mala { border-color: var(--mal-borde); background: var(--mal-suave); color: var(--tinta); }
.informe-op.es-mala .informe-op__letra { border-color: var(--mal-tinta); background: var(--mal-tinta); color: #fff; }
.informe-op.es-mala .informe-op__marca { color: var(--mal-tinta); }
.informe-fundamento { display: grid; gap: var(--esp-3, 12px); padding-top: var(--esp-4, 16px); border-top: 1px solid var(--linea-suave); }
.informe-fundamento__ref { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.informe-fundamento__ref strong { color: var(--tinta); font: 650 1.125rem/1.2 var(--letra-cond); }
.informe-fundamento__ref a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--tam-m, .875rem); font-weight: 700; }
.informe-fundamento__ref a svg.icono { width: 16px; height: 16px; }
.informe-fundamento .cita { margin: 0; padding-left: .62em; }
.informe__acciones { display: flex; flex-wrap: wrap; gap: var(--esp-2, 8px); margin-top: var(--esp-2, 8px); }
@media (max-width: 480px) { .informe__acciones .boton { flex: 1 1 100%; } }
.informe-cap { font: 650 var(--tam-base, 1rem)/1.35 var(--letra); }
.informe-ayuda strong { color: var(--tinta); }

@media print {
  .lateral, .cabecera-app, .barra-inferior, .informe__acciones, .informe-filtros, .informe-rev__nav { display: none !important; }
  .app__cuerpo { margin: 0; }
}
.informe .tabla th[scope="row"], .sim-hist .tabla th[scope="row"] { background: none; color: var(--tinta-2); font-size: var(--tam-m, .875rem); font-weight: 650; white-space: normal; }
/* Los hijos de las rejillas pueden encogerse (tablas y casillas no empujan el ancho de la página). */
.sim > *, .examen > *, .informe > *, .informe-seccion > *, .sim-config > * { min-width: 0; }
.examen-casilla.es-respondida.es-dudosa { background: var(--marca-suave); }
.informe .tabla tr:last-child th, .sim-hist .tabla tr:last-child th { border-bottom: 0; }
