/* Receipt printing: shared by Chrome/Windows and iOS AirPrint. */
@page { size: auto; margin: 12mm; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; background: #fff !important; }
  body > :not(main) { display: none !important; }
  main { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
  body:not(.printing-invoice) main > :not(#receiptView) { display: none !important; }
  body:not(.printing-invoice) #receiptView {
    display: block !important; position: static !important; width: auto !important;
    max-width: none !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    color: #000 !important; font-size: 10pt; line-height: 1.2;
    page-break-inside: avoid; break-inside: avoid-page;
  }
  #receiptView, #receiptView * { box-sizing: border-box; }
  #receiptView h1 { font-size: 18pt; line-height: 1.15; margin: 0 0 6pt; }
  #receiptView p { margin: 5pt 0; overflow-wrap: anywhere; }
  #receiptView #receiptDetails { font-size: 9pt; line-height: 1.15; white-space: normal; }
  #receiptView table { width: 100%; table-layout: fixed; margin: 7pt 0; border-collapse: collapse; }
  #receiptView td { padding: 4pt 3pt !important; vertical-align: top; overflow-wrap: anywhere; font-size: 10pt; }
  #receiptView td:first-child { width: 56%; }
  #receiptView tr { page-break-inside: avoid; break-inside: avoid; }
  #receiptView .no-print { display: none !important; }
}
/* Invoice stationery, on screen and in print. */
#invoiceView { border: 2px solid #cba0ad; background: linear-gradient(#fffdfc,#fffdfc) padding-box; outline: 1px solid #ead5dc; outline-offset: -7px; padding: 26px; }
#invoiceView .invoice-brand { border-bottom: 1px solid #ead5dc; padding-bottom: 16px; }
@media print {
  body.printing-invoice #invoiceView { border: 2px solid #cba0ad !important; outline: 1px solid #ead5dc; outline-offset: -7px; padding: 18pt !important; margin: 0 !important; border-radius: 0; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
}
/* Compact receipt logo, visible on screen and Windows printouts. */
.receipt-brand { display:flex; align-items:center; gap:14px; margin:0 0 12px; break-inside:avoid; }
#receiptView .receipt-brand h1 { margin:0 0 5px; }
#receiptView .receipt-brand p { margin:0; }
#receiptView .receipt-brand .invoice-logo { width:72px; height:72px; }
@media print {
  #receiptView .receipt-brand { margin:0 0 7pt; gap:10pt; page-break-inside:avoid; }
  #receiptView .receipt-brand .invoice-logo { width:50pt; height:50pt; }
}
/* Compact invoice stationery for Letter/A4 and mobile AirPrint. */
@media print {
  body.printing-invoice #invoiceView { font-size:10pt; line-height:1.2; }
  #invoiceView .invoice-brand { margin:0 0 7pt; padding-bottom:7pt; gap:10pt; }
  #invoiceView .invoice-logo { width:50pt; height:50pt; }
  #invoiceView .invoice-brand h1 { font-size:18pt; }
  #invoiceView .invoice-brand h2 { font-size:13pt; margin:4pt 0 0; }
  #invoiceView p { margin:4pt 0; }
  #invoiceView h3 { font-size:11pt; margin:8pt 0 4pt; }
  #invoiceView td { padding:4pt 0; font-size:10pt; }
  #invoiceView #invoiceSummary, #invoiceView #invoiceAddress { white-space:normal; font-size:9pt; }
  #invoiceView #invoiceUpdated { font-size:8pt; }
}
/* Business logo in the app header on Windows and phone. */
.app-brand { display:flex; align-items:center; justify-content:center; gap:16px; margin:0 0 10px; }
.app-brand .invoice-logo { width:88px; height:88px; }
.app-brand h1 { margin:0; text-align:left; }
@media(max-width:420px) { .app-brand { gap:10px; } .app-brand .invoice-logo { width:64px; height:64px; } .app-brand h1 { font-size:23px; } }
/* Receipts use the same stationery as invoices. */
#receiptView { border:2px solid #cba0ad; background:#fffdfc; outline:1px solid #ead5dc; outline-offset:-7px; padding:26px; }
#receiptView .receipt-brand { border-bottom:1px solid #ead5dc; padding-bottom:16px; }
#receiptView .receipt-brand h2 { margin:7px 0 0; font-size:20px; }
#receiptView h3 { color:#754556; }
@media print {
  body:not(.printing-invoice) #receiptView { border:2px solid #cba0ad !important; outline:1px solid #ead5dc; outline-offset:-7px; padding:18pt !important; background:#fffdfc !important; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  #receiptView .receipt-brand { padding-bottom:7pt; }
  #receiptView .receipt-brand h2 { font-size:13pt; margin:4pt 0 0; }
  #receiptView h3 { font-size:11pt; margin:8pt 0 4pt; }
}
