.pos-workspace{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);align-items:start;gap:20px}
.pos-workspace .searchrow input{max-width:100%}.pos-workspace .quick-products .searchrow{flex-direction:column;align-items:stretch}.pos-workspace .quick-products .searchrow>*{flex:auto;max-width:100%}
.pos-workspace .productgrid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:65vh;overflow-y:auto;padding:16px}
.category-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:16px 16px 0}.category-buttons .selected{background:var(--green);color:white;border-color:var(--green)}
.sale-line{display:grid;grid-template-columns:minmax(100px,1fr) 170px minmax(70px,.6fr) 36px;gap:12px;align-items:center}
.quantity-control{display:flex;gap:6px;align-items:flex-end}.quantity-control label{margin:0;font-size:11px;text-align:center}.quantity-control input{width:76px;margin-top:5px;padding:9px 5px;text-align:center;min-height:40px}.quantity-control button{width:36px;min-width:30px;height:40px;padding:6px}.sale-line>strong{text-align:right;overflow-wrap:anywhere}.sale-line>.small{padding:6px}
.payment-options{border:0;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payment-options legend{font-size:13px;color:#667c6e;margin-bottom:10px}.payment-options label{margin:0!important;position:relative}.payment-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.payment-options span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 6px;border:1px solid var(--border);border-radius:9px;font-size:13px;cursor:pointer}.payment-options input:checked+span{background:#e9f5ee;border-color:var(--green);color:var(--green);font-weight:650}.payment-options input:focus-visible+span{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:1250px){.sale-line{grid-template-columns:minmax(0,1fr) minmax(70px,.6fr) 36px}.sale-line .item{grid-column:1/-1}.sale-line .quantity-control{width:170px}.pos-workspace{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}}
@media(max-width:900px){.pos-workspace{grid-template-columns:minmax(0,1fr)}.pos-workspace .quick-products .searchrow{flex-direction:row}.pos-workspace .productgrid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.pos-workspace .quick-products{grid-row:2}}
@media(max-width:760px){.pos-workspace .productgrid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:55dvh}.pos-workspace .sale-line{grid-template-columns:minmax(0,1fr) minmax(65px,.6fr) 36px;gap:8px}.sale-line .quantity-control{width:auto;gap:4px}.quantity-control input{width:65px;min-height:44px;font-size:16px}.quantity-control button{min-width:26px;width:28px;height:44px}.sale-line>.small{width:36px;min-height:44px}.payment-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-workspace .quick-products .searchrow{display:grid}.category-buttons button{min-height:44px}.sale-line .item{grid-column:1/-1}}
/* Full-viewport checkout: only lists scroll, payment remains visible. */
.pos-mode.layout{display:block;height:100dvh;min-height:0;overflow:hidden}
.pos-mode>.sidebar,.pos-mode .topbar,.pos-mode>.mobile-bottom-nav{display:none}
.pos-mode .main{height:100%;width:100%}
.pos-mode .content{height:100%;max-width:none;padding:10px;display:flex;flex-direction:column;gap:10px;min-height:0}
.register-toolbar{display:flex;gap:10px;align-items:center;flex-shrink:0}
.register-back{padding:10px 12px;white-space:nowrap;font-size:13px;font-weight:600;border-radius:8px;background:white;border:1px solid var(--border)}
.register-toolbar #barcode{flex:1;min-width:0;height:44px;font-size:16px}
.register-tabs{display:none}
.pos-mode .pos-workspace{display:grid;flex:1;min-height:0;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.pos-mode .panel{margin:0;min-height:0;border-radius:10px}
.pos-mode .sale-cart{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;overflow:hidden}
.register-list-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12px;color:#839389;flex-shrink:0}
.pos-mode #cart{flex:1;min-height:0;overflow:auto;padding:0 16px;overscroll-behavior:contain}
.pos-mode .sale-line{padding:12px 0}
.pos-mode .quick-products{grid-column:2;grid-row:1;display:flex;flex-direction:column;overflow:hidden}
.pos-mode .quick-products .searchrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:10px;gap:8px;flex-shrink:0}
.pos-mode .quick-products .searchrow>*{min-width:0;padding:10px;font-size:13px}
.pos-mode .productgrid{flex:1;min-height:0;max-height:none;overflow:auto;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:start;padding:10px;gap:8px;overscroll-behavior:contain}
.pos-mode .productcard{min-height:110px;padding:12px;gap:8px;font-size:13px}.pos-mode .productcard .price{font-size:18px}
.register-checkout{grid-column:2;grid-row:2;padding:14px;background:white;border:1px solid var(--border);border-radius:10px;min-width:0;display:grid;gap:10px}
.register-checkout .carttotal{padding:0;font-size:13px;gap:8px}.register-checkout .carttotal strong{font-size:30px}
.register-checkout>label{display:flex;align-items:center;gap:12px;font-size:12px}.register-checkout select{margin:0;flex:1;min-width:0;padding:8px;font-size:13px;height:38px}
.register-checkout .payment-options{margin:0;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.register-checkout .payment-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.register-checkout .payment-options span{min-height:42px;font-size:13px;padding:8px 4px}
.register-checkout>.primary{min-height:48px;font-size:16px}.register-checkout #cart-debt{font-size:12px;margin:0}
body:has(.pos-mode){overflow:hidden}body:has(.pos-mode) #toast{bottom:16px}
@media(max-width:760px){
 .pos-mode .content{padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:8px}
 .register-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.register-back{font-size:12px;padding:10px;min-height:44px;display:flex;align-items:center}
 .register-toolbar>.small{padding:8px;font-size:12px}.register-toolbar #barcode{font-size:16px;padding:10px}
 .register-tabs{display:flex;grid-column:1/-1;gap:6px}.register-tabs button{flex:1;min-height:36px;padding:6px;font-size:13px}.register-tabs button[aria-pressed=true]{background:#e9f5ee;border-color:var(--green);color:var(--green)}
 .pos-mode .pos-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:8px}
 .pos-mode .sale-cart{grid-column:1;grid-row:1}.pos-mode .quick-products{grid-column:1;grid-row:1;display:none}
 .pos-mode.show-products .sale-cart{display:none}.pos-mode.show-products .quick-products{display:flex}
 .register-checkout{grid-column:1;grid-row:2;padding:10px;gap:8px}
 .register-checkout .carttotal strong{font-size:25px}.register-checkout select{font-size:16px;min-height:40px;height:40px}
 .register-checkout .payment-options span{min-height:44px;font-size:12px}.register-checkout>.primary{min-height:46px;padding:10px;font-size:15px}
 .pos-mode .quick-products .searchrow>*{font-size:16px;min-height:42px}
 .pos-mode #cart{padding:0 10px}.register-list-head{padding:8px 10px}.pos-mode .sale-line{padding:10px 0}
 .pos-mode .productgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-mode .productcard{min-height:100px}
}
@media(max-height:500px) and (min-width:600px){
 .pos-mode .pos-workspace{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);grid-template-rows:minmax(0,1fr) auto}.register-tabs{display:none}
 .pos-mode .sale-cart,.pos-mode.show-products .sale-cart{display:flex;grid-column:1;grid-row:1/3}.pos-mode .quick-products{display:flex;grid-column:2;grid-row:1}
 .register-checkout{grid-column:2;grid-row:2;gap:5px;padding:8px}.register-checkout .carttotal strong{font-size:22px}.register-checkout select{min-height:34px;height:34px}
 .register-checkout .payment-options span{min-height:36px}.register-checkout>.primary{min-height:38px;padding:6px}.pos-mode .content{gap:6px;padding:6px}.pos-mode .productcard{min-height:80px}
}

body:has(.pos-mode) #toast{top:64px;bottom:auto;pointer-events:none}

/* Grouped quick picks: a narrow catalogue beside the primary sales list. */
.quick-pick-header{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border);flex-shrink:0}
.quick-pick-header strong{font-size:13px;color:#587265}
.quick-pick-header input{font-size:13px;padding:9px 10px;min-height:38px}
.quick-group-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 10px 12px}
.quick-group{margin:0 0 6px}
.quick-group h2{position:sticky;top:0;z-index:1;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#53725f;padding:13px 2px 9px;border-bottom:1px solid #edf1ee;margin:0 0 8px;overflow-wrap:anywhere}
.quick-group h2 span{font-size:10px;background:#edf4ef;padding:3px 6px;border-radius:5px;flex-shrink:0}
.quick-group-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.quick-pick{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;min-width:0;min-height:96px;padding:10px;border-radius:8px}
.quick-pick-name{font-size:12px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;padding-right:10px}
.quick-pick-price{font-size:14px;color:var(--green);overflow-wrap:anywhere}.quick-pick-price small{font-size:10px;font-weight:400}
.quick-pick-stock{font-size:10px;color:#7e9187;font-weight:400;margin-top:auto}
.quick-pick.in-sale{background:#eff7f2;border-color:#95bda6}
.quick-pick-count{position:absolute;top:5px;right:5px;padding:2px 5px;border-radius:5px;background:var(--green);color:white;font-size:10px}
.quick-pick:disabled{cursor:not-allowed}
@media(min-width:761px){.pos-mode .register-checkout{padding:10px;gap:8px}.pos-mode .register-checkout .payment-options span{font-size:11px}.pos-mode .register-checkout .carttotal strong{font-size:26px}}
@media(max-width:760px){.quick-pick-header{padding:10px}.quick-pick-header input{font-size:16px;min-height:44px}.quick-pick{min-height:100px}.quick-pick-name{font-size:14px}.quick-pick-price{font-size:16px}.quick-group h2{font-size:13px}}
