/* One voucher occupies approximately the top third of an A4 sheet. */
@page rozA4 { size: A4 portrait; margin: 5mm; }
@page rozA5 { size: A5 portrait; margin: 7mm; }
@page rozThermal80 { size: 80mm 200mm; margin: 3mm; }
@page rozThermal60 { size: 60mm 200mm; margin: 3mm; }
.receipt-document { box-sizing:border-box; width:200mm; max-width:100%; min-height:99mm; display:flex; flex-direction:column; margin:0 auto; padding:5mm; background:#fff; color:#111; border:1px solid #222; border-radius:0; box-shadow:none; overflow:visible; font-family:Tahoma,Arial,sans-serif; }
.receipt-document *,.receipt-document *::after { box-sizing:border-box; color:#111; }
.receipt-voucher-header { display:grid; grid-template-columns:1.15fr 1fr .8fr; align-items:center; gap:4mm; min-height:23mm; padding:0 0 3mm; border-bottom:2px solid #222; background:#fff; }
.receipt-branding { display:flex; align-items:center; gap:3mm; min-width:0; }
.receipt-document .receipt-logo { display:block; width:15mm; height:15mm; flex:0 0 15mm; object-fit:contain; border-radius:0; background:#fff; filter:grayscale(1); }
.receipt-document .receipt-logo-empty { display:grid; place-items:center; font-size:25px; border:1px solid #555; }
.receipt-branding strong { display:block; font-size:13px; line-height:1.65; }
.receipt-branding small { display:block; margin-top:2px; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.receipt-voucher-title { text-align:center; min-width:0; }
.receipt-voucher-title h1 { font-size:23px; line-height:1.45; margin:0; }
.receipt-voucher-title h1::after { content:none; }
.receipt-date-card { padding:3mm; border:1px solid #555; text-align:center; background:#fff; }
.receipt-date-card span { display:block; font-size:11px; margin-bottom:5px; }
.receipt-date-card strong { font-size:11px; line-height:1.6; }
.receipt-voucher-body { padding:2mm 0 0; }
.receipt-voucher-fields { margin:0; }
.receipt-voucher-field { display:flex; align-items:baseline; gap:3mm; justify-content:space-between; border-bottom:1px solid #aaa; padding:2mm 0; min-width:0; }
.receipt-voucher-field span { font-size:12px; white-space:nowrap; }
.receipt-voucher-field strong { font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.receipt-customer .receipt-voucher-field strong { font-size:15px; }
.receipt-amount-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2mm; margin:3mm 0 1mm; }
.receipt-amount-grid .receipt-voucher-field { display:block; border:1px solid #555; padding:2mm; background:#fff; text-align:center; }
.receipt-amount-grid .receipt-voucher-field span,.receipt-amount-grid .receipt-voucher-field strong { display:block; }
.receipt-amount-grid .receipt-voucher-field strong { margin-top:1mm; font-size:15px; }
.receipt-subscription .receipt-voucher-field { justify-content:flex-start; }
.receipt-subscription .receipt-voucher-field span { min-width:22mm; }
.receipt-status { margin:2mm 0; font-weight:bold; border:1px solid #111; padding:1mm; text-align:center; }
.receipt-document .receipt-footer { margin-top:auto; padding:3mm 0 0; text-align:center; border-top:0; background:#fff; font-size:12px; line-height:1.6; }
.receipt-paper-a4 { page:rozA4; }
.receipt-paper-a5 { page:rozA5; width:134mm; }
.receipt-paper-thermal80 { page:rozThermal80; width:74mm; }
.receipt-paper-thermal60 { page:rozThermal60; width:54mm; }
.receipt-document:is(.receipt-paper-thermal80,.receipt-paper-thermal60) { min-height:0; padding:2mm; border:0; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-voucher-header { grid-template-columns:1fr; gap:2mm; min-height:0; padding-bottom:2mm; border-bottom:1px dashed #444; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-branding { flex-direction:column; text-align:center; gap:1mm; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-logo { width:12mm; height:12mm; flex-basis:12mm; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-branding strong { font-size:12px; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-branding small { font-size:10px; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-voucher-title h1 { font-size:18px; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-date-card { border:0; padding:0; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-date-card span { display:inline; margin-left:2mm; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-voucher-field { padding:1.5mm 0; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-voucher-field span { font-size:11px; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-voucher-field strong { font-size:12px; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-amount-grid { grid-template-columns:1fr; margin:1mm 0; gap:0; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-amount-grid .receipt-voucher-field { display:flex; border:0; border-bottom:1px dashed #777; text-align:start; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-amount-grid .receipt-voucher-field strong { margin:0; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-subscription .receipt-voucher-field { display:block; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-subscription strong { display:block; }
:is(.receipt-paper-thermal80,.receipt-paper-thermal60) .receipt-footer { font-size:10px; margin-top:2mm; padding-top:2mm; }
@media screen and (max-width:680px) {
  .receipt-document:not(.receipt-paper-thermal60):not(.receipt-paper-thermal80) { width:100%; padding:14px; min-height:0; }
  .receipt-document:not(.receipt-paper-thermal60):not(.receipt-paper-thermal80) .receipt-voucher-header { grid-template-columns:1fr; gap:12px; }
  .receipt-branding { justify-content:center; }
  .receipt-amount-grid { grid-template-columns:repeat(2,1fr); }
  .receipt-document .receipt-footer { margin-top:14px; }
}
@media print {
  html,body { margin:0!important; padding:0!important; background:#fff!important; color:#000!important; }
  .top,.footer,.no-print,.receipt-source-details,.roz-sidebar,.roz-toolbar { display:none!important; }
  .wrap,main.debt-page,main.cash-page,main.payroll-page { margin:0!important; padding:0!important; max-width:none!important; }
  .receipt-document { max-width:none; margin:0; break-inside:avoid; box-shadow:none!important; color:#000; }
  .receipt-document *,.receipt-document *::after { color:#000!important; text-shadow:none!important; box-shadow:none!important; }
  .receipt-document.receipt-paper-a4 { width:200mm; min-height:99mm; padding:5mm; border:1px solid #000!important; }
  .receipt-document.receipt-paper-a5 { width:134mm; }
  .receipt-document.receipt-paper-thermal80 { width:74mm; }
  .receipt-document.receipt-paper-thermal60 { width:54mm; }
}

.receipt-reference{font-size:10px;padding:1mm 0;overflow-wrap:anywhere}.receipt-operation-amounts{grid-template-columns:repeat(auto-fit,minmax(42mm,1fr))}.receipt-parties{display:grid;grid-template-columns:1fr 1fr;gap:0 4mm}.receipt-parties .receipt-voucher-field,.receipt-operation-details .receipt-voucher-field{gap:2mm}.receipt-operation-amounts .receipt-voucher-field span{white-space:normal}.receipt-operation-details .receipt-voucher-field{padding:1mm 0}.receipt-operation-details .receipt-voucher-field span{white-space:normal}.receipt-document:is(.receipt-paper-thermal60,.receipt-paper-thermal80) .receipt-parties{grid-template-columns:1fr}.receipt-document:is(.receipt-paper-thermal60,.receipt-paper-thermal80) .receipt-operation-amounts{grid-template-columns:1fr}
.receipt-operation { font-size:12px; line-height:1.5; }
.receipt-operation:not(.receipt-paper-thermal60):not(.receipt-paper-thermal80) { padding:4mm; }
.receipt-operation .receipt-reference { display:flex; flex-wrap:wrap; gap:1mm; align-items:center; }
.receipt-operation-status { margin-inline-start:auto; border:1px solid #555; padding:.5mm 1mm; font-weight:bold; }
.receipt-operation .receipt-voucher-field { padding:1mm 0; }
.receipt-operation .receipt-voucher-field strong { font-size:12px; line-height:1.5; }
.receipt-operation .receipt-amount-grid { margin:1.5mm 0 1mm; }
.receipt-operation .receipt-amount-grid .receipt-voucher-field { padding:1.5mm; }
.receipt-operation .receipt-amount-grid .receipt-voucher-field span { font-size:11px; }
.receipt-operation .receipt-amount-grid .receipt-voucher-field strong { font-size:14px; }
.receipt-operation .receipt-status { font-size:11px; line-height:1.5; margin:1mm 0; }
.receipt-operation .receipt-footer { padding-top:2mm; }
