/* Hoja de impresión A4. Se usa tanto para imprimir como para la vista previa del diálogo. */
.print-sheet { --pic: 42mm; font-family: 'Nunito', system-ui, sans-serif; color: #111; }
.print-sheet.size-small { --pic: 28mm; }
.print-sheet.size-medium { --pic: 42mm; }
.print-sheet.size-large { --pic: 62mm; }
.print-title { font-size: 26pt; text-align: center; margin: 0 0 6mm; font-weight: 800; }
.print-attrib { font-size: 7pt; color: #555; text-align: center; margin-top: 6mm; }
.print-sheet .seqview { --pic: inherit; }
.print-sheet .picto-img { break-inside: avoid; }

/* Agenda vertical, como las hojas que se pegan en la heladera */
.print-sheet .fmt-agenda .blk { padding: 4mm 3mm; border-bottom: 1.2mm solid #cfd8dc; break-inside: avoid; page-break-inside: avoid; }
.print-sheet.with-cut .fmt-agenda .blk { border-bottom: .5mm dashed #888; }
.print-sheet .fmt-agenda .blk-head { font-size: 22pt; }
.print-sheet .fmt-agenda .blk-num { font-size: 26pt; color: #111; }
.print-sheet .fmt-agenda .blk-group .blk-head { font-size: 17pt; }
.print-sheet .mini figcaption { font-size: 10pt; }
.print-sheet.size-large .fmt-agenda .blk-head { font-size: 26pt; }
.print-sheet.size-small .fmt-agenda .blk-head { font-size: 16pt; }
.print-sheet.compact .fmt-agenda .blk { padding: 2mm 3mm; }
.print-sheet.compact .fmt-agenda .blk-head { font-size: 15pt; }
.print-sheet.compact .fmt-agenda .blk-num { font-size: 18pt; }
.print-sheet.compact .fmt-agenda .blk-group .blk-head { font-size: 13pt; }
.print-sheet.compact .mini figcaption { font-size: 8pt; }

/* Fila: tarjetas para recortar */
.print-sheet .fmt-row { gap: 4mm; }
.print-sheet .fmt-row .card { border: .6mm solid #bbb; border-radius: 3mm; break-inside: avoid; }
.print-sheet.with-cut .fmt-row .card { border: .5mm dashed #666; border-radius: 0; }
.print-sheet .fmt-row .card figcaption { font-size: 13pt; }

/* Primero / Después */
.print-sheet .fmt-firstThen { --pic: calc(var(--pic) * 1.4); margin-bottom: 8mm; break-inside: avoid; }
.print-sheet .ft-panel { border-width: .8mm; }
.print-sheet.with-cut .ft-panel { border-style: dashed; }
.print-sheet .ft-label { font-size: 20pt; }
.print-sheet .ft-text { font-size: 16pt; }

/* Reglas y si/entonces */
.print-sheet .fmt-rules { grid-template-columns: repeat(auto-fill, minmax(calc(var(--pic) + 14mm), 1fr)); gap: 5mm; }
.print-sheet .rule { break-inside: avoid; border-width: 1mm; }
.print-sheet .rule figcaption { font-size: 14pt; }
.print-sheet .sign { font-size: 12pt; }
.print-sheet .ift { break-inside: avoid; border-width: 1mm; margin-bottom: 4mm; }
.print-sheet .ift-text { font-size: 15pt; }
.print-sheet .ift-arrow { font-size: 30pt; }
.print-sheet.with-cut .rule, .print-sheet.with-cut .ift { border-style: dashed; }

@media print {
  @page { size: A4 portrait; margin: 10mm; }
  html, body { background: #fff !important; }
  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; }
  .print-sheet * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
