/* =====================================================================
   Recibo térmico de 80 mm (se imprime desde el navegador)
   ===================================================================== */

#recibo-print { display: none; }

.recibo {
  width: 72mm;
  margin: 0 auto;
  padding: 3mm 0 6mm;
  font-family: "Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 11.5px;
  line-height: 1.35;
  color: #000;
  background: #fff;
}
.recibo img.logo { width: 52mm; margin: 0 auto 2mm; display: block; }
.recibo .c { text-align: center; }
.recibo .b { font-weight: 500; }
.recibo .g { font-size: 14px; font-weight: 500; }
.recibo .sep { border-top: 1px dashed #000; margin: 2.2mm 0; }
.recibo .sep.fuerte { border-top: 1px solid #000; }
.recibo table { width: 100%; border-collapse: collapse; }
.recibo td { padding: 0.6mm 0; vertical-align: top; }
.recibo td.cant { width: 8mm; }
.recibo td.val { text-align: right; white-space: nowrap; padding-left: 2mm; }
.recibo .mod { padding-left: 8mm; font-size: 10.5px; }
.recibo .fila { display: flex; justify-content: space-between; gap: 3mm; }
.recibo .total { font-size: 15px; font-weight: 500; }
.recibo .peq { font-size: 10px; }

/* Vista previa en pantalla (dentro del modal) */
.recibo-previa { background: var(--superficie-3); padding: 14px; display: flex; justify-content: center; overflow: auto; border: 1px solid var(--linea); border-radius: var(--r); max-height: 60vh; }
.recibo-previa .recibo { box-shadow: 0 1px 6px rgba(0,0,0,.2); padding: 4mm 4mm 8mm; width: 80mm; }

@media print {
  @page { size: 80mm auto; margin: 0; }
  html, body { height: auto !important; background: #fff !important; }
  body > *:not(#recibo-print) { display: none !important; }
  #recibo-print { display: block !important; }
  #recibo-print .recibo { width: 72mm; margin: 0 auto; box-shadow: none; padding: 2mm 0 8mm; }
}
