/* ===== Portada (pantalla e impresión) · A4 vertical ===== */
#print-root { display: none; }

.cover {
  width: 210mm;
  height: 297mm;
  display: grid;
  grid-template-columns: 62mm minmax(0, 1fr);
  background: #fff;
  color: var(--c-text);
  font-family: var(--font);
  overflow: hidden;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Franja lateral */
.cover__stripe {
  background: var(--c-primary);
  border-right: 5mm solid var(--c-accent);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6mm;
  padding: 0 9mm 20mm;
}
.cover__year { font-size: 44pt; font-weight: 300; line-height: 1; letter-spacing: -.02em; }
.cover__stripe-label {
  font-size: 9pt; letter-spacing: .14em; text-transform: uppercase;
  line-height: 1.7; opacity: .85;
  border-top: 1px solid rgba(255,255,255,.4); padding-top: 4mm;
}

/* Zona principal */
.cover__main { display: flex; flex-direction: column; padding: 22mm 18mm 16mm 18mm; min-width: 0; }
.cover__logo { height: 36mm; width: auto; align-self: flex-start; }

.cover__head { margin-top: 24mm; }
.cover__eyebrow { font-size: 9pt; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent-600); }
.cover__title { margin-top: 4mm; font-size: 28pt; line-height: 1.12; font-weight: 600; color: var(--c-primary-900); overflow-wrap: anywhere; }
.cover__rule { display: block; width: 26mm; height: 1.4mm; margin-top: 7mm; background: var(--c-primary); }

/* Resumen de filtros */
.cover__filters { margin-top: auto; }
.cover__h2 {
  font-size: 8.5pt; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--c-primary); padding-bottom: 2.5mm; border-bottom: 2px solid var(--c-primary);
}
.cover__dl { margin: 0; }
.cover__row {
  display: grid; grid-template-columns: 40mm minmax(0, 1fr); gap: 4mm;
  padding: 2.6mm 0; border-bottom: 1px solid var(--c-border);
  font-size: 9pt; line-height: 1.4;
}
.cover__row dt { color: var(--c-text-muted); font-weight: 600; }
.cover__row dd { margin: 0; overflow-wrap: anywhere; }
.cover__note { margin-top: 3mm; font-size: 8pt; color: var(--c-text-muted); }

/* Pie */
.cover__foot {
  margin-top: 12mm; padding-top: 5mm; border-top: 1px solid var(--c-border-strong);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4mm;
}
.cover__foot div span { display: block; font-size: 7.5pt; letter-spacing: .08em; text-transform: uppercase; color: var(--c-text-muted); }
.cover__foot div strong { display: block; margin-top: 1mm; font-size: 9.5pt; color: var(--c-primary-900); }
.cover__foot p { grid-column: 1 / -1; font-size: 7.5pt; color: var(--c-text-muted); }

/* Vista previa en pantalla */
.modal--wide { width: min(760px, 94vw); }
.cover-preview { background: var(--c-bg); border: 1px solid var(--c-border); padding: 16px; display: flex; justify-content: center; overflow: auto; }
.cover-preview__page { zoom: .6; border: 1px solid var(--c-border-strong); flex: none; }