/* R78.25: scoped checkout/receipt layouts. Existing controls keep their handlers. */
#posCartModalOverlay .pn360-cart-modal{display:flex!important;flex-direction:column!important;width:min(960px,100%)!important;height:auto!important;max-height:94dvh!important;overflow:hidden!important;border-radius:20px!important;background:#fff}
#posCartModalOverlay .pn360-cart-modal>*{min-width:0;box-sizing:border-box}
#posCartModalOverlay .pn360-cart-modal>header{flex:0 0 auto;padding:16px 22px!important;gap:12px}
#posCartModalOverlay .pn360-cart-modal>header h3{font-size:21px!important;margin:3px 0!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-header-actions{flex-shrink:0}
#posCartModalOverlay .pn360-cart-modal #posV651ModalReservation{flex:0 0 auto;padding:10px 22px}
#posCartModalOverlay .pn360-cart-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex:1 1 auto;scrollbar-gutter:stable}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-lines{display:grid!important;align-content:start!important;gap:10px!important;flex:none!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:16px 22px!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-line{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto minmax(75px,auto) 44px!important;grid-template-areas:"thumb product qty total remove" "commerce commerce commerce commerce commerce"!important;gap:10px 12px!important;margin:0!important;padding:12px!important;align-items:center!important;border:1px solid #e1e8ee;border-radius:14px;background:#fff}
#posCartModalOverlay .pn360-cart-modal .pos-v64-cart-thumb{grid-area:thumb;width:54px;height:54px}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-product{grid-area:product;min-width:0}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-product b{display:block;font-size:14px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-product small{font-size:12px!important;line-height:1.4}
#posCartModalOverlay .pn360-cart-modal .pos-v64-line-meta{font-size:11px!important;overflow-wrap:anywhere}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-qty{grid-area:qty;display:flex!important;gap:8px!important;align-items:center}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-qty button,#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-remove{width:44px!important;height:44px!important;min-height:44px!important;border-radius:10px!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-qty :is(strong,b){min-width:24px!important;font-size:14px!important;text-align:center}
#posCartModalOverlay .pn360-cart-modal .pos-v64-line-total{grid-area:total;justify-items:end;min-width:0}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-price{font-size:16px!important;white-space:nowrap}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-remove{grid-area:remove}
#posCartModalOverlay .pn360-cart-modal .pn360-sales-line{grid-area:commerce!important;grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding-top:9px!important;margin:0!important;border-top:1px solid #edf1f4}
#posCartModalOverlay .pn360-cart-modal .pn360-sales-line small{font-size:12px!important;overflow-wrap:anywhere}
#posCartModalOverlay .pn360-cart-modal .pn360-sales-line select{margin-left:auto;width:auto!important;max-width:100%;min-height:44px!important;font-size:13px!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-checkout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;flex:none!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:18px 22px!important;background:#fff!important}
#posCartModalOverlay .pn360-cart-modal .pos-core-payment-title{margin:0!important;padding:0!important;border:0!important}
#posCartModalOverlay .pn360-cart-modal .pos-core-payment-title h3{font-size:19px!important;margin:3px 0 5px!important}
#posCartModalOverlay .pn360-cart-modal .pos-core-payment-title p{font-size:13px!important;line-height:1.5!important;color:#526579!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:14px 18px!important;width:100%!important}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields label{min-width:0;font-size:13px!important;line-height:1.4!important;gap:7px!important;align-content:start}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields input:not([type=checkbox]),#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields select{width:100%!important;min-width:0!important;min-height:46px!important;height:46px!important;font-size:15px!important;box-sizing:border-box;border-radius:10px!important}
#posCartModalOverlay .pn360-cart-modal .pos-core-cash-quick{gap:7px!important;margin-top:3px!important}
#posCartModalOverlay .pn360-cart-modal .pos-core-cash-quick button{min-height:40px!important;font-size:12px!important;padding:7px 11px!important}
#posCartModalOverlay .pn360-cart-modal .pos-r77-transfer{grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:14px!important;border:1px solid #dde6ed!important;border-radius:12px!important;background:#f8fafc!important}
#posCartModalOverlay .pn360-cart-modal .pos-r77-transfer .pn360-evidence-check{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important;gap:10px!important;min-height:44px}
#posCartModalOverlay .pn360-cart-modal input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;flex:0 0 20px!important;margin:0!important;accent-color:#087f6e}
#posCartModalOverlay .pn360-cart-modal .pos-r77-preview{grid-column:1/-1;max-height:160px;max-width:100%;object-fit:contain}
#posCartModalOverlay .pn360-cart-modal .pos-r77-preview img{display:block;max-width:100%;max-height:160px;object-fit:contain}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #dde6ed;border-radius:12px;background:#f8fafc}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card-help{grid-column:1/-1;font-size:13px;line-height:1.5;color:#526779;margin:0}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card-voucher,#posCartModalOverlay .pn360-cart-modal .pos-r77-card-preview,#posCartModalOverlay .pn360-cart-modal .pos-r77-card .pn360-evidence-check{grid-column:1/-1}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card .pn360-evidence-check{display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important;gap:10px!important;min-height:44px}
#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields.pn360-noncash>label:first-child{grid-column:1/-1}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card-preview img{display:block;max-width:100%;max-height:160px;object-fit:contain}
#posCartModalOverlay .pn360-cart-modal .pos-r77-card-preview:empty,#posCartModalOverlay .pn360-cart-modal .pos-r77-preview:empty{display:none!important}
#posCartModalOverlay .pn360-checkout-printing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px;border:1px solid #d8e6ec;border-radius:12px;background:#f5fafb}
#posCartModalOverlay .pn360-checkout-printing b{font-size:13px;color:#243f53}
#posCartModalOverlay .pn360-checkout-printing p{font-size:12px;line-height:1.5;color:#536779;margin:5px 0 0;overflow-wrap:anywhere}
#posCartModalOverlay .pn360-checkout-printing[data-state=warning]{background:#fffaf0;border-color:#eed9a8}
#posCartModalOverlay .pn360-checkout-printing>label{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer}
#posCartModalOverlay .pn360-cart-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;flex:0 0 auto;padding:15px 22px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #dbe5eb;background:#fff;box-shadow:0 -4px 15px #15334a08;z-index:1}
#posCartModalOverlay .pn360-cart-footer .pos-cart-modal-summary{display:grid!important;grid-template-columns:auto auto!important;align-items:baseline!important;justify-content:start!important;gap:4px 15px!important;padding:0!important;margin:0!important;border:0!important;background:none!important}
#posCartModalOverlay .pn360-cart-footer .pos-cart-modal-summary>span{font-size:13px!important}
#posCartModalOverlay .pn360-cart-footer .pos-cart-modal-summary>b{font-size:29px!important;line-height:1.2;color:#10364a}
#posCartModalOverlay .pn360-cart-footer .pos-cart-modal-summary>small{grid-column:1/-1;font-size:13px!important;color:#526579}
#posCartModalOverlay .pn360-cart-footer .pos-cart-modal-actions{grid-column:auto!important;position:static!important;display:flex!important;gap:10px!important;align-items:center!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important}
#posCartModalOverlay .pn360-cart-modal .btn{min-height:44px!important;font-size:13px!important;border-radius:10px!important;padding:10px 14px!important;white-space:normal!important}
#posCartModalOverlay .pn360-cart-footer #posCartModalCharge{min-height:48px!important;min-width:160px}
#posCartModalOverlay .pn360-cart-modal [hidden],#posCartModalOverlay .pn360-cart-modal .pn360-seller-payment-hidden{display:none!important}
#posCartModalOverlay .pn360-cart-order .pos-cart-modal-fields{display:none!important}
#posCartModalOverlay .pn360-cart-order .pos-cart-modal-summary>small{display:none!important}

#posTicketModal.pn360-sale-overlay{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;z-index:10040;background:rgba(11,28,42,.58);backdrop-filter:blur(3px)}
#posTicketModal.pn360-sale-overlay .pn360-sale-modal{display:flex!important;flex-direction:column!important;width:min(920px,100%)!important;max-height:94dvh!important;overflow:hidden!important;border-radius:20px!important;background:#fff!important;padding:0!important}
#posTicketModal.pn360-sale-overlay .pn360-sale-modal>header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e3ebef}
#posTicketModal.pn360-sale-overlay header span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#128264}
#posTicketModal.pn360-sale-overlay header h3{margin:4px 0;font-size:24px;color:#163449}
#posTicketModal.pn360-sale-overlay header p{margin:0;font-size:12px;color:#627588;overflow-wrap:anywhere}
#posTicketModal.pn360-sale-overlay #closePosTicket{width:44px;flex:0 0 44px;padding:0!important;font-size:24px!important}
#posTicketModal.pn360-sale-overlay .pn360-sale-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:22px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:22px 24px;overscroll-behavior:contain}
#posTicketModal.pn360-sale-overlay .pn360-sale-overview{min-width:0;align-self:start}
#posTicketModal.pn360-sale-overlay .pn360-sale-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px;padding:18px;background:#f4f9f8;border:1px solid #deebe7;border-radius:14px}
#posTicketModal.pn360-sale-overlay .pn360-sale-summary dt{font-size:12px;color:#5b7180;margin-bottom:4px}
#posTicketModal.pn360-sale-overlay .pn360-sale-summary dd{margin:0;font-size:18px;font-weight:750;color:#163e4b;overflow-wrap:anywhere}
#posTicketModal.pn360-sale-overlay .pn360-sale-total{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid #d9e7e1}
#posTicketModal.pn360-sale-overlay .pn360-sale-total dd{font-size:34px;line-height:1.2}
#posTicketModal.pn360-sale-overlay .pn360-sale-delivery{padding:16px;border:1px solid #dce5ec;border-radius:13px;background:#f8fafc}
#posTicketModal.pn360-sale-overlay .pn360-sale-delivery h4{margin:0 0 8px;font-size:16px;line-height:1.4;color:#294a5e}
#posTicketModal.pn360-sale-overlay .pn360-sale-delivery p{margin:0;font-size:13px;line-height:1.55;color:#587080;overflow-wrap:anywhere}
#posTicketModal.pn360-sale-overlay[data-delivery=sent] .pn360-sale-delivery{border-color:#c8e4d7;background:#f0faf5}
#posTicketModal.pn360-sale-overlay[data-delivery=error] .pn360-sale-delivery,#posTicketModal.pn360-sale-overlay[data-delivery=unknown] .pn360-sale-delivery{border-color:#efd79f;background:#fff9ea}
#posTicketModal.pn360-sale-overlay .pn360-sale-delivery-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
#posTicketModal.pn360-sale-overlay .pn360-sale-preview{min-width:0;border:1px solid #e1e7ec;border-radius:13px;align-self:start;overflow:hidden}
#posTicketModal.pn360-sale-overlay summary{min-height:44px;box-sizing:border-box;padding:12px 14px;cursor:pointer;font-size:13px;font-weight:700;color:#3e596d}
#posTicketModal.pn360-sale-overlay .pn360-sale-preview pre{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:16px!important;font:12px/1.55 ui-monospace,Consolas,monospace!important;white-space:pre-wrap!important;overflow-wrap:anywhere;background:#fff!important;color:#263b4c;max-height:none!important;overflow:visible!important;border:0!important;border-top:1px solid #e3ebef!important}
#posTicketModal.pn360-sale-overlay .pn360-sale-footer{flex:0 0 auto;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #dce5ec;background:#fff}
#posTicketModal.pn360-sale-overlay .pn360-sale-main-actions{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px}
#posTicketModal.pn360-sale-overlay .pn360-sale-more{margin-top:8px}
#posTicketModal.pn360-sale-overlay .pn360-sale-more>summary{padding:9px 0;min-height:40px}
#posTicketModal.pn360-sale-overlay .pn360-sale-more>div{display:flex;gap:10px;flex-wrap:wrap;padding:2px 0 4px}
#posTicketModal.pn360-sale-overlay .btn{min-height:44px!important;font-size:13px!important;line-height:1.35!important;padding:11px 14px!important;border-radius:10px!important;white-space:normal!important}
#posTicketModal.pn360-sale-overlay [hidden]{display:none!important}
#posTicketModal.pn360-sale-overlay button:focus-visible,#posTicketModal.pn360-sale-overlay summary:focus-visible,#posCartModalOverlay .pn360-cart-modal button:focus-visible{outline:3px solid #389cc8;outline-offset:2px}
@media(max-width:759px){
 #posCartModalOverlay{padding:10px!important;align-items:center!important}
 #posCartModalOverlay .pn360-cart-modal{max-height:96dvh!important;border-radius:16px!important}
 #posCartModalOverlay .pn360-cart-modal>header,#posCartModalOverlay .pn360-cart-modal #posV651ModalReservation{padding:12px 14px!important}
 #posCartModalOverlay .pn360-cart-modal .pos-cart-modal-lines,#posCartModalOverlay .pn360-cart-modal .pos-cart-modal-checkout{padding:14px!important}
 #posCartModalOverlay .pn360-cart-modal .pos-cart-modal-line{grid-template-columns:48px minmax(0,1fr) 44px!important;grid-template-areas:"thumb product remove" "qty qty total" "commerce commerce commerce"!important;gap:10px!important}
 #posCartModalOverlay .pn360-cart-modal .pos-v64-cart-thumb{width:48px;height:48px}
 #posCartModalOverlay .pn360-cart-modal .pos-v64-line-total{grid-column:3;grid-row:2;justify-self:end;min-width:75px}
 #posCartModalOverlay .pn360-cart-modal .pn360-sales-line select{margin-left:0;flex:1 1 140px}
 #posCartModalOverlay .pn360-cart-modal .pos-cart-modal-fields{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 #posCartModalOverlay .pn360-cart-modal .pos-r77-transfer{grid-template-columns:minmax(0,1fr)!important}
 #posCartModalOverlay .pn360-cart-modal .pos-r77-card{grid-template-columns:minmax(0,1fr)}
 #posCartModalOverlay .pn360-checkout-printing{grid-template-columns:minmax(0,1fr)}
 #posCartModalOverlay .pn360-checkout-printing>button{justify-self:start}
 #posCartModalOverlay .pn360-cart-footer{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
 #posCartModalOverlay .pn360-cart-footer .pos-cart-modal-summary{grid-template-columns:1fr auto!important;justify-content:stretch!important}
 #posCartModalOverlay .pn360-cart-footer .pos-cart-modal-actions{display:grid!important;grid-template-columns:1fr 1.15fr!important;gap:9px!important}
 #posCartModalOverlay .pn360-cart-footer #posCartModalCharge{min-width:0}
 #posTicketModal.pn360-sale-overlay{padding:10px!important}
 #posTicketModal.pn360-sale-overlay .pn360-sale-modal{max-height:96dvh!important;border-radius:16px!important}
 #posTicketModal.pn360-sale-overlay .pn360-sale-modal>header{padding:16px}
 #posTicketModal.pn360-sale-overlay header h3{font-size:21px}
 #posTicketModal.pn360-sale-overlay .pn360-sale-body{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}
 #posTicketModal.pn360-sale-overlay .pn360-sale-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 #posTicketModal.pn360-sale-overlay .pn360-sale-main-actions{grid-template-columns:1fr 1fr;gap:8px}
 #posTicketModal.pn360-sale-overlay [data-sale-next]{grid-column:1/-1}
}
@media(max-height:650px) and (min-width:760px){
 #posCartModalOverlay .pn360-cart-modal>header,#posTicketModal.pn360-sale-overlay .pn360-sale-modal>header{padding:12px 20px!important}
 #posTicketModal.pn360-sale-overlay .pn360-sale-body{padding:16px 20px}
}
