/* ============================================================================
   print.css — Impresión / PDF vía el navegador.

   Idea: NO se genera un DOM aparte. Se reutiliza el propio lienzo:
     - se oculta todo el chrome (barra de título, cinta, regla, barra de estado,
       overlays);
     - #page-holder deja de estar escalado/absoluto y las .page pasan al flujo
       normal, sin sombra, una por hoja de papel;
     - las .line y .seg siguen posicionadas en absoluto DENTRO de cada .page
       (es su geometría de layout), por eso .page conserva position: relative y
       su ancho/alto en px inline que escribe layout/pages.js.

   Los !important son necesarios porque pages.js escribe geometría INLINE.
   ========================================================================== */

@media print {

  /* ---------- Papel ---------- */

  @page {
    size: A4 portrait;
    margin: 0;           /* los márgenes ya están dentro de la .page */
  }

  html, body {
    height: auto !important;
    overflow: visible !important;
    margin: 0;
    background: #FFFFFF;
  }

  /* ---------- El chrome desaparece del papel ---------- */

  #titlebar,
  #ribbon,
  #ruler-h,
  #statusbar,
  #dialog-root,
  #contextmenu-root,
  #backstage-root,
  .side-pane {
    display: none !important;
  }

  /* Capas de edición: no se imprimen. */
  .layer-caret,
  .layer-selection,
  .layer-find,
  .caret,
  .sel-rect,
  .find-hit,
  textarea.ime-proxy {
    display: none !important;
  }

  /* ---------- Contenedores ---------- */

  #app,
  #workspace {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  #canvas {
    display: block !important;
    position: static !important;
    overflow: visible !important;
    background: #FFFFFF !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    cursor: auto;
  }

  /* Sin zoom ni centrado artificial: las páginas fluyen una tras otra. */
  #page-holder {
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---------- Páginas ---------- */

  .page {
    position: relative !important;   /* .line/.seg siguen siendo absolutas dentro */
    top: auto !important;
    left: auto !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    border: none !important;
    background: #FFFFFF !important;
    overflow: visible !important;
    break-after: page;
    page-break-after: always;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .page:last-of-type {
    break-after: auto;
    page-break-after: auto;
  }

  /* Colores y resaltados fieles al imprimir (Chromium/Edge). */
  .page,
  .page-body,
  .line,
  .seg {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
