/*
  Impresión de la precuenta. Dos destinos reales en un bar: la térmica de 80 mm de la barra y un A4
  de oficina. El navegador no puede elegir el papel por su cuenta, así que la elección la hace el
  camarero con dos botones y aquí se traduce a dos páginas con nombre.

  El documento vive en #print-sheet, hermano de #app, y no dentro de la vista: imprimir desde dentro
  del shell arrastraría cabecera, pestañas y botonera.
*/

/*
  La página de la térmica no declara "size" a propósito. Un rollo continuo es 80 mm de ancho y alto
  indefinido, y eso no se puede expresar: `size` admite longitudes o un tamaño con nombre, así que
  `80mm auto` es inválido y el navegador descarta la declaración entera —comprobado—, mientras que
  fijar un alto concreto haría avanzar papel en blanco hasta completarlo. Sin "size" manda el papel
  que elige el driver, que en una térmica ya es el rollo; lo que garantiza que quepa es el ancho del
  contenido, 72 mm.

  El A4 sí lo fija, porque una impresora de oficina puede venir configurada en Letter.
*/
@page ticket { margin: 3mm; }
@page a4 { size: A4; margin: 14mm; }

.print-sheet { display: none; }

@media print {
  #app { display: none !important; }

  body { margin: 0; background: #fff; color: #000; }

  .print-sheet {
    display: block;
    font-family: ui-monospace, "SFMono-Regular", "Consolas", monospace;
    color: #000;
  }

  .print-sheet.sheet-80 { page: ticket; width: 72mm; font-size: 11px; line-height: 1.35; }
  .print-sheet.sheet-a4 { page: a4; width: 100%; max-width: 170mm; font-size: 13px; line-height: 1.5; }

  .print-local { font-weight: 700; font-size: 1.25em; text-align: center; }
  .print-service { text-align: center; margin-top: 2px; }
  .print-meta { text-align: center; margin-top: 2px; }

  .print-rule { border: 0; border-top: 1px dashed #000; margin: 8px 0; }

  .print-lines { width: 100%; border-collapse: collapse; }
  .print-lines th { text-align: left; font-weight: 700; padding-bottom: 4px; }
  .print-lines td { padding: 2px 0; vertical-align: top; }
  .print-lines .qty { text-align: right; width: 3em; white-space: nowrap; }
  .print-lines .unit,
  .print-lines .amount { text-align: right; width: 6em; white-space: nowrap; }

  .print-total { display: flex; justify-content: space-between; font-weight: 700; font-size: 1.5em; margin-top: 6px; }

  /*
    La leyenda no es decorativa: es lo que impide que el documento pase por una factura o un ticket.
    Se imprime siempre y con el mismo peso que el resto, nunca en letra pequeña.
  */
  .print-disclaimer { margin-top: 10px; text-align: center; font-weight: 700; }

  /* Ninguna línea de la cuenta debe partirse entre dos páginas del A4. */
  .print-lines tr { break-inside: avoid; }
}
