.receipt-document { --receipt-accent: #214e43; color: #243c34; box-sizing: border-box; max-width: 100%; }
.receipt-accent-navy { --receipt-accent: #284c72; }
.receipt-accent-plum { --receipt-accent: #6b476e; }
.receipt-accent-charcoal { --receipt-accent: #343c3a; }
.receipt-document .receipt-brand h2 { color: var(--receipt-accent); overflow-wrap: anywhere; }
.receipt-logo { display: block; max-width: 150px; max-height: 80px; width: auto; height: auto; object-fit: contain; margin-bottom: 12px; }
.receipt-contact, .receipt-message, .receipt-extra { white-space: pre-wrap; overflow-wrap: anywhere; }
.receipt-contact { font-size: 12px; line-height: 1.6; margin: 8px 0 12px; color: #53665d; }
.receipt-document dl { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.receipt-document dt, .receipt-document dd { overflow-wrap: anywhere; }
.receipt-title { letter-spacing: 1.5px; font-size: 12px; }
.receipt-message { font-size: 12px; line-height: 1.6; }
.receipt-extra { padding-top: 12px; border-top: 1px solid #dce6dc; font-size: 12px; line-height: 1.6; }
.receipt-footer { padding-top: 12px; text-align: center; }
.receipt-modern { border-top: 5px solid var(--receipt-accent); padding-top: 20px; }
.receipt-modern .receipt-brand { border-bottom: 1px solid #dce6dc; padding-bottom: 10px; }
.receipt-modern .receipt-total { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 18px 0; padding: 16px; border-radius: 8px; background: #f1f5f0; color: var(--receipt-accent); }
.receipt-total strong { font-size: 25px; font-variant-numeric: tabular-nums; }
.receipt-minimal { font-family: Arial, sans-serif; line-height: 1.6; }
.receipt-minimal .receipt-brand { border-bottom: 1px solid #dce6dc; }
.receipt-minimal .receipt-brand h2 { font-size: 21px; }
.receipt-minimal dl { padding: 12px 0; gap: 9px; }
.receipt-settings-preview { padding: 22px; border: 1px solid #dce6dc; border-radius: 8px; background: #fff; overflow-x: auto; }
.receipt-settings-preview .receipt-document { margin-inline: auto; }
.receipt-paper-thermal80, .receipt-paper-thermal58 { font-family: Arial, Helvetica, sans-serif; color: #000; font-size: 12px; line-height: 1.45; padding: 0; border: 0; border-radius: 0; background: #fff; }
.receipt-paper-thermal80 { width: 72mm; }
.receipt-paper-thermal58 { width: 48mm; font-size: 11px; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) .receipt-brand { text-align: center; padding-bottom: 10px; border-bottom: 1px dashed #333; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) .receipt-brand h2 { color: #000; font-family: Arial, sans-serif; font-size: 17px; line-height: 1.25; margin: 8px 0; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) .receipt-logo { max-width: 35mm; max-height: 18mm; margin: 0 auto 8px; filter: grayscale(1); }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) dl { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 7px 8px; margin: 12px 0; font-size: inherit; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) dt { font-weight: 600; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) dd { text-align: right; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) :is(.receipt-contact, .receipt-message, .receipt-extra, .receipt-note) { color: #000; font-family: Arial, sans-serif; font-size: 10px; line-height: 1.45; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) .receipt-total { background: none; color: #000; border-bottom: 1px dashed #333; border-radius: 0; padding: 10px 0; margin: 0; }
:is(.receipt-paper-thermal80, .receipt-paper-thermal58) .receipt-total strong { font-size: 19px; }
.receipt-paper-thermal58 .receipt-brand h2 { font-size: 15px; }
@media print {
  body.printing-receipt > dialog:not(.receipt-print-target) { display: none !important; }
  body.printing-receipt > .receipt-print-target { display: block !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; max-height: none !important; overflow: visible !important; background: #fff !important; }
  .receipt-print-target .receipt-document { margin: 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .receipt-print-target .receipt-document dt, .receipt-print-target .receipt-document dd { break-inside: avoid; }
  .receipt-print-target .receipt-brand, .receipt-print-target .receipt-total { break-inside: avoid; }
  .receipt-print-target :is(.receipt-paper-thermal80, .receipt-paper-thermal58) { max-width: none; }
  .receipt-print-target .receipt-note { margin-bottom: 0; }
}
@media screen {
  .receipt-paper-thermal80, .receipt-paper-thermal58 { margin-inline: auto; }
}
/* Receipt paper is independent of the surrounding workspace theme. */
@media screen {
 .receipt-document { background:#fff }
 .receipt-document :is(dl,dt,dd) { min-width:0 }
 .receipt-document dl { width:100% }
 .receipt-document :is(dt,dd) { overflow-wrap:anywhere;word-break:normal }
 :is(.receipt-paper-thermal80,.receipt-paper-thermal58) { padding:10px;box-sizing:border-box }
}
