/* Standalone A4 layout: do not inherit application/sidebar geometry in Safari. */
@page { size: A4 portrait; margin: 12mm; }
html, body { display: block !important; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: white !important; }
body > :not(#print-area) { display: none !important; }
#print-area { display: block !important; position: static !important; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
#print-area .receipt, #print-area .receipt-content { display: block !important; position: relative !important; float: none !important; width: 100% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; transform: none !important; overflow: visible !important; }
#print-area .receipt { font: 10pt/1.45 'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif; color: #18383f; }
#print-area .receipt-content { z-index: 1; }
#print-area .receipt-watermark { position: fixed; top: 45%; left: 50%; transform: translate(-50%,-50%); width: 140mm; max-width: 85%; height: auto; opacity: .05; z-index: 0; }
#print-area .receipt-top { display: table; table-layout: fixed; width: 100%; margin: 0 0 5mm; padding: 0 0 4mm; border-bottom: 1.5pt solid #096b71; break-inside: avoid; page-break-inside: avoid; }
#print-area .receipt-top > div { display: table-cell; vertical-align: middle; }
#print-area .receipt-identity { width: 68%; }
#print-area .receipt-top > div:last-child { width: 32%; text-align: right; }
#print-area .receipt-identity > div { display: inline-block; vertical-align: middle; width: calc(100% - 22mm); }
#print-area .receipt-logo { display: inline-block; vertical-align: middle; width: 18mm; height: 18mm; margin-right: 3mm; }
#print-area .receipt-brand { font-size: 14pt; line-height: 1.45; word-break: normal; overflow-wrap: normal; }
#print-area .receipt-top h2 { font-size: 14pt; margin: 0 0 2mm; }
#print-area .receipt-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 5mm; margin-bottom: 5mm; font-size: 9pt; break-inside: avoid; page-break-inside: avoid; }
#print-area .table { width: 100% !important; min-width: 0 !important; table-layout: fixed; border-collapse: collapse; margin: 0 0 4mm; }
#print-area .table thead { display: table-header-group; }
#print-area .table tr { break-inside: avoid; page-break-inside: avoid; }
#print-area .table th, #print-area .table td { min-width: 0 !important; padding: 2.4mm 1.4mm !important; font-size: 8.5pt !important; line-height: 1.45; vertical-align: top; border-bottom: .5pt solid #dce5e5; }
#print-area .table th { font-weight: 600; color: #45636a; background: #f1f6f5 !important; white-space: normal; }
#print-area .table td { overflow-wrap: break-word; word-break: normal; }
#print-area .receipt-items th:nth-child(1) { width: 13%; }
#print-area .receipt-items th:nth-child(2) { width: 25%; }
#print-area .receipt-items th:nth-child(3) { width: 9%; }
#print-area .receipt-items th:nth-child(4) { width: 9%; }
#print-area .receipt-items th:nth-child(5) { width: 8%; }
#print-area .receipt-items th:nth-child(6) { width: 18%; }
#print-area .receipt-items th:nth-child(7) { width: 18%; }
#print-area .table:not(.receipt-items) .money { white-space: normal; overflow-wrap: break-word; }
#print-area .receipt-items td:nth-child(1), #print-area .receipt-items td:nth-child(3), #print-area .receipt-items td:nth-child(5), #print-area .receipt-items td:nth-child(6), #print-area .receipt-items td:nth-child(7) { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
#print-area .receipt-items th:nth-child(3), #print-area .receipt-items td:nth-child(3) { text-align: center; }
#print-area .receipt-items th:nth-child(6), #print-area .receipt-items th:nth-child(7), #print-area .receipt-items td:nth-child(6), #print-area .receipt-items td:nth-child(7) { text-align: right; }
#print-area .tiny, #print-area .subtle, #print-area .fx-reference { font-size: 7.5pt; line-height: 1.5; color: #5a7278; }
#print-area .fx-reference { white-space: nowrap; margin-top: 1mm; }
#print-area .receipt-total { display: flex; gap: 5mm; margin: 4mm 0; break-inside: avoid; page-break-inside: avoid; }
#print-area .receipt-total > div { flex: 1; min-width: 0; max-width: none; padding: 3mm; border: .5pt solid #dce5e5; font-size: 9pt; line-height: 1.7; }
#print-area .fx-summary { margin: 4mm 0; padding: 3mm; break-inside: avoid; page-break-inside: avoid; }
#print-area .fx-summary strong { font-size: 13pt; }
#print-area .fx-summary p, #print-area .fx-rate-note { font-size: 8pt; }
#print-area .receipt-footer { margin-top: 5mm; font-size: 8pt; break-inside: avoid; page-break-inside: avoid; }
#print-area h3 { break-after: avoid; page-break-after: avoid; margin: 4mm 0 2mm; }
#print-area .btn { display: none !important; }
