.receipt-dialog { width: min(450px,calc(100vw - 24px)); background: #f1eee8; border-radius: 28px }
.receipt-dialog #preview-content>h2 { font-size: 17px; margin-bottom: 16px; text-align: center }
.printed-ticket { width: 76mm; max-width: 100%; box-sizing: border-box; background: #fff; color: #171717; padding: 7mm 5mm; margin: 0 auto 20px; box-shadow: 0 10px 24px #33210b15; font: 12px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif }
.printed-ticket header { text-align: center; padding-bottom: 15px }
.receipt-logo { display: block; width: 47mm; max-width: 100%; height: auto; margin: 0 auto 16px; filter: grayscale(1) contrast(3) }
.printed-ticket h3 { font-size: 18px; letter-spacing: 2px; margin: 0 0 4px; color: #111 }
.printed-ticket p { margin: 0 }
.receipt-brand { display: block; font-size: 19px; margin-bottom: 15px }
.receipt-caption { font-size: 10px }
.receipt-info { display: grid; gap: 4px; border-top: 1px dashed #777; padding: 12px 0 }
.receipt-info strong { font-size: 16px }
.receipt-info time { font-size: 10px }
.receipt-lines { border-top: 1px dashed #777; border-bottom: 1px dashed #777 }
.receipt-line { padding: 11px 0; border-bottom: 1px dotted #ccc; break-inside: avoid }
.receipt-line:last-child { border: 0 }
.receipt-line>div { display: flex; justify-content: space-between; align-items: flex-start; gap: 9px }
.receipt-line strong { font-size: 12px; line-height: 1.4 }
.receipt-line span { white-space: nowrap; font-weight: 650; font-variant-numeric: tabular-nums }
.receipt-line p { white-space: pre-line; font-size: 10px; color: #444; margin-top: 5px; line-height: 1.5 }
.receipt-total { display: flex; justify-content: space-between; gap: 10px; padding: 16px 0; font-size: 17px }
.receipt-thanks { text-align: center; padding-top: 8px; font-weight: 600 }
.receipt-reason { padding: 8px 0; font-weight: 600 }
.printed-ticket footer { border-top: 1px dashed #aaa; padding-top: 10px; margin-top: 18px; text-align: center; font-size: 9px }
.receipt-controls { display: flex; justify-content: center; margin: 10px 0 }
.invoice-print header h3 { margin-top: 15px }
.printed-ticket .draft-stamp { font-weight: 800; border: 2px solid; padding: 6px; margin: 8px 0; font-size: 10px }
.receipt-breakdown { padding-top: 12px }
.receipt-breakdown p { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px }
body.receipt-page { margin: 0; padding: 24px; background: #f2efe9 }
@media print {
  @page { margin: 2mm }
  body { background: #fff !important; margin: 0 !important; padding: 0 !important }
  body:has(.receipt-dialog[open])>*:not(.receipt-dialog) { display: none !important }
  .receipt-dialog { display: block !important; position: static; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; overflow: visible }
  .receipt-dialog::backdrop { display: none }
  .receipt-dialog #preview-content>h2,.receipt-controls,#close-preview { display: none !important }
  .printed-ticket { width: 76mm; box-shadow: none; margin: 0; padding: 3mm; color: #000 }
  .receipt-logo { filter: grayscale(1) contrast(3) }
  .receipt-line p { color: #000 }
}

.fiscal-qr{display:block;width:150px;height:150px;margin:12px auto}.fiscal-hash{font-size:9px;overflow-wrap:anywhere}

.receipt-system {display:grid;gap:2px;border-top:1px dashed #000;margin-top:10px;padding-top:8px;text-align:center;color:#000;font-size:9px;line-height:1.35;break-inside:avoid}
.receipt-system strong {font-size:14px;font-weight:800;letter-spacing:.2px}
