.receipt-open{overflow:hidden}.receipt-overlay{position:fixed;inset:0;z-index:100000;background:#241b16dd;overflow:auto;padding:20px 12px 40px}.receipt-toolbar{display:flex;gap:10px;max-width:440px;margin:0 auto 14px}.receipt-toolbar button{font:inherit;font-size:1rem;padding:10px 14px;border:0;border-radius:10px;cursor:pointer;background:white;color:#34231b}.receipt-toolbar button:first-child{flex:1;background:#ff6b35;color:#201009}.receipt-paper{box-sizing:border-box;background:white;color:#111;max-width:440px;margin:0 auto;padding:26px 20px;font-family:'Phetsarath OT','Noto Sans Lao',Arial,sans-serif;font-size:14px;line-height:1.6;border-radius:4px}.receipt-paper h1{font-size:19px;text-align:center;margin:14px 0;border-top:1px dashed #999;border-bottom:1px dashed #999;padding:10px 0}.receipt-paper h2{font-size:23px;text-align:center;margin:0}.receipt-contact,.receipt-thanks{text-align:center}.receipt-details{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:14px 0}.receipt-details dd{margin:0;text-align:right;overflow-wrap:anywhere}.receipt-paper table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.receipt-paper th,.receipt-paper td{padding:9px 3px;vertical-align:top;border-bottom:1px solid #ddd;text-align:right;overflow-wrap:anywhere}.receipt-paper th:first-child,.receipt-paper td:first-child{text-align:left;width:44%}.receipt-paper th:nth-child(2){width:10%}.receipt-paper th:nth-child(3),.receipt-paper th:nth-child(4){width:23%}.receipt-note{display:block;font-size:12px;color:#444}.receipt-sums>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.receipt-grand{font-size:18px;border-top:2px solid #222;margin-top:8px;padding-top:12px!important}.receipt-disclaimer{font-size:12px;color:#555}.receipt-thanks{border-top:1px dashed #999;padding-top:12px;margin-top:16px}@media print{@page{size:80mm auto;margin:4mm}body.receipt-open{padding:0!important;margin:0!important;background:#fff!important}body.receipt-open>*:not(#receiptOverlay){display:none!important}body.receipt-open #receiptOverlay{display:block!important;position:static!important;padding:0!important;background:#fff!important;overflow:visible!important}#receiptOverlay .receipt-toolbar{display:none!important}#receiptPaper{width:72mm;max-width:100%;padding:0;border:0;border-radius:0;margin:0;color:#000;box-shadow:none;font-size:11px}#receiptPaper table{font-size:10px}#receiptPaper h2{font-size:17px}#receiptPaper h1{font-size:14px}#receiptPaper .receipt-grand{font-size:15px}#receiptPaper tr{break-inside:avoid}#receiptPaper thead{display:table-header-group}}

.receipt-logo{display:block;width:120px;height:auto;object-fit:contain;margin:0 auto 12px}.receipt-logo[hidden]{display:none}.receipt-toolbar button:disabled{opacity:.5;cursor:wait}@media print{#receiptPaper .receipt-logo{width:25mm;height:auto;margin:0 auto 3mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.receipt-paper{padding:24px;max-width:460px}.receipt-details{grid-template-columns:100px minmax(0,1fr);gap:7px 12px}.receipt-details dd{text-align:left}.receipt-details a{color:inherit;overflow-wrap:anywhere}.receipt-paper td:not(:first-child),.receipt-paper th:not(:first-child){font-variant-numeric:tabular-nums}.receipt-paper td{padding:10px 4px}.receipt-grand{align-items:baseline}.receipt-grand strong{white-space:nowrap}.receipt-contact{margin:5px 0}.receipt-disclaimer{margin-top:14px}.receipt-logo{width:96px;margin-bottom:8px}#feeRow{display:none!important}#pinFieldCoords{overflow-wrap:anywhere}
@media print{#receiptPaper{padding:0}#receiptPaper .receipt-details{grid-template-columns:22mm minmax(0,1fr);gap:2mm}#receiptPaper td{padding:2mm 1mm}#receiptPaper .receipt-grand{break-inside:avoid}#receiptPaper .receipt-disclaimer{font-size:9px}}

/* Keep the quantity heading together, with enough room on 80 mm paper. */
#receiptPaper th:first-child,#receiptPaper td:first-child{width:38%}
#receiptPaper th:nth-child(2),#receiptPaper td:nth-child(2){width:18%;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-align:center;padding-left:2px;padding-right:2px}
#receiptPaper th:nth-child(3),#receiptPaper th:nth-child(4){width:22%}

/* 58 mm receipt: dish names get a full line; numeric columns never wrap. */
#receiptPaper table{table-layout:fixed;width:100%}
#receiptPaper th:first-child,#receiptPaper tr.receipt-item-values td:first-child{width:24%;text-align:center}
#receiptPaper th:nth-child(2),#receiptPaper th:nth-child(3),#receiptPaper tr.receipt-item-values td:nth-child(2),#receiptPaper tr.receipt-item-values td:nth-child(3){width:38%;text-align:right}
#receiptPaper th,#receiptPaper tr.receipt-item-values td{white-space:nowrap;overflow-wrap:normal;word-break:normal;padding:4px 1px;font-variant-numeric:tabular-nums}
#receiptPaper tr.receipt-item-name td{width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere;border-bottom:0;padding:8px 0 2px}
#receiptPaper tbody{break-inside:avoid;page-break-inside:avoid}
@media print{
 @page{size:auto;margin:3mm}
 html,body.receipt-open{width:auto!important;min-width:0!important}
 #receiptPaper{width:48mm!important;max-width:48mm!important;margin:0!important;padding:0!important;font-size:10px;line-height:1.65}
 #receiptPaper table{font-size:10px}
 #receiptPaper th{font-size:9px}
 #receiptPaper .receipt-details{grid-template-columns:1fr;gap:0;margin:3mm 0}
 #receiptPaper .receipt-details dt{font-weight:bold;margin-top:1.5mm}
 #receiptPaper .receipt-details dd{text-align:left;margin:0}
 #receiptPaper h1{font-size:12px}#receiptPaper h2{font-size:15px}
 #receiptPaper .receipt-grand{font-size:12px;gap:2mm;flex-wrap:wrap}
 #receiptPaper .receipt-sums strong{white-space:nowrap}
 #receiptPaper .receipt-logo{width:22mm}
}

/* Isolate receipt numbers from the app's table column rules. */
#receiptPaper .bill-items{width:100%;min-width:0;box-sizing:border-box}
#receiptPaper .bill-numbers{display:grid!important;grid-template-columns:minmax(0,22fr) minmax(0,36fr) minmax(0,42fr);gap:0;align-items:baseline;width:100%;min-width:0;box-sizing:border-box;padding:5px 0;font-variant-numeric:tabular-nums}
#receiptPaper .bill-numbers span{display:block;min-width:0;width:auto;padding:0 1px;box-sizing:border-box;white-space:nowrap;text-align:right;font-family:Arial,'Noto Sans Lao','Phetsarath OT',sans-serif}
#receiptPaper .bill-numbers span:first-child{text-align:left}
#receiptPaper .bill-head{font-weight:700;border-bottom:1px solid #555}
#receiptPaper .bill-item{padding:6px 0;border-bottom:1px solid #ccc;break-inside:avoid;page-break-inside:avoid}
#receiptPaper .bill-item-name{overflow-wrap:anywhere;white-space:normal}
@media print{
 body.receipt-open #receiptOverlay{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
 #receiptPaper{width:100%!important;max-width:48mm!important;min-width:0!important;box-sizing:border-box!important}
 #receiptPaper .bill-numbers{font-size:10px!important;line-height:1.7}
 #receiptPaper .bill-head{font-size:9px!important}
 #receiptPaper .receipt-sums>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px;width:100%;box-sizing:border-box}
 #receiptPaper .receipt-sums strong{font-family:Arial,sans-serif;font-size:11px;white-space:nowrap}
}
