/* =====================================================================
   Print stylesheet — only #printArea reaches paper.
   Sized for an 80mm thermal roll; falls back sanely to A4.
   ===================================================================== */

@page { size: 80mm auto; margin: 3mm; }

body > *:not(.print-area) { display: none !important; }

.print-area {
  display: block !important;
  position: static;
  width: 100%;
  background: #fff;
  color: #000;
}

.print-area .receipt {
  width: 74mm;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
  background: #fff;
  color: #000;
  font-family: "Cascadia Mono", Consolas, "Courier New", monospace;
  font-size: 10pt;
  line-height: 1.42;
}

.print-area .receipt hr { border-top: 1px dashed #000; }
.print-area .receipt .r-item-sub { color: #333; }

/* keep a bill from splitting mid-line where the browser allows it */
.print-area .receipt table tr { break-inside: avoid; page-break-inside: avoid; }
.print-area .receipt .r-tot,
.print-area .receipt .r-foot { break-inside: avoid; page-break-inside: avoid; }

/* the faux barcode must render as ink, not be dropped as a background */
.print-area .receipt .r-barcode {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* wider reports print on A4 portrait rather than roll width */
@media print {
  .print-area.sheet { width: 100%; }
}
.print-area.sheet {
  font-family: ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 10pt;
  color: #000;
}
.print-area.sheet h1 { font-size: 15pt; margin: 0 0 2mm; }
.print-area.sheet h2 { font-size: 12pt; margin: 5mm 0 2mm; }
.print-area.sheet .meta { font-size: 9pt; color: #333; margin-bottom: 4mm; }
.print-area.sheet table { width: 100%; border-collapse: collapse; font-size: 9pt; }
.print-area.sheet th, .print-area.sheet td { padding: 1.4mm 2mm; border-bottom: 1px solid #bbb; text-align: left; }
.print-area.sheet th { background: #eee; font-size: 8pt; text-transform: uppercase; letter-spacing: .04em;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.print-area.sheet td.r, .print-area.sheet th.r { text-align: right; }
.print-area.sheet tr { break-inside: avoid; page-break-inside: avoid; }
