:root{font-family:Inter,Segoe UI,sans-serif;color:#173035;background:#f3f5f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,input,select{border:1px solid #dce4df;border-radius:10px;padding:12px;background:white;color:inherit}button:hover{border-color:#287561}input,select{width:100%}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}a{color:#216955}.primary{background:#206c56;color:white;border:0;font-weight:600}.muted{color:#74827c;font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:#478370}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:20px}.login{max-width:430px;margin:10vh auto;background:white;border-radius:24px;padding:40px;border:1px solid #dce4df}.login input{margin-bottom:20px}.login button{width:100%}.error{color:#a02b31;background:#fff1f1;border-radius:8px;padding:12px;margin:12px 0}.brand{font-size:28px;font-weight:800;letter-spacing:-1px;margin-right:auto}.brand span{color:#478370}.test{background:#edf5de;color:#61742b;border-radius:20px;font-size:11px;padding:7px 12px;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:100vh}.catalog{padding:30px}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.search{max-width:320px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tabs button{padding:9px 16px;border-radius:24px;font-size:13px}.tabs .active{background:#206c56;color:white;border-color:#206c56}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:18px}.product{padding:0;text-align:left;overflow:hidden;border-radius:16px;box-shadow:0 3px 12px #18302605}.product img{width:100%;height:145px;object-fit:cover;background:#e8efe9}.product .info{padding:16px}.product h3{font-size:14px;margin-bottom:7px}.price{font-weight:700;color:#216955}.product .meta{display:flex;justify-content:space-between;margin-top:12px;font-size:11px;color:#73827b}.placeholder{height:145px;background:#e6efe8;display:grid;place-items:center;font-size:40px}.order{background:white;border-left:1px solid #dce4df;padding:28px;display:flex;flex-direction:column;gap:18px}.order h2{margin:0}.order-head{display:flex;justify-content:space-between;align-items:center}.line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 0;border-bottom:1px solid #edf0ee}.line strong{font-size:14px}.qty{display:flex;align-items:center;gap:10px;margin-top:10px}.qty button{padding:3px 9px;border-radius:6px}.qty .remove{font-size:11px;margin-left:auto}.empty{padding:50px 10px;text-align:center;color:#8b9791;border:1px dashed #dce4df;border-radius:14px}.totals{margin-top:auto;border-top:1px solid #dce4df;padding-top:20px}.total-row{display:flex;justify-content:space-between;margin-bottom:14px}.grand{font-size:24px;font-weight:700}.payments{display:flex;gap:8px;margin-bottom:16px}.payments button{flex:1;padding:10px;font-size:13px}.payments .active{background:#eaf4ef;border-color:#206c56}.checkout{width:100%;padding:16px}.receipt{max-width:550px;margin:50px auto;background:white;border-radius:20px;padding:36px}.receipt header{text-align:center}.receipt .actions{display:flex;gap:12px;margin-top:24px}.receipt .actions button{flex:1}.loading{padding:80px;text-align:center}.customer-results{max-height:150px;overflow:auto;display:grid;gap:5px}.customer-results button{text-align:left;font-size:12px;padding:8px}.selected{background:#edf6f0;border-radius:8px;padding:12px;font-size:13px}.selected button{padding:4px 8px;float:right}.notice{font-size:12px;color:#77857d;line-height:1.6}@media(max-width:900px){.layout{grid-template-columns:1fr}.order{border-left:0}.catalog{padding:20px}.title-row{display:block}.search{max-width:none}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.test{display:none}}@media print{body{background:white}.receipt .actions{display:none}.receipt{margin:0 auto;padding:10px;width:80mm;border:0}.notice{font-size:10px}}
.order{position:sticky;top:0;height:100vh;padding:22px;gap:14px}.lines{overflow:auto;min-height:70px;flex:1}.order .notice{margin:8px 0 0}.order .totals{padding-top:14px}@media(max-width:900px){.order{position:static;height:auto}.lines{max-height:300px}}
.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.table-card{border:0;text-align:left;padding:25px;border-radius:16px;min-height:170px}.table-card h2{margin:18px 0 10px}.table-card p{margin:14px 0 0}.table-card.open{background:#e9f4ee}.table-card.bill{background:#fff3db}.service-toolbar,.table-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.service-toolbar button{padding:7px;font-size:12px}.table-actions{margin-bottom:12px}.table-actions button{flex:1;font-size:12px;padding:10px}.serving .totals>label,.serving .payments,.serving #cash,.serving #checkout,.serving .totals>.muted,.serving .totals>.notice:last-child{display:none}.add-table{display:flex;gap:10px;max-width:350px}.serving .lines{min-height:150px}
.qr-attach{width:100%;color:#206c56;font-weight:600;background:#edf6f0}.qr-dialog{width:min(480px,94vw);border:1px solid #dce4df;border-radius:20px;padding:24px;color:#173035}.qr-dialog::backdrop{background:#15342acc}.qr-heading{display:flex;align-items:center;justify-content:space-between}.qr-heading h2{margin:0}.qr-heading button{padding:5px 10px}.qr-dialog video{width:100%;height:210px;object-fit:cover;background:#edf2ee;border-radius:12px;margin:12px 0}.qr-dialog #start-camera{width:100%}.qr-dialog form{border-top:1px solid #dce4df;padding-top:16px;margin-top:16px}.qr-dialog form button{width:100%;margin-top:8px}.qr-image-label{margin-top:20px}.qr-image-label input{margin-top:8px;font-size:12px}
.qr-inline{border:1px solid #dce4df;border-radius:12px;padding:12px;margin-top:12px}.qr-inline .qr-heading h2{font-size:14px}.qr-inline video{width:100%;height:190px;object-fit:cover;background:#142a24;border-radius:10px;margin:10px 0}.qr-inline .muted{margin:8px 0}.qr-inline #start-camera{width:100%}.qr-inline form{margin-top:12px}.qr-inline form button{margin-top:8px;width:100%;font-size:12px}.qr-inline input{font-size:12px}.order:has(.qr-inline){overflow:auto}.order:has(.qr-inline) .lines{flex:none;max-height:200px}.order:has(.qr-inline) .totals{margin-top:0}[hidden]{display:none!important}
.selected{font-weight:600;line-height:1.5}.selected .muted{margin-top:3px;font-weight:400}.selected button{float:none}.customer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #d5e7dc}.customer-actions button{min-height:40px;padding:9px 12px;font-size:12px;font-weight:600}.customer-actions #scan-customer{flex:1;color:#206c56;background:white;border-color:#c6ddcf}.customer-actions #remove-customer{color:#9b4141;background:#fff8f7;border-color:#ead3d0}.customer-actions #remove-customer:hover{background:#fcecea;border-color:#d6aaa4}
/* Scroll each register panel once; keep all order content on its own background. */
.order{overflow-y:auto;overflow-x:hidden;min-width:0;background:#fff;overscroll-behavior:contain}
.order>*{flex-shrink:0}
.order .lines{flex:0 0 auto;overflow:visible;max-height:none;min-height:70px}
.order.serving .lines{min-height:150px}
.order .totals{flex:0 0 auto;margin-top:auto}
@media(min-width:901px){
 #app:has(>.layout){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 #app>.layout{flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch}
 .layout>.catalog{min-height:0;overflow-y:auto}
 .layout>.order{position:static;height:auto;min-height:0}
}
@media(max-width:900px){
 .layout>.order{height:auto;overflow:visible;background:#fff}
 .order .lines{max-height:none;overflow:visible}
}
.print-order-receipt{width:100%;margin:0 0 10px;font-weight:600;color:#206c56;background:#f2f8f4;border-color:#c6ddcf}
.discount-controls{border-bottom:1px solid #dce4df;margin-bottom:14px;padding-bottom:12px}.discount-controls label{margin-top:10px}.discount-pax{display:grid;grid-template-columns:1fr 1fr;gap:10px}.discount-item{margin-top:12px}
.line>.discount-item{grid-column:1 / -1;margin-top:4px;padding:12px;background:#f2f8f4;border-radius:8px}.line>.discount-item label{margin:0 0 8px}.line>.discount-item label:last-child{margin-bottom:0}
.bundle-contents{grid-column:1 / -1;margin:0}.order>#scan-deal{width:100%}
.table-with-qr{display:flex;flex-direction:column;gap:8px;min-width:0}.table-with-qr .table-card{width:100%;flex:1}.print-table-qr{font-size:12px;color:#206c56;background:#edf6f0;min-height:42px}.pos-settings label{display:flex;align-items:center;gap:10px;margin-top:20px}.pos-settings input[type=radio]{width:20px;height:20px;margin:0}.pos-settings #save-qr-settings{width:100%;margin-top:16px}
.service-page{max-width:1500px;margin:auto}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:start}.service-card{padding:22px;background:white;border:1px solid #dce4df;border-radius:16px}.service-card.fully-served{background:#f0f6f1}.service-badge{font-size:12px;color:#206c56;background:#e9f3ec;border-radius:20px;padding:6px 10px}.service-item{display:flex;align-items:center;gap:14px;padding:15px 0;margin:0;border-top:1px solid #edf0ee;cursor:pointer;min-height:64px}.service-item input{width:24px;height:24px;flex-shrink:0;accent-color:#206c56}.service-item small{display:block;color:#74827c;font-weight:400;margin-top:5px}.service-item.is-served strong{color:#74827c;text-decoration:line-through}.service-page .title-row>div:last-child{display:flex;gap:8px}.service-page .empty{grid-column:1/-1}
.serve-partial{display:flex;gap:8px;margin-top:10px}.serve-partial button{padding:7px 12px;font-size:12px;min-height:36px}
.redemption-summary{background:#edf6f0;border:1px solid #d4e6db;border-radius:12px;padding:14px;margin-top:16px;font-size:13px}.redemption-summary p{margin:6px 0;color:#527060;line-height:1.5}.redemption-summary p:last-child{margin-bottom:0}
.rewards-heading{margin:22px 0 4px;font-size:16px;font-weight:700;color:#173035}
.payment-dialog .payments label{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border:1px solid #dce4df;border-radius:10px;margin:0}.payment-dialog input[type=radio]{width:18px;height:18px;accent-color:#206c56}.payment-dialog .payments label:has(input:checked){background:#edf6f0;border-color:#206c56}.payment-dialog .checkout{margin-top:20px}.payment-dialog .grand{margin-top:24px}
.variation-dialog label{margin-top:18px}.variation-dialog select{display:block;margin-top:8px}.variation-dialog .grand{margin:22px 0}
.sales-page{max-width:1500px;margin:auto}.sales-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:24px 0}.sales-filter label{margin:0;min-width:170px}.sales-filter input{margin-top:6px}.sales-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:24px 0}.sales-summary article{padding:20px;background:white;border:1px solid #dce4df;border-radius:14px}.sales-summary span,.sales-summary small{display:block;color:#74827c;font-size:12px}.sales-summary strong{display:block;font-size:24px;margin:10px 0}.sales-list{overflow:auto;background:white;border:1px solid #dce4df;border-radius:14px}.sales-list table{border-collapse:collapse;width:100%;font-size:13px}.sales-list th,.sales-list td{padding:16px;text-align:left;border-bottom:1px solid #edf0ee;white-space:nowrap}.sales-list th{font-size:11px;color:#74827c;text-transform:uppercase}.sales-list button{padding:7px 12px}.sales-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}.sale-details{max-height:90dvh;overflow:auto;width:min(560px,94vw)}

.loyalty-preview{border:1px solid var(--border,#e2e8e4);border-radius:10px;padding:13px 14px;margin:14px 0;background:#f7f9f7}.loyalty-preview>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;line-height:1.6;margin:4px 0}.loyalty-preview strong{white-space:nowrap}.loyalty-preview p{font-size:10px;line-height:1.5;color:#778079;margin:8px 0 0}

.print-current-receipt{display:block;width:100%;min-height:46px;border:1px solid var(--border,#dfe7e1);border-radius:10px;padding:12px;background:white;font:inherit;font-weight:600;margin:12px 0;cursor:pointer}.print-current-receipt:disabled{opacity:.5;cursor:default}

.qr-dialog .qr-heading{align-items:flex-start;gap:16px}
.qr-dialog .qr-heading h2{flex:1;min-width:0;line-height:1.3;margin:5px 0 0}
.qr-dialog .qr-heading>button,.qr-dialog form .qr-heading>button{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;padding:0;margin:0;border-radius:10px;font-size:18px;line-height:1;align-self:flex-start}
.qr-dialog.deal-choice-dialog>form{border-top:0;padding-top:0;margin-top:0}

.qr-dialog>form{border-top:0;padding-top:0;margin-top:0}

body{background:var(--store-background,#f7f8f5)}button.primary,.checkout{background:var(--store-primary,#216953)}html[data-store-corners="square"] button,html[data-store-corners="square"] .product,html[data-store-corners="square"] .order{border-radius:3px}

html[data-pos-images="hide"] .product img,html[data-pos-images="hide"] .product .placeholder{display:none}html[data-pos-density="compact"] .products{gap:10px}html[data-pos-density="compact"] .product .info{padding:11px}html[data-pos-density="compact"] .product img,html[data-pos-density="compact"] .product .placeholder{height:100px}.tabs .active,.price,.qr-attach{color:var(--store-primary,#216953)}.tabs .active{background:var(--store-primary,#216953);color:white;border-color:var(--store-primary,#216953)}@media(min-width:901px){html[data-pos-columns="2"] .products{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-pos-columns="3"] .products{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-pos-columns="4"] .products{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-pos-columns="5"] .products{grid-template-columns:repeat(5,minmax(0,1fr))}html[data-pos-columns="6"] .products{grid-template-columns:repeat(6,minmax(0,1fr))}}

.preview-table-qr{display:grid;justify-items:center;gap:4px;padding:10px;background:white;border:1px solid #dce4df;border-radius:12px}.preview-table-qr img{width:120px;height:120px}.preview-table-qr small{font-size:11px;color:#69756e}

#scan-customer,#scan-deal,#scan-points-reward{border:0}

.products .product{border:0}

/* Keep every menu tile and its image area consistent. */
.products{grid-auto-rows:1fr;align-items:stretch}.products .product{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;align-self:stretch}.products .product>img,.products .product>.placeholder{display:block;width:100%;height:var(--surface-imageHeight,145px);min-height:var(--surface-imageHeight,145px);max-height:var(--surface-imageHeight,145px);flex:0 0 var(--surface-imageHeight,145px);object-fit:cover}.products .product>.placeholder{display:grid;place-items:center}.products .product>.info{display:grid;grid-template-rows:2.8em 1.5em 2.8em;gap:7px;flex:1;width:100%;min-width:0}.products .product h3{line-height:1.4;height:2.8em;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.products .product .price{line-height:1.5;margin:0}.products .product .meta{align-self:end;align-items:end;margin:0;min-width:0;gap:8px}.products .product .meta>span{min-width:0;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
