:root{--pos-primary:#2563eb;--pos-primary-dark:#1d4ed8;--pos-success:#059669;--pos-success-dark:#047857;--pos-danger:#dc2626;--pos-danger-dark:#b91c1c;--pos-warning:#d97706;--pos-bg:#f8fafc;--pos-card:#fff;--pos-border:#e2e8f0;--pos-text:#1e293b;--pos-text-muted:#64748b;--pos-shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--pos-shadow:0 4px 12px #00000014;--pos-radius:12px;--pos-radius-sm:10px;--touch-min:48px}*{-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-sizing:border-box}.pos-page-shell{background:var(--pos-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.pos-wrapper{background:var(--pos-bg);flex:1;min-height:0;padding-bottom:62px;display:flex;overflow:hidden}.pos-products-panel{flex-direction:column;flex:0 0 65%;gap:0;padding:5px;display:flex;overflow:hidden}.pos-controls{flex-wrap:wrap;gap:12px;display:flex}.pos-control-btn{height:var(--touch-min);background:var(--pos-card);border:1px solid var(--pos-border);border-radius:var(--pos-radius-sm);color:var(--pos-text);cursor:pointer;box-shadow:var(--pos-shadow-sm);align-items:center;gap:10px;padding:0 20px;font-size:15px;font-weight:600;transition:all .18s;display:flex}.pos-control-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.pos-control-btn:active{transform:scale(.97)}.pos-control-btn.selected{border-color:var(--pos-primary);color:var(--pos-primary);background:#eff6ff}.pos-controls-search-row{flex:100%;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.pos-search-container{flex:1;min-width:200px;position:relative}.pos-imei-search-container{flex:0 0 280px;min-width:220px;position:relative}.pos-imei-search-container .pos-search-input{padding-left:44px;padding-right:40px}.pos-imei-search-container .pos-search-icon{left:14px}.pos-search-input{width:100%;height:var(--touch-min);border:1px solid var(--pos-border);border-radius:var(--pos-radius-sm);color:var(--pos-text);box-shadow:var(--pos-shadow-sm);background:#fff;padding:0 54px;font-size:16px;transition:border-color .2s}.pos-search-input:focus{border-color:var(--pos-primary);outline:none;box-shadow:0 0 0 3px #2563eb26}.pos-search-icon{color:var(--pos-text-muted);font-size:20px;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.pos-search-clear{width:36px;height:36px;color:var(--pos-text-muted);cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.pos-search-clear:hover{background:#e2e8f0}.pos-categories{scrollbar-width:none;gap:10px;padding:8px 0;display:flex;overflow-x:auto}.pos-categories::-webkit-scrollbar{display:none}.pos-category-pill{border:1px solid var(--pos-border);height:42px;color:var(--pos-text);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex-shrink:0;padding:0 20px;font-size:14px;font-weight:600;transition:all .2s}.pos-category-pill:hover{background:#f1f5f9}.pos-category-pill.active{background:var(--pos-primary);border-color:var(--pos-primary);color:#fff}.pos-products-grid{flex:1;max-height:100%;padding:4px;overflow-y:auto}.products-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.products-grid-virtual{display:block}.products-grid-row{grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:14px;display:grid}.pos-load-more-row{grid-column:1/-1;justify-content:center;padding:16px 0 8px;display:flex}.pos-product-card:hover{box-shadow:var(--pos-shadow);transform:translateY(-4px)}.pos-product-card:active{border-color:var(--pos-primary);transform:scale(.97)}.pos-product-card.out-of-stock{opacity:.65}.pos-products-grid{flex:1;padding:4px;overflow-y:auto}.products-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:max-content;gap:14px;display:grid}.pos-product-card{border-radius:var(--pos-radius);cursor:pointer;box-shadow:var(--pos-shadow-sm);background:#fff;border:1px solid #0000;flex-direction:column;height:100%;transition:all .2s;display:flex;overflow:hidden}.pos-product-image{aspect-ratio:1;background:#f9fafb;flex-shrink:0;width:100%;height:80px;position:relative}.pos-product-image img{object-fit:cover;width:100%;height:100%}.pos-product-badge{text-transform:uppercase;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.pos-product-badge.out-of-stock{color:#dc2626;background:#fee2e2}.pos-product-badge.low-stock{color:#d97706;background:#fef3c7}.pos-product-info{flex-direction:column;flex:1;padding:8px;display:flex}.pos-product-name{color:var(--pos-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.pos-product-footer{justify-content:space-between;align-items:center;display:flex}.pos-product-price{color:var(--pos-primary);font-size:17px;font-weight:700}.pos-product-stock{color:var(--pos-text-muted);background:#f1f5f9;border-radius:6px;padding:4px 8px;font-size:12px}.pos-cart-panel{border-left:1px solid var(--pos-border);background:#fff;flex-direction:column;flex:0 0 35%;height:calc(100vh - 130px);min-height:0;padding-bottom:0;display:flex;position:relative}.pos-sales-order-banner{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#2563eb 100%);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:14px;font-weight:600;display:flex}.pos-deposit-modal-overlay{z-index:1100;padding:16px 16px max(100px, calc(80px + env(safe-area-inset-bottom,0px)));justify-content:center;align-items:center;overflow-y:auto}.pos-deposit-modal{flex-direction:column;width:min(520px,96vw);max-width:min(520px,96vw);min-height:0;max-height:min(85dvh,100dvh - 120px);margin:auto;display:flex;overflow:hidden}.pos-deposit-modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:16px;overflow:hidden auto}.pos-deposit-modal-footer{padding:14px 16px max(14px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--pos-border);z-index:2;background:#fafbfc;flex:none;gap:12px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #0f172a0f}.pos-deposit-modal-footer .btn{min-height:44px;font-weight:600}.pos-cart-header{background:linear-gradient(135deg, var(--pos-primary) 0%, var(--pos-primary-dark) 100%);border-radius:var(--pos-radius-sm);flex-shrink:0;padding:9px 16px}.pos-cart-title h2{color:#fff;margin:0;font-size:20px;font-weight:700}.pos-customer-section{border-bottom:1px solid var(--pos-border);background:#f9fafb;flex-shrink:0;padding:12px 16px}.pos-cart-items{background:#f9fafb;flex:1;padding:2px;overflow-y:auto}.pos-cart-empty{height:100%;color:var(--pos-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.pos-cart-empty i{opacity:.4;margin-bottom:20px;font-size:64px}.pos-cart-empty h3{color:var(--pos-text);margin:0 0 8px;font-size:18px;font-weight:600}.pos-cart-item{cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;transition:all .15s;display:flex;box-shadow:0 1px 4px #0000000f}.pos-cart-item:hover{background:#4f46e50d;transform:translateY(-1px);box-shadow:0 3px 10px #0000001a}.pos-cart-item-header{justify-content:space-between;align-items:center;display:flex}.pos-cart-item-name{color:var(--pos-text);white-space:nowrap;text-overflow:ellipsis;flex:auto;max-width:180px;font-size:15px;font-weight:600;overflow:hidden}.pos-cart-item-price{color:var(--pos-primary);font-size:16px;font-weight:700}.pos-cart-item-controls{justify-content:space-between;align-items:center;display:flex}.pos-qty-stepper{border:1px solid var(--pos-border);background:#f8fafc;border-radius:8px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.pos-qty-btn{width:36px;height:36px;color:var(--pos-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;transition:background .15s}.pos-qty-btn:hover{background:#e2e8f0}.pos-qty-btn.decrease{color:var(--pos-danger)}.pos-qty-btn.increase{color:var(--pos-success)}.pos-qty-value{border-left:1px solid var(--pos-border);border-right:1px solid var(--pos-border);background:#fff;justify-content:center;align-items:center;width:40px;height:36px;font-size:15px;font-weight:700;display:flex}.pos-cart-item-delete{width:38px;min-width:38px;height:38px;color:var(--pos-danger);cursor:pointer;background:#fee2e2;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.pos-cart-item-delete:hover{background:#fecaca}.pos-cart-item-delete:active{transform:scale(.95)}.pos-cart-summary{border-top:1px solid var(--pos-border);z-index:6;background:#fff;flex-shrink:0;margin-top:auto;padding:10px 12px 12px;position:sticky;bottom:0;box-shadow:0 -4px 14px #0f172a14}.pos-summary-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:15px;display:flex}.pos-summary-row.total{border-top:2px solid var(--pos-border);margin-top:10px;margin-bottom:0;padding-top:12px;font-size:18px;font-weight:800}.pos-summary-row.total .label{color:#0f172a;letter-spacing:.03em;font-weight:800}.pos-summary-row.total .pos-summary-total-amount{color:var(--pos-primary);white-space:nowrap;font-size:20px;font-weight:800}.pos-summary-row .label{color:var(--pos-text-muted);font-weight:600}.pos-summary-row>span:last-child:not(.label){color:#1e293b;white-space:nowrap;font-weight:700}.pos-discount-btn{border:2px dashed var(--pos-border);height:44px;color:var(--pos-primary);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.pos-discount-btn:hover{background:#eff6ff}.pos-discount-btn:active{transform:scale(.97)}.pos-discount-btn.has-discount{background:#eff6ff;border-style:solid}.pos-cart-actions{border-top:1px solid var(--pos-border);background:#fff;flex-shrink:0;gap:12px;padding:16px;display:flex;box-shadow:0 -4px 12px #00000014}.pos-action-btn{border-radius:var(--pos-radius);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:10px;height:58px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.pos-action-btn:active{transform:scale(.97)}.pos-action-btn.cancel{color:var(--pos-danger);background:#fef2f2;flex:.4}.pos-action-btn.pay{background:linear-gradient(135deg, var(--pos-success), var(--pos-success-dark));color:#fff;flex:.6;box-shadow:0 4px 14px #05966959}.pos-action-btn.pay:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pos-header-container{border-bottom:1px solid var(--pos-border);z-index:1050;background:#fff;flex-shrink:0;padding:10px 20px}.pos-header-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pos-header-nav-link{border-radius:var(--pos-radius-sm);cursor:pointer;white-space:nowrap;border-style:solid;border-width:1px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}.pos-header-nav-link:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 4px 10px #0f172a1f}.pos-header-nav-link--pending{color:#92400e;background:linear-gradient(#fde68a 0%,#fbbf24 100%);border-color:#f59e0b}.pos-header-nav-link--return{color:#fff;background:linear-gradient(#f87171 0%,#dc2626 100%);border-color:#b91c1c}.pos-header-nav-link--zreport{color:#fff;background:linear-gradient(#34d399 0%,#059669 100%);border-color:#047857}.pos-header-nav-link--stock{color:#fff;background:linear-gradient(#60a5fa 0%,#2563eb 100%);border-color:#1d4ed8}.pos-header-salesman{border-radius:var(--pos-radius-sm);cursor:pointer;white-space:nowrap;color:#3730a3;background:linear-gradient(#eef2ff 0%,#e0e7ff 100%);border:1px solid #c7d2fe;align-items:center;gap:8px;max-width:220px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}.pos-header-salesman:hover{filter:brightness(1.02);transform:translateY(-1px);box-shadow:0 4px 10px #4f46e526}.pos-header-salesman-icon{color:#4f46e5;background:#ffffffbf;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.pos-header-salesman-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.pos-header-salesman-chevron{color:#6366f1;flex-shrink:0;font-size:10px}.pos-header-action-btn{font-weight:600;box-shadow:0 1px 2px #0f172a14}.pos-stock-status-modal{flex-direction:column;max-width:min(920px,96vw);max-height:min(88dvh,100vh - 80px);display:flex}.pos-stock-status-body{flex:1;min-height:0;padding:0;overflow:auto}.pos-stock-row-low{background:#fffbeb!important}.pos-stock-row-out{background:#fef2f2!important}.pos-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.pos-footer-bar{z-index:1050;border-top:1px solid var(--pos-border);background:#fff;align-items:center;gap:12px;padding:5px 12px 5px 16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0f172a14}.pos-footer-inner{scrollbar-width:thin;flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow-x:auto}.pos-footer-inner--compact .context-item{gap:6px}.pos-footer-inner--compact .context-icon{border-radius:6px;width:24px;height:24px;font-size:12px}.pos-footer-inner--compact .context-icon i{font-size:12px}.pos-footer-inner--compact .context-label{letter-spacing:.35px;font-size:7px}.pos-footer-inner--compact .context-value{text-overflow:ellipsis;max-width:110px;font-size:11px;font-weight:600;overflow:hidden}.pos-footer-inner--compact .location-selector{padding:2px 4px}.pos-footer-logo img{height:26px}.pos-footer-checkout{flex-shrink:0;align-items:center;gap:8px;display:flex}.pos-footer-checkout .pos-action-btn{flex:none;height:44px;font-size:14px}.pos-footer-checkout .pos-action-btn.cancel{flex:none;min-width:88px;padding:0 14px;font-size:13px}.pos-footer-checkout .pos-action-btn.pay{letter-spacing:.02em;flex:auto;min-width:220px;max-width:340px;height:50px;padding:0 28px;font-size:16px}.pos-salesman-section{border:1px solid var(--pos-border);cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;align-items:center;gap:10px;margin:0 12px 10px;padding:10px 12px;transition:background .18s,border-color .18s;display:flex}.pos-salesman-section:hover{background:#f8fafc;border-color:#cbd5e1}.pos-salesman-icon{width:34px;height:34px;color:var(--pos-primary);background:#eff6ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.pos-salesman-details{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.pos-salesman-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.45px;font-size:10px;font-weight:800}.pos-salesman-value{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.pos-salesman-chevron{color:#94a3b8;flex-shrink:0;font-size:11px}.context-item{align-items:center;gap:12px;display:flex}.context-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.context-details{flex-direction:column;line-height:1.2;display:flex}.context-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:800}.context-value{color:#1e293b;white-space:nowrap;font-size:13px;font-weight:700}.location-selector{cursor:pointer;border-radius:8px;padding:4px 8px;transition:all .2s}.location-selector:hover{background:#f1f5f9;transform:translateY(-1px)}.user-pill{border:1px solid var(--pos-border);background:#f8fafc;border-radius:999px;align-items:center;gap:10px;padding:6px 12px;display:flex}.user-avatar{background:var(--pos-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.user-name{color:var(--pos-text);font-size:12px;font-weight:600}.user-pill-wrap{z-index:1050;position:relative}.user-pill-trigger{cursor:pointer;font:inherit;margin:0}.user-pill-chevron{color:var(--pos-text-muted);font-size:14px;line-height:1}.pos-user-menu-backdrop{z-index:1040;background:0 0;position:fixed;inset:0}.user-menu-dropdown{background:var(--pos-card);border:1px solid var(--pos-border);border-radius:var(--pos-radius-sm);min-width:260px;max-width:min(320px,90vw);box-shadow:var(--pos-shadow);padding:4px 0;position:absolute;top:calc(100% + 8px);right:0}.user-menu-section{flex-direction:column;gap:4px;padding:10px 14px;display:flex}.user-menu-section+.user-menu-section{border-top:1px solid var(--pos-border)}.user-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--pos-text-muted);font-size:10px;font-weight:700}.user-menu-value{color:var(--pos-text);word-break:break-word;font-size:13px;font-weight:600}.bg-soft-primary{background:#eff6ff}.bg-soft-info{background:#ecfeff}.bg-soft-warning{background:#fffbeb}.bg-soft-success{background:#f0fdf4}.text-primary{color:#3b82f6!important}.text-info{color:#06b6d4!important}.text-warning{color:#f59e0b!important}.text-success{color:#10b981!important}.pos-modal-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:70px 20px 72px;display:flex;position:fixed;inset:0}.pos-modal{border-radius:var(--pos-radius);width:100%;max-width:500px;max-height:calc(100dvh - 140px);box-shadow:var(--pos-shadow-lg);background:#fff;flex-direction:column;animation:.25s modalSlideUp;display:flex;overflow:hidden}.pos-modal.large{max-width:900px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pos-modal-header{border-bottom:1px solid var(--pos-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 17px;display:flex}.pos-modal-header h3{margin:0;font-size:20px;font-weight:700}.pos-modal-close{width:44px;height:44px;color:var(--pos-text-muted);cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:20px;display:flex}.pos-modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:24px;overflow:hidden auto}.pos-modal.pos-modal--numpad{max-height:calc(100dvh - 120px)}.pos-modal.pos-modal--numpad .pos-modal-body{flex-direction:column;gap:10px;display:flex;overflow:hidden auto}.pos-modal-numpad-block,.pos-modal.pos-modal--numpad .pos-touch-numpad,.pos-modal.pos-modal--numpad .pos-numpad{visibility:visible;flex-shrink:0}.pos-modal.pos-modal--numpad .pos-touch-numpad{min-height:248px}.pos-modal.pos-modal--numpad .pos-numpad{min-height:220px}.pos-modal-footer{border-top:1px solid var(--pos-border);background:#fafbfc;flex-shrink:0;gap:12px;padding:16px 24px;display:flex}.pos-touch-numpad.is-disabled .pos-numpad-key{opacity:.5;pointer-events:none}.pos-type-touch .pos-numpad-key{min-height:56px;font-size:24px}.pos-type-touch .pos-field-tab{min-height:48px;font-size:15px}.pos-numpad{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:1px;display:grid}.pos-numpad-key{border-radius:var(--pos-radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;height:64px;font-size:22px;font-weight:600;display:flex}.pos-numpad-key.digit{color:var(--pos-text);background:#f1f5f9}.pos-numpad-key.digit:active{background:#e2e8f0;transform:scale(.96)}.pos-numpad-key.action{color:var(--pos-primary);background:#eff6ff}.pos-numpad-key.quick{background:var(--pos-primary);color:#fff;font-size:16px}.pos-numpad-key.quick:active{background:var(--pos-primary-dark)}.pos-numpad-key.backspace{color:var(--pos-danger);background:#fef2f2}.pos-payment-methods{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.pos-payment-method{border:2px solid var(--pos-border);border-radius:var(--pos-radius-sm);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:80px;display:flex}.pos-payment-method:active{transform:scale(.97)}.pos-payment-method.selected{border-color:var(--pos-primary);background:#eff6ff}.pos-payment-method i{color:var(--pos-text-muted);font-size:24px}.pos-payment-method.selected i{color:var(--pos-primary)}.pos-payment-method span{font-size:13px;font-weight:600}.pos-payment-summary{border-radius:var(--pos-radius-sm);background:#f8fafc;margin-bottom:8px;padding:8px}.pos-payment-total{text-align:center;margin-bottom:16px}.pos-payment-total .label{color:var(--pos-text-muted);font-size:14px}.pos-payment-total .amount{color:var(--pos-text);font-size:36px;font-weight:800}.pos-payment-details{text-align:center;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.pos-payment-detail{background:#fff;border-radius:10px;padding:12px}.pos-payment-detail .label{color:var(--pos-text-muted);font-size:12px}.pos-payment-detail .value{font-size:18px;font-weight:700}.pos-payment-detail .value.success{color:var(--pos-success)}.pos-payment-detail .value.warning{color:var(--pos-warning)}.pos-pay-now-btn{border-radius:var(--pos-radius-sm);background:linear-gradient(135deg, var(--pos-success) 0%, var(--pos-success-dark) 100%);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:12px;width:100%;height:64px;font-size:18px;font-weight:700;display:flex;box-shadow:0 4px 14px #05966966}.pos-pay-now-btn:active{transform:scale(.98)}.pos-pay-now-btn:disabled{opacity:.6;cursor:not-allowed}.pos-payment-overlay{-webkit-overflow-scrolling:touch;justify-content:center;align-items:center;padding:10px 12px 88px;overflow-y:auto}.pos-payment-modal{flex-direction:column;flex-shrink:0;width:min(1180px,96vw);height:calc(100dvh - 108px);min-height:320px;max-height:calc(100dvh - 108px);margin:auto;display:flex}.pos-payment-modal-header{flex-shrink:0;padding:10px 16px}.pos-payment-modal-header h3{font-size:clamp(17px,2.5vh,20px)}.pos-payment-modal-body{flex-direction:column;flex:1;min-height:0;padding:12px 16px 16px;display:flex;overflow:hidden}.pos-payment-mode-toggle{background:#f1f5f9;border-radius:12px;flex-shrink:0;gap:10px;margin-bottom:12px;padding:4px;display:flex}.pos-payment-layout{flex:1;gap:clamp(10px,2vw,20px);min-height:0;display:flex;overflow:hidden}.pos-payment-panel-left{flex-direction:column;flex:42%;gap:8px;min-width:0;max-width:48%;min-height:0;display:flex;overflow:hidden}.pos-payment-panel-right{background:#fafbfc;border-radius:12px;flex-direction:column;flex:52%;gap:10px;min-width:0;min-height:0;padding:clamp(10px,1.5vw,16px);display:flex;overflow:hidden}.pos-payment-numpad{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.pos-payment-numpad-keys-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}.pos-payment-numpad-keys{grid-template-rows:repeat(4,minmax(40px,48px));grid-template-columns:repeat(4,1fr);gap:clamp(4px,.5vh,6px);display:grid}.pos-payment-numpad-actions{border-top:1px solid var(--pos-border);background:#fff;flex-shrink:0;grid-template-columns:1fr 1fr;gap:clamp(4px,.6vh,6px);padding-top:4px;display:grid}.pos-payment-numpad-actions .pos-numpad-key{height:48px!important;min-height:48px!important}.pos-payment-numpad .pos-numpad-key{height:auto;min-height:clamp(36px,5.5vh,52px);font-size:clamp(15px,2vh,22px)}.pos-payment-numpad-keys.is-disabled .pos-numpad-key.digit,.pos-payment-numpad-keys.is-disabled .pos-numpad-key.quick,.pos-payment-numpad-keys.is-disabled .pos-numpad-key.backspace{opacity:.5;pointer-events:none}.pos-payment-methods-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}.pos-payment-panel-right>.pos-pay-now-btn,.pos-payment-panel-right>.pos-action-btn.pay:last-of-type{flex-shrink:0;margin-top:auto}.pos-payment-methods-grid{grid-template-columns:repeat(3,1fr);gap:clamp(6px,1vw,10px);display:grid}.pos-payment-methods-grid .pos-payment-method{height:clamp(56px,9vh,80px)}.pos-payment-modal .pos-payment-total .amount{font-size:clamp(22px,3.5vh,32px)!important}.pos-payment-modal .pos-pay-now-btn{flex-shrink:0;height:clamp(48px,7vh,56px);font-size:clamp(14px,2vh,16px)}@media (height<=720px){.pos-payment-modal{height:calc(100dvh - 100px);min-height:280px;max-height:calc(100dvh - 100px)}.pos-payment-modal-header{padding:8px 14px}.pos-payment-numpad-keys{grid-template-rows:repeat(4,minmax(36px,42px))}}@media (width<=992px){.pos-payment-modal{width:min(720px,98vw);height:calc(100dvh - 108px);max-height:calc(100dvh - 108px)}.pos-payment-layout{flex-direction:column;overflow:hidden}.pos-payment-panel-left,.pos-payment-panel-right{flex:50%;width:100%;max-width:100%;min-height:0}}@media (width<=576px){.pos-payment-overlay{padding:8px 8px 84px}.pos-payment-modal{border-radius:12px;width:100%;height:calc(100dvh - 96px);min-height:280px;max-height:calc(100dvh - 96px)}.pos-payment-modal-body{padding:10px 12px 12px}.pos-payment-methods-grid{grid-template-columns:repeat(2,1fr)}}.pos-print-btn{border-radius:var(--pos-radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;height:52px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.pos-print-btn:active{transform:scale(.97)}.pos-print-btn.direct-print{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 14px #f59e0b59}.pos-print-btn.preview-print{background:linear-gradient(135deg, var(--pos-primary) 0%, var(--pos-primary-dark) 100%);color:#fff;box-shadow:0 4px 14px #2563eb59}.pos-receipt-modal-overlay{z-index:1100;justify-content:center;align-items:center;padding:12px 12px 88px}.pos-print-host-only{opacity:0!important;pointer-events:none!important;z-index:-1!important;background:0 0!important;width:1px!important;height:1px!important;padding:0!important;position:fixed!important;top:0!important;left:-10000px!important;overflow:hidden!important}.pos-print-host-only .pos-receipt-modal{width:auto;max-width:none;max-height:none}.pos-receipt-modal{flex-direction:column;width:min(440px,96vw);max-width:min(440px,96vw);height:auto;min-height:0;max-height:min(92vh,100vh - 110px);display:flex;overflow:hidden}.pos-receipt-modal.pos-modal{height:auto;max-height:min(92vh,100vh - 110px)}.pos-receipt-modal-header{flex-shrink:0}.pos-receipt-modal-body{-webkit-overflow-scrolling:touch;flex:0 auto;min-height:0;max-height:calc(min(92vh,100vh - 110px) - 168px);padding:0;overflow:hidden auto}.pos-receipt-modal-body .print-area{background:#f1f5f9;justify-content:center;height:auto;min-height:0;padding:12px 12px 8px;display:flex}.pos-receipt-modal-body .pos-receipt.invoice-receipt-thermal{height:auto;min-height:0}.pos-receipt-modal-footer{border-top:1px solid var(--pos-border);background:#fff;flex-direction:column;flex-shrink:0;gap:12px;padding:14px 16px;box-shadow:0 -4px 12px #0f172a0f}.pos-receipt-modal-footer .pos-print-btn{height:52px;min-height:52px}.pos-receipt-style-picker{color:#334155;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;font-size:14px;font-weight:600;display:flex}.pos-receipt-style-btn{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 22px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.pos-receipt-style-btn.active{background:var(--pos-success);color:#fff;border-color:var(--pos-success)}@media (width<=576px){.pos-receipt-modal-overlay{padding:8px 8px 84px}.pos-receipt-modal{width:100%;max-width:100%;max-height:calc(100vh - 96px)}}.pos-receipt:not(.invoice-receipt-thermal){color:#000;background:#fff;max-width:80mm;margin:0 auto;padding:5px;font-size:13px;font-weight:600;line-height:1.25}.receipt-header{text-align:center;margin-bottom:10px;padding-top:4px}.receipt-company-name{text-transform:uppercase;margin-bottom:2px;font-size:16px;font-weight:700}.receipt-location-name{margin-bottom:2px;font-size:14px}.receipt-title{text-transform:uppercase;margin:5px 0;font-size:15px;font-weight:700;text-decoration:underline}.receipt-contact-info{margin-bottom:5px;font-size:11px}.receipt-divider{border-top:1px dashed #000;margin:5px 0}.receipt-details-grid{grid-template-columns:1fr 1fr;gap:2px;margin-bottom:10px;font-size:12px;display:grid}.receipt-table{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:11px}.receipt-table th{text-align:left;border-top:1px dashed #000;border-bottom:1px dashed #000;padding:5px 0}.receipt-table td{vertical-align:top;padding:3px 0}.receipt-table .text-right{text-align:right}.receipt-table .text-center{text-align:center}.receipt-totals{border-top:1px dashed #000;margin-top:5px;padding-top:5px}.receipt-total-row{justify-content:space-between;margin-bottom:2px;font-size:12px;display:flex}.receipt-total-row.grand-total{border-top:1px solid #000;border-bottom:1px double #000;margin-top:5px;padding:5px 0;font-size:15px;font-weight:700}.receipt-total-row.receipt-item-qty-total{box-sizing:border-box;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact;justify-content:flex-start;width:100%;margin-top:4px;margin-bottom:0;padding:6px 8px;font-size:12px;font-weight:700;display:flex}.receipt-footer{text-align:center;margin-top:15px;font-size:11px;font-style:italic}@media print{body{background:#fff!important;margin:0!important;padding:0!important}.pos-page-shell,.pos-wrapper,.pos-modal-overlay,.pos-modal-header,.pos-modal-footer,.pos-header-container,.pos-footer-bar,.pos-header,.header,.sidebar,.nav-menu{display:none!important}.pos-modal{width:100%!important;max-width:none!important;box-shadow:none!important;background:#fff!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.pos-modal-body{max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}body.pos-print-match-preview .pos-receipt{border:none!important;width:80mm!important;max-width:80mm!important;margin:0 auto!important;padding:5px!important;font-size:13px!important;font-weight:600!important;line-height:1.25!important}.pos-header .header .pos-modal .modal-content{height:auto!important;margin:0!important;display:none!important}}.receipt-payment-row:last-child{border-bottom:none}.receipt-payment-label{font-weight:700}.receipt-footer-box{text-align:center;border:1px solid #000;margin:15px 0;padding:15px}.receipt-footer-message{font-size:14px;font-weight:700}.receipt-logo-box{text-align:center;padding:10px 0}.pos-field-tab{color:var(--pos-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.pos-field-tab.active{color:var(--pos-primary);background:#fff;box-shadow:0 2px 8px #0000001a}.pos-field-tab i{font-size:14px}.pos-field-display{cursor:pointer;background:#f8fafc;border:2px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:center;padding:10px 8px;transition:all .2s;display:flex}.pos-field-display.active{border-color:var(--pos-primary);background:#fff;box-shadow:0 0 0 3px #4f46e51a}.pos-field-display .field-label{color:var(--pos-text-muted);text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.pos-field-display .field-value{color:var(--pos-text);font-size:18px;font-weight:700}.pos-field-display.active .field-value{color:var(--pos-primary)}.pos-field-display.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.pos-touch-numpad{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pos-touch-numpad .pos-numpad-key{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;height:56px;font-size:20px;font-weight:600;transition:all .15s;display:flex}.pos-touch-numpad .pos-numpad-key.digit{color:var(--pos-text);background:#f1f5f9}.pos-touch-numpad .pos-numpad-key.digit:active{background:#e2e8f0;transform:scale(.95)}.pos-touch-numpad .pos-numpad-key.digit.zero{grid-column:span 2}.pos-touch-numpad .pos-numpad-key.backspace{color:#ef4444;background:#fee2e2}.pos-touch-numpad .pos-numpad-key.backspace:active{background:#fecaca}.pos-touch-numpad .pos-numpad-key.action{color:var(--pos-primary);background:#e0e7ff}.pos-touch-numpad .pos-numpad-key.action:active{background:#c7d2fe;transform:scale(.95)}.pos-touch-numpad .pos-numpad-key.action.clear{color:#f59e0b;background:#fef3c7}.pos-touch-numpad .pos-numpad-key.action.plus{color:#10b981;background:#d1fae5}.pos-touch-numpad .pos-numpad-key.action.minus{color:#ef4444;background:#fee2e2}@media (height<=700px){.pos-touch-numpad .pos-numpad-key{height:48px;font-size:18px}}@media print{*{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;font-size:12px!important}.header{display:none}.logo{margin-top:10px!important;display:none!important}.pos-page-shell,.pos-footer-bar,.pos-wrapper,.pos-products-panel,.pos-cart-panel,.pos-modal-header,.pos-modal-footer,.pos-modal-close{display:none!important}.receipt-header{padding-top:4mm!important}.pos-modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;width:auto!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important;right:0!important;overflow:visible!important}.pos-modal{width:auto!important;max-width:none!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;position:relative!important;overflow:visible!important}.pos-modal-body{max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}.print-area{width:78mm!important;max-width:78mm!important;margin:0 auto!important;padding:0!important;display:block!important;position:relative!important}.pos-modal-overlay.thermal-print-58 .print-area{width:56mm!important;max-width:56mm!important}body.pos-print-match-preview .pos-receipt{-webkit-font-smoothing:auto!important;background:#fff!important;width:80mm!important;max-width:80mm!important;margin:0 auto!important;padding:5px!important;font-family:Segoe UI,Arial,Helvetica Neue,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:1.25!important;display:block!important}.pos-receipt{-webkit-font-smoothing:none!important;background:#fff!important;width:78mm!important;max-width:78mm!important;margin:0 auto!important;padding:4mm 2mm 3mm!important;font-family:Segoe UI,Arial,Helvetica Neue,sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;display:block!important}.pos-modal-overlay.thermal-print-58 .pos-receipt,.pos-receipt.thermal-receipt-58{width:56mm!important;max-width:56mm!important}.receipt-title-box{text-align:center!important;margin:2mm 0!important;padding:2mm!important}.receipt-title{font-size:18px!important;font-weight:700!important}.receipt-trn{margin-top:2px!important;font-size:13px!important}.receipt-company-box{text-align:center!important;padding:2mm 1mm!important}.receipt-company-name{font-size:16px!important;font-weight:700!important}.receipt-company-address,.receipt-company-phone{font-size:12px!important}.receipt-info-box,.receipt-totals-box,.receipt-payment-box,.receipt-footer-box{margin:2mm 0!important}.receipt-info-row,.receipt-total-row,.receipt-payment-row{justify-content:space-between!important;padding:1px 2px!important;font-size:13px!important;display:flex!important}.receipt-items-box{border-top:1px dashed #000!important;border-bottom:1px dashed #000!important;margin:3mm 0!important;padding:2mm 0!important}.receipt-items-header{border-bottom:1px dashed #000!important;justify-content:space-between!important;margin-bottom:2mm!important;padding:2px 0 4px!important;font-size:13px!important;font-weight:700!important;display:flex!important}.receipt-items-header .col-item{text-align:left!important;flex:2!important}.receipt-items-header .col-qty{text-align:center!important;flex:1!important}.receipt-items-header .col-price,.receipt-items-header .col-total{text-align:right!important;flex:1!important}.receipt-item-row{border-bottom:1px dashed #000!important;margin-bottom:2px!important;padding:3px 0!important}.receipt-item-row:last-child{border-bottom:none!important}.receipt-item-name{color:#000!important;word-wrap:break-word!important;margin-bottom:2px!important;font-size:14px!important;font-weight:700!important}.receipt-item-details{color:#000!important;justify-content:space-between!important;padding-left:2mm!important;font-size:13px!important;display:flex!important}.receipt-item-details .col-qty{text-align:left!important;flex:1!important;font-size:13px!important}.receipt-item-details .col-price{text-align:center!important;flex:1!important;font-size:13px!important}.receipt-item-details .col-total{text-align:right!important;flex:1!important;font-size:14px!important;font-weight:700!important}.receipt-totals-box{border-top:1px dashed #000!important;padding-top:2mm!important}.receipt-total-row{padding:2px 0!important;font-size:13px!important}.receipt-total-row.receipt-item-qty-total{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#e53935!important}.receipt-total-row.net-total{border-top:1px solid #000!important;margin-top:2mm!important;padding-top:3px!important;font-size:15px!important;font-weight:700!important}.receipt-total-label{font-weight:600!important}.receipt-payment-box{border-top:1px dashed #000!important;margin-top:2mm!important;padding-top:2mm!important}.receipt-payment-row{padding:2px 0!important;font-size:13px!important}.receipt-payment-label{font-weight:600!important}.receipt-footer-message{text-align:center!important;margin-top:4mm!important;font-size:13px!important;font-weight:700!important}.pos-receipt,.pos-receipt *{color:#000!important}@page pos-receipt{size:auto;margin:0}body.pos-layout-active{page:pos-receipt}}.voucher-container{margin-bottom:80px}.fixed-bottom-bar{z-index:1040;position:fixed;bottom:0;left:0;right:0}.g-toast-stack[data-v-2a1c10a1]{z-index:20000;pointer-events:none;flex-direction:column;gap:.75rem;width:min(380px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.g-toast[data-v-2a1c10a1]{pointer-events:auto;background:#fff;border:1px solid #e8ecf1;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.9rem 2.5rem .9rem .9rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a1f,0 2px 8px #0f172a0f}.g-toast__icon[data-v-2a1c10a1]{border-radius:999px;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:1.1rem;display:grid}.g-toast__content[data-v-2a1c10a1]{flex:1;min-width:0}.g-toast__title[data-v-2a1c10a1]{letter-spacing:.01em;margin-bottom:.15rem;font-size:.82rem;font-weight:700}.g-toast__message[data-v-2a1c10a1]{color:#334155;word-break:break-word;font-size:.9rem;line-height:1.45}.g-toast__close[data-v-2a1c10a1]{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:1.75rem;height:1.75rem;display:grid;position:absolute;top:.55rem;right:.55rem}.g-toast__close[data-v-2a1c10a1]:hover{color:#475569;background:#0f172a0f}.g-toast__progress[data-v-2a1c10a1]{transform-origin:0;width:100%;height:3px;animation-name:g-toast-progress-2a1c10a1;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}.g-toast--success .g-toast__icon[data-v-2a1c10a1]{color:#15803d;background:#dcfce7}.g-toast--success .g-toast__title[data-v-2a1c10a1]{color:#15803d}.g-toast--success .g-toast__progress[data-v-2a1c10a1]{background:#22c55e}.g-toast--error .g-toast__icon[data-v-2a1c10a1]{color:#b91c1c;background:#fee2e2}.g-toast--error .g-toast__title[data-v-2a1c10a1]{color:#b91c1c}.g-toast--error .g-toast__progress[data-v-2a1c10a1]{background:#ef4444}.g-toast--info .g-toast__icon[data-v-2a1c10a1]{color:#1d4ed8;background:#dbeafe}.g-toast--info .g-toast__title[data-v-2a1c10a1]{color:#1d4ed8}.g-toast--info .g-toast__progress[data-v-2a1c10a1]{background:#3b82f6}.g-toast--warning .g-toast__icon[data-v-2a1c10a1]{color:#b45309;background:#fef3c7}.g-toast--warning .g-toast__title[data-v-2a1c10a1]{color:#b45309}.g-toast--warning .g-toast__progress[data-v-2a1c10a1]{background:#f59e0b}.g-toast-enter-active[data-v-2a1c10a1],.g-toast-leave-active[data-v-2a1c10a1]{transition:all .28s}.g-toast-enter-from[data-v-2a1c10a1],.g-toast-leave-to[data-v-2a1c10a1]{opacity:0;transform:translate(1.25rem)scale(.98)}.g-toast-move[data-v-2a1c10a1]{transition:transform .28s}@keyframes g-toast-progress-2a1c10a1{0%{transform:scaleX(1)}to{transform:scaleX(0)}}[data-theme=dark] .g-toast[data-v-2a1c10a1]{background:#111827;border-color:#1f2937;box-shadow:0 10px 30px #00000059}[data-theme=dark] .g-toast__message[data-v-2a1c10a1]{color:#e5e7eb}[data-theme=dark] .g-toast__close[data-v-2a1c10a1]{color:#9ca3af}[data-theme=dark] .g-toast__close[data-v-2a1c10a1]:hover{color:#e5e7eb;background:#ffffff14}.gallant-pwa-action[data-v-315d3332]{color:inherit;border-radius:8px;justify-content:center;align-items:center;padding:6px 8px;text-decoration:none;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.gallant-pwa-action.is-ready[data-v-315d3332]{color:#092c4c;background:#092c4c14;border:1px solid #092c4c2e}.gallant-pwa-action.is-waiting[data-v-315d3332]{opacity:.72}.gallant-pwa-action.is-ready[data-v-315d3332]:hover{color:#fff;background:#092c4c}.gallant-pwa-action.is-installed[data-v-315d3332]:hover{color:#dc3545;background:#dc354514}.gallant-pwa-action i[data-v-315d3332]{font-size:18px}
