/* ============================================================================
   Impresión: precuenta y ticket en papel térmico de 80 mm.
   El documento se arma en #impresion dentro de la misma página (sin ventanas
   emergentes, que los navegadores de tablet bloquean).
   ========================================================================== */

#impresion { display: none; }

.papel {
  width: 72mm;
  font-family: 'IBM Plex Mono', Consolas, monospace;
  font-size: 11px;
  line-height: 1.4;
  color: #000;
  background: #fff;
}
.papel .centro { text-align: center; }
.papel .der { text-align: right; }
.papel h1 { font-size: 15px; letter-spacing: 0.04em; margin: 0 0 2px; text-transform: uppercase; }
.papel .sub { font-size: 10px; }
.papel hr { border: none; border-top: 1px dashed #000; margin: 6px 0; }
.papel .doble { border-top: 2px solid #000; margin: 6px 0; }
.papel table { width: 100%; border-collapse: collapse; }
.papel td { padding: 1px 0; vertical-align: top; }
.papel .cant { width: 20px; }
.papel .imp { width: 58px; text-align: right; white-space: nowrap; }
.papel .fila-total { font-size: 13px; font-weight: 600; }
.papel .nota { font-size: 9px; }
.papel .titulo-doc {
  text-align: center; font-weight: 600; font-size: 12px;
  border: 1px solid #000; padding: 2px; margin: 4px 0;
  text-transform: uppercase; letter-spacing: 0.08em;
}

/* ---------------------------------------------------------------- carteles QR */
/* Los carteles de mesa no van en papel térmico: son una hoja A4 que se corta y
   se pega en la mesa. La regla @page es una sola por documento, así que el
   tamaño A4 lo inyecta la pantalla de Carta QR justo antes de imprimir y lo
   quita después; acá vive solo la forma del cartel. */

.carteles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6mm;
  color: #000;
  font-family: 'Inter', system-ui, sans-serif;
}
/* El cartel se pega en la mesa y lo mira un cliente mientras espera: es parte
   del salón, no un papel de sistema. El borde punteado es la línea de corte y
   por eso se queda. Todo en tinta negra: una impresora de oficina en blanco y
   negro tiene que dar el mismo resultado que una a color. */
.cartel {
  break-inside: avoid; page-break-inside: avoid;
  border: 1px dashed #bbb; border-radius: 3mm;
  padding: 8mm 6mm 7mm;
  text-align: center;
  background: #fff;
  display: flex; flex-direction: column; align-items: center;
}
.cartel-logo { height: 11mm; margin-bottom: 2.5mm; }
.cartel-logo img { height: 100%; width: auto; max-width: 46mm; object-fit: contain; }
.cartel-marca { font-size: 13pt; font-weight: 700; letter-spacing: -.01em; line-height: 1.15; }
.cartel-t { font-size: 8.5pt; color: #555; margin-top: 1.5mm; letter-spacing: .02em; }
.cartel-qr { margin: 5mm auto 4mm; width: 48mm; }
.cartel-qr svg { display: block; width: 100%; height: auto; }

/* La mesa es lo que el mesero busca al pegar los carteles y lo que el cliente
   confirma antes de escanear: va grande y con su etiqueta, no suelta. */
.cartel-mesa {
  display: inline-flex; align-items: baseline; gap: 2mm;
  border: 1.2pt solid #000; border-radius: 2mm;
  padding: 1.5mm 4mm;
}
.cartel-mesa span { font-size: 8pt; letter-spacing: .08em; text-transform: uppercase; color: #444; }
.cartel-mesa b {
  font-family: 'IBM Plex Mono', Consolas, monospace;
  font-size: 19pt; font-weight: 700; line-height: 1;
}
.cartel-area { font-size: 8pt; color: #666; margin-top: 2mm; letter-spacing: .03em; }
.cartel-pie { font-size: 7.5pt; color: #666; margin-top: 3mm; }

@media print {
  @page { size: 80mm auto; margin: 3mm; }
  html, body { background: #fff !important; height: auto; }
  body > *:not(#impresion) { display: none !important; }
  #impresion { display: block !important; }
  .papel { width: auto; }
}
