/* Láminas del informe (v6.9): 16:9, mismas proporciones en pantalla y en PDF. Las medidas van en unidades del
   contenedor (cqw) para que la lámina se vea igual a cualquier ancho y al imprimir. Marca Azerta. */
.laminas { display: grid; gap: 28px; max-width: 1180px; margin: 0 auto; }
.lamina { --l-tinta: #13132b; --l-tinta-2: #45465e; --l-tinta-3: #6e6f86; --l-fondo: #f4f4f8; --l-hoja: #ffffff; --l-regla: #dcdce6;
  --l-mag: #ff0066; --l-mag-t: #d10055; --l-violeta: #5b5bd6;
  container-type: inline-size; background: var(--l-fondo); color: var(--l-tinta); border-radius: 8px; box-shadow: 0 1px 3px rgba(19,19,43,.12);
  font-family: Arial, "Helvetica Neue", sans-serif; }
.lamina.oscura, .lamina.portada { --l-fondo: #13132b; --l-tinta: #ffffff; --l-tinta-2: #d6d6e6; --l-tinta-3: #a9a9c4; --l-hoja: #1d1d44; --l-regla: #2f2f5c; --l-mag-t: #ff5c9d; }
.lam-in { aspect-ratio: 16 / 9; padding: 4.2cqw 5cqw 2.6cqw; display: flex; flex-direction: column; overflow: hidden; }
.lam-ante { font: 700 1.05cqw/1.2 Montserrat, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--l-mag-t); margin: 0 0 .9cqw; }
.lam-tit { font: 700 2.45cqw/1.18 Montserrat, Arial, sans-serif; margin: 0 0 .6cqw; letter-spacing: -.01em; max-width: 92%; color: var(--l-tinta); }
.portada .lam-tit { font-size: 3.6cqw; max-width: 85%; margin-top: auto; }
.lam-sub { font-size: 1.45cqw; color: var(--l-tinta-2); max-width: 75%; margin: 1.2cqw 0 auto; }
.lam-herr { display: flex; gap: 1.2cqw; align-items: center; font-size: 12px; margin-bottom: .6cqw; }
.lam-origen { color: var(--l-tinta-3); }
.lam-origen.calculado { color: var(--l-tinta-3); } .lam-origen.editado { color: var(--l-violeta); }
.lam-aviso { color: #c0262d; }
.lam-edit { width: 100%; font: inherit; color: #13132b; background: #fff; border: 1px solid #ff0066; border-radius: 6px; padding: .4em .5em; resize: vertical; }
.lamina .enlace { font-size: 12px; color: var(--l-mag-t); }
.lam-cuerpo { flex: 1; display: grid; grid-template-columns: 1fr; gap: 2cqw; margin-top: 1.4cqw; min-height: 0; }
.lam-cuerpo.con-lado { grid-template-columns: 1fr 30%; }
.lam-visual { min-width: 0; min-height: 0; }
.lam-caja { background: var(--l-hoja); border: 1px solid var(--l-regla); border-radius: .6cqw; padding: 1.2cqw 1.4cqw; }
.lam-vt { font: 700 1.1cqw/1.3 Arial, sans-serif; margin: 0 0 .8cqw; color: var(--l-tinta); }
.lam-nota { font-size: .95cqw; color: var(--l-tinta-3); margin: .9cqw 0 0; line-height: 1.35; }
.lam-pie { display: flex; justify-content: space-between; align-items: flex-end; gap: 2cqw; font-size: .82cqw; color: var(--l-tinta-3); margin-top: 1.2cqw; }
.lam-pie img { height: 1.5cqw; width: auto; flex: none; }
/* columnas */
.lam-svg { width: 100%; height: auto; display: block; }
.lam-svg .svg-v { font: 700 13px Arial, sans-serif; fill: var(--l-tinta); }
.lam-svg .svg-e { font: 12px Arial, sans-serif; fill: var(--l-tinta-3); }
.lam-svg .svg-base { stroke: var(--l-regla); }
.lam-svg .svg-h { font: 700 11px Arial, sans-serif; fill: #13132b; }
.lam-anot { list-style: none; margin: .7cqw 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .3cqw 1.2cqw; font-size: .78cqw; color: var(--l-tinta-2); line-height: 1.28; }
.lam-anot li { display: flex; gap: .6cqw; align-items: flex-start; }
.portada .lam-in:has(.lam-sello) .lam-sub { margin-bottom: 0; }
.lc { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.2cqw; align-content: start; }
.lc-campo { background: #fff; border: 1px solid var(--l-regla); border-top: .35cqw solid #13132b; border-radius: .4cqw; padding: 1cqw 1.2cqw; min-height: 11cqw; }
.lc-campo p { margin: .4cqw 0 0; font-size: 1.05cqw; line-height: 1.4; }
.lc-campo.vacio { border-top-color: var(--l-mag); background: #fff6f9; }
.lc-pend { color: var(--l-tinta-3); font-style: italic; }
.lc-nosabemos, .lc-firma { grid-column: 1 / -1; margin: .4cqw 0 0; font-size: 1cqw; }
.lc-firma { color: var(--l-tinta-3); }
.lc-form { display: grid; gap: .8cqw; }
.lc-edit { display: grid; gap: .3cqw; font-size: 1cqw; }
.lc-edit span { font-weight: 700; }
.lc-edit textarea, .lc-edit input { font: inherit; font-size: 1cqw; padding: .5cqw; border: 1px solid var(--l-regla); border-radius: .3cqw; width: 100%; box-sizing: border-box; }
.lam-sello { margin: 2cqw 0 auto; align-self: flex-start; font: 700 .85cqw/1.3 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: .5cqw .9cqw; border-radius: .4cqw; }
.lam-sello.preliminar { background: var(--l-mag); color: #fff; }
.lam-sello.validado { background: #2a9d8f; color: #fff; }
.lam-anot.compacta { font-size: .72cqw; line-height: 1.22; gap: .2cqw 1cqw; }
.lam-anot .la-n { flex: none; width: 1.4cqw; height: 1.4cqw; border-radius: 50%; border: 2px solid var(--l-mag); color: var(--l-tinta); font: 700 .8cqw/1.15cqw Arial, sans-serif; text-align: center; }
.lam-anot b { white-space: nowrap; }
.lam-cadena { font-size: .88cqw; color: var(--l-tinta-3); margin: .8cqw 0 0; line-height: 1.35; border-top: 1px dashed var(--l-regla); padding-top: .6cqw; }
.lam-cadena b { color: var(--l-tinta-2); font-weight: 700; }
.lam-glosario { margin-top: 1cqw; background: var(--l-hoja); border: 1px solid var(--l-regla); border-radius: .6cqw; padding: 1cqw 1.4cqw; font-size: .95cqw; line-height: 1.35; }
.lam-glosario p { margin: 0 0 .3cqw; }
.lt-causa { font-size: .92cqw; color: var(--l-tinta); margin: .6cqw 0 0; padding-top: .5cqw; border-top: 1px dashed var(--l-regla); line-height: 1.35; }
.lam-tarjeta.oscura .lt-causa { color: #e6e6f2; border-top-color: #3a3a6e; }
.lr-base { font-size: .85cqw !important; color: var(--l-tinta-3); margin-top: .5cqw !important; }
.lam-leyenda { display: flex; flex-wrap: wrap; gap: 1.4cqw; font-size: .9cqw; color: var(--l-tinta-2); margin: .6cqw 0 0; }
.lam-leyenda i { display: inline-block; width: .9cqw; height: .9cqw; border-radius: 2px; margin-right: .4cqw; vertical-align: -.1cqw; }
/* barras horizontales */
.lam-barras { display: grid; gap: .7cqw; }
.lb-fila { display: grid; grid-template-columns: 30% 1fr 6% 22%; gap: .9cqw; align-items: center; font-size: 1.08cqw; }
.lb-et { color: var(--l-tinta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-pista { height: 1.35cqw; background: transparent; }
.lb-barra { display: block; height: 100%; background: var(--l-tinta); border-radius: 2px; min-width: 2px; }
.lamina:not(.oscura) .lb-barra { background: #13132b; }
.lb-fila.primera .lb-barra { background: var(--l-mag); }
.lb-v { font-weight: 700; text-align: right; }
.lb-t { color: var(--l-tinta-3); font-size: .95cqw; }
/* tablas */
.lam-tabla { width: 100%; border-collapse: collapse; font-size: 1.05cqw; }
.lam-tabla th { text-align: left; font-size: .95cqw; line-height: 1.25; font-weight: 700; background: #eeeef4; color: #13132b; padding: .55cqw .8cqw; border: 1px solid var(--l-regla); }
.lam-tabla td { padding: .5cqw .8cqw; border: 1px solid var(--l-regla); vertical-align: top; line-height: 1.3; }
.lam-tabla .n { text-align: right; white-space: nowrap; }
.lam-tabla tr.resalta td { background: #ffe8f1; }
.lam-tabla tr.resalta td.n { color: #d10055; }
.lam-tabla tr.cumple td { background: #ffe8f1; font-weight: 700; }
.lam-lista .ll-a { width: 28%; font-weight: 700; }
.tabla-ejes td:first-child, .tabla-ejes th:first-child { width: 52%; }
.tabla-ejes td { padding: .4cqw .7cqw; }
.oscura .lam-tabla th { background: #23235e; color: #fff; }
/* recuadros laterales */
.lam-lado { display: flex; flex-direction: column; gap: 1.1cqw; min-width: 0; }
.lam-rec { background: var(--l-hoja); border-left: .35cqw solid #13132b; border-radius: .5cqw; padding: 1.1cqw 1.4cqw; }
.lam-rec.oscuro { background: #13132b; color: #fff; border-left-color: #13132b; }
.lam-rec.acento { border-left-color: var(--l-mag); }
.lam-rec.interpretacion { border-left-color: var(--l-violeta); background: #f0f0fc; }
.lr-cifra { font: 700 2.5cqw/1 Montserrat, Arial, sans-serif; margin: 0 0 .4cqw; }
.lam-rec.acento .lr-cifra { color: var(--l-mag-t); }
.lr-tit { font-weight: 700; font-size: 1.05cqw; margin: 0 0 .3cqw; }
.lam-rec.acento .lr-tit, .lam-rec.interpretacion .lr-tit { color: var(--l-mag-t); }
.lam-rec.interpretacion .lr-tit { color: var(--l-violeta); }
.lr-txt { font-size: 1cqw; line-height: 1.35; margin: 0; color: inherit; }
.lam-rec.oscuro .lr-txt { color: #d6d6e6; }
/* tarjetas (hitos) */
.lam-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 1.4cqw; align-items: start; }
.lam-tarjeta { background: var(--l-hoja); border: 1px solid var(--l-regla); border-radius: .6cqw; padding: 1.4cqw; }
.lam-tarjeta.oscura { background: #13132b; color: #fff; border-color: #13132b; }
.lt-ante { font-weight: 700; color: var(--l-mag-t); font-size: 1cqw; margin: 0 0 .7cqw; }
.lam-tarjeta.oscura .lt-ante { color: #ff5c9d; }
.lam-tarjeta h4 { font: 700 1.3cqw/1.3 Montserrat, Arial, sans-serif; margin: 0 0 .8cqw; }
.lt-t, .lt-pie { font-size: .95cqw; color: var(--l-tinta-3); margin: 0 0 .4cqw; }
.lam-tarjeta.oscura .lt-t, .lam-tarjeta.oscura .lt-pie { color: #c9c9de; }
.lt-pie { color: var(--l-tinta-2); }
/* resumen */
.lam-resumen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4cqw; }
.lr-item { display: block; background: var(--l-hoja); border-top: .3cqw solid #13132b; border-radius: .4cqw; padding: 1.2cqw 1.4cqw; color: inherit; text-decoration: none; min-height: 9cqw; }
.lr-item:hover { border-top-color: var(--l-mag); }
.lr-item p { margin: 0; font-size: 1.1cqw; line-height: 1.35; }
.lr-item .lr-ante { font-weight: 700; color: var(--l-mag-t); font-size: .95cqw; margin-bottom: .6cqw; }
/* alertas */
.lam-numerada { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2cqw; }
.lam-numerada li { display: flex; gap: 1.2cqw; background: var(--l-hoja); border-radius: .5cqw; padding: 1.3cqw 1.5cqw; align-items: flex-start; }
.lam-numerada span { font: 700 1.9cqw/1 Montserrat, Arial, sans-serif; color: #ff5c9d; flex: none; }
.lam-numerada p { margin: 0; font-size: 1.1cqw; line-height: 1.38; }
/* decisión */
.ld-resp { font-size: 1.15cqw; margin: 0 0 1.2cqw; line-height: 1.4; }
.ld-cifra { font: 700 2.2cqw/1 Montserrat, Arial, sans-serif; color: #d10055; margin-right: .6cqw; }
/* notas de respaldo (solo pantalla) */
.lam-notas { padding: 0 5cqw 1.6cqw; font-size: 13px; color: var(--l-tinta-2); }
.lam-notas summary { cursor: pointer; color: var(--l-mag-t); }
.lam-notas ul { max-height: 220px; overflow: auto; padding-left: 1.2em; }
.lam-notas a { color: inherit; }
.barra-vista { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 0 0 18px; }
.barra-vista .seg { display: inline-flex; border: 1px solid var(--regla); border-radius: 999px; overflow: hidden; }
.barra-vista .seg button { border: 0; background: transparent; padding: 7px 16px; font: inherit; color: var(--tinta-2); cursor: pointer; }
.barra-vista .seg button[aria-pressed="true"] { background: var(--tinta); color: var(--hoja); }
.panel-publicar { background: var(--hoja); border: 1px solid var(--regla); border-left: 4px solid var(--marcador); border-radius: var(--r); padding: 14px 18px; margin: 0 0 18px; }
.panel-publicar h3 { margin-top: 0; }
.panel-publicar code { background: var(--papel); padding: 3px 8px; border-radius: 4px; word-break: break-all; }
.pub-clave { font-size: 1.2rem; letter-spacing: .12em; font-weight: 700; }
.pub-fila { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
@media (max-width: 720px) { .laminas { gap: 16px; } .lam-herr { font-size: 11px; } }

@media print {
  @page { size: 13.333in 7.5in; margin: 0; }
  body * { visibility: hidden; }
  #laminas, #laminas * { visibility: visible; }
  #laminas { position: absolute; left: 0; top: 0; width: 100%; max-width: none; gap: 0; display: block; }
  .no-print, .lam-herr, .lam-notas { display: none !important; }
  .lamina { break-after: page; page-break-after: always; border-radius: 0; box-shadow: none; width: 13.333in; height: 7.5in;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .lam-in { height: 7.5in; aspect-ratio: auto; }
}
.panel-publicar p.mal { color: var(--mal); }
.panel-publicar table input[type=text] { width: 100%; font: inherit; padding: 4px 6px; border: 1px solid var(--regla); border-radius: 4px; }
.panel-publicar label input[type=text] { min-width: 320px; font: inherit; padding: 6px 8px; border: 1px solid var(--regla); border-radius: 4px; }

/* v6.17: láminas con mucho texto en la tabla o el glosario */
.lamina.densa .lam-tabla { font-size: .9cqw; } .lamina.densa .lam-tabla th { font-size: .85cqw; } .lamina.densa .lam-tabla td { padding: .35cqw .6cqw; line-height: 1.25; }
.lamina.densa .lam-glosario { font-size: .85cqw; margin-top: .6cqw; padding: .7cqw 1cqw; }
.lamina.muy-densa .lam-tabla { font-size: .8cqw; } .lamina.muy-densa .lam-tabla th { font-size: .78cqw; } .lamina.muy-densa .lam-tabla td { padding: .28cqw .5cqw; line-height: 1.2; }
.lamina.muy-densa .lam-glosario { font-size: .76cqw; margin-top: .5cqw; padding: .6cqw .9cqw; } .lamina.muy-densa .lam-glosario p { margin: 0 0 .15cqw; }
.lamina.densa .lam-tit, .lamina.muy-densa .lam-tit { font-size: 2.3cqw; }
/* v6.18: cuadrante del catastro de riesgos (arriba = más crítica, derecha = más días con cobertura) */
.lam-cuadrante { display: grid; grid-template-columns: 2.2cqw 1fr; grid-template-rows: 1fr auto; gap: .6cqw; }
.lq-ejey { grid-row: 1; grid-column: 1; writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; margin: 0; font-size: .95cqw; color: var(--l-tinta-3); }
.lq-ejex { grid-row: 2; grid-column: 2; text-align: center; margin: 0; font-size: .95cqw; color: var(--l-tinta-3); }
.lq-grid { grid-row: 1; grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: .9cqw; }
.lq-celda { border: 1px solid var(--l-regla); border-radius: .6cqw; padding: 1cqw 1.2cqw; min-height: 9cqw; background: var(--l-hoja); }
.lq-celda.acento { border: 2px solid var(--l-mag); background: #fff0f6; }
.lq-nombre { font: 700 1.15cqw/1.3 Montserrat, Arial, sans-serif; margin: 0 0 .6cqw; color: var(--l-tinta); }
.lq-nombre span { color: var(--l-mag-t); margin-left: .3cqw; }
.lq-celda ul { list-style: none; margin: 0; padding: 0; }
.lq-celda li { font-size: 1cqw; line-height: 1.35; color: var(--l-tinta-2); padding: .15cqw 0; display: flex; justify-content: space-between; gap: 1cqw; }
.lq-celda li span { color: var(--l-tinta-3); white-space: nowrap; }
.lq-nuevo { font-style: normal; font-size: .8cqw; color: var(--l-violeta); border: 1px solid var(--l-violeta); border-radius: 3px; padding: 0 .3cqw; }
.lq-mas, .lq-vacio { color: var(--l-tinta-3) !important; font-style: italic; }
