/* =============================================================================
   RUTINITAS — IMPRESIÓN
   =============================================================================
   Se aplica al módulo de impresión (admin-impresion.html). El tamaño de hoja y
   la orientación se inyectan como regla `@page` desde el script de esa pantalla,
   porque `@page { size: … }` no se puede condicionar por selector.

   La hoja impresa lleva EXACTAMENTE el mismo sistema de completitud que la app:
   una casilla de tilde y una casilla de estrella por actividad. Es el mismo
   contrato en digital y en papel.
   ============================================================================= */

/* Default de página. Las pantallas que necesitan otro tamaño (impresión de la
   rutina, cartas recortables) inyectan su propia `@page` al final del <head>,
   que pisa a esta por orden. */
@page { size: A4 portrait; margin: 1.5cm; }

@media print {
  :root { color-scheme: light; }

  /* La hoja manda: se apaga toda la piel de la app */
  body {
    background: var(--rt-papel);
    color: var(--rt-tinta);
    margin: 0;
  }

  .rt-header,
  .rt-nav,
  .rt-scrim,
  .rt-snack,
  .rt-celebrate,
  .rt-print-controls,
  .rt-print-toolbar,
  .skip-link,
  .rt-no-print { display: none !important; }

  .rt-shell {
    display: block;
    min-height: 0;
  }
  .rt-main { padding: 0; }
  .rt-main > * { max-width: none; }

  .rt-print-layout { display: block; }

  .rt-sheet-stage {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    display: block;
  }

  /* La previsualización escala las hojas con `transform: scale()` INLINE para
     que entren en el ancho de la pantalla, y compensa el hueco que deja la
     escala con un `margin-bottom` NEGATIVO, también inline. Los dos tienen que
     morir al imprimir, y los dos necesitan `!important` porque un estilo inline
     le gana a cualquier regla que no lo lleve.

     Sin el `!important` en el margen, en un teléfono la escala baja a ~0.35 y el
     inline queda en unos −680px: cada página se monta sobre la anterior y el PDF
     sale ilegible. En un monitor ancho la escala es 1, el margen es +24 y el bug
     no se ve — por eso aparecía sólo en mobile. */
  .rt-sheet {
    width: auto;
    min-height: 0;
    margin: 0 !important;
    padding: 0;
    box-shadow: none;
    transform: none !important;
    page-break-after: always;
    break-after: page;
  }
  .rt-sheet:last-child { page-break-after: auto; break-after: auto; }

  .rt-sheet-item,
  .rt-carta { break-inside: avoid; }

  /* Cartas: cada hoja de frentes y cada hoja de dorsos es una página propia */
  .rt-cartas-hoja { align-content: flex-start; }

  /* Reportes del tutor: se imprimen como documento, no como hoja simulada */
  .rt-reporte { display: block; }
  .rt-reporte .rt-card {
    box-shadow: none;
    border-color: color-mix(in oklab, var(--rt-tinta) 22%, var(--rt-papel));
    break-inside: avoid;
    margin-bottom: 0.6cm;
  }
  .rt-reporte h1, .rt-reporte h2, .rt-reporte h3 { break-after: avoid; }
  .rt-solo-print { display: flex !important; }
  .rt-reporte-cabecera {
    align-items: center;
    gap: 0.5cm;
    padding-bottom: 0.3cm;
    margin-bottom: 0.5cm;
    border-bottom: 0.06cm solid color-mix(in oklab, var(--rt-tinta) 30%, var(--rt-papel));
  }

  /* Los tintes de franja tienen que sobrevivir al render del navegador */
  .rt-sheet, .rt-sheet * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
