/* Product identity and compact mobile typography; payment calculations are unchanged. */
.app-shell:has(#posBarcodeInput) .cart-main{display:flex;align-items:center;gap:10px;min-width:0}
.cart-product-photo{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--border);border-radius:10px;background:#f5f8fc;overflow:hidden;font-size:22px}
.cart-product-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.cart-product-photo img[hidden]{display:none}
.cart-description{min-width:0;flex:1}
.cart-description>b{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:899px){
 .app-shell:has(#posBarcodeInput) .cart-item{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0}
 .app-shell:has(#posBarcodeInput) .cart-item .cart-main{grid-column:1/-1;gap:10px;line-height:1.35}
 .app-shell:has(#posBarcodeInput) .cart-description>b{font-size:14px;line-height:1.35}
 .app-shell:has(#posBarcodeInput) .cart-description .label{font-size:12px;line-height:1.4;margin-top:3px}
 .app-shell:has(#posBarcodeInput) .cart-item .qty-control{grid-column:1;justify-content:flex-start;gap:6px;flex-wrap:wrap}
 .app-shell:has(#posBarcodeInput) .qty-value{font-size:14px;min-width:22px;text-align:center}
 .app-shell:has(#posBarcodeInput) .qty-btn{font-size:18px;min-width:40px;min-height:40px;padding:6px}
 .app-shell:has(#posBarcodeInput) .cart-sale-unit{font-size:12px;min-height:40px;padding:6px}
 .app-shell:has(#posBarcodeInput) .cart-item .cart-price{grid-column:2;display:grid;justify-items:end;gap:3px;border:0;padding:0;min-width:0;text-align:right}
 .app-shell:has(#posBarcodeInput) .cart-price>b{font-size:14px;line-height:1.4}
 .app-shell:has(#posBarcodeInput) .cart-remove{font-size:12px;min-height:32px;padding:4px 8px}
 .app-shell .product-list .product h4{font-size:14px;line-height:1.35;overflow-wrap:anywhere;margin-bottom:4px}
 .app-shell .product-list .product small,.app-shell .product-list .product .stock-line,.app-shell .product-list .product .stock-min{font-size:11px;line-height:1.4}
 .app-shell .product-list .product .price{font-size:14px;line-height:1.4}
}
/* Guided cashier flow and payment dock. */
.pos-search-label{display:block;margin-top:12px}
.pos-product-results:empty{display:none}
.pos-cart-empty{display:grid;gap:10px;justify-items:center;font-size:14px;padding:24px 10px}
.pos-cart-empty b{font-size:15px}
.pos-tax-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}
.pos-tax-heading button{padding:6px 12px;min-height:36px;font-size:12px}
#posTaxEditor{padding:8px 0}
#posTaxEditor[hidden],.app-shell:has(#posBarcodeInput) .tax-box[hidden],.app-shell:has(#posBarcodeInput) .checkout[hidden],#taxToggle[hidden]{display:none!important}
.pos-cash-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.pos-cash-actions button{font-size:12px;min-height:40px;padding:8px 10px}
.pos-cash-quick{display:flex;gap:6px;flex-wrap:wrap}
#cashExact{font-weight:700;background:#edf5ff}
#cashShort{color:#b54708;min-height:0}
.pos-paybar{grid-column:1/-1;width:100%}
.pos-dock-summary{display:none}
#posChatAnchor .dhun-chat{position:relative;right:auto;bottom:auto;top:auto;z-index:40}
#posChatAnchor .chat-launcher{min-height:40px;padding:10px;border-radius:12px}
#posChatAnchor .chat-launcher span{display:none}
#posChatAnchor .chat-panel{top:55px;bottom:auto}
@media(max-width:899px){
 .pos-desktop-hint{display:none!important}
 .pos-content.pos-has-items{padding-bottom:calc(var(--pos-nav-height,76px) + 100px)!important}
 .pos-paybar{position:fixed;left:50%;transform:translateX(-50%);bottom:var(--pos-nav-height,76px);width:min(560px,100%);z-index:20;display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr);gap:12px;align-items:center;padding:12px 16px;background:#fff;border-top:1px solid var(--border);box-shadow:0 -5px 20px #183b5912}
 .pos-dock-summary{display:grid;gap:3px;min-width:0}
 .pos-dock-summary span{font-size:11px;color:var(--muted)}
 .pos-dock-summary strong{font-size:20px;line-height:1.25;color:var(--blue);overflow-wrap:anywhere}
 .pos-paybar #co{margin:0;min-height:46px;font-size:15px}
 .app-shell:has(#posBarcodeInput) .navbtn.scan .ic{margin:0 auto 3px;width:36px;height:36px;box-shadow:none}
 .app-shell:has(#posBarcodeInput) .tax-box{padding:12px}
 #posChatAnchor .chat-panel{position:fixed;top:72px;right:12px;bottom:auto;width:calc(100vw - 24px);max-height:calc(100dvh - 200px)}
}
.app-shell:has(#posBarcodeInput) .page-head .head-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
#posChatAnchor{flex:0 0 auto}
@media(min-width:900px){
 .app-shell:has(#posBarcodeInput) .content>.pos-entry-card{display:grid;grid-template-columns:minmax(0,1fr) 200px;grid-template-areas:"intro scan" "barcode-label scan" "barcode-field scan" "hint hint" "search-label search-label" "search-field search-field" "results results";gap:8px 20px}
 .app-shell:has(#posBarcodeInput) .pos-entry-intro{grid-area:intro}
 .app-shell:has(#posBarcodeInput) #scanNow{grid-area:scan;align-self:center;margin:0!important}
 .app-shell:has(#posBarcodeInput) .pos-barcode-label{grid-area:barcode-label}
 .app-shell:has(#posBarcodeInput) #posBarcodeInput{grid-area:barcode-field}
 .app-shell:has(#posBarcodeInput) .pos-desktop-hint{grid-area:hint}
 .app-shell:has(#posBarcodeInput) .pos-search-label{grid-area:search-label;margin-top:6px}
 .app-shell:has(#posBarcodeInput) #posProductSearch{grid-area:search-field}
 .app-shell:has(#posBarcodeInput) #posProductResults{grid-area:results}
}
@media(max-width:899px){body:has(#posBarcodeInput) .toast{bottom:calc(var(--pos-nav-height,76px) + 96px)}}

/* Member ordering uses the same compact product and quantity layout as POS. */
.ms-cart-line{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--border)}
.ms-cart-line .cart-product-photo{grid-row:1/3;align-self:start}
.ms-cart-line .cart-product-photo svg{width:25px;height:25px;color:var(--muted)}
.ms-cart-line .cart-product-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.ms-cart-line .ms-line-description{display:grid;gap:4px;min-width:0}
.ms-cart-line .ms-line-description b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.ms-cart-line .ms-line-description span{font-size:12px}
.ms-line-total{font-size:14px;align-self:start;white-space:nowrap}
.ms-cart-line .ms-quantity{display:flex;align-items:center;gap:8px;grid-column:2;justify-content:start}
.ms-quantity button{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-size:20px;color:var(--blue)}
.ms-quantity span{min-width:24px;text-align:center;font-size:14px;color:var(--text)}
.ms-line-remove{grid-column:3;background:none;border:0;color:#b42318;font-size:12px;min-height:40px;padding:4px}
.ms-cart-heading h3{font-size:18px}
.ms-product-body h4{font-size:14px;line-height:1.4}
.ms-checkout{font-size:15px;min-height:46px}
.ms-cart{scroll-margin-top:20px}
.ms-catalog-tools{position:sticky;top:0;z-index:10;background:var(--bg,#f3f8fc);padding:8px 0;display:grid;gap:8px}
.ms-category-label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:0}
.ms-category-label select{flex:1;min-width:0;min-height:42px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:8px}
.ms-load-more{display:block;width:100%;margin:16px 0;min-height:44px}
.ms-load-more[hidden]{display:none}
.ms-product-body h4{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.ms-cart-close{display:none}
.ms-cart-panel{padding:0;border:0;background:transparent;color:var(--text)}
@media(min-width:900px){.ms-cart-panel{display:contents}.ms-cart-panel .ms-cart{max-height:calc(100dvh - 40px);overflow:auto}.ms-cart-footer{position:sticky;bottom:-18px;background:var(--card);padding-top:10px}.ms-catalog-tools{top:12px}}
@media(max-width:899px){
 body:has(.ms-cart-panel[open]){overflow:hidden}
 .ms-cart-panel{position:fixed;inset:auto 0 0;margin:0 auto;width:min(560px,100%);max-width:100%;max-height:90dvh;overflow:hidden;border-radius:20px 20px 0 0}
 .ms-cart-panel::backdrop{background:#102a43a6}
 .ms-cart-panel .ms-cart{display:flex;flex-direction:column;max-height:90dvh;overflow:hidden;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
 .ms-cart-panel .ms-cart-lines{overflow:auto;overscroll-behavior:contain;min-height:0;display:block}
 .ms-cart-heading{flex-shrink:0;padding-bottom:12px}
 .ms-cart-close{display:block;border:0;background:var(--bg,#eef5fc);color:var(--text);border-radius:10px;min-width:44px;min-height:44px;font-size:24px}
 .ms-cart-footer{flex-shrink:0;background:var(--card)}
 .ms-cart-footer .ms-pickup-note{max-height:70px;overflow:auto}
 .ms-product-image{height:100px}
 .ms-cart-panel:not([open]){display:none}
}
@media(max-width:600px){.ms-cart-line{column-gap:8px}.ms-line-total{font-size:13px}.ms-cart-dock button{min-height:46px;font-size:14px}.member-shop-main{padding-bottom:110px}}
