:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#23352f;background:#fbfcfb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce2df;background:white;color:#374d43;border-radius:7px;padding:10px 17px;font-size:14px;transition:.18s}button:hover{background:#edf3ef;border-color:#8da99b}button:focus-visible{outline:3px solid #9fcab6;outline-offset:2px}.primary{background:#2d5549;color:white;border-color:#2d5549}.primary:hover{background:#1f4136;color:white}header{height:82px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid #e5e9e6}.identity{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.identity strong{font-size:19px;letter-spacing:1px}.brand-icon{display:grid;place-items:center;background:#2d5549;color:white;font-size:25px;width:37px;height:39px;border-radius:9px}.divider{height:20px;width:1px;background:#dfe5e1;margin:0 4px}.muted{font-size:13px;color:#8a9690}.actions{display:flex;align-items:center;gap:12px}#status{font-size:12px;color:#7c8d83;margin-right:10px}main{display:grid;grid-template-columns:minmax(380px,44%) 1fr;max-width:1600px;margin:auto}.editor{padding:40px 48px;min-width:0}.eyebrow{font-size:11px;letter-spacing:2px;color:#7a9586;font-weight:600}h1{font-size:32px;line-height:1.5;font-weight:600;letter-spacing:1px;margin:13px 0 10px}.page-title p{color:#859087;font-size:14px;margin:0 0 30px}.tabs{display:flex;border-bottom:1px solid #dce4de;margin-bottom:29px;gap:28px}.tabs button{padding:13px 0;border:0;border-radius:0;background:none;color:#8a958e;position:relative}.tabs button.active{color:#2d5549;font-weight:600}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#2d5549}.section-heading{display:flex;align-items:center;gap:10px;margin:26px 0 19px;font-size:15px}.section-heading small{display:grid;place-items:center;border:1px solid #dbe5df;border-radius:4px;width:22px;height:22px;color:#7e9a8a;font-size:11px;font-weight:400}.section-heading:first-child{margin-top:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}label{display:block;font-size:13px;color:#65766c}label.wide{grid-column:1/-1}input,textarea,select{display:block;width:100%;margin-top:8px;border:1px solid #dde4de;background:#fff;border-radius:6px;padding:11px 12px;font-size:14px;color:#354a3e;outline:0;min-width:0}input:focus,textarea:focus,select:focus{border-color:#5c8d74;box-shadow:0 0 0 3px #eaf2ec}textarea{resize:vertical;line-height:1.65;min-height:79px}.editor-note{display:flex;gap:10px;border-top:1px solid #e1e7e2;margin-top:30px;padding-top:17px;color:#8c9990;font-size:12px;line-height:1.8}.editor-note p{margin:0}.preview{background:#edf0ed;border-left:1px solid #e0e5df;min-width:0}.preview-toolbar{position:sticky;top:0;z-index:2;background:#edf0edf2;height:73px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e5df}.preview-toolbar>div{display:flex;align-items:center;gap:9px}.preview-toolbar strong{font-size:13px;font-weight:500}.live-dot{width:6px;height:6px;border-radius:50%;background:#517761}.paper-tag{font-size:11px;color:#859287;margin-left:7px;padding:4px 7px;background:#e4e9e3;border-radius:4px}.zoom-controls button{padding:2px 6px;border:0;background:none;color:#728478}.zoom-controls span{font-size:12px;color:#7c8b80;min-width:35px;text-align:center}.paper-workspace{padding:28px 22px 50px;min-height:calc(100vh - 155px);background-image:radial-gradient(#ced7ce .7px,transparent .7px);background-size:12px 12px;overflow:auto}.ruler{display:flex;align-items:center;gap:12px;width:80mm;margin:0 auto 17px;color:#93a092}.ruler span{height:6px;border-top:1px solid #b9c7ba;flex:1}.ruler span:first-child{border-left:1px solid #b9c7ba}.ruler span:last-child{border-right:1px solid #b9c7ba}.ruler small{font-size:11px}#paperHolder{width:80mm;margin:auto}.receipt{width:80mm;padding:6mm 4mm 5mm;background:#fffefb;color:#252721;box-shadow:0 3px 7px #283f3610,0 15px 35px #283f3612;font-family:"Courier New",monospace;font-size:9px;line-height:1.55;overflow-wrap:anywhere}.receipt .logo{display:block;width:calc(var(--paper-width,80mm) * .81);max-width:100%;height:auto;margin:0 auto 9px}.fixed-brand{grid-column:1/-1;padding:14px 16px;border:1px solid #dde4de;border-radius:6px;background:white}.fixed-brand span{display:block;font-size:13px;color:#65766c;margin-bottom:17px}.fixed-brand img{display:block;max-width:100%;height:auto;margin:0 0 5px}.center{text-align:center;white-space:pre-line}.receipt .block{margin-top:28px}.receipt .gap{margin-top:16px}.receipt table{width:100%;border-collapse:collapse;font-size:inherit}.receipt td,.receipt th{text-align:left;padding:0;vertical-align:top;font-weight:normal}.receipt .num{text-align:right;white-space:nowrap}.receipt .item-description td{padding-bottom:15px}.receipt .total{border-top:1px solid #000;margin-top:25px;padding-top:6px;text-align:right;font-weight:400;display:flex;justify-content:flex-end;gap:25px}.receipt .rule{border-top:1px solid #000;padding-top:5px;margin-top:18px}.receipt .kv{display:grid;grid-template-columns:40% 60%}.receipt .policy{line-height:1.7;margin-top:25px}.barcode{width:100%;height:40px;margin-top:20px;display:block}.barcode-text{font-size:8px;text-align:center;letter-spacing:1px}.preview-foot{text-align:center;color:#95a094;font-size:11px;margin-top:22px}.item-card{border:1px solid #e0e6e0;border-radius:8px;padding:17px;margin-bottom:15px}.item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;font-size:14px}.remove{padding:3px 8px;font-size:12px;border:0;color:#a07669}.add{width:100%;border-style:dashed;background:#f5f8f5}.summary{margin-top:20px;display:flex;justify-content:space-between;font-size:14px}.summary strong{font-size:19px}dialog{border:1px solid #dfe5df;border-radius:12px;padding:28px;color:#344c40;max-width:90vw}dialog::backdrop{background:#1c302966}dialog p{font-size:14px;color:#809084;margin-bottom:25px}@media(min-width:1300px){.editor{padding-left:70px;padding-right:70px}}@media(max-width:800px){header{padding:0 18px;height:70px}.muted,.divider,#status{display:none}header button{padding:9px 11px}.identity{gap:8px}.identity strong{font-size:16px}main{grid-template-columns:1fr}.editor{padding:25px}.page-title h1{font-size:26px}.page-title h1 br{display:none}.preview{border-left:0}.preview-toolbar{padding:0 20px}.preview .paper-tag{display:none}}@media print{@page{margin:0;size:80mm 450mm}html,body{margin:0!important;padding:0!important;background:white!important;width:var(--paper-width,80mm)}header,.editor,.preview-toolbar,.ruler,.preview-foot,dialog{display:none!important}main,.preview,.paper-workspace,#paperHolder{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;min-height:0!important;width:var(--paper-width,80mm)!important;overflow:visible!important}.receipt{box-shadow:none!important;background:white!important;zoom:1!important;width:var(--paper-width,80mm)!important}.receipt .item-description,.receipt .kv{break-inside:avoid}}

/* Typography measured against the supplied receipt. Logo remains independent. */
@font-face{font-family:Receipt Narrow;src:url("fonts/ReceiptNarrow-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
.receipt{font-family:"Receipt Narrow",monospace;font-synthesis:none;font-size:12px;line-height:1.24;font-variant-numeric:tabular-nums;color:#1d1d19;padding-top:9mm}
.receipt .invoice-label{font-size:.87em;margin-top:12px}
.receipt .company-info{font-size:.91em;line-height:1.34;margin-top:17px}
.receipt .store-info{font-size:.91em;line-height:1.34;margin-top:42px}
.receipt .transaction-info{font-size:.94em;line-height:1.35;margin-top:18px}
.receipt .transaction-info .kv{grid-template-columns:38% 62%}
.receipt .items-table{margin-top:43px}
.receipt .items-table th{font-weight:400;border-bottom:1px solid #000;padding-bottom:2px}
.receipt .items-table th:first-child{text-decoration:none}
.receipt .items-table .num{text-align:center}
.receipt .items-table .num:last-child{text-align:right;padding-right:2mm}
.receipt .item-description td{padding-bottom:19px}
.receipt .total{margin-top:32px;padding-top:7px;gap:30px}
.receipt .payment-copy{font-size:1.04em;line-height:1.32}
.receipt .payment-copy .kv{width:62%;display:flex;justify-content:space-between;gap:5px}
.receipt .payment-copy .kv span:first-child{flex-shrink:0}
.receipt .payment-copy .kv span:last-child{text-align:right}
.receipt .payment-copy .center{width:62%;text-align:right}
.receipt .payment-copy .gap{margin-top:20px}
.receipt .payment-copy .block{margin-top:37px}
.receipt .policy{font-size:1.05em;line-height:1.38;margin-top:31px;overflow-wrap:normal}
.receipt .customer-copy{font-size:1.04em;margin-top:22px}

/* Payment and change use the full-width amount column, separate from terminal details. */
.receipt .amount-row>.kv{display:flex;width:100%;justify-content:space-between;gap:8px}
.receipt .amount-row>.kv>span:last-child{text-align:right;white-space:nowrap}
.receipt .barcode-block{margin-top:20px;break-inside:avoid}
.receipt .barcode-block .barcode{display:block;width:100%;height:8mm;margin:0}
.receipt .barcode-caption{display:flex;justify-content:space-between;align-items:start;width:92%;margin:1px auto 0;font-family:"Receipt Narrow",monospace;font-size:.78em;line-height:1.05;white-space:nowrap}
.receipt .barcode-caption span{display:block}

/* Gentle emphasis instead of the browser's heavy synthetic bold on narrow glyphs. */
.receipt b,.receipt strong,.receipt .items-table th,.receipt .total>span:first-child{
  font-weight:400;
  -webkit-text-stroke:.12px currentColor;
}
.receipt .total>span:last-child{-webkit-text-stroke:0;font-weight:400}
@media print{
  .receipt{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .receipt .rule{border-top:1px solid #000}
}

/* Two merchandise separators: identical inline vectors, including print. */
.receipt .items-table th{border-bottom:0!important}
.receipt .item-divider-row td{padding:0;border:0;line-height:0}
.receipt .item-divider{display:block;width:100%;height:1.5mm;overflow:visible;flex:none}
.receipt .total{position:relative;border-top:0!important;display:grid;grid-template-columns:1fr auto;column-gap:30px;padding-top:0;row-gap:1px}
.receipt .total>.item-divider{grid-column:1/-1;position:static}
@media print{
  .receipt .items-table th{border-bottom:0!important}
  .receipt .total{border-top:0!important}
  .receipt .item-divider{display:block!important;height:1.5mm!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
