#wpbody{background:#f3f4f6}.ganpos41-app{margin:20px 20px 20px 0}.gp{font-family:Arial,sans-serif;color:#111827}.gp-head{background:#111827;color:white;border-radius:14px;padding:18px 22px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:20px}.gp-head h1{margin:0 0 4px}.gp-head span{opacity:.7}.gp-head nav{display:flex;flex-wrap:wrap;gap:6px}.gp-head nav a{color:#d1d5db;text-decoration:none;padding:8px 10px;border-radius:7px}.gp-head nav a.on,.gp-head nav a:hover{background:#374151;color:white}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.cards>div{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px}.cards small,.cards b{display:block}.cards b{font-size:24px;margin-top:8px}.posgrid{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:16px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.bar{display:flex;gap:8px;margin-bottom:12px}.bar input,.toolbar input{flex:1;padding:11px;border:1px solid #d1d5db;border-radius:8px}.productgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.prod{background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-align:left;padding:13px;min-height:115px;cursor:pointer}.prod:hover{border-color:#111827;box-shadow:0 3px 12px #0001}.prod b,.prod small,.prod strong,.prod em{display:block}.prod small{color:#6b7280;margin:5px 0}.prod em{font-size:12px;color:#6b7280;margin-top:6px}.cartrow{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:11px 0}.cartrow small{display:block;color:#6b7280}.cartrow button{border:1px solid #ddd;background:#fff;border-radius:5px}.sum{display:flex;justify-content:space-between;font-size:18px;padding:13px 0}.card label{display:block;font-weight:600;margin:10px 0}.card label input,.card label select,.card label textarea{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:5px;border:1px solid #d1d5db;border-radius:7px}.payments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.payments button,.toolbar button,.card button{padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff;cursor:pointer}.big,.primary{background:#111827!important;color:white!important;border-color:#111827!important}.big{width:100%;padding:14px!important;border-radius:8px!important;font-weight:bold;margin-top:8px}.secondary{width:100%;margin-top:7px}.toolbar{display:flex;gap:8px;margin-bottom:15px}.widefat{background:#fff;border-collapse:collapse;width:100%}.widefat th,.widefat td{padding:11px;border-bottom:1px solid #e5e7eb;text-align:left}.danger{color:#b91c1c;font-weight:bold}.muted{color:#6b7280}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.overlay{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;z-index:99999}.modal{position:relative;background:#fff;border-radius:12px;padding:25px;width:min(720px,90vw);max-height:90vh;overflow:auto}.x{position:absolute;right:10px;top:10px;border:0!important;font-size:20px!important}.settings{max-width:600px}.buyrow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:8px 0}.buyrow select,.buyrow input{padding:9px}.settings input{max-width:600px}@media(max-width:1100px){.productgrid{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.posgrid{grid-template-columns:1fr}.productgrid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr 1fr}.gp-head{display:block}.gp-head nav{margin-top:12px}.formgrid{grid-template-columns:1fr}}

.product-photo-box{display:flex;align-items:center;gap:18px;padding:12px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:15px;background:#f9fafb}
.product-photo-box img{width:110px;height:110px;object-fit:cover;border-radius:9px;border:1px solid #ddd}
.photo-placeholder{width:110px;height:110px;border-radius:9px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;text-align:center;color:#6b7280;font-size:12px}
.photo-actions{display:flex;gap:8px;flex-wrap:wrap}
.inline-select{display:flex;gap:6px}.inline-select select{flex:1}
.category-add{display:flex;gap:8px;margin-bottom:15px}.category-add input{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:7px}
.catrow{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #eee}
.catrow button{border:1px solid #ddd;background:#fff;border-radius:6px;padding:7px 10px}

.gan32-box{border:1px solid #ddd;border-radius:10px;padding:14px;margin:12px 0;background:#fff}
.gan32-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gan32-grid label{display:flex;flex-direction:column;gap:5px}
.gan32-grid input,.gan32-pay-row input,.gan32-pay-row select,.gan32-summary input{padding:9px;border:1px solid #ccc;border-radius:6px}
.gan32-pay-row{display:grid;grid-template-columns:130px 110px 1fr 35px;gap:7px;margin:7px 0}
.gan32-summary{display:flex;justify-content:space-between;align-items:center;margin-top:12px}

.prodimg{width:64px;height:64px;object-fit:cover;border-radius:8px;display:block;margin:0 auto 6px}

.gan34-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gan34-product-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600}
.gan34-product-grid input,.gan34-product-grid select{padding:10px;border:1px solid #d1d5db;border-radius:7px;width:100%;box-sizing:border-box}
.gan34-cat-select{display:flex;gap:7px}.gan34-cat-select select{flex:1}
.gan34-form-actions{margin-top:16px;display:flex;justify-content:flex-end}
.gan34-photo{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:15px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px;flex-wrap:wrap}
.gan34-photo img{width:100px;height:100px;object-fit:cover;border-radius:8px}
.gan34-placeholder{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#e5e7eb;border-radius:8px;color:#64748b;font-size:12px}
.gan34-cat-add{display:flex;gap:8px;margin-bottom:12px}.gan34-cat-add input{flex:1;padding:10px;border:1px solid #ccc;border-radius:7px}
.gan34-cat-row{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #eee}
.gan34-payments{border:1px solid #ddd;padding:12px;border-radius:9px;background:#fff}
.gan34-pay-row{display:grid;grid-template-columns:130px 110px 1fr 34px;gap:7px;margin:7px 0}
.gan34-pay-row input,.gan34-pay-row select,.gan34-down input{padding:9px;border:1px solid #ccc;border-radius:6px}
.gan34-down{display:inline-flex;gap:8px;align-items:center;margin:12px 0}

/* GAN POS 3.5 payment controls */
.payment-box{border:1px solid #dbe3ec;border-radius:10px;padding:12px;margin:12px 0;background:#f8fafc}
.payment-title{font-size:16px;font-weight:700;margin-bottom:8px}
.payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:10px}
.payment-methods .pay-method{min-height:44px;font-weight:700;background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important}
.payment-methods .pay-method.active{background:#111827!important;color:#fff!important;border-color:#111827!important}
.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0;padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}
.payment-row .payment-method,.payment-row .payment-amount,.payment-row .payment-ref{width:100%;box-sizing:border-box;padding:11px;border:1px solid #cbd5e1;border-radius:7px;min-width:0;font-size:15px}
.payment-row .payment-ref{grid-column:1/2}.payment-row .remove-payment{grid-column:2/3;grid-row:2;width:44px;justify-self:end;background:#fff;color:#b91c1c;font-size:20px}
.payment-summary{border-top:1px solid #e5e7eb;margin-top:10px;padding-top:4px}.payment-summary label{font-weight:700}.payment-summary input{font-size:17px;font-weight:700}
.payment-summary .sum{padding:8px 0;font-size:16px}.payment-summary #balance{color:#b45309}.payment-summary #change{color:#047857}
.pay-add{width:100%;margin:7px 0!important}.total-line{font-size:22px!important}
@media(max-width:800px){.pos-checkout{padding:12px}.payment-methods{grid-template-columns:1fr 1fr}.payment-row{grid-template-columns:1fr 1fr}.payment-row .payment-ref{grid-column:1/3}.payment-row .remove-payment{grid-column:2;grid-row:2}.payment-row .payment-amount,.payment-row .payment-method{min-height:44px}.modal{width:94vw;padding:18px}.product-photo-box{align-items:flex-start;flex-direction:column}.photo-actions{width:100%}.photo-actions button{flex:1}.category-add{flex-direction:column}.category-add button{width:100%;min-height:44px}}

/* GAN POS 3.5 reservation and order payment editor */
.sale-type-box{border:1px solid #dbe3ec;border-radius:10px;padding:12px;margin:12px 0;background:#f8fafc}.sale-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.sale-type{min-height:44px!important;font-weight:700}.sale-type.active{background:#111827!important;color:#fff!important;border-color:#111827!important}.reservation-dt{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.order-actions button{min-height:42px}.reservation-info{padding:10px;border:1px solid #dbe3ec;border-radius:8px;background:#f8fafc;margin:10px 0}@media(max-width:800px){.sale-type-buttons,.reservation-dt{grid-template-columns:1fr}.order-actions button{flex:1 1 45%;min-width:130px}}

.gp-front{max-width:1400px;margin:0 auto}.gp-front .gp-head{position:sticky;top:0;z-index:20}.gp-front .productgrid{min-height:180px}.prod{overflow:hidden}.prod-img{width:100%;height:80px;object-fit:cover;border-radius:7px;margin-bottom:7px}.empty-products{padding:30px;text-align:center}.gp-front .gp-head nav{display:none}.gp-front .gp-head{justify-content:flex-start}.gp-front .gp-head h1{font-size:22px}
@media(max-width:800px){.prod-img{height:70px}.prod{padding:9px}.gp-front{margin:0}.gp-front .gp-head{border-radius:0;margin:0 0 10px}.gp-front .cards{grid-template-columns:1fr 1fr}.gp-front .posgrid{gap:10px}}


/* GAN POS 4.0 premium product editor */
.gp-product-modal{margin:-4px}.gp-product-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:4px 2px 20px;border-bottom:1px solid #edf0f4;margin-bottom:18px}.gp-product-hero h2{font-size:25px;letter-spacing:-.4px;margin:5px 0 4px}.gp-product-hero p{margin:0;color:#718096;font-size:13px}.gp-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#64748b}.gp-product-status{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#f5f7fa;color:#64748b;font-size:11px;font-weight:700;white-space:nowrap}.gp-dot{width:7px;height:7px;border-radius:50%;background:#22c55e}.gp-form-section{border:1px solid #e7ebf0;border-radius:14px;padding:17px;margin:0 0 13px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}.gp-section-title{display:flex;justify-content:space-between;margin-bottom:14px}.gp-section-title h3{font-size:15px;margin:0 0 3px;color:#172033}.gp-section-title p{font-size:11px;color:#8792a2;margin:0}.gp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.gp-field{min-width:0}.gp-field label{display:block!important;font-size:11px!important;font-weight:700!important;color:#4b5563;margin:0 0 6px!important}.gp-field label span{color:#dc2626}.gp-field input,.gp-field select{width:100%;box-sizing:border-box;height:42px;padding:0 12px;border:1px solid #dce2e9;border-radius:9px;background:#fbfcfe;color:#172033;font-size:13px;outline:none;transition:.15s}.gp-field input:focus,.gp-field select:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.10);background:#fff}.gp-field input::placeholder{color:#a5afbd}.gp-span-2{grid-column:1/-1}.gp-price-grid{grid-template-columns:repeat(4,1fr)}.gp-highlight{background:#f8fafc;padding:10px;border-radius:10px;margin:-10px}.gp-input-prefix,.gp-input-suffix{display:flex;align-items:center}.gp-input-prefix span{height:42px;display:flex;align-items:center;padding:0 10px;border:1px solid #dce2e9;border-right:0;border-radius:9px 0 0 9px;background:#f4f6f8;color:#667085;font-size:13px}.gp-input-prefix input{border-radius:0 9px 9px 0!important}.gp-input-suffix input{border-radius:9px 0 0 9px!important}.gp-input-suffix span{height:42px;display:flex;align-items:center;padding:0 11px;border:1px solid #dce2e9;border-left:0;border-radius:0 9px 9px 0;background:#f4f6f8;color:#667085}.gp-photo-section{background:linear-gradient(180deg,#fbfcfe,#fff)}.gp-photo-card{display:flex;align-items:center;gap:17px}.gp-photo-preview{width:118px;height:118px;flex:0 0 118px;border-radius:12px;overflow:hidden;border:1px solid #e1e6ed;background:#f3f5f8}.gp-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.gp-photo-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:5px}.gp-photo-placeholder span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8edf3;font-size:20px}.gp-photo-placeholder small{font-size:10px}.photo-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.photo-actions small{display:block;flex-basis:100%;font-size:10px;color:#98a2b3}.gp-btn{border:1px solid #d9dfe7!important;border-radius:9px!important;background:#fff!important;color:#344054!important;padding:10px 13px!important;font-size:12px!important;font-weight:700!important;cursor:pointer;min-height:40px}.gp-btn:hover{border-color:#aab4c2!important;background:#f8fafc!important}.gp-btn-primary{background:#172033!important;color:#fff!important;border-color:#172033!important}.gp-btn-primary:hover{background:#0f172a!important;color:#fff!important}.gp-btn:disabled{opacity:.55;cursor:not-allowed}.gp-category-row{display:grid;grid-template-columns:1fr auto;gap:8px}.gp-manage-cat{white-space:nowrap}.gp-form-footer{position:sticky;bottom:-18px;margin:4px -17px -17px;padding:13px 17px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #e7ebf0;border-radius:0 0 14px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.gp-form-footer strong,.gp-form-footer small{display:block}.gp-form-footer strong{font-size:12px;color:#344054}.gp-form-footer small{font-size:10px;color:#98a2b3;margin-top:2px}.gp-footer-actions{display:flex;gap:8px}.gp-publish{min-width:135px}.modal:has(.gp-product-modal){width:min(780px,94vw);padding:22px;background:#f8fafc}
@media(max-width:800px){.modal:has(.gp-product-modal){width:96vw;padding:14px;border-radius:16px}.gp-product-hero{padding:3px 2px 14px}.gp-product-hero h2{font-size:21px}.gp-product-status{display:none}.gp-form-section{padding:14px;border-radius:12px}.gp-form-grid,.gp-price-grid{grid-template-columns:1fr}.gp-span-2{grid-column:auto}.gp-highlight{margin:0;padding:0;background:transparent}.gp-photo-card{align-items:flex-start}.gp-photo-preview{width:96px;height:96px;flex-basis:96px}.gp-category-row{grid-template-columns:1fr}.gp-manage-cat{width:100%}.gp-form-footer{position:sticky;bottom:-14px;margin:0 -14px -14px;padding:11px 14px;align-items:stretch;flex-direction:column}.gp-footer-actions{width:100%}.gp-footer-actions .gp-btn{flex:1}.gp-publish{min-width:0}.gp-field input,.gp-field select{height:44px}.photo-actions{flex:1}.photo-actions .gp-btn{width:100%}}


/* GAN POS 4.1 mobile app shell */
.gp{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182033}.gp-front{min-height:100vh;background:#f5f7fa;padding-bottom:76px}.gp-front .gp-head{background:#111827;color:#fff;padding:14px 16px;border-radius:0 0 18px 18px;box-shadow:0 8px 24px rgba(15,23,42,.15);display:flex;align-items:center;justify-content:space-between}.gp-brand{display:flex;align-items:center;gap:10px}.gp-app-mark{width:38px;height:38px;border-radius:12px;background:#fff;color:#111827;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px}.gp-front .gp-head h1{margin:0;font-size:18px;color:#fff}.gp-front .gp-head span{color:#cbd5e1;font-size:10px}.gp-install-btn{display:none;border:1px solid #475569!important;background:#1f2937!important;color:#fff!important;border-radius:10px!important;padding:9px 12px!important;font-weight:700!important}.gp-front #gp-content{padding:12px}.gp-front .cards{gap:8px}.gp-front .cards>div{border:0;border-radius:14px;box-shadow:0 2px 10px rgba(15,23,42,.06);padding:13px;background:#fff}.gp-front .posgrid{display:flex;flex-direction:column;gap:12px}.gp-front .posgrid>section,.gp-front .pos-checkout{border:0;border-radius:16px;box-shadow:0 3px 14px rgba(15,23,42,.07);background:#fff}.gp-front .pos-checkout{order:2}.gp-front .posgrid>section{order:1}.gp-front .productgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gp-front .prod{border:1px solid #e7ebf0;border-radius:13px;background:#fff;box-shadow:none;padding:10px}.gp-front .prod button{width:100%;min-height:42px;border-radius:10px}.gp-front .bar{position:sticky;top:0;background:#fff;z-index:4;padding-bottom:8px}.gp-front .bar input{height:46px;border-radius:12px}.gp-front .bar button{height:46px;border-radius:12px}.gp-checkout-section{border:1px solid #e7ebf0;border-radius:14px;padding:14px;margin:12px 0;background:#fff}.gp-checkout-heading{display:flex;gap:10px;align-items:center;margin-bottom:12px}.gp-checkout-heading h3{margin:0;font-size:15px}.gp-checkout-heading p{margin:2px 0 0;font-size:11px;color:#8a94a5}.gp-checkout-icon{width:34px;height:34px;border-radius:10px;background:#f1f4f8;display:flex;align-items:center;justify-content:center}.gp-front .payment-box{border:0;margin:12px 0;padding:14px;background:#fff;box-shadow:none}.gp-front .payment-methods{grid-template-columns:repeat(2,1fr);gap:8px}.gp-front .pay-method{border-radius:11px!important;min-height:46px}.gp-front .payment-row{grid-template-columns:1fr 1fr;border-radius:11px;padding:10px}.gp-front .payment-row input,.gp-front .payment-row select{min-height:44px;border-radius:10px}.gp-front .payment-summary input,.gp-front #customer,.gp-front #reservation-name,.gp-front #reservation-phone,.gp-front #reservation-date,.gp-front #reservation-time{min-height:46px;border-radius:11px}.gp-front .sale-type{border-radius:11px!important}.gp-front #complete{width:100%;min-height:52px;border-radius:13px;font-size:14px;font-weight:800;box-shadow:0 6px 14px rgba(17,24,39,.15)}.gp-front #hold{width:100%;min-height:46px;border-radius:12px;margin-top:8px}.gp-mobile-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:100;background:rgba(17,24,39,.96);border-radius:17px;padding:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;box-shadow:0 10px 30px rgba(0,0,0,.22)}.gp-mobile-action{border:0!important;background:transparent!important;color:#cbd5e1!important;border-radius:12px!important;min-height:48px!important;font-size:19px!important}.gp-mobile-action small{display:block;font-size:9px;font-weight:700}.gp-mobile-action.active{background:#fff!important;color:#111827!important}.gp-front .modal:has(.gp-product-modal){width:96vw;max-height:90vh;overflow:auto;border-radius:18px}.gp-front .modal{border-radius:18px}.gp-front .gp-form-section{box-shadow:none}.gp-front .gp-form-footer{bottom:0}.gp-front label{font-size:12px}.gp-front label input,.gp-front label select,.gp-front label textarea{min-height:46px;border-radius:11px}.gp-front .gp-form-grid{gap:10px}
@media(min-width:801px){.gp-front .posgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);align-items:start}.gp-front .posgrid>section,.gp-front .pos-checkout{order:initial}.gp-front .gp-mobile-bar{display:none}.gp-front{padding-bottom:20px}}

/* GAN POS 4.3 management layouts */
.gp-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.gp-page-head h2{margin:4px 0;font-size:23px;letter-spacing:-.3px}.gp-page-head p{margin:0;color:#7b8797;font-size:12px}.gp-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gp-list-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #e7ebf0;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}.gp-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.gp-avatar.supplier{background:#eef2f7;color:#172033}.gp-list-main{min-width:0;flex:1}.gp-list-main h3{margin:0 0 4px;font-size:14px}.gp-list-main p,.gp-list-main small{display:block;margin:0;color:#7b8797;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-list-main small{margin-top:4px}.gp-badge{display:inline-block;margin-top:7px;padding:5px 8px;border-radius:999px;background:#f1f4f8;color:#475467;font-size:10px;font-weight:700}.gp-icon-btn{border:0!important;background:#f4f6f8!important;border-radius:9px!important;padding:7px 10px!important}.gp-form-modal{margin:-4px}.gp-form-modal .gp-form{padding-bottom:65px}.gp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gp-detail-grid>div{padding:11px;border:1px solid #e7ebf0;border-radius:10px;background:#fbfcfe}.gp-detail-grid small{display:block;color:#8994a3;font-size:10px;margin-bottom:4px}.gp-detail-grid b{display:block;color:#172033;font-size:13px;word-break:break-word}.gp-order-items{display:grid;gap:7px}.gp-order-item{display:flex;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e7ebf0;border-radius:10px;background:#fff}.gp-order-item b,.gp-order-item small{display:block}.gp-order-item small{color:#7b8797;margin-top:3px}.gp-order-total{display:flex;justify-content:space-between;padding:13px 2px 0;font-size:17px}.gp-payment-history{display:grid;gap:7px}.gp-payment-history-row{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px;border:1px solid #e7ebf0;border-radius:10px;background:#fff}.gp-payment-history-row small{grid-column:1/-1;color:#8994a3}.gp-money-detail{margin-top:10px}.gp-order-actions{display:grid;grid-template-columns:repeat(3,1fr)}.gp-settings-form{padding-bottom:60px}.gp-business-logo-row{display:flex;align-items:center;gap:16px}.gp-business-logo{width:130px;height:80px;object-fit:contain;border:1px solid #e1e6ed;border-radius:12px;background:#f5f7fa}.gp-business-logo.placeholder{display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:11px}.gp-datebar{display:flex;gap:8px;margin-bottom:14px}.gp-datebar input{height:42px;padding:0 10px;border:1px solid #dce2e9;border-radius:9px}.money-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.money-total{padding:16px;border-radius:14px;background:#fff;border:1px solid #e7ebf0;box-shadow:0 2px 8px rgba(15,23,42,.04)}.money-total small,.money-total b{display:block}.money-total small{color:#7b8797;font-size:11px}.money-total b{font-size:21px;margin-top:7px}.money-total.received{border-top:3px solid #111827}.money-total.in{border-top:3px solid #16a34a}.money-total.out{border-top:3px solid #dc2626}.money-total.net{border-top:3px solid #2563eb}.gp-money-methods{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.money-method-card{padding:14px;border:1px solid #e7ebf0;border-radius:13px;background:#fff}.money-method-card span,.money-method-card b,.money-method-card small{display:block}.money-method-card b{font-size:18px;margin:7px 0}.money-method-card small{color:#8994a3;font-size:10px}.success{color:#15803d;font-weight:700}.gp-order-modal{padding-bottom:2px}.gp-order-modal .gp-product-hero{align-items:center}
@media(max-width:800px){.gp-page-head{align-items:flex-start;flex-direction:column}.gp-page-head .gp-btn{width:100%;min-height:46px}.gp-card-list{grid-template-columns:1fr}.gp-list-card{padding:13px}.gp-detail-grid{grid-template-columns:1fr}.gp-order-actions{grid-template-columns:1fr}.gp-order-actions button{width:100%!important}.gp-business-logo-row{align-items:flex-start;flex-direction:column}.gp-business-logo{width:100%;height:120px}.gp-datebar{display:grid;grid-template-columns:1fr}.gp-datebar button{width:100%}.money-summary{grid-template-columns:1fr 1fr}.gp-money-methods{grid-template-columns:1fr 1fr}.money-method-card{padding:12px}.gp-form-modal .gp-form{padding-bottom:85px}.gp-order-modal .gp-product-hero{padding-right:0}.gp-order-modal .gp-badge{display:none}.gp-list-card .gp-btn{min-height:42px;white-space:nowrap}}

/* GAN POS 4.4 mobile management forms */
.gp-form-section{background:#fff;border:1px solid #e7ebf0;border-radius:16px;padding:16px;margin:0 0 12px;box-shadow:0 2px 10px rgba(15,23,42,.035)}
.gp-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.gp-section-title h3{margin:0;font-size:15px}.gp-section-title p{margin:3px 0 0;color:#8994a3;font-size:11px}.gp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gp-form-grid label,.gp-form label{display:block;color:#3c4757;font-size:11px;font-weight:700}.gp-form-grid input,.gp-form-grid select,.gp-form-grid textarea,.gp-form label input,.gp-form label select,.gp-form label textarea{display:block;width:100%;margin-top:6px;box-sizing:border-box;border:1px solid #dbe1e8;background:#fbfcfe;border-radius:11px;min-height:46px;padding:11px 12px;font:inherit;color:#172033;outline:none}.gp-form-grid textarea,.gp-form label textarea{min-height:88px;resize:vertical}.gp-form-grid input:focus,.gp-form-grid select:focus,.gp-form-grid textarea:focus{border-color:#111827;background:#fff;box-shadow:0 0 0 3px rgba(17,24,39,.06)}.gp-span-2{grid-column:span 2}.gp-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.gp-footer-actions{display:flex;gap:8px;margin-left:auto}.gp-list-card{min-height:82px}.gp-card-actions{display:flex;flex-direction:column;gap:7px}.gp-card-actions .gp-btn{min-width:100px}.gp-branch-card{align-items:flex-start}.gp-branch-card .gp-badge{margin-right:5px}.gp-purchase-items{display:grid;gap:10px}.gp-purchase-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,.7fr) minmax(100px,.8fr) auto;gap:9px;align-items:end;padding:12px;border:1px solid #e7ebf0;border-radius:13px;background:#fbfcfe}.gp-purchase-row label{font-size:10px}.gp-purchase-row input,.gp-purchase-row select{width:100%;box-sizing:border-box;min-height:44px;margin-top:5px;border:1px solid #dbe1e8;border-radius:10px;padding:9px}.gp-purchase-row .remove-buy{min-height:44px}.gp-detail-grid{background:#fff}
@media(max-width:800px){.gp-form-modal{width:96vw;max-height:91vh;overflow:auto}.gp-form-section{padding:13px;border-radius:14px}.gp-form-grid{grid-template-columns:1fr;gap:10px}.gp-span-2{grid-column:auto}.gp-form-footer{position:sticky;bottom:-13px;z-index:5;background:#fff;border-top:1px solid #e7ebf0;padding:11px 0 0;margin-top:4px;flex-direction:column;align-items:stretch}.gp-footer-actions{margin-left:0;width:100%}.gp-footer-actions .gp-btn{flex:1;min-height:46px}.gp-section-title{align-items:flex-start;flex-direction:column}.gp-section-title>.gp-btn{width:100%;min-height:44px}.gp-purchase-row{grid-template-columns:1fr 1fr}.gp-purchase-row label:first-child{grid-column:1/-1}.gp-purchase-row .remove-buy{grid-column:1/-1;width:100%}.gp-card-actions{width:100%}.gp-card-actions .gp-btn{width:100%}.gp-branch-card{flex-direction:column}.gp-list-card .gp-list-main{width:100%}}

/* GAN POS 4.5.26 - mobile category navigation */
.pos-category-wrap{margin:14px 0 16px;padding:14px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}
.pos-category-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pos-category-head b{display:block;font-size:15px}.pos-category-head small{display:block;color:#7b8190;margin-top:3px}
#pos-manage-categories{border:1px solid #d9dee8;background:#fff;border-radius:10px;padding:9px 12px;font-weight:700;white-space:nowrap}
.pos-category-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pos-category-actions button{border:1px solid #d9dee8;background:#fff;border-radius:10px;padding:9px 12px;font-weight:700;white-space:nowrap;cursor:pointer}.pos-category-actions .pos-category-add{background:#111827;color:#fff;border-color:#111827}.pos-category-actions .pos-category-manage{background:#fff;color:#111827}
.pos-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}
.pos-category-tabs::-webkit-scrollbar{display:none}
.pos-category-tab{flex:0 0 auto;border:1px solid #dfe3ea;background:#f8f9fb;border-radius:999px;padding:10px 15px;font-weight:700;min-height:42px}
.pos-category-tab.active{background:#111827;color:#fff;border-color:#111827}
.gp-category-modal{width:min(100%,560px);padding:4px}
.gp-modal-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}
.gp-modal-top h2{margin:4px 0 5px;font-size:25px}.gp-modal-top p{margin:0;color:#737a88;line-height:1.45}
.gp-modal-close{border:0;background:#f0f2f5;border-radius:50%;width:42px;height:42px;font-size:26px;line-height:1;flex:0 0 auto}
.gp-category-add-card{padding:16px;border:1px solid #e3e7ee;border-radius:16px;background:#f8fafc;margin-bottom:18px}
.gp-category-add-card label{display:block;font-weight:700}.gp-category-add-card input{margin-top:8px;width:100%;box-sizing:border-box;min-height:48px;border:1px solid #d7dce5;border-radius:12px;padding:0 14px;font-size:16px;background:#fff}
.gp-full-btn{width:100%;margin-top:10px;min-height:48px}
.gp-category-list-head{display:flex;justify-content:space-between;margin:4px 2px 8px}.gp-category-list-head span{color:#858b98;font-size:13px}
.gp-category-list{display:grid;gap:8px;max-height:42vh;overflow:auto}
.gp-cat-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid #e5e8ee;border-radius:13px;background:#fff}
.gp-cat-item b{display:block}.gp-cat-item small{display:block;color:#858b98;margin-top:3px}
.gp-cat-delete{border:1px solid #e0e3e8;background:#fff;border-radius:9px;padding:8px 10px}
.gp-category-empty{padding:24px;text-align:center;color:#7c8491;border:1px dashed #d9dde5;border-radius:13px;background:#fafbfc}
.gp-category-back{width:100%;margin-top:14px;min-height:46px}
@media(max-width:700px){
 .pos-category-wrap{margin:10px 0 14px;padding:12px;border-radius:15px}
 .pos-category-head b{font-size:14px}.pos-category-head small{font-size:11px}
 .pos-category-tab{padding:9px 13px;min-height:40px;font-size:13px}
 .gp-category-modal{padding:0}
 .gp-modal-top h2{font-size:22px}
 .gp-category-list{max-height:36vh}
}


/* GAN POS 4.5.27 - mobile POS categories and branch-safe customers */
.pos-category-wrap{margin:12px 0 16px;padding:14px;border:1px solid #e6e8ee;border-radius:14px;background:#fff}
.pos-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.pos-category-head b{display:block;font-size:15px}.pos-category-head small{display:block;color:#7a7f89;margin-top:3px}
.pos-category-head button{white-space:nowrap;border:0;border-radius:10px;padding:10px 13px;font-weight:700}
.pos-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
.pos-category-tab{flex:0 0 auto;border:1px solid #dfe3ea;background:#fff;border-radius:999px;padding:10px 14px;min-height:42px;cursor:pointer}
.pos-category-tab.active{background:#111827;color:#fff;border-color:#111827}
.pos-branch-box{margin:0 0 12px;padding:12px;border:1px solid #e3e7ee;border-radius:12px;background:#f8fafc}
.pos-branch-box label{display:block;font-weight:700}.pos-branch-box select{width:100%;margin-top:6px}
.pos-branch-note{display:block;color:#6b7280;margin-top:6px;font-size:12px}
.selected-customer-details{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:8px;padding:9px 11px;border-radius:10px;background:#f7f8fa;color:#6b7280;font-size:12px}
.selected-customer-details b{color:#111827;width:100%}
.gp-category-add-mobile{display:flex;gap:10px;align-items:flex-end}
.gp-category-add-mobile label{flex:1}.gp-category-add-mobile input{width:100%}
.gp-category-list{display:grid;gap:9px}
.gp-category-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid #e6e8ee;border-radius:12px;background:#fff}
.gp-category-card b{display:block}.gp-category-card small{display:block;color:#7a7f89;margin-top:3px}
.gp-category-form-modal .gp-form-section{margin-bottom:14px}
@media(max-width:700px){
  .pos-category-wrap{padding:12px}
  .pos-category-head{align-items:flex-start}
  .pos-category-head button{padding:9px 11px}
  .gp-category-add-mobile{display:block}
  .gp-category-add-mobile .gp-btn{width:100%;margin-top:10px;min-height:46px}
  .gp-category-card{padding:12px}
  .gp-category-card .gp-btn{min-height:42px}
}


/* GAN POS 4.5.29 - branch finance + mobile payment update */
.gp-payment-update-modal{width:min(100%,620px)}
.gp-payment-order-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
.gp-payment-order-summary>div{padding:13px 14px;border:1px solid #e5e9ef;border-radius:13px;background:#f8fafc}
.gp-payment-order-summary small{display:block;color:#7a8493;font-size:11px;margin-bottom:5px}
.gp-payment-order-summary b{display:block;font-size:18px;color:#111827}
.gp-check-row{display:flex!important;align-items:center;gap:9px;margin-top:14px!important;padding:13px 14px;border:1px solid #e5e9ef;border-radius:12px;background:#f8fafc;font-weight:700!important}
.gp-check-row input{width:18px;height:18px;flex:0 0 auto}
.gp-payment-update-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:15px}
.gp-payment-update-actions .gp-btn{min-height:48px}
@media(max-width:700px){
 .overlay{align-items:flex-end;padding:0}
 .modal{width:100%;max-width:none;box-sizing:border-box;border-radius:22px 22px 0 0;padding:18px 16px;max-height:92vh}
 .gp-payment-update-modal{width:100%}
 .gp-modal-top{margin-bottom:14px}
 .gp-modal-top h2{font-size:22px}
 .gp-payment-order-summary{grid-template-columns:1fr 1fr}
 .gp-payment-order-summary>div:last-child{grid-column:1/-1}
 .gp-payment-order-summary b{font-size:17px}
 .gp-form-grid{grid-template-columns:1fr!important}
 .gp-span-2{grid-column:1!important}
 .gp-payment-update-actions{grid-template-columns:1fr}
 .gp-payment-update-actions .gp-btn{width:100%;min-height:50px}
 .gp-payment-update-modal .gp-field input,.gp-payment-update-modal .gp-field select{height:50px;font-size:16px}
 .money-summary{grid-template-columns:1fr 1fr}
 .gp-money-methods{grid-template-columns:1fr 1fr}
 .gp-datebar{display:grid;grid-template-columns:1fr 1fr}
 .gp-datebar .gp-btn{grid-column:1/-1;min-height:46px}
}

/* GAN POS 4.5.32 - branch order persistence */
.gp-branch-order-badge{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:700}
@media(max-width:700px){.gp-branch-order-badge{font-size:9px}}

/* GAN POS 4.5.32 - mobile payment update controls */
.gp-check-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:52px!important;
  margin:12px 0!important;
  padding:12px 14px!important;
  border:1px solid #e5e7eb!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
}
.gp-check-row input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #94a3b8!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  position:relative!important;
  cursor:pointer!important;
}
.gp-check-row input[type="checkbox"]:checked{
  background:#111827!important;
  border-color:#111827!important;
}
.gp-check-row input[type="checkbox"]:checked::after{
  content:"✓";
  position:absolute;
  left:4px;
  top:-2px;
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.gp-check-row span{
  flex:1!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.gp-payment-update-actions{
  display:grid!important;
  grid-template-columns:1fr 1.4fr!important;
  gap:10px!important;
  width:100%!important;
  margin-top:14px!important;
}
.gp-payment-update-actions .gp-btn{
  min-height:50px!important;
  width:100%!important;
  border-radius:12px!important;
  font-size:14px!important;
  touch-action:manipulation!important;
}
#paymentupdate .gp-field select,
#paymentupdate .gp-field input{
  width:100%!important;
  min-height:50px!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  #paymentupdate{
    width:min(94vw,620px)!important;
    max-height:90vh!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    padding:0!important;
  }
  #paymentupdate .gp-form-section{
    padding:14px!important;
  }
  #paymentupdate .gp-detail-grid{
    grid-template-columns:1fr!important;
  }
  #paymentupdate .gp-payment-update-actions{
    position:sticky;
    bottom:0;
    padding:10px 0 0;
    background:#fff;
  }
  #paymentupdate .gp-payment-update-actions .gp-btn{
    min-height:54px!important;
  }
}

/* GAN POS 4.5.32 - admin branch sales dashboard */
.gp-branch-sales-card{margin:18px 0!important;padding:18px!important}
.gp-branch-sales-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gp-branch-sales-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.gp-branch-sales-item b{display:block;font-size:14px}
.gp-branch-sales-item small{display:block;color:#6b7280;margin-top:4px}
.gp-branch-sales-item strong{font-size:16px;white-space:nowrap}
@media(max-width:700px){.gp-branch-sales-grid{grid-template-columns:1fr}.gp-branch-sales-card{padding:14px!important}}


/* GAN POS 4.5.33 - responsive Branch Management layout */
.gp-branch-page #branch-list,
#branch-list.gp-card-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  width:100%;
  box-sizing:border-box;
}
#branch-list .gp-branch-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px;
}
#branch-list .gp-branch-card .gp-list-main{
  min-width:0;
}
#branch-list .gp-branch-card .gp-list-main h3{
  font-size:17px;
  margin-bottom:6px;
}
#branch-list .gp-branch-card .gp-list-main p,
#branch-list .gp-branch-card .gp-list-main small{
  font-size:12px;
}
#branch-list .gp-branch-card .gp-badge{
  display:inline-flex;
  margin:9px 6px 0 0;
}
#branch-list .gp-branch-card .gp-card-actions{
  min-width:125px;
  width:125px;
}
#branch-list .gp-branch-card .gp-card-actions .gp-btn{
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  text-align:center;
}
.gp-branch-modal{
  width:min(96vw,760px);
}
.gp-branch-modal .gp-form-section{
  margin-bottom:14px;
}
@media(min-width:1100px){
  #branch-list .gp-branch-card{grid-template-columns:56px minmax(0,1fr) 150px}
  #branch-list .gp-branch-card .gp-card-actions{width:150px;min-width:150px}
}
@media(max-width:800px){
  #branch-list.gp-card-list{grid-template-columns:1fr;gap:12px}
  #branch-list .gp-branch-card{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
    align-items:stretch;
  }
  #branch-list .gp-branch-card .gp-avatar{
    width:48px;height:48px;
  }
  #branch-list .gp-branch-card .gp-list-main h3{font-size:16px}
  #branch-list .gp-branch-card .gp-list-main p,
  #branch-list .gp-branch-card .gp-list-main small{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.45;
  }
  #branch-list .gp-branch-card .gp-badge{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin:8px 0 0;
    line-height:1.35;
  }
  #branch-list .gp-branch-card .gp-card-actions{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  #branch-list .gp-branch-card .gp-card-actions .gp-btn{
    min-height:48px;
  }
  .gp-branch-modal{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .gp-branch-modal .gp-form-section{
    padding:13px!important;
  }
  .gp-branch-modal .gp-form-footer{
    position:sticky;
    bottom:0;
    z-index:10;
    background:#fff;
    padding:10px 0 0;
  }
}
@media(max-width:480px){
  #branch-list .gp-branch-card .gp-card-actions{grid-template-columns:1fr}
  #branch-list .gp-branch-card .gp-card-actions .gp-btn{min-height:50px}
}


/* GAN POS 4.5.34 - Branch Management desktop + mobile layout */
.gp-branch-page{width:100%;box-sizing:border-box}
.gp-branch-page + #branch-list,
.gp-branch-page ~ #branch-list,
#branch-list.gp-card-list{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
  box-sizing:border-box !important;
}
#branch-list .gp-branch-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) 180px !important;
  align-items:center !important;
  gap:20px !important;
  padding:22px !important;
  margin:0 !important;
  overflow:visible !important;
}
#branch-list .gp-branch-card .gp-list-main{min-width:0 !important;width:auto !important}
#branch-list .gp-branch-card .gp-list-main h3{font-size:18px !important;margin:0 0 7px !important;white-space:normal !important}
#branch-list .gp-branch-card .gp-list-main p,
#branch-list .gp-branch-card .gp-list-main small{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.5 !important;
  font-size:12px !important;
}
#branch-list .gp-branch-card .gp-badge{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  margin:9px 8px 0 0 !important;
  box-sizing:border-box !important;
}
#branch-list .gp-branch-card .gp-card-actions{
  width:180px !important;
  min-width:180px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
}
#branch-list .gp-branch-card .gp-card-actions .gp-btn{
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  white-space:nowrap !important;
}
@media(min-width:801px){
  .ganpos41-app,#ganpos41-app{width:100% !important;max-width:none !important;box-sizing:border-box !important}
  #ganpos41-app .gp{width:100% !important;max-width:none !important;box-sizing:border-box !important}
  #ganpos41-app .card{width:100% !important;max-width:none !important;box-sizing:border-box !important}
}
@media(max-width:1100px) and (min-width:801px){
  #branch-list .gp-branch-card{grid-template-columns:56px minmax(0,1fr) 150px !important;gap:14px !important;padding:18px !important}
  #branch-list .gp-branch-card .gp-card-actions{width:150px !important;min-width:150px !important}
}
@media(max-width:800px){
  #branch-list.gp-card-list{grid-template-columns:1fr !important;gap:12px !important}
  #branch-list .gp-branch-card{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:14px !important;
  }
  #branch-list .gp-branch-card .gp-avatar{width:48px !important;height:48px !important}
  #branch-list .gp-branch-card .gp-card-actions{
    width:100% !important;min-width:0 !important;display:grid !important;grid-template-columns:1fr 1fr !important;gap:9px !important
  }
  #branch-list .gp-branch-card .gp-card-actions .gp-btn{min-height:48px !important}
}
@media(max-width:480px){
  #branch-list .gp-branch-card .gp-card-actions{grid-template-columns:1fr !important}
}


/* GAN POS 4.5.36 - desktop POS product presentation */
@media(min-width:1101px){
  .posgrid{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:18px;
    align-items:start;
  }
  .posgrid > section.card{
    min-width:0;
    padding:20px;
  }
  .productgrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
  }
  .prod{
    min-height:235px;
    padding:12px;
    border-radius:13px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
  }
  .prod:hover{
    transform:translateY(-2px);
    border-color:#cbd5e1;
    box-shadow:0 8px 20px rgba(15,23,42,.09);
  }
  .prod-img{
    width:100%;
    height:135px;
    object-fit:cover;
    border-radius:9px;
    margin-bottom:10px;
    background:#f1f5f9;
  }
  .prod b{
    font-size:14px;
    line-height:1.35;
    min-height:38px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .prod small{
    font-size:12px;
    line-height:1.25;
    margin:5px 0 3px;
  }
  .prod strong{
    font-size:16px;
    line-height:1.3;
    margin-top:2px;
  }
  .prod em{
    font-size:11px;
    margin-top:6px;
  }
  .pos-category-wrap{
    margin-bottom:17px;
  }
}
@media(min-width:801px) and (max-width:1100px){
  .productgrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .prod-img{height:115px}
  .prod{min-height:205px}
}

/* GAN POS 4.5.40 - Theme Compatible Modern POS UI + Commerce Sync
   Scoped to .gp-front so the WordPress admin POS remains unchanged. */
.gp-front{
  --gp-ink:#111111;
  --gp-muted:#6b7280;
  --gp-line:#e8e8e8;
  --gp-soft:#f7f7f5;
  --gp-accent:#c3a15d;
  --gp-radius:24px;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:24px clamp(14px,3vw,34px) 110px;
  box-sizing:border-box;
  color:var(--gp-ink);
  font-family:inherit;
}
.gp-front .gp-head{
  background:rgba(255,255,255,.96);
  color:var(--gp-ink);
  border:1px solid var(--gp-line);
  border-radius:24px;
  padding:14px 18px;
  margin:0 0 22px;
  box-shadow:0 10px 30px rgba(17,17,17,.06);
  backdrop-filter:blur(10px);
}
.gp-front .gp-brand{display:flex;align-items:center;gap:12px}
.gp-front .gp-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.gp-front .gp-head .gp-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px}.gp-front .gp-head .gp-install-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.gp-front .gp-front-install{cursor:pointer}.gp-front .gp-front-install.is-ready{box-shadow:0 0 0 3px rgba(17,17,17,.08)}
.gp-front .gp-app-mark{width:42px;height:42px;border-radius:14px;background:var(--gp-ink);color:#fff;display:grid;place-items:center;font-weight:900}
.gp-front .gp-brand h1{color:var(--gp-ink);font-size:19px;letter-spacing:.02em}
.gp-front .gp-brand span{color:var(--gp-muted);font-size:12px}
.gp-front .gp-install-btn{border:1px solid var(--gp-ink);background:var(--gp-ink);color:#fff;border-radius:14px;padding:11px 15px;font-weight:800;cursor:pointer}
.gp-front .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.gp-front .cards>div{border:1px solid var(--gp-line);border-radius:20px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(17,17,17,.04)}
.gp-front .cards small{color:var(--gp-muted);font-size:12px}
.gp-front .cards b{font-size:25px}
.gp-front .posgrid{grid-template-columns:minmax(0,1fr) 400px;gap:18px;align-items:start}
.gp-front .card{border:1px solid var(--gp-line);border-radius:var(--gp-radius);padding:20px;background:#fff;box-shadow:0 12px 35px rgba(17,17,17,.06)}
.gp-front .bar{padding:0;margin-bottom:14px}
.gp-front .bar input{height:50px;border-radius:15px;border:1px solid #dedede;background:#fafafa;padding:0 15px;font-size:16px;outline:none}
.gp-front .bar input:focus{border-color:#b9b9b9;background:#fff;box-shadow:0 0 0 3px rgba(195,161,93,.12)}
.gp-front .bar button,.gp-front .card button{border-radius:13px}
.gp-front .pos-category-wrap{border:1px solid var(--gp-line);border-radius:18px;background:var(--gp-soft);padding:13px;margin-bottom:15px}
.gp-front .pos-category-head b{font-size:14px}.gp-front .pos-category-head small{color:var(--gp-muted)}
.gp-front .pos-category-head button{background:var(--gp-ink);color:#fff;border:0}
.gp-front .pos-category-tab{border-color:#dedede;background:#fff;color:var(--gp-ink);font-weight:700}
.gp-front .pos-category-tab.active{background:var(--gp-ink);border-color:var(--gp-ink);color:#fff}
.gp-front .productgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gp-front .prod{
  min-height:0;
  padding:0;
  overflow:hidden;
  text-align:left;
  border:1px solid var(--gp-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 7px 20px rgba(17,17,17,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.gp-front .prod:hover{transform:translateY(-2px);border-color:#d6c7a5;box-shadow:0 12px 28px rgba(17,17,17,.09)}
.gp-front .prod-media{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f1f1ef}
.gp-front .prod-img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border:0;border-radius:0}
.gp-front .prod-img-empty{display:grid;place-items:center;color:#9ca3af;font-size:12px;background:#f3f4f6}
.gp-front .prod-info{display:block;padding:13px 14px 15px}
.gp-front .prod-info>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.25;min-height:38px}
.gp-front .prod-info small{display:block;color:var(--gp-muted);margin:6px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-front .prod-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px}
.gp-front .prod-bottom strong{font-size:16px}
.gp-front .prod-bottom em{font-style:normal;font-size:10px;color:var(--gp-muted);text-align:right}
.gp-front .pos-checkout{position:sticky;top:18px}
.gp-front .pos-checkout h2{font-size:21px;margin:0 0 12px}
.gp-front .cartrow{padding:13px 0;border-color:#ededed;gap:8px}
.gp-front .cartrow>div:first-child{min-width:0}.gp-front .cartrow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-front .cartrow button{min-width:32px;min-height:32px;background:#f5f5f3;border:1px solid #e5e5e5}
.gp-front .sum{padding:12px 0}.gp-front .total-line{margin-top:6px;padding-top:15px;border-top:1px solid var(--gp-line);font-size:20px}
.gp-front .card label input,.gp-front .card label select,.gp-front .card label textarea{min-height:48px;border-radius:13px;border-color:#dedede;background:#fafafa}
.gp-front .gp-checkout-section,.gp-front .payment-box{border:1px solid var(--gp-line);border-radius:18px;background:#fafafa;padding:14px;margin:13px 0}
.gp-front .gp-checkout-heading{display:flex;gap:10px;align-items:flex-start;margin-bottom:11px}
.gp-front .gp-checkout-heading h3{margin:0;font-size:14px}.gp-front .gp-checkout-heading p{margin:3px 0 0;color:var(--gp-muted);font-size:11px}
.gp-front .gp-checkout-icon{width:34px;height:34px;border-radius:11px;background:#fff;border:1px solid var(--gp-line);display:grid;place-items:center;flex:0 0 auto}
.gp-front .payment-methods{grid-template-columns:repeat(2,1fr);gap:7px}
.gp-front .payment-methods .pay-method{min-height:44px;border-radius:12px!important;background:#fff!important}
.gp-front .payment-methods .pay-method.active{background:var(--gp-ink)!important;color:#fff!important;border-color:var(--gp-ink)!important}
.gp-front .big{border-radius:15px!important;min-height:54px;background:var(--gp-ink)!important}
.gp-front .secondary{border-radius:15px!important;min-height:48px}
.gp-front .gp-mobile-bar{position:fixed;left:14px;right:14px;bottom:14px;z-index:99998;background:rgba(17,17,17,.96);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;box-shadow:0 15px 40px rgba(0,0,0,.22)}
.gp-front .gp-mobile-action{border:0;background:transparent;color:#fff;border-radius:17px;padding:9px 6px;min-height:48px;font-size:20px;cursor:pointer}
.gp-front .gp-mobile-action small{display:block;font-size:10px;margin-top:3px}
.gp-front .gp-mobile-action.active{background:#fff;color:var(--gp-ink)}
@media(max-width:1200px){.gp-front .productgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.gp-front .posgrid{grid-template-columns:minmax(0,1fr) 370px}}
@media(max-width:900px){.gp-front{padding:16px 14px 105px}.gp-front .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-front .posgrid{grid-template-columns:1fr}.gp-front .pos-checkout{position:static}.gp-front .productgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-front .gp-head{border-radius:20px}}
@media(max-width:520px){.gp-front{padding:12px 12px 105px}.gp-front .gp-head{padding:12px 14px}.gp-front .gp-brand h1{font-size:17px}.gp-front .gp-install-btn{padding:9px 11px;font-size:12px}.gp-front .cards{gap:9px}.gp-front .cards>div{padding:14px;border-radius:17px}.gp-front .cards b{font-size:20px}.gp-front .card{padding:13px;border-radius:20px}.gp-front .productgrid{gap:10px}.gp-front .prod{border-radius:17px}.gp-front .prod-info{padding:10px 10px 12px}.gp-front .prod-info>b{font-size:13px;min-height:33px}.gp-front .prod-info small{font-size:10px;margin:5px 0 8px}.gp-front .prod-bottom strong{font-size:14px}.gp-front .prod-bottom em{font-size:9px}.gp-front .bar{display:block}.gp-front .bar button{width:100%;margin-top:7px;min-height:44px}}

/* GAN POS 4.5.50 offline status */
.gp-offline-status{position:sticky;top:0;z-index:9999;margin:0 0 10px;padding:10px 14px;border-radius:12px;background:#7c2d12;color:#fff;font-size:12px;font-weight:800;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.gp-offline-status.online{background:#166534}
.ganpos-offline .gp-offline-status{display:block}


/* GAN POS 4.5.50 - mobile-first admin management layout */
.gp-menu-toggle{display:none;border:1px solid rgba(255,255,255,.16);background:#1f2937;color:#fff;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}
.gp-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.gp-table-wrap .widefat{min-width:760px}
@media(max-width:800px){
  #wpbody{background:#f3f4f6}
  .ganpos41-app{margin:0!important}
  .gp:not(.gp-front){padding:0 8px 30px}
  .gp:not(.gp-front) .gp-head{margin:0 -8px 10px;border-radius:0 0 16px 16px;padding:11px 12px;position:sticky;top:0;z-index:50}
  .gp:not(.gp-front) .gp-brand{min-width:0}
  .gp:not(.gp-front) .gp-brand .gp-app-mark{width:34px;height:34px;border-radius:10px;font-size:16px}
  .gp:not(.gp-front) .gp-head h1{font-size:17px;line-height:1.1}
  .gp:not(.gp-front) .gp-head span{font-size:9px}
  .gp-menu-toggle{display:block;margin-left:auto;white-space:nowrap}
  .gp:not(.gp-front) .gp-head nav{display:none;position:absolute;left:8px;right:8px;top:62px;margin:0;padding:10px;background:#111827;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.28);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;z-index:60}
  .gp:not(.gp-front) .gp-head.menu-open nav{display:grid}
  .gp:not(.gp-front) .gp-head nav a{padding:11px 9px;text-align:center;background:#1f2937;color:#e5e7eb;border-radius:9px;font-size:12px;white-space:nowrap}
  .gp:not(.gp-front) .gp-head nav a.on{background:#374151;color:#fff}
  .gp:not(.gp-front) #gp-content{padding:0}
  .gp:not(.gp-front) #gp-content>.card{padding:12px;border-radius:16px;box-shadow:0 2px 10px rgba(15,23,42,.06)}
  .gp:not(.gp-front) .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .gp:not(.gp-front) .toolbar input{grid-column:1/-1;min-height:44px;box-sizing:border-box;font-size:16px}
  .gp:not(.gp-front) .toolbar button{min-height:44px}
  .gp:not(.gp-front) .cards{grid-template-columns:1fr 1fr;gap:8px}
  .gp:not(.gp-front) .cards>div{padding:13px;border-radius:14px}
  .gp:not(.gp-front) .cards b{font-size:20px}
  .gp-table-wrap{overflow:visible}
  .gp-table-wrap .widefat{min-width:0;border-collapse:separate;border-spacing:0;width:100%;background:transparent}
  .gp-table-wrap .widefat thead{display:none}
  .gp-table-wrap .widefat tbody{display:grid;gap:9px}
  .gp-table-wrap .widefat tbody tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:7px 10px;box-shadow:0 1px 6px rgba(15,23,42,.04)}
  .gp-table-wrap .widefat td{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border:0!important;padding:7px 2px!important;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:right!important;font-size:12px;line-height:1.35}
  .gp-table-wrap .widefat td::before{content:attr(data-label);font-weight:700;color:#6b7280;text-align:left;flex:0 0 auto;max-width:42%}
  .gp-table-wrap .widefat td:first-child{grid-column:1/-1;display:block;text-align:left!important;font-size:14px;font-weight:800;padding:6px 2px 9px!important;border-bottom:1px solid #eef0f3!important}
  .gp-table-wrap .widefat td:first-child::before{display:block;margin-bottom:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
  .gp-table-wrap .widefat td:last-child{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #eef0f3!important;margin-top:2px;padding-top:9px!important}
  .gp-table-wrap .widefat td:last-child::before{display:none}
  .gp-table-wrap .widefat td button{min-height:38px;border-radius:9px!important;padding:8px 10px!important}
}
@media(max-width:480px){
  .gp:not(.gp-front) .toolbar{grid-template-columns:1fr}
  .gp:not(.gp-front) .toolbar input,.gp:not(.gp-front) .toolbar button{grid-column:auto;width:100%}
  .gp-menu-toggle{padding:8px 10px;font-size:12px}
  .gp:not(.gp-front) .gp-head nav{grid-template-columns:1fr 1fr}
  .gp:not(.gp-front) .gp-head nav a{font-size:11px;padding:10px 6px}
}


/* GAN POS 4.5.50: prevent duplicate/conflicting mobile bottom navigation.
   The public/theme page may already provide Home / Shop / Cart / Checkout navigation. */
.gp-front .gp-mobile-bar{display:none!important}
@media(max-width:900px){.gp-front{padding-bottom:24px!important}}


/* GAN POS 4.5.50: the public shop/product mobile bottom navigation is not part of POS.
   The JS also hides dynamically-rendered theme navigation; this rule covers themes that
   expose a fixed bottom navigation wrapper with a GAN/commerce mobile-nav marker. */
@media(max-width:900px){
  body.ganpos-page .gan-mobile-nav,
  body.ganpos-page .gan-mobile-bottom-nav,
  body.ganpos-page .gan-bottom-nav,
  body.ganpos-page .mobile-bottom-nav,
  body.ganpos-page .mobile-nav-bottom,
  body.ganpos-page .theme-mobile-nav{display:none!important;}
}


/* GAN POS 4.5.50: front POS menu + PWA install */
.gp-front .gp-head{position:relative}
.gp-front .gp-head .gp-menu-toggle{display:block;margin-left:auto;white-space:nowrap}
.gp-front .gp-front-menu{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 8px);z-index:1000;padding:10px;background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.28);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.gp-front .gp-head.menu-open .gp-front-menu{display:grid}
.gp-front .gp-front-nav{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.08)!important;background:#1f2937!important;color:#fff!important;border-radius:11px!important;font-weight:700!important;font-size:12px!important;cursor:pointer!important;padding:8px 7px!important}
.gp-front .gp-front-nav:active{transform:scale(.98)}
.gp-front .gp-front-install{grid-column:1/-1;background:#fff!important;color:#111827!important;border-color:#fff!important}
@media(max-width:520px){.gp-front .gp-front-menu{grid-template-columns:1fr 1fr}.gp-front .gp-front-nav{font-size:11px!important;min-height:42px}}

/* The public theme bottom navigation must never cover the standalone POS UI. */
body.ganpos-page nav[aria-label*="mobile" i],
body.ganpos-page .mobile-bottom-nav,
body.ganpos-page .mobile-bottom-navigation,
body.ganpos-page .mobile-nav,
body.ganpos-page .bottom-nav,
body.ganpos-page .bottom-navigation,
body.ganpos-page .site-mobile-nav,
body.ganpos-page .mobile-menu-bar{display:none!important}

/* GAN POS 4.5.50: standalone PWA should look like a dedicated POS app.
   The WordPress admin bar is never useful inside the front POS page. When the
   page is launched as an installed PWA, hide the public website chrome too. */
body.ganpos-page #wpadminbar{display:none!important}
body.ganpos-page{margin-top:0!important}
html.ganpos-standalone{margin-top:0!important}

@media (display-mode: standalone){
  body.ganpos-page.ganpos-standalone #wpadminbar{display:none!important}
  body.ganpos-page.ganpos-standalone header,
  body.ganpos-page.ganpos-standalone #masthead,
  body.ganpos-page.ganpos-standalone .site-header,
  body.ganpos-page.ganpos-standalone .main-header,
  body.ganpos-page.ganpos-standalone .elementor-location-header,
  body.ganpos-page.ganpos-standalone .elementor-location-footer,
  body.ganpos-page.ganpos-standalone footer,
  body.ganpos-page.ganpos-standalone #colophon,
  body.ganpos-page.ganpos-standalone .site-footer,
  body.ganpos-page.ganpos-standalone .wp-site-blocks > header,
  body.ganpos-page.ganpos-standalone .wp-site-blocks > footer{display:none!important}

  body.ganpos-page.ganpos-standalone .ganpos41-app{min-height:100dvh!important;padding-top:0!important}
  body.ganpos-page.ganpos-standalone .gp-front{min-height:100dvh}
  body.ganpos-page.ganpos-standalone{padding-top:0!important}
}

/* iOS Safari exposes navigator.standalone instead of display-mode in some cases. */
html.ganpos-standalone body.ganpos-page header,
html.ganpos-standalone body.ganpos-page #masthead,
html.ganpos-standalone body.ganpos-page .site-header,
html.ganpos-standalone body.ganpos-page .main-header,
html.ganpos-standalone body.ganpos-page .elementor-location-header,
html.ganpos-standalone body.ganpos-page .elementor-location-footer,
html.ganpos-standalone body.ganpos-page footer,
html.ganpos-standalone body.ganpos-page #colophon,
html.ganpos-standalone body.ganpos-page .site-footer,
html.ganpos-standalone body.ganpos-page .wp-site-blocks > header,
html.ganpos-standalone body.ganpos-page .wp-site-blocks > footer{display:none!important}

/* GAN POS 4.5.50: POS page is a dedicated application surface.
   Hide the public WordPress/theme chrome whenever [gan_pos] is present,
   both in a normal browser and when the page is installed as a PWA. */
body.ganpos-page #wpadminbar,
body.ganpos-page header,
body.ganpos-page #masthead,
body.ganpos-page #site-header,
body.ganpos-page .site-header,
body.ganpos-page .main-header,
body.ganpos-page .header,
body.ganpos-page .elementor-location-header,
body.ganpos-page .elementor-theme-builder-header,
body.ganpos-page .elementor[data-elementor-type="header"],
body.ganpos-page .site-footer,
body.ganpos-page #colophon,
body.ganpos-page #site-footer,
body.ganpos-page footer,
body.ganpos-page .footer,
body.ganpos-page .main-footer,
body.ganpos-page .elementor-location-footer,
body.ganpos-page .elementor-theme-builder-footer,
body.ganpos-page .elementor[data-elementor-type="footer"],
body.ganpos-page .wp-site-blocks > header,
body.ganpos-page .wp-site-blocks > footer,
body.ganpos-page .ct-header,
body.ganpos-page .ct-footer,
body.ganpos-page .kadence-header,
body.ganpos-page .kadence-footer {
  display:none!important;
}
body.ganpos-page,
html.ganpos-standalone body.ganpos-page {
  margin-top:0!important;
  padding-top:0!important;
}
body.ganpos-page .ganpos41-app {
  margin-top:0!important;
  padding-top:0!important;
}

/* GAN POS 4.5.50 - premium top spacing / remove collapsed theme space
   The POS page is an app surface. Some themes leave an empty header/container
   behind after the public header is hidden; collapse that space without
   changing normal Shop/Product pages. */
body.ganpos-page #page,
body.ganpos-page #content,
body.ganpos-page .site-content,
body.ganpos-page .content-area,
body.ganpos-page main,
body.ganpos-page .entry-content,
body.ganpos-page .elementor-section-wrap,
body.ganpos-page .elementor-location-single,
body.ganpos-page .elementor-location-content,
body.ganpos-page .elementor-widget-wrap,
body.ganpos-page .site-main {
  margin-top:0!important;
  padding-top:0!important;
}
body.ganpos-page .ganpos41-app{
  margin-top:0!important;
  padding-top:10px!important;
}
body.ganpos-page .gp-front{
  margin-top:0!important;
}
@media(max-width:800px){
  body.ganpos-page .ganpos41-app{padding-top:8px!important}
  body.ganpos-page .gp-front{padding-top:0!important}
}
/* Collapse common empty header spacers left by page builders after header removal. */
body.ganpos-page .site-header + .site-content,
body.ganpos-page header + #content,
body.ganpos-page header + main,
body.ganpos-page .elementor-location-header + .elementor-location-content,
body.ganpos-page .elementor-location-header + main{
  margin-top:0!important;
  padding-top:0!important;
}


/* GAN POS 4.5.50: mobile top-space + public floating-cart cleanup.
   The POS shortcode is a dedicated app surface. Some themes/page builders leave
   a hidden header wrapper with a fixed/min-height spacer, and some themes render
   a floating cart button outside the POS DOM. */
body.ganpos-page .ganpos41-app{
  margin-top:0!important;
}
body.ganpos-page .ganpos41-app.ganpos-top-collapsed{
  /* JS sets the exact negative offset on the app when a theme spacer remains. */
}
@media(max-width:900px){
  body.ganpos-page .ganpos41-app{padding-top:0!important;}
}
/* Common floating/cart widgets supplied by the public storefront/theme. */
body.ganpos-page .floating-cart,
body.ganpos-page .cart-float,
body.ganpos-page .floating-cart-button,
body.ganpos-page .cart-floating-button,
body.ganpos-page .mini-cart-float,
body.ganpos-page .gan-floating-cart,
body.ganpos-page .gan-cart-float,
body.ganpos-page .gan45-floating-cart,
body.ganpos-page .gan45-cart-float{display:none!important;}


/* GAN POS 4.5.51 - mobile order actions and inset modal forms */
.overlay{padding:16px;box-sizing:border-box;overflow:auto}
.overlay .modal{box-sizing:border-box;width:100%;max-width:720px;max-height:calc(100vh - 32px);margin:auto;border-radius:18px}
.overlay .gp-form-modal{width:100%;max-width:680px;margin:0;box-sizing:border-box}
.gp-table-wrap .widefat td:last-child .viewo,
.gp-table-wrap .widefat td:last-child .order-view-btn{min-width:120px}
@media(max-width:800px){
  .overlay{padding:14px}
  .overlay .modal{width:100%;max-width:680px;max-height:calc(100vh - 28px);padding:16px;border-radius:18px}
  .overlay .gp-form-modal{width:100%;max-width:650px;margin:0}
  .overlay .gp-form-modal .gp-form-section{margin-left:0;margin-right:0}
  .overlay .gp-form-grid{width:100%}
  .overlay .gp-form-grid input,.overlay .gp-form-grid select,.overlay .gp-form-grid textarea,
  .overlay .gp-form label input,.overlay .gp-form label select,.overlay .gp-form label textarea{max-width:100%;}
  .gp-table-wrap .widefat tbody tr{grid-template-columns:1fr 1fr;padding:10px 12px}
  .gp-table-wrap .widefat td:last-child{align-items:stretch}
  .gp-table-wrap .widefat td:last-child button,
  .gp-table-wrap .widefat td:last-child .viewo,
  .gp-table-wrap .widefat td:last-child .order-view-btn{width:100%;min-height:44px}
  .gp-order-actions{gap:8px}
  .gp-order-actions button{width:100%!important;min-height:46px}
  .gp-form-footer{width:100%;box-sizing:border-box}
  .gp-footer-actions{width:100%;box-sizing:border-box}
}

/* GAN POS 4.5.52 - premium Products search toolbar */
.gp-products-toolbar{align-items:stretch;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.gp-products-actions{display:flex;gap:8px;flex:0 0 auto}
.gp-products-actions button{min-height:46px;white-space:nowrap}
.gp-products-search{position:relative;flex:1 1 280px;min-width:220px}
.gp-products-search input{width:100%;height:46px;box-sizing:border-box;padding:0 42px 0 15px!important;border:1px solid #d7dde6!important;border-radius:12px!important;background:#fff;font:inherit;font-size:14px;outline:none}
.gp-products-search input:focus{border-color:#64748b!important;box-shadow:0 0 0 3px rgba(100,116,139,.10)}
.gp-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;color:#667085;pointer-events:none;line-height:1}
@media(max-width:800px){
  .gp-products-toolbar{display:grid;grid-template-columns:1fr;gap:10px;padding:2px 0}
  .gp-products-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
  .gp-products-actions button{width:100%;min-height:50px;padding:10px 8px!important;border-radius:12px!important}
  .gp-products-search{width:100%;min-width:0}
  .gp-products-search input{height:50px;font-size:15px;border-radius:13px!important}
}


/* GAN POS 4.5.53 - mobile modal Cancel/Save action fix */
.gp-form-footer .gp-footer-actions{display:flex;align-items:stretch;gap:10px;min-width:0}
.gp-form-footer .gp-footer-actions .gp-btn{box-sizing:border-box;min-width:0;white-space:nowrap}
@media(max-width:800px){
  .overlay .gp-form-footer{padding-left:0;padding-right:0;gap:10px;}
  .overlay .gp-form-footer > small{line-height:1.35;}
  .overlay .gp-footer-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:10px;margin:0;}
  .overlay .gp-footer-actions .gp-btn{width:100%!important;min-width:0!important;max-width:none!important;min-height:50px;box-sizing:border-box;padding:11px 10px!important;border-radius:12px!important;}
  .overlay .gp-footer-actions .gp-btn:not(.gp-btn-primary){background:#fff!important;color:#172033!important;border:1px solid #d8dee7!important;}
  .overlay .gp-footer-actions .gp-btn.gp-btn-primary{background:#172033!important;color:#fff!important;border-color:#172033!important;}
  .overlay .gp-form-footer{position:sticky;bottom:-1px;z-index:20;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 -6px 18px rgba(15,23,42,.05);margin-left:0;margin-right:0;padding-top:12px;padding-bottom:2px;}
  .overlay .gp-form-modal{padding-bottom:0!important;overflow-x:hidden;}
  .overlay .gp-form-modal .gp-form{min-width:0;}
  .overlay .gp-form-modal .gp-form-section{max-width:100%;box-sizing:border-box;}
}

/* GAN POS 4.5.54 - category form + order filter premium mobile layout */
.gp-category-add-mobile label{display:block!important;color:#3c4757;font-size:12px;font-weight:700}
.gp-category-add-mobile input,
.gp-category-form-modal #new-category-name{
  display:block!important;width:100%!important;box-sizing:border-box!important;
  min-height:46px!important;height:46px!important;margin-top:7px!important;
  padding:0 13px!important;border:1px solid #dbe1e8!important;
  border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;
  font:inherit!important;font-size:14px!important;outline:none!important;
  box-shadow:none!important;
}
.gp-category-add-mobile input:focus,
.gp-category-form-modal #new-category-name:focus{border-color:#64748b!important;background:#fff!important;box-shadow:0 0 0 3px rgba(100,116,139,.10)!important}
.gp-category-add-mobile input::placeholder{color:#a5afbd!important}

/* Orders search/filter controls use the same border system as the Order number field */
.gp-page .toolbar input,
.gp-page .toolbar select,
.toolbar #oq,
.toolbar #os,
.toolbar #obranch{
  box-sizing:border-box!important;min-height:46px;height:46px!important;
  padding:0 13px!important;border:1px solid #dbe1e8!important;
  border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;
  font:inherit!important;font-size:14px!important;outline:none!important;
  box-shadow:none!important;
}
.gp-page .toolbar input:focus,
.gp-page .toolbar select:focus,
.toolbar #oq:focus,.toolbar #os:focus,.toolbar #obranch:focus{
  border-color:#64748b!important;background:#fff!important;
  box-shadow:0 0 0 3px rgba(100,116,139,.10)!important;
}
@media(max-width:800px){
  .gp-category-form-modal .gp-form-section{margin-left:0!important;margin-right:0!important}
  .gp-category-add-mobile input,
  .gp-category-form-modal #new-category-name{min-height:48px!important;height:48px!important;font-size:15px!important}
  .gp-page .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) 118px!important;gap:10px!important;align-items:stretch!important}
  .gp-page .toolbar input,.gp-page .toolbar select{width:100%!important;min-width:0!important}
  .gp-page .toolbar #obranch{grid-column:1/-1;width:100%!important}
}
\n\n/* GAN POS 4.5.55 - mobile Current Sale / checkout layout fix */\n@media(max-width:800px){\n  .gp-front .posgrid{width:100%!important;min-width:0!important;box-sizing:border-box!important;gap:14px!important}\n  .gp-front .pos-checkout{\n    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;\n    margin:0!important;padding:16px!important;border:1px solid #e7ebf0!important;\n    border-radius:20px!important;overflow:hidden!important;\n  }\n  .gp-front .pos-checkout *{box-sizing:border-box}\n  .gp-front .pos-checkout h2{font-size:23px!important;line-height:1.2!important;margin:0 0 14px!important}\n  .gp-front .cartrow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;width:100%!important;padding:13px 0!important}\n  .gp-front .cartrow>div:first-child{min-width:0!important;max-width:100%!important}\n  .gp-front .cartrow b{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:15px!important}\n  .gp-front .cartrow small{font-size:12px!important;white-space:nowrap!important}\n  .gp-front .cartrow>div:last-child{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;justify-content:flex-end!important;min-width:0!important}\n  .gp-front .cartrow button{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;flex:0 0 38px!important}\n  .gp-front .cartrow>div:last-child .cart-line-total{width:100%!important;text-align:right!important;font-weight:700!important}\n  .gp-front .sum{width:100%!important;min-width:0!important;padding:12px 0!important;gap:10px!important}\n  .gp-front .sum span{min-width:0!important}\n  .gp-front .sum b{white-space:nowrap!important}\n  .gp-front .card label{width:100%!important;min-width:0!important;margin:11px 0!important}\n  .gp-front .card label input,.gp-front .card label select,.gp-front .card label textarea{width:100%!important;max-width:100%!important;min-width:0!important}\n  .gp-front .sale-type-box{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin-top:14px!important;padding:14px!important;border:1px solid #dfe5ec!important;border-radius:15px!important;background:#fafbfc!important}\n  .gp-front .sale-type-buttons{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important}\n  .gp-front .sale-type{width:100%!important;min-width:0!important;min-height:50px!important}\n  .gp-front .reservation-dt{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}\n  .gp-front .gp-checkout-section,.gp-front .payment-box{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}\n  .gp-front .payment-methods{grid-template-columns:1fr 1fr!important;width:100%!important}\n  .gp-front .payment-row{width:100%!important;min-width:0!important}\n  .gp-front .payment-row input,.gp-front .payment-row select{min-width:0!important;max-width:100%!important;width:100%!important}\n  .gp-front #complete,.gp-front #hold,.gp-front .pay-add{width:100%!important;max-width:100%!important;box-sizing:border-box!important}\n}\n@media(max-width:520px){\n  .gp-front{padding-left:12px!important;padding-right:12px!important}\n  .gp-front #gp-content{padding-left:0!important;padding-right:0!important}\n  .gp-front .pos-checkout{padding:15px!important;border-radius:18px!important}\n  .gp-front .cartrow b{font-size:14px!important}\n  .gp-front .cartrow button{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;flex-basis:36px!important}\n}\n
/* GAN POS 4.5.56 - hard mobile POS width/spacing correction */
@media(max-width:800px){
  html,body{overflow-x:hidden!important;}
  body.ganpos-page{overflow-x:hidden!important;}
  body.ganpos-page .ganpos41-app,.gp-front{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important;}
  .gp-front{padding-left:12px!important;padding-right:12px!important;}
  .gp-front #gp-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding-left:0!important;padding-right:0!important;}
  .gp-front .posgrid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;gap:14px!important;}
  .gp-front .posgrid>section.card,.gp-front .posgrid>aside.card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;}
  .gp-front .pos-checkout{position:static!important;left:auto!important;right:auto!important;transform:none!important;padding:16px!important;overflow:hidden!important;}
  .gp-front .pos-checkout h2{margin:0 0 16px!important;}
  .gp-front #cart{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;}
  .gp-front .cartrow{grid-template-columns:minmax(0,1fr) minmax(126px,auto)!important;gap:8px!important;}
  .gp-front .cartrow>div:last-child{max-width:150px!important;}
  .gp-front .cartrow>div:last-child strong{font-size:14px!important;}
  .gp-front .pos-checkout .sum{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;box-sizing:border-box!important;}
  .gp-front .pos-checkout label{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .gp-front .pos-checkout label input,.gp-front .pos-checkout label select,.gp-front .pos-checkout label textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .gp-front .sale-type-box,.gp-front .gp-checkout-section,.gp-front .payment-box,.gp-front .payment-summary{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .gp-front .sale-type-buttons{grid-template-columns:1fr!important;}
  .gp-front .payment-methods{grid-template-columns:1fr 1fr!important;}
  .gp-front #complete,.gp-front #hold,.gp-front .pay-add{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
}
@media(max-width:520px){
  .gp-front{padding-left:10px!important;padding-right:10px!important;}
  .gp-front .posgrid{gap:12px!important;}
  .gp-front .posgrid>section.card,.gp-front .posgrid>aside.card{border-radius:18px!important;}
  .gp-front .pos-checkout{padding:14px!important;}
  .gp-front .cartrow{grid-template-columns:minmax(0,1fr) auto!important;}
  .gp-front .cartrow>div:last-child{max-width:142px!important;}
  .gp-front .cartrow button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex-basis:34px!important;}
}

/* GAN POS 4.5.57 - force a true viewport-width mobile POS canvas */
@media(max-width:800px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  #ganpos41-app{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important;}
  #ganpos41-app .gp-front{
    width:100vw!important;max-width:100vw!important;min-width:0!important;
    margin-left:calc(50% - 50vw)!important;margin-right:0!important;
    padding:12px 12px 105px!important;box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #ganpos41-app .gp-front #gp-content{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;padding:0!important;box-sizing:border-box!important;
  }
  #ganpos41-app .gp-front .posgrid{
    width:100%!important;max-width:100%!important;min-width:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;
  }
  #ganpos41-app .gp-front .posgrid>section.card,
  #ganpos41-app .gp-front .posgrid>aside.pos-checkout{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;box-sizing:border-box!important;
  }
  #ganpos41-app .gp-front .posgrid>aside.pos-checkout{
    padding:16px!important;border-radius:20px!important;overflow:hidden!important;
  }
  #ganpos41-app .gp-front .pos-checkout .cartrow{
    width:100%!important;max-width:100%!important;min-width:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;box-sizing:border-box!important;
  }
  #ganpos41-app .gp-front .pos-checkout .cartrow>div:first-child{min-width:0!important;overflow:hidden!important;}
  #ganpos41-app .gp-front .pos-checkout .cartrow>div:last-child{min-width:0!important;max-width:150px!important;}
  #ganpos41-app .gp-front .pos-checkout .cartrow b{display:block!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #ganpos41-app .gp-front .pos-checkout .cartrow strong{white-space:nowrap!important;}
  #ganpos41-app .gp-front .pos-checkout .sum,
  #ganpos41-app .gp-front .pos-checkout label,
  #ganpos41-app .gp-front .pos-checkout .sale-type-box,
  #ganpos41-app .gp-front .pos-checkout .gp-checkout-section,
  #ganpos41-app .gp-front .pos-checkout .payment-box{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
  #ganpos41-app .gp-front .pos-checkout input,
  #ganpos41-app .gp-front .pos-checkout select,
  #ganpos41-app .gp-front .pos-checkout textarea,
  #ganpos41-app .gp-front .pos-checkout button{max-width:100%!important;box-sizing:border-box!important;}
}
@media(max-width:520px){
  #ganpos41-app .gp-front{padding-left:10px!important;padding-right:10px!important;}
  #ganpos41-app .gp-front .posgrid{gap:12px!important;}
  #ganpos41-app .gp-front .posgrid>aside.pos-checkout{padding:14px!important;border-radius:18px!important;}
  #ganpos41-app .gp-front .pos-checkout .cartrow>div:last-child{max-width:142px!important;}
}


/* GAN POS 4.5.58 - definitive mobile checkout width lock
   When a product is added, long cart content must never be allowed to enlarge the
   checkout column beyond the phone viewport. Use a single-column flex canvas on
   mobile so intrinsic cart content cannot change the column width. */
@media(max-width:800px){
  body.ganpos-page,
  body.ganpos-page #page,
  body.ganpos-page #content,
  body.ganpos-page main,
  body.ganpos-page .site-main,
  body.ganpos-page .ganpos41-app,
  body.ganpos-page #ganpos41-app,
  #ganpos41-app .gp-front,
  #ganpos41-app .gp-front #gp-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  #ganpos41-app .gp-front{
    padding-left:12px!important;
    padding-right:12px!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  #ganpos41-app .gp-front .posgrid{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:14px!important;
    overflow:visible!important;
  }

  #ganpos41-app .gp-front .posgrid > section.card,
  #ganpos41-app .gp-front .posgrid > aside.pos-checkout{
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  #ganpos41-app .gp-front .pos-checkout{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    overflow:hidden!important;
    contain:layout paint!important;
  }

  #ganpos41-app .gp-front .pos-checkout #cart,
  #ganpos41-app .gp-front .pos-checkout .cartrow,
  #ganpos41-app .gp-front .pos-checkout .sum,
  #ganpos41-app .gp-front .pos-checkout .sale-type-box,
  #ganpos41-app .gp-front .pos-checkout .gp-checkout-section,
  #ganpos41-app .gp-front .pos-checkout .payment-box,
  #ganpos41-app .gp-front .pos-checkout .payment-summary,
  #ganpos41-app .gp-front .pos-checkout .payment-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  #ganpos41-app .gp-front .pos-checkout .cartrow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,142px)!important;
    gap:8px!important;
    overflow:hidden!important;
  }

  #ganpos41-app .gp-front .pos-checkout .cartrow > div:first-child{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  #ganpos41-app .gp-front .pos-checkout .cartrow > div:last-child{
    width:100%!important;
    max-width:142px!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:5px!important;
  }

  #ganpos41-app .gp-front .pos-checkout .cartrow > div:last-child strong{
    width:100%!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  #ganpos41-app .gp-front .pos-checkout input,
  #ganpos41-app .gp-front .pos-checkout select,
  #ganpos41-app .gp-front .pos-checkout textarea,
  #ganpos41-app .gp-front .pos-checkout button{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:520px){
  #ganpos41-app .gp-front{padding-left:10px!important;padding-right:10px!important;}
  #ganpos41-app .gp-front .posgrid{gap:12px!important;}
  #ganpos41-app .gp-front .pos-checkout{padding:14px!important;border-radius:18px!important;}
}

.gp-online-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#e8f7ee;color:#167344;font-size:10px;font-weight:800;letter-spacing:.4px;white-space:nowrap}.gp-pos-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#f1f4f8;color:#475467;font-size:10px;font-weight:800;letter-spacing:.4px;white-space:nowrap}


/* GAN POS 4.5.67 - Dedicated White POS UI
   The POS frontend has its own clean white visual system, separate from GAN Commerce. */
.gp-front{
  --pos-ink:#111827;
  --pos-muted:#7b8492;
  --pos-line:#e8ebef;
  --pos-soft:#f7f8fa;
  --pos-accent:#111827;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:18px clamp(12px,2.5vw,28px) 105px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  color:var(--pos-ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.gp-front .gp-head{
  position:relative!important;
  top:auto!important;
  background:#fff!important;
  color:var(--pos-ink)!important;
  border:1px solid #e7e9ed!important;
  border-radius:24px!important;
  padding:16px 18px!important;
  margin:0 0 18px!important;
  box-shadow:0 4px 18px rgba(17,24,39,.05)!important;
  backdrop-filter:none!important;
}
.gp-front .gp-brand h1{color:var(--pos-ink)!important;font-size:20px!important;font-weight:800!important}
.gp-front .gp-brand span{color:#8a929e!important;font-size:12px!important}
.gp-front .gp-app-mark{width:48px!important;height:48px!important;border-radius:16px!important;background:#111!important;color:#fff!important;font-size:20px!important}
.gp-front .gp-menu-toggle{background:#fff!important;color:#111827!important;border:1px solid #dfe3e8!important;border-radius:13px!important;min-height:42px!important;padding:9px 13px!important;font-weight:700!important}
.gp-front .gp-install-btn{background:#111827!important;color:#fff!important;border:0!important;border-radius:13px!important}
.gp-front #gp-content{padding:0!important}
.gp-front .cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:16px!important}
.gp-front .cards>div{background:#fff!important;border:1px solid var(--pos-line)!important;border-radius:20px!important;box-shadow:0 4px 15px rgba(17,24,39,.04)!important;padding:16px!important}
.gp-front .cards small{color:var(--pos-muted)!important;font-size:12px!important}
.gp-front .cards b{color:var(--pos-ink)!important;font-size:24px!important}
.gp-front .posgrid{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:16px!important;align-items:start!important}
.gp-front .posgrid>section.card,.gp-front .posgrid>aside.pos-checkout{background:#fff!important;border:1px solid var(--pos-line)!important;border-radius:24px!important;box-shadow:0 5px 20px rgba(17,24,39,.045)!important}
.gp-front .posgrid>section.card{padding:18px!important}
.gp-front .pos-checkout{padding:18px!important;position:sticky!important;top:18px!important;overflow:hidden!important}
.gp-front .pos-checkout h2{color:#111827!important;font-size:22px!important;font-weight:800!important;margin:0 0 14px!important}
.gp-front .bar{display:grid!important;grid-template-columns:minmax(0,1fr) 112px!important;gap:9px!important;margin:0 0 14px!important;padding:0!important;background:#fff!important;position:static!important}
.gp-front .bar input{width:100%!important;height:48px!important;box-sizing:border-box!important;border:1px solid #dfe3e8!important;border-radius:15px!important;background:#fff!important;color:#111827!important;padding:0 15px!important;box-shadow:none!important}
.gp-front .bar button{height:48px!important;border:1px solid #dfe3e8!important;border-radius:15px!important;background:#fff!important;color:#111827!important;font-weight:700!important}
.gp-front .pos-category-wrap{background:#fafbfc!important;border:1px solid var(--pos-line)!important;border-radius:18px!important;padding:13px!important;margin-bottom:14px!important}
.gp-front .pos-category-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
.gp-front .pos-category-head b{color:#111827!important;font-size:14px!important}
.gp-front .pos-category-head small{display:block!important;color:#8a929e!important;margin-top:4px!important}
.gp-front .pos-category-head button{background:#111827!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:9px 11px!important}
.gp-front .pos-category-tabs{display:flex!important;gap:7px!important;overflow-x:auto!important;padding-top:10px!important;scrollbar-width:none!important}
.gp-front .pos-category-tabs::-webkit-scrollbar{display:none!important}
.gp-front .pos-category-tab{flex:0 0 auto!important;border:1px solid #dfe3e8!important;background:#fff!important;color:#111827!important;border-radius:12px!important;padding:9px 12px!important;font-weight:700!important}
.gp-front .pos-category-tab.active{background:#111827!important;border-color:#111827!important;color:#fff!important}
.gp-front .productgrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;min-width:0!important}
.gp-front .prod{width:100%!important;min-width:0!important;min-height:0!important;padding:0!important;overflow:hidden!important;text-align:left!important;border:1px solid #e5e8ec!important;border-radius:18px!important;background:#fff!important;box-shadow:0 3px 12px rgba(17,24,39,.035)!important;box-sizing:border-box!important}
.gp-front .prod:hover{transform:none!important;border-color:#d7dce2!important;box-shadow:0 7px 20px rgba(17,24,39,.08)!important}
.gp-front .prod-media{width:100%!important;aspect-ratio:1/1!important;background:#f3f4f6!important;overflow:hidden!important}
.gp-front .prod-img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;border:0!important;border-radius:0!important}
.gp-front .prod-info{min-width:0!important;padding:11px 12px 13px!important}
.gp-front .prod-info>b{font-size:14px!important;line-height:1.28!important;color:#111827!important;min-height:36px!important}
.gp-front .prod-info small{color:#8a929e!important;font-size:10px!important;margin:5px 0 8px!important}
.gp-front .prod-bottom strong{color:#111827!important;font-size:15px!important}
.gp-front .prod-bottom em{color:#8a929e!important;font-size:10px!important}
.gp-front .cartrow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:13px 0!important;border-bottom:1px solid #edf0f2!important;min-width:0!important}
.gp-front .cartrow>div:first-child{min-width:0!important;overflow:hidden!important}
.gp-front .cartrow b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.gp-front .cartrow>div:last-child{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:5px!important;max-width:145px!important;min-width:0!important}
.gp-front .cartrow button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border:1px solid #e0e4e8!important;background:#fff!important;border-radius:50%!important;color:#111827!important}
.gp-front .cartrow strong{width:100%!important;text-align:right!important;white-space:nowrap!important;color:#111827!important}
.gp-front .sum{border-color:#edf0f2!important;color:#111827!important}
.gp-front .card label{color:#111827!important}
.gp-front .card label input,.gp-front .card label select,.gp-front .card label textarea{width:100%!important;box-sizing:border-box!important;min-height:48px!important;border:1px solid #dfe3e8!important;border-radius:14px!important;background:#fff!important;color:#111827!important}
.gp-front .gp-checkout-section,.gp-front .payment-box{border:1px solid var(--pos-line)!important;border-radius:18px!important;background:#fafbfc!important}
.gp-front .big{background:#111827!important;color:#fff!important;border-color:#111827!important;border-radius:15px!important;min-height:52px!important}
.gp-front .secondary{background:#fff!important;color:#111827!important;border-color:#dfe3e8!important;border-radius:15px!important;min-height:48px!important}
.gp-front .gp-mobile-bar{background:#111827!important;border-radius:20px!important}
@media(max-width:1100px){.gp-front .productgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gp-front .posgrid{grid-template-columns:minmax(0,1fr) 350px!important}}
@media(max-width:800px){
 .gp-front{padding:10px 10px 100px!important}
 .gp-front .gp-head{border-radius:20px!important;padding:13px 14px!important;margin-bottom:12px!important}
 .gp-front .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .gp-front .cards>div{border-radius:17px!important;padding:13px!important}
 .gp-front .cards b{font-size:20px!important}
 .gp-front .posgrid{display:flex!important;flex-direction:column!important;width:100%!important;gap:12px!important}
 .gp-front .posgrid>section.card,.gp-front .posgrid>aside.pos-checkout{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;flex:0 0 auto!important}
 .gp-front .posgrid>section.card{padding:13px!important}
 .gp-front .pos-checkout{position:static!important;padding:14px!important;border-radius:20px!important;contain:layout paint!important}
 .gp-front .bar{grid-template-columns:minmax(0,1fr)!important}
 .gp-front .bar button{width:100%!important}
 .gp-front .productgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%!important}
 .gp-front .prod{min-width:0!important;border-radius:16px!important}
 .gp-front .prod-info{padding:9px 9px 11px!important}
 .gp-front .prod-info>b{font-size:13px!important;min-height:33px!important}
 .gp-front .prod-bottom strong{font-size:14px!important}
 .gp-front .cartrow{grid-template-columns:minmax(0,1fr) minmax(112px,145px)!important}
}
@media(min-width:801px){.gp-front .gp-mobile-bar{display:none!important}}


/* GAN POS 4.5.67 - FORCE WHITE FRONTEND THEME
   This final override intentionally targets the actual frontend shell by ID/class.
   It prevents older navy mobile-app styles from winning when the browser/plugin
   cache contains earlier GAN POS CSS. */
html body.ganpos-page #ganpos41-app,
html body.ganpos-page #ganpos41-app.ganpos41-app,
html body.ganpos-page #ganpos41-app .gp.gp-front,
html body.ganpos-page #ganpos41-app .gp-front {
  background:#ffffff!important;
  color:#111827!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html body.ganpos-page #ganpos41-app .gp-front .gp-head,
html body.ganpos-page #ganpos41-app .gp-front .gp-head[style] {
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #e7e9ed!important;
  box-shadow:0 4px 18px rgba(17,24,39,.05)!important;
}
html body.ganpos-page #ganpos41-app .gp-front .gp-head h1,
html body.ganpos-page #ganpos41-app .gp-front .gp-head span,
html body.ganpos-page #ganpos41-app .gp-front .gp-brand h1,
html body.ganpos-page #ganpos41-app .gp-front .gp-brand span {
  color:#111827!important;
  opacity:1!important;
}
html body.ganpos-page #ganpos41-app .gp-front .gp-menu-toggle {
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #dfe3e8!important;
}
html body.ganpos-page #ganpos41-app .gp-front .gp-app-mark {
  background:#111827!important;
  color:#ffffff!important;
}
html body.ganpos-page #ganpos41-app .gp-front #gp-content,
html body.ganpos-page #ganpos41-app .gp-front .card,
html body.ganpos-page #ganpos41-app .gp-front .pos-checkout,
html body.ganpos-page #ganpos41-app .gp-front .pos-category-wrap,
html body.ganpos-page #ganpos41-app .gp-front .prod {
  background:#ffffff!important;
  color:#111827!important;
}
html body.ganpos-page #ganpos41-app .gp-front .prod {
  overflow:hidden!important;
  min-width:0!important;
}
html body.ganpos-page #ganpos41-app .gp-front .productgrid {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html body.ganpos-page #ganpos41-app .gp-front .prod-media,
html body.ganpos-page #ganpos41-app .gp-front .prod-img {
  max-width:100%!important;
}
@media(max-width:800px){
  html body.ganpos-page #ganpos41-app .gp-front {
    padding:10px 10px 100px!important;
    overflow-x:hidden!important;
  }
  html body.ganpos-page #ganpos41-app .gp-front .gp-head {
    margin:0 0 12px!important;
    border-radius:20px!important;
  }
  html body.ganpos-page #ganpos41-app .gp-front .productgrid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
}


/* GAN POS 4.5.68 - THEME-INDEPENDENT FINAL WHITE SHELL
   Deliberately unscoped to body.ganpos-page / .gp-front so this also fixes
   the WordPress admin POS route and themes that omit the expected body class. */
#ganpos41-app .gp,
#ganpos41-app .gp-front{
  background:#fff!important;
  color:#111827!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#ganpos41-app .gp-head{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #e7e9ed!important;
  box-shadow:0 4px 18px rgba(17,24,39,.05)!important;
}
#ganpos41-app .gp-head h1,
#ganpos41-app .gp-head span,
#ganpos41-app .gp-brand h1,
#ganpos41-app .gp-brand span{
  color:#111827!important;
  opacity:1!important;
}
#ganpos41-app .gp-menu-toggle{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #dfe3e8!important;
}
#ganpos41-app .gp-app-mark{
  background:#111827!important;
  color:#fff!important;
}
#ganpos41-app .cards>div,
#ganpos41-app .card,
#ganpos41-app .pos-checkout,
#ganpos41-app .pos-category-wrap,
#ganpos41-app .prod{
  background:#fff!important;
  color:#111827!important;
}
#ganpos41-app .productgrid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:800px){
  #ganpos41-app .productgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  #ganpos41-app .gp{overflow-x:hidden!important;}
}
@media(min-width:1201px){
  #ganpos41-app .productgrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
}


/* GAN POS 4.5.71 - COMPACT MOBILE HEADER + SAFE MENU DROPDOWN
   Fixes the mobile frontend header becoming tall because an older rule sets
   .gp-head to display:block. Keeps the Menu button in the same row and makes
   the opened menu render completely below the header instead of covering it. */
#ganpos41-app .gp-front .gp-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  position:relative!important;
  overflow:visible!important;
  min-height:72px!important;
  height:auto!important;
  box-sizing:border-box!important;
  padding:11px 14px!important;
  margin:0 0 12px!important;
  gap:10px!important;
}
#ganpos41-app .gp-front .gp-brand{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
#ganpos41-app .gp-front .gp-brand .gp-app-mark{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:15px!important;
}
#ganpos41-app .gp-front .gp-brand h1{
  margin:0!important;
  line-height:1.05!important;
  font-size:19px!important;
}
#ganpos41-app .gp-front .gp-brand span{
  display:block!important;
  margin-top:3px!important;
  line-height:1.1!important;
}
#ganpos41-app .gp-front .gp-menu-toggle{
  position:relative!important;
  z-index:1002!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  white-space:nowrap!important;
  min-height:40px!important;
  height:40px!important;
  padding:7px 12px!important;
}
#ganpos41-app .gp-front .gp-front-menu{
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  top:calc(100% + 8px)!important;
  z-index:1001!important;
  margin:0!important;
  max-height:calc(100vh - 120px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}
#ganpos41-app .gp-front .gp-head.menu-open{
  z-index:1000!important;
}
@media(max-width:520px){
  #ganpos41-app .gp-front .gp-head{
    min-height:70px!important;
    padding:10px 12px!important;
    border-radius:17px!important;
  }
  #ganpos41-app .gp-front .gp-brand .gp-app-mark{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:14px!important;
  }
  #ganpos41-app .gp-front .gp-brand h1{font-size:18px!important}
  #ganpos41-app .gp-front .gp-brand span{font-size:11px!important}
  #ganpos41-app .gp-front .gp-menu-toggle{
    min-height:38px!important;
    height:38px!important;
    padding:6px 11px!important;
    font-size:12px!important;
  }
}


/* GAN POS 4.5.71 - FINAL MENU DISPLAY GUARANTEE */
#ganpos41-app .gp.gp-front .gp-head{display:flex!important;flex-direction:row!important;align-items:center!important;position:relative!important;overflow:visible!important;height:72px!important;min-height:72px!important;padding:10px 12px!important;box-sizing:border-box!important;}
#ganpos41-app .gp.gp-front .gp-front-menu{display:none!important;position:absolute!important;left:8px!important;right:8px!important;top:calc(100% + 8px)!important;z-index:10002!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:calc(100vh - 150px)!important;overflow:auto!important;background:#fff!important;color:#111827!important;border:1px solid #e5e7eb!important;border-radius:16px!important;box-shadow:0 18px 40px rgba(0,0,0,.16)!important;}
#ganpos41-app .gp.gp-front .gp-head.menu-open .gp-front-menu{display:grid!important;}
@media(max-width:520px){#ganpos41-app .gp.gp-front .gp-head{height:68px!important;min-height:68px!important;padding:9px 10px!important;}#ganpos41-app .gp.gp-front .gp-front-menu{top:calc(100% + 7px)!important;left:6px!important;right:6px!important;}}

/* 4.5.74: hard fallback; JS also applies inline styles after shell render. */
#ganpos41-app .gp.gp-front .gp-head{display:flex!important;flex-direction:row!important;height:72px!important;min-height:72px!important;max-height:72px!important;align-items:center!important;overflow:visible!important;}
@media(max-width:520px){#ganpos41-app .gp.gp-front .gp-head{height:68px!important;min-height:68px!important;max-height:68px!important;}}

/* GAN POS 4.5.74 - STRUCTURAL HEADER FIX
   Navigation is intentionally outside .gp-head so it can never increase the
   header height or push the Menu button onto a second row. Applies to both the
   public POS dashboard and the WordPress GAN POS admin dashboard. */
#ganpos41-app .gp .gp-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;height:76px!important;min-height:76px!important;max-height:76px!important;box-sizing:border-box!important;overflow:visible!important;}
#ganpos41-app .gp .gp-nav-panel{position:relative!important;width:100%!important;height:0!important;margin:0!important;padding:0!important;z-index:100!important;}
#ganpos41-app .gp.gp-front .gp-nav-panel .gp-front-menu,
#ganpos41-app .gp:not(.gp-front) .gp-nav-panel nav{display:none!important;position:absolute!important;left:6px!important;right:6px!important;top:0!important;margin:0!important;box-sizing:border-box!important;z-index:10002!important;}
#ganpos41-app .gp.gp-front.menu-open .gp-nav-panel .gp-front-menu,
#ganpos41-app .gp:not(.gp-front).menu-open .gp-nav-panel nav{display:grid!important;}
#ganpos41-app .gp.gp-front .gp-nav-panel .gp-front-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:9px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;box-shadow:0 18px 40px rgba(0,0,0,.16)!important;}
#ganpos41-app .gp:not(.gp-front) .gp-nav-panel nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:9px!important;background:#111827!important;border-radius:16px!important;box-shadow:0 18px 40px rgba(0,0,0,.28)!important;}
#ganpos41-app .gp .gp-menu-toggle{display:block!important;flex:0 0 auto!important;}
@media(max-width:800px){#ganpos41-app .gp .gp-head{height:68px!important;min-height:68px!important;max-height:68px!important;padding:9px 10px!important;margin-bottom:10px!important;border-radius:16px!important;}#ganpos41-app .gp .gp-nav-panel{height:0!important;}#ganpos41-app .gp.gp-front .gp-nav-panel .gp-front-menu,#ganpos41-app .gp:not(.gp-front) .gp-nav-panel nav{left:6px!important;right:6px!important;top:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:calc(100vh - 140px)!important;overflow:auto!important;}#ganpos41-app .gp .gp-brand{min-width:0!important;flex:1 1 auto!important;}#ganpos41-app .gp .gp-brand h1{font-size:17px!important;line-height:1.05!important;}#ganpos41-app .gp .gp-brand span{font-size:10px!important;line-height:1.05!important;}}
@media(max-width:520px){#ganpos41-app .gp .gp-head{height:64px!important;min-height:64px!important;max-height:64px!important;padding:8px 9px!important;}#ganpos41-app .gp .gp-brand .gp-app-mark{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important;}#ganpos41-app .gp .gp-menu-toggle{height:34px!important;min-height:34px!important;max-height:34px!important;min-width:72px!important;width:72px!important;padding:4px 8px!important;font-size:12px!important;}}

/* GAN POS 4.5.74 - OLD-STYLE DARK MENU, SAFE BELOW HEADER */
#ganpos41-app .gp.gp-front .gp-nav-panel .gp-front-menu{
  display:none!important;position:absolute!important;left:6px!important;right:6px!important;top:8px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:10px!important;
  background:#111827!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;
  border-radius:16px!important;box-shadow:0 18px 40px rgba(0,0,0,.28)!important;
  z-index:10002!important;max-height:calc(100vh - 145px)!important;overflow:auto!important;
}
#ganpos41-app .gp.gp-front.menu-open .gp-nav-panel .gp-front-menu{display:grid!important;}
#ganpos41-app .gp.gp-front .gp-front-nav{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:44px!important;padding:8px 10px!important;
  background:#1f2937!important;color:#f9fafb!important;border:1px solid rgba(255,255,255,.04)!important;
  border-radius:11px!important;font-size:13px!important;font-weight:500!important;line-height:1.2!important;
  text-decoration:none!important;cursor:pointer!important;box-sizing:border-box!important;
}
#ganpos41-app .gp.gp-front .gp-front-nav:hover,
#ganpos41-app .gp.gp-front .gp-front-nav:focus{background:#374151!important;color:#fff!important;}
#ganpos41-app .gp.gp-front .gp-front-nav[data-route="pos"]{background:#374151!important;color:#fff!important;}
#ganpos41-app .gp.gp-front .gp-front-install{background:#1f2937!important;color:#fff!important;}
@media(max-width:520px){
 #ganpos41-app .gp.gp-front .gp-nav-panel .gp-front-menu{top:8px!important;left:6px!important;right:6px!important;gap:8px!important;padding:10px!important;grid-template-columns:1fr 1fr!important;}
 #ganpos41-app .gp.gp-front .gp-front-nav{min-height:43px!important;font-size:12px!important;padding:8px 6px!important;}
}


/* GAN POS 4.5.76: restore the classic button-style menu on ALL POS/dashboard views.
   The menu stays below the compact header and never participates in header sizing. */
.gp-nav-panel{position:relative;z-index:1000;}
.gp-nav-panel nav{display:none;position:absolute;left:10px;right:10px;top:8px;margin:0;padding:10px;background:#111827;border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.28);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;box-sizing:border-box;}
.gp.menu-open .gp-nav-panel nav{display:grid;}
.gp-nav-panel nav a{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:44px;box-sizing:border-box;padding:8px 9px!important;margin:0!important;background:#1f2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important;line-height:1.2!important;white-space:normal!important;}
.gp-nav-panel nav a.on{background:#374151!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important;}
.gp-nav-panel nav a:hover{background:#374151!important;color:#fff!important;}
.gp-front .gp-nav-panel{position:relative;}
@media(max-width:800px){
  .gp-nav-panel nav{left:10px;right:10px;top:8px;grid-template-columns:1fr 1fr;gap:7px;padding:10px;}
  .gp-nav-panel nav a{min-height:42px;font-size:12px!important;padding:8px 6px!important;}
}
@media(min-width:801px){
  .gp-nav-panel nav a{min-height:42px;}
}

@media(max-width:520px){.gp-front .gp-head-actions{gap:6px}.gp-front .gp-head .gp-install-btn{padding:9px 10px;font-size:11px;border-radius:11px}.gp-front .gp-head .gp-install-btn span{display:none}}

/* GAN POS 4.5.81 - checkout customer selector intentionally hides saved customer list */
.gp-pos-customer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.gp-pos-customer-row label{min-width:0}
.gp-pos-customer-row #pos-add-customer{min-height:46px;white-space:nowrap;border-radius:11px;padding:0 16px;font-weight:800}
@media(max-width:700px){.gp-pos-customer-row{grid-template-columns:1fr}.gp-pos-customer-row #pos-add-customer{width:100%}}


/* GAN POS 4.5.82 - checkout customer display: never expose saved customer dropdown */
.gp-customer-display-wrap{min-width:0}
.gp-customer-display-wrap>label{display:block}
.gp-customer-display{min-height:46px;border:1px solid #d7dde6;border-radius:11px;background:#fff;padding:9px 14px;display:flex;flex-direction:column;justify-content:center;cursor:default}
.gp-customer-display .gp-customer-name{font-weight:800;color:#182033;line-height:1.2}
.gp-customer-display small{display:block;color:#7b8492;font-size:11px;margin-top:2px}
.gp-pos-customer-row #pos-add-customer{min-height:46px}
@media(max-width:700px){.gp-pos-customer-row{grid-template-columns:1fr}.gp-pos-customer-row #pos-add-customer{width:100%;min-height:48px}}

/* Customer branch is fixed for branch-restricted staff: show the assigned branch without a dropdown arrow. */
.gp-customer-branch-fixed .gp-fixed-branch{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;min-height:46px;margin-top:6px;padding:11px 12px;border:1px solid #dbe1e8;background:#f5f7fa;border-radius:11px;color:#172033;font:inherit}
.gp-customer-branch-fixed .gp-fixed-branch-badge{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#667085;background:#e9edf2;border-radius:999px;padding:5px 8px;white-space:nowrap}
.gp-customer-branch-fixed small{display:block;margin-top:5px}

/* GAN POS 4.5.85 - frontend menu Log Out button */
#ganpos41-app .gp.gp-front .gp-front-menu .gp-front-logout{
  cursor:pointer!important;
  background:#374151!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
#ganpos41-app .gp.gp-front .gp-front-menu .gp-front-logout:hover{background:#4b5563!important;}
#ganpos41-app .gp.gp-front .gp-front-menu .gp-front-logout{grid-column:1 / -1!important;}

/* GAN POS 4.5.89 - public staff login screen */
.ganpos-login-wrap{min-height:clamp(520px,78vh,820px);display:flex;align-items:center;justify-content:center;padding:28px 16px;box-sizing:border-box;background:linear-gradient(180deg,#f5f7fb 0%,#eef1f6 100%);font-family:inherit}
.ganpos-login-card{width:min(460px,100%);background:#fff;border:1px solid #e3e7ee;border-radius:24px;box-shadow:0 18px 55px rgba(16,24,40,.12);padding:28px;box-sizing:border-box}
.ganpos-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:30px}
.ganpos-login-mark{width:52px;height:52px;min-width:52px;border-radius:16px;background:#111827;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800}
.ganpos-login-brand h1{margin:0;color:#172033;font-size:23px;line-height:1.1;font-weight:800}
.ganpos-login-brand span{display:block;color:#7b8492;font-size:12px;margin-top:4px}
.ganpos-login-heading h2{margin:5px 0 6px;color:#172033;font-size:29px;line-height:1.1}
.ganpos-login-heading p{margin:0 0 20px;color:#667085;font-size:14px;line-height:1.55}
.ganpos-login-error{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#fff1f0;border:1px solid #ffd5d1;color:#b42318;font-size:13px;font-weight:700}
.ganpos-login-form{display:grid;gap:15px}
.ganpos-login-form label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:700}
.ganpos-login-form input[type=text],.ganpos-login-form input[type=password]{width:100%;min-height:50px;padding:12px 14px;border:1px solid #d7dde6;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:15px;box-sizing:border-box;outline:none}
.ganpos-login-form input[type=text]:focus,.ganpos-login-form input[type=password]:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.12)}
.ganpos-login-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-weight:600!important;color:#667085!important}
.ganpos-login-check input{width:17px;height:17px;margin:0}
.ganpos-login-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:13px;background:#172033;color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer;box-sizing:border-box;margin-top:3px}
.ganpos-login-btn:hover{background:#27324a;color:#fff}
.ganpos-login-footer{text-align:center;margin-top:18px;color:#98a2b3;font-size:11px;line-height:1.5}
@media(max-width:520px){.ganpos-login-wrap{min-height:calc(100vh - 80px);padding:18px 12px}.ganpos-login-card{padding:22px 18px;border-radius:20px}.ganpos-login-brand h1{font-size:20px}.ganpos-login-heading h2{font-size:25px}.ganpos-login-mark{width:46px;height:46px;min-width:46px;border-radius:14px}}

/* GAN POS 4.5.94 — order status editor: clean POS layout */
.gp-status-section{margin-top:14px;padding:16px!important}
.gp-status-section .gp-section-title{align-items:flex-start;gap:12px}
.gp-status-section .gp-section-title .gp-badge{flex:0 0 auto}
.gp-status-editor{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;width:100%}
.gp-status-editor label{display:block!important;width:100%!important;margin:0!important;padding:0!important;color:#4b5563!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important}
.gp-status-editor .gp-status-label{display:block!important;margin:0 0 7px!important;color:#4b5563!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important}
.gp-status-editor select#fulfillment-status{display:block!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0 46px 0 16px!important;border:1px solid #172033!important;border-radius:12px!important;background-color:#172033!important;color:#fff!important;font-family:inherit!important;font-size:15px!important;font-weight:700!important;line-height:50px!important;outline:none!important;cursor:pointer!important;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%)!important;background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important}
.gp-status-editor select#fulfillment-status:focus{border-color:#172033!important;box-shadow:0 0 0 3px rgba(23,32,51,.14)!important}
.gp-status-editor select#fulfillment-status option{background:#fff!important;color:#172033!important;font-weight:600!important}
.gp-status-editor .gp-btn{display:flex!important;width:100%!important;min-height:50px!important;height:50px!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;margin:0!important;white-space:nowrap!important}
@media(min-width:760px){
  .gp-status-editor{grid-template-columns:minmax(220px,320px) minmax(180px,1fr);align-items:end;gap:12px}
  .gp-status-editor .gp-btn{width:100%!important}
}
@media(max-width:759px){
  .gp-status-section{padding:14px!important}
  .gp-status-section .gp-section-title{display:flex;flex-wrap:wrap}
  .gp-status-section .gp-section-title>div{min-width:0;flex:1 1 220px}
  .gp-status-section .gp-section-title .gp-badge{margin-left:auto}
  .gp-status-editor{grid-template-columns:1fr!important}
}


/* GAN POS 4.5.95 — premium order-status controls matching POS action buttons */
.gp-status-picker{position:relative;width:100%;min-width:0}
.gp-status-picker .gp-status-label{display:block;margin:0 0 7px;color:#4b5563;font-size:13px;font-weight:700;line-height:1.4}
.gp-status-trigger{width:100%!important;min-height:50px!important;height:50px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 16px!important;border-radius:12px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important}
.gp-status-trigger:hover,.gp-status-trigger:focus{background:#172033!important;color:#fff!important;border-color:#172033!important;box-shadow:0 0 0 3px rgba(23,32,51,.12)!important;outline:none!important}
.gp-status-chevron{font-size:22px;line-height:1;transform:translateY(-2px);opacity:.95}
.gp-status-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:50;background:#fff;border:1px solid #e3e7ee;border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.18);overflow:hidden;padding:5px}
.gp-status-option{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.gp-status-option:hover{background:#f4f6f8}
.gp-status-option.is-selected{background:#172033;color:#fff}
.gp-status-check{font-size:16px;font-weight:900;min-width:18px;text-align:center}
.gp-status-update-btn{width:100%!important;min-height:50px!important;height:50px!important;border-radius:12px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:14px!important;font-weight:800!important}
.gp-status-update-btn:hover{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important}
/* Keep every order action button consistent with the premium POS primary-button treatment. */
.gp-order-actions{gap:10px!important}
.gp-order-actions .gp-btn{width:100%!important;min-height:50px!important;border-radius:12px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:13px!important;font-weight:800!important;box-shadow:none!important}
.gp-order-actions .gp-btn:hover{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important}
.gp-order-actions .gp-btn.gp-danger{background:#172033!important;color:#fff!important;border-color:#172033!important}
@media(max-width:800px){
 .gp-status-editor{grid-template-columns:1fr!important;gap:10px!important}
 .gp-status-trigger,.gp-status-update-btn{width:100%!important}
 .gp-status-menu{max-height:310px;overflow:auto}
 .gp-order-actions{grid-template-columns:1fr!important;gap:9px!important}
}
@media(min-width:801px){
 .gp-status-editor{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)!important;align-items:end!important}
}

/* GAN POS 4.5.96 — polished order-status spacing and popup behavior */
.gp-status-section{padding:18px!important;margin-top:16px!important;border-radius:16px!important}
.gp-status-editor{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:16px!important;align-items:stretch!important}
.gp-status-picker{position:relative!important;width:100%!important;min-width:0!important}
.gp-status-picker .gp-status-label{display:block!important;margin:0 0 8px!important;color:#4b5563!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important}
.gp-status-trigger{position:relative!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 17px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;border-radius:13px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:15px!important;font-weight:800!important;line-height:1!important;box-shadow:0 2px 5px rgba(15,23,42,.08)!important}
.gp-status-trigger:hover,.gp-status-trigger:focus{background:#172033!important;color:#fff!important;border-color:#172033!important;outline:none!important;box-shadow:0 0 0 3px rgba(23,32,51,.12)!important}
.gp-status-trigger .gp-status-chevron{font-size:20px!important;line-height:1!important;margin-left:10px!important;transform:none!important}
.gp-status-menu{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;z-index:9999!important;width:100%!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #e3e7ee!important;border-radius:14px!important;box-shadow:0 16px 40px rgba(15,23,42,.20)!important;overflow:hidden!important;padding:6px!important}
.gp-status-menu[hidden]{display:none!important}
.gp-status-option{width:100%!important;min-height:50px!important;height:50px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font:inherit!important;font-size:14px!important;font-weight:700!important;text-align:left!important;cursor:pointer!important}
.gp-status-option + .gp-status-option{margin-top:3px!important}
.gp-status-option:hover{background:#f4f6f8!important}
.gp-status-option.is-selected{background:#172033!important;color:#fff!important}
.gp-status-check{min-width:20px!important;text-align:center!important;font-size:16px!important;font-weight:900!important}
.gp-status-update-btn{width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 16px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;border-radius:13px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:14px!important;font-weight:800!important;line-height:1!important;box-shadow:0 2px 5px rgba(15,23,42,.08)!important}
.gp-status-update-btn:hover{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important}
.gp-order-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:16px!important}
.gp-order-actions .gp-btn{width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;box-sizing:border-box!important;border-radius:13px!important}
@media(min-width:801px){
 .gp-status-editor{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)!important;gap:14px!important;align-items:end!important}
 .gp-order-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .gp-status-update-btn{grid-column:auto!important}
}
@media(max-width:800px){
 .gp-status-editor{grid-template-columns:1fr!important;gap:14px!important}
 .gp-status-menu{max-height:320px!important;overflow-y:auto!important}
 .gp-order-actions{grid-template-columns:1fr!important;gap:12px!important}
}


/* GAN POS 4.5.98 — force fresh premium status control styles and prevent inline menu expansion */
.gp-status-section .gp-status-editor{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:16px!important;position:relative!important;overflow:visible!important}
.gp-status-section .gp-status-picker{position:relative!important;width:100%!important;overflow:visible!important}
.gp-status-section .gp-status-trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 18px!important;border:1px solid #172033!important;border-radius:13px!important;background:#172033!important;color:#fff!important;box-sizing:border-box!important;font-family:inherit!important;font-size:15px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important}
.gp-status-section .gp-status-trigger span:first-child{color:#fff!important}
.gp-status-section .gp-status-menu{position:absolute!important;display:none!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;width:100%!important;max-height:320px!important;overflow-y:auto!important;z-index:100000!important;padding:6px!important;margin:0!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #e3e7ee!important;border-radius:14px!important;box-shadow:0 18px 45px rgba(15,23,42,.22)!important}
.gp-status-section .gp-status-menu.is-open{display:block!important}
.gp-status-section .gp-status-menu[hidden]{display:none!important}
.gp-status-section .gp-status-option{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0 15px!important;box-sizing:border-box!important;border:0!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important}
.gp-status-section .gp-status-option + .gp-status-option{margin-top:3px!important}
.gp-status-section .gp-status-option.is-selected{background:#172033!important;color:#fff!important}
.gp-status-section .gp-status-check{min-width:20px!important;color:inherit!important;text-align:center!important;font-size:17px!important;font-weight:900!important}
.gp-status-section .gp-status-update-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;border:1px solid #172033!important;border-radius:13px!important;background:#172033!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important}
.gp-status-section .gp-status-update-btn:hover{background:#0f172a!important}
.gp-order-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important}
.gp-order-actions .gp-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;border-radius:13px!important;font-family:inherit!important;font-size:14px!important;font-weight:800!important;line-height:1!important}
@media(min-width:801px){
 .gp-status-section .gp-status-editor{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)!important;gap:14px!important;align-items:end!important}
 .gp-order-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}
@media(max-width:800px){
 .gp-status-section .gp-status-editor{grid-template-columns:1fr!important;gap:14px!important}
 .gp-order-actions{grid-template-columns:1fr!important;gap:12px!important}
}

/* GAN POS 4.5.98 — compact Order Status control and clear update instructions */
.gp-status-section{
  height:auto!important;
  min-height:0!important;
  padding:14px!important;
  margin:12px 0!important;
  overflow:visible!important;
}
.gp-status-section .gp-section-title{
  height:auto!important;
  min-height:0!important;
  margin:0 0 9px!important;
  padding:0!important;
  display:block!important;
}
.gp-status-section .gp-section-title h3{margin:0!important}
.gp-status-section .gp-section-title p{margin:3px 0 0!important}
.gp-status-editor,
.gp-status-section .gp-status-editor{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.gp-status-picker,
.gp-status-section .gp-status-picker{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.gp-status-picker .gp-status-label{
  display:block!important;
  margin:0 0 4px!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.gp-status-picker .gp-status-note{
  display:block!important;
  margin:0 0 7px!important;
  color:#8994a3!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.gp-status-section .gp-status-trigger{
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
}
.gp-status-section .gp-status-update-btn{
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
}
.gp-order-actions{
  margin-top:10px!important;
  gap:9px!important;
}
.gp-order-actions .gp-btn{
  height:50px!important;
  min-height:50px!important;
}
@media(min-width:801px){
  .gp-status-section .gp-status-editor{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:end!important}
}
@media(max-width:800px){
  .gp-status-section .gp-status-editor{display:flex!important;flex-direction:column!important;gap:9px!important}
}

/* GAN POS 4.5.99 — definitive compact order status UI */
.gp-status-section{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:16px!important;margin:12px 0!important;overflow:visible!important;}
.gp-status-section .gp-section-title{display:block!important;height:auto!important;min-height:0!important;margin:0 0 12px!important;padding:0!important;}
.gp-status-section .gp-section-title h3{margin:0 0 3px!important;}
.gp-status-section .gp-section-title p{margin:0!important;}
.gp-status-current{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;padding:0!important;height:auto!important;min-height:42px!important;}
.gp-status-current .gp-status-label{display:block!important;margin:0!important;color:#4b5563!important;font-size:13px!important;font-weight:700!important;line-height:1.3!important;}
.gp-current-status-value{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 13px!important;border-radius:10px!important;background:#f1f4f8!important;color:#172033!important;font-size:13px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;}
.gp-status-section .gp-status-note{display:block!important;margin:5px 0 9px!important;padding:0!important;color:#8994a3!important;font-size:11px!important;line-height:1.35!important;}
.gp-status-section .gp-status-trigger,.gp-status-section .gp-status-update-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;border-radius:12px!important;background:#172033!important;color:#fff!important;border:1px solid #172033!important;font-size:14px!important;font-weight:800!important;line-height:1!important;}
.gp-status-section .gp-status-trigger{justify-content:space-between!important;}
.gp-status-section .gp-status-update-btn{margin-top:8px!important;}
.gan-status-overlay{position:fixed!important;inset:0!important;z-index:2147483647!important;background:rgba(15,23,42,.48)!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important;}
.gan-status-sheet{width:min(520px,100%)!important;background:#fff!important;border-radius:20px!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;overflow:hidden!important;}
.gan-status-sheet-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 18px!important;border-bottom:1px solid #e7ebf0!important;}
.gan-status-sheet-head b{display:block!important;color:#172033!important;font-size:16px!important;}
.gan-status-sheet-head small{display:block!important;margin-top:3px!important;color:#8994a3!important;font-size:11px!important;}
.gan-status-close{width:38px!important;height:38px!important;border:0!important;border-radius:10px!important;background:#f1f4f8!important;color:#172033!important;font-size:24px!important;line-height:1!important;}
.gan-status-options{padding:8px!important;}
.gan-status-choice{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:52px!important;margin:0 0 4px!important;padding:0 14px!important;border:0!important;border-radius:11px!important;background:#fff!important;color:#172033!important;font:inherit!important;font-size:14px!important;font-weight:700!important;text-align:left!important;}
.gan-status-choice.is-selected{background:#172033!important;color:#fff!important;}
@media(max-width:800px){.gp-status-section{padding:14px!important;margin:10px 0!important;}.gp-status-current{min-height:40px!important;}.gan-status-overlay{padding:10px!important;align-items:flex-end!important;}.gan-status-sheet{border-radius:18px!important;}.gan-status-choice{min-height:54px!important;}}

/* GAN POS 4.5.103 - Premium Update Payment modal refresh */
.gp-payment-update-modal{
  width:min(680px,96vw)!important;
  max-width:680px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#f7f9fc!important;
  box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
}
.gp-payment-update-modal .gp-modal-top{
  margin:0!important;
  padding:20px 22px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
}
.gp-payment-update-modal .gp-modal-top .gp-eyebrow{
  display:inline-block!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:1.5px!important;
}
.gp-payment-update-modal .gp-modal-top h2{
  margin:5px 0 3px!important;
  color:#172033!important;
  font-size:25px!important;
  line-height:1.15!important;
  letter-spacing:-.4px!important;
}
.gp-payment-update-modal .gp-modal-top p{
  margin:0!important;
  color:#8994a3!important;
  font-size:12px!important;
}
.gp-payment-update-modal .gp-modal-close{
  width:42px!important;height:42px!important;
  border:0!important;
  border-radius:13px!important;
  background:#f1f4f8!important;
  color:#172033!important;
  font-size:25px!important;
  font-weight:500!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;
}
.gp-payment-update-modal .gp-payment-order-summary{
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
  margin:14px 16px 10px!important;
}
.gp-payment-update-modal .gp-payment-order-summary>div{
  padding:13px 14px!important;
  min-height:66px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border:1px solid #e4e9f0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.035)!important;
}
.gp-payment-update-modal .gp-payment-order-summary small{font-size:10px!important;color:#8994a3!important;margin-bottom:5px!important}
.gp-payment-update-modal .gp-payment-order-summary b{font-size:18px!important;color:#172033!important}
.gp-payment-update-modal #paymentupdate{padding:0 16px 16px!important}
.gp-payment-update-modal #paymentupdate .gp-form-section{
  margin:0!important;
  padding:16px!important;
  border:1px solid #e4e9f0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(15,23,42,.035)!important;
}
.gp-payment-update-modal #paymentupdate .gp-section-title{margin-bottom:14px!important}
.gp-payment-update-modal #paymentupdate .gp-section-title h3{font-size:16px!important;color:#172033!important}
.gp-payment-update-modal #paymentupdate .gp-section-title p{font-size:11px!important;color:#8994a3!important;margin-top:3px!important}
.gp-payment-update-modal #paymentupdate .gp-form-grid{gap:12px!important}
.gp-payment-update-modal #paymentupdate .gp-field label{
  color:#3d4858!important;
  font-size:11px!important;
  font-weight:800!important;
}
.gp-payment-update-modal #paymentupdate .gp-field label span{color:#d97706!important;font-weight:700!important}
.gp-payment-update-modal #paymentupdate .gp-field input,
.gp-payment-update-modal #paymentupdate .gp-field select{
  min-height:50px!important;
  height:50px!important;
  margin-top:6px!important;
  padding:0 13px!important;
  border:1px solid #dce3eb!important;
  border-radius:12px!important;
  background:#fbfcfe!important;
  color:#172033!important;
  font-size:15px!important;
  box-shadow:none!important;
}
.gp-payment-update-modal #paymentupdate .gp-field input:focus,
.gp-payment-update-modal #paymentupdate .gp-field select:focus{
  border-color:#64748b!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(100,116,139,.10)!important;
}
.gp-payment-update-modal #paymentupdate .gp-check-row{
  margin:13px 0 0!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  padding:12px 13px!important;
  border:1px solid #e1e6ed!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  color:#273246!important;
}
.gp-payment-update-modal #paymentupdate .gp-check-row input{width:21px!important;height:21px!important;accent-color:#172033!important}
.gp-payment-update-actions{
  display:grid!important;
  grid-template-columns:1fr 1.25fr!important;
  gap:10px!important;
  margin-top:14px!important;
}
.gp-payment-update-actions .gp-btn{
  min-height:50px!important;
  border-radius:13px!important;
  font-size:14px!important;
  font-weight:800!important;
}
.gp-payment-update-actions .gp-btn:not(.gp-btn-primary){background:#fff!important;color:#172033!important;border:1px solid #d9e0e8!important}
.gp-payment-update-actions .gp-btn.gp-btn-primary{background:#172033!important;color:#fff!important;border-color:#172033!important;box-shadow:0 5px 12px rgba(23,32,51,.16)!important}
@media(max-width:700px){
  .gp-payment-update-modal{width:100%!important;max-width:none!important;border-radius:22px 22px 0 0!important}
  .gp-payment-update-modal .gp-modal-top{padding:18px 16px 14px!important}
  .gp-payment-update-modal .gp-modal-top h2{font-size:22px!important}
  .gp-payment-update-modal .gp-payment-order-summary{grid-template-columns:1fr 1fr!important;margin:12px 12px 10px!important}
  .gp-payment-update-modal .gp-payment-order-summary>div:last-child{grid-column:1/-1}
  .gp-payment-update-modal #paymentupdate{padding:0 12px 12px!important}
  .gp-payment-update-modal #paymentupdate .gp-form-section{padding:14px!important;border-radius:15px!important}
  .gp-payment-update-modal #paymentupdate .gp-form-grid{grid-template-columns:1fr!important;gap:10px!important}
  .gp-payment-update-modal #paymentupdate .gp-span-2{grid-column:auto!important}
  .gp-payment-update-actions{grid-template-columns:1fr!important;gap:8px!important}
  .gp-payment-update-actions .gp-btn{width:100%!important;min-height:52px!important}
}


/* GAN POS 4.5.104 — definitive premium Update Payment layout */
.overlay:has(.gp-payment-update-modal){
  z-index:2147483000!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
  background:rgba(15,23,42,.58)!important;
}
.overlay:has(.gp-payment-update-modal)>.modal{
  width:min(680px,calc(100vw - 24px))!important;
  max-width:680px!important;
  max-height:calc(100vh - 28px)!important;
  overflow:auto!important;
  padding:0!important;
  margin:0!important;
  border-radius:24px!important;
  background:#f5f7fb!important;
  box-shadow:0 24px 80px rgba(15,23,42,.32)!important;
  scrollbar-width:thin!important;
}
.gp-payment-update-modal{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#f5f7fb!important;}
.gp-payment-update-modal .gp-modal-top{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin:0!important;padding:22px 22px 18px!important;background:#fff!important;border-bottom:1px solid #e6ebf1!important;}
.gp-payment-update-modal .gp-modal-top h2{margin:4px 0 3px!important;font-size:24px!important;line-height:1.15!important;color:#172033!important;}
.gp-payment-update-modal .gp-modal-top p{margin:0!important;color:#8994a3!important;font-size:12px!important;}
.gp-payment-update-modal .gp-modal-close{flex:0 0 42px!important;width:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:13px!important;background:#eef2f6!important;color:#172033!important;font-size:24px!important;line-height:42px!important;text-align:center!important;}
.gp-payment-update-modal .gp-payment-order-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:14px 16px 12px!important;}
.gp-payment-update-modal .gp-payment-order-summary>div{min-height:76px!important;box-sizing:border-box!important;padding:13px 14px!important;border:1px solid #e1e7ee!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 12px rgba(15,23,42,.045)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.gp-payment-update-modal .gp-payment-order-summary small{display:block!important;margin:0 0 5px!important;color:#8a95a4!important;font-size:10px!important;font-weight:700!important;text-transform:none!important;}
.gp-payment-update-modal .gp-payment-order-summary b{display:block!important;color:#172033!important;font-size:18px!important;font-weight:800!important;line-height:1.2!important;}
.gp-payment-update-modal #paymentupdate{margin:0!important;padding:0 16px 16px!important;}
.gp-payment-update-modal #paymentupdate .gp-form-section{margin:0!important;padding:18px!important;border:1px solid #e1e7ee!important;border-radius:17px!important;background:#fff!important;box-shadow:0 3px 14px rgba(15,23,42,.045)!important;}
.gp-payment-update-modal #paymentupdate .gp-section-title{margin:0 0 15px!important;}
.gp-payment-update-modal #paymentupdate .gp-section-title h3{margin:0!important;font-size:17px!important;color:#172033!important;}
.gp-payment-update-modal #paymentupdate .gp-section-title p{margin:4px 0 0!important;font-size:11px!important;color:#8a95a4!important;}
.gp-payment-update-modal #paymentupdate .gp-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:13px!important;}
.gp-payment-update-modal #paymentupdate .gp-field{min-width:0!important;}
.gp-payment-update-modal #paymentupdate .gp-field label{display:block!important;margin:0!important;color:#3d4858!important;font-size:11px!important;font-weight:800!important;}
.gp-payment-update-modal #paymentupdate .gp-field label span{color:#d97706!important;}
.gp-payment-update-modal #paymentupdate .gp-field input,.gp-payment-update-modal #paymentupdate .gp-field select{display:block!important;width:100%!important;height:52px!important;min-height:52px!important;box-sizing:border-box!important;margin:7px 0 0!important;padding:0 14px!important;border:1px solid #dbe2ea!important;border-radius:13px!important;background:#f9fbfd!important;color:#172033!important;font-size:15px!important;outline:none!important;box-shadow:none!important;}
.gp-payment-update-modal #paymentupdate .gp-field input:focus,.gp-payment-update-modal #paymentupdate .gp-field select:focus{border-color:#172033!important;background:#fff!important;box-shadow:0 0 0 3px rgba(23,32,51,.08)!important;}
.gp-payment-update-modal #paymentupdate .gp-check-row{display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;box-sizing:border-box!important;margin:14px 0 0!important;padding:13px 14px!important;min-height:56px!important;border:1px solid #e0e6ed!important;border-radius:14px!important;background:#f7f9fc!important;color:#273246!important;}
.gp-payment-update-modal #paymentupdate .gp-check-row input{width:22px!important;height:22px!important;min-width:22px!important;margin:0!important;accent-color:#172033!important;}
.gp-payment-update-modal #paymentupdate .gp-check-row span{font-size:14px!important;font-weight:800!important;}
.gp-payment-update-actions{display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:10px!important;margin:14px 0 0!important;}
.gp-payment-update-actions .gp-btn{width:100%!important;min-height:52px!important;height:52px!important;border-radius:13px!important;font-size:14px!important;font-weight:800!important;}
.gp-payment-update-actions .gp-btn.gp-btn-primary{background:#172033!important;color:#fff!important;border:1px solid #172033!important;box-shadow:0 6px 14px rgba(23,32,51,.14)!important;}
.gp-payment-update-actions .gp-btn:not(.gp-btn-primary){background:#fff!important;color:#172033!important;border:1px solid #d8e0e8!important;}
@media(max-width:700px){
 .overlay:has(.gp-payment-update-modal){align-items:flex-end!important;padding:0!important;}
 .overlay:has(.gp-payment-update-modal)>.modal{width:100%!important;max-width:none!important;max-height:94vh!important;border-radius:24px 24px 0 0!important;}
 .gp-payment-update-modal .gp-modal-top{padding:18px 16px 15px!important;}
 .gp-payment-update-modal .gp-modal-top h2{font-size:22px!important;}
 .gp-payment-update-modal .gp-payment-order-summary{grid-template-columns:1fr 1fr!important;margin:12px 12px 10px!important;}
 .gp-payment-update-modal .gp-payment-order-summary>div:last-child{grid-column:1/-1!important;}
 .gp-payment-update-modal #paymentupdate{padding:0 12px 14px!important;}
 .gp-payment-update-modal #paymentupdate .gp-form-section{padding:15px!important;border-radius:16px!important;}
 .gp-payment-update-modal #paymentupdate .gp-form-grid{grid-template-columns:1fr!important;gap:11px!important;}
 .gp-payment-update-modal #paymentupdate .gp-span-2{grid-column:auto!important;}
 .gp-payment-update-actions{grid-template-columns:1fr!important;gap:8px!important;}
 .gp-payment-update-actions .gp-btn{min-height:52px!important;height:52px!important;}
}

/* GAN POS 4.5.105 — align Update Payment cards to one consistent content width */
.gp-payment-update-modal,
.gp-payment-update-modal *{box-sizing:border-box!important;}
.gp-payment-update-modal .gp-payment-order-summary{
  width:calc(100% - 32px)!important;
  margin:14px 16px 12px!important;
}
.gp-payment-update-modal #paymentupdate{
  width:calc(100% - 32px)!important;
  margin:0 16px!important;
  padding:0 0 16px!important;
}
.gp-payment-update-modal #paymentupdate .gp-form-section{
  width:100%!important;
  margin:0!important;
}
.gp-payment-update-actions{
  width:100%!important;
  margin:14px 0 0!important;
}
@media(max-width:700px){
  .gp-payment-update-modal .gp-payment-order-summary{
    width:calc(100% - 24px)!important;
    margin:12px 12px 10px!important;
  }
  .gp-payment-update-modal #paymentupdate{
    width:calc(100% - 24px)!important;
    margin:0 12px!important;
    padding:0 0 14px!important;
  }
  .gp-payment-update-modal #paymentupdate .gp-form-section{
    width:100%!important;
  }
}

/* GAN POS 4.5.106 — equal-width Update Payment boxes */
.gp-payment-update-modal .gp-payment-order-summary{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:calc(100% - 32px)!important;
  margin:14px 16px 14px!important;
}
.gp-payment-update-modal .gp-payment-order-summary>div{
  width:100%!important;
  min-width:0!important;
  min-height:82px!important;
}
.gp-payment-update-modal #paymentupdate,
.gp-payment-update-modal #paymentupdate .gp-form-section,
.gp-payment-update-actions{
  width:calc(100% - 32px)!important;
  margin-left:16px!important;
  margin-right:16px!important;
}
.gp-payment-update-modal #paymentupdate{padding:0 0 16px!important;}
.gp-payment-update-actions{margin-top:14px!important;}
@media(max-width:700px){
  .gp-payment-update-modal .gp-payment-order-summary{
    grid-template-columns:1fr!important;
    width:calc(100% - 24px)!important;
    margin:12px 12px 12px!important;
    gap:10px!important;
  }
  .gp-payment-update-modal .gp-payment-order-summary>div{width:100%!important;min-height:78px!important;}
  .gp-payment-update-modal #paymentupdate,
  .gp-payment-update-modal #paymentupdate .gp-form-section,
  .gp-payment-update-actions{
    width:calc(100% - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
  }
}


/* GAN POS 4.5.107 — definitive equal-width Update Payment layout */
.gp-payment-update-modal{width:100%!important;max-width:100%!important;overflow:hidden!important;}
.gp-payment-update-modal .gp-payment-order-summary{
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  margin:16px!important;
  gap:12px!important;
}
.gp-payment-update-modal .gp-payment-order-summary>div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:78px!important;
  margin:0!important;
}
.gp-payment-update-modal #paymentupdate{
  display:block!important;
  width:auto!important;
  margin:0 16px 16px!important;
  padding:0!important;
}
.gp-payment-update-modal #paymentupdate .gp-form-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.gp-payment-update-actions{
  display:grid!important;
  width:100%!important;
  margin:14px 0 0!important;
  gap:10px!important;
}
@media(max-width:700px){
  .gp-payment-update-modal .gp-payment-order-summary{
    display:flex!important;
    flex-direction:column!important;
    width:auto!important;
    margin:12px!important;
    gap:10px!important;
  }
  .gp-payment-update-modal .gp-payment-order-summary>div{width:100%!important;min-height:76px!important;}
  .gp-payment-update-modal #paymentupdate{width:auto!important;margin:0 12px 12px!important;padding:0!important;}
  .gp-payment-update-modal #paymentupdate .gp-form-section{width:100%!important;}
  .gp-payment-update-actions{width:100%!important;margin-top:12px!important;}
}
/* GAN POS 4.5.108 - balance order buyer email */
.gp-buyer-email-wrap{margin-top:12px;padding:13px 14px;border:1px solid #e5e9ef;border-radius:14px;background:#f8fafc}
.gp-buyer-email-wrap label{display:block;font-size:12px;font-weight:700;color:#344054}
.gp-buyer-email-wrap input{display:block;width:100%;box-sizing:border-box;margin-top:7px;min-height:46px;padding:11px 13px;border:1px solid #dbe1e8;border-radius:11px;background:#fff;color:#172033;font:inherit}
.gp-buyer-email-wrap input:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.06);outline:none}
.gp-email-required-note{float:right;color:#b45309;font-size:10px;font-weight:700}
.gp-buyer-email-help{display:block;margin-top:7px;color:#7a8493;font-size:10px;line-height:1.45}
@media(max-width:800px){.gp-email-required-note{float:none;display:block;margin-top:3px}.gp-buyer-email-wrap{padding:12px}}

/* GAN POS 4.5.110 - Email / SMTP page matched to POS layout */
.gp-smtp-page{margin:20px 20px 30px 0;max-width:1180px}
.gp-smtp-head{padding:20px 22px;border-radius:14px;box-shadow:0 5px 18px rgba(15,23,42,.08)}
.gp-smtp-head h1{font-size:23px;letter-spacing:-.3px}
.gp-smtp-status{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#374151;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.gp-smtp-status i{width:8px;height:8px;border-radius:50%;background:#9ca3af;display:block}
.gp-smtp-status.is-on i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.gp-smtp-status.is-off i{background:#f59e0b}
.gp-smtp-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 15px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:13px}
.gp-smtp-notice>span{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:#eef2f7;color:#172033;flex:0 0 26px}
.gp-smtp-notice.is-success{border-color:#bbf7d0;background:#f0fdf4}.gp-smtp-notice.is-success>span{background:#dcfce7;color:#15803d}
.gp-smtp-notice.is-error{border-color:#fecaca;background:#fef2f2}.gp-smtp-notice.is-error>span{background:#fee2e2;color:#b91c1c}
.gp-smtp-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px;align-items:start}
.gp-smtp-card{padding:18px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.gp-smtp-card-title{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #eef1f4}
.gp-smtp-card-title h2{margin:0 0 4px;font-size:16px;color:#172033}.gp-smtp-card-title p{margin:0;color:#7b8797;font-size:11px}
.gp-smtp-icon{width:42px;height:42px;border-radius:13px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;flex:0 0 42px}.gp-smtp-icon.test{background:#eef2f7;color:#172033}
.gp-smtp-info{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;margin-bottom:14px;border:1px solid #e7ebf0;border-radius:10px;background:#fbfcfe;font-size:12px}.gp-smtp-info b{color:#172033}.gp-smtp-info span{color:#7b8797;text-align:right}
.gp-smtp-form label{margin:0}.gp-smtp-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid #e7ebf0;border-radius:11px;background:#fff;margin-bottom:14px!important}.gp-smtp-toggle>span{display:flex;flex-direction:column;gap:4px}.gp-smtp-toggle b{font-size:13px}.gp-smtp-toggle small{font-size:11px;color:#7b8797;font-weight:400}.gp-smtp-toggle input{position:absolute;opacity:0;pointer-events:none}.gp-smtp-toggle i{position:relative;width:44px;height:24px;border-radius:999px;background:#d1d5db;flex:0 0 44px;transition:.15s}.gp-smtp-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:.15s}.gp-smtp-toggle input:checked+i{background:#111827}.gp-smtp-toggle input:checked+i:after{transform:translateX(20px)}
.gp-smtp-fields{display:grid;grid-template-columns:1.2fr .55fr 1fr;gap:11px}.gp-smtp-fields label{display:block}.gp-smtp-fields label.full{grid-column:1/-1}.gp-smtp-fields label>span{display:block;font-size:11px;color:#475467;font-weight:700;margin-bottom:5px}.gp-smtp-fields input,.gp-smtp-fields select,.gp-smtp-test-form input{width:100%;box-sizing:border-box;height:42px;padding:0 11px;border:1px solid #dce2e9;border-radius:9px;background:#fff;color:#172033;font-size:13px}.gp-smtp-fields input:focus,.gp-smtp-fields select:focus,.gp-smtp-test-form input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.07)}.gp-smtp-fields small{display:block;margin-top:5px;color:#8994a3;font-size:10px;font-weight:400}.gp-smtp-actions{margin-top:15px;padding-top:15px;border-top:1px solid #eef1f4}.gp-smtp-actions button,.gp-smtp-test-form button{width:100%;min-height:42px;border-radius:9px!important;font-weight:700}
.gp-smtp-test-box{padding:14px;border:1px solid #e7ebf0;border-radius:11px;background:#fbfcfe}.gp-smtp-test-label{font-size:11px;font-weight:700;color:#475467;margin-bottom:6px}.gp-smtp-test-form{display:grid;gap:9px}.gp-smtp-help{font-size:10px;line-height:1.5;color:#8994a3;margin:9px 0 0}.gp-smtp-checklist{display:grid;gap:7px;margin-top:14px}.gp-smtp-checklist>div{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e7ebf0;border-radius:9px;background:#fff}.gp-smtp-checklist b,.gp-smtp-checklist span{font-size:11px}.gp-smtp-checklist span{color:#7b8797;text-align:right}
@media(max-width:900px){.gp-smtp-grid{grid-template-columns:1fr}.gp-smtp-page{margin-right:12px}.gp-smtp-fields{grid-template-columns:1fr 1fr}.gp-smtp-fields label.full{grid-column:1/-1}}
@media(max-width:600px){.gp-smtp-page{margin:12px 8px 24px 0}.gp-smtp-head{display:flex;align-items:flex-start;gap:10px;padding:15px}.gp-smtp-head h1{font-size:19px}.gp-smtp-head span{font-size:10px}.gp-smtp-status{font-size:10px;padding:7px 9px}.gp-smtp-grid{gap:12px}.gp-smtp-card{padding:14px}.gp-smtp-info{display:block}.gp-smtp-info span{display:block;text-align:left;margin-top:4px}.gp-smtp-fields{grid-template-columns:1fr}.gp-smtp-fields label.full{grid-column:auto}.gp-smtp-card-title{padding-bottom:12px;margin-bottom:12px}.gp-smtp-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}.gp-smtp-card-title h2{font-size:15px}}

/* GAN POS 4.5.119 - Premium Reports */
.gp-report-toolbar{background:#111827;color:#fff;border-radius:16px;padding:18px;display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px;box-shadow:0 8px 28px #0002}
.gp-report-toolbar label{margin:0!important;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#cbd5e1}
.gp-report-toolbar label span{display:block;margin:0 0 6px}
.gp-report-toolbar select,.gp-report-toolbar input{width:100%;box-sizing:border-box;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:10px;padding:11px 12px;font-size:14px}
.gp-report-actions{display:flex;gap:8px}
.gp-report-actions .gp-btn{white-space:nowrap}
.gp-report-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 12px}
.gp-report-heading h3{margin:2px 0 0;font-size:20px}
.gp-report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.gp-report-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 2px 10px #00000008}
.gp-report-kpi small{display:block;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.gp-report-kpi b{display:block;font-size:22px;margin-top:7px;color:#111827}
.gp-report-table{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:8px;overflow:hidden}
.gp-report-table .gp-table-wrap{overflow:auto}
.gp-report-table table{min-width:680px}
.gp-report-error{padding:16px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:12px}
@media(max-width:1000px){.gp-report-toolbar{grid-template-columns:1fr 1fr}.gp-report-actions{grid-column:1/-1}.gp-report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.gp-report-toolbar{grid-template-columns:1fr;padding:14px}.gp-report-actions{display:grid;grid-template-columns:1fr 1fr}.gp-report-actions .gp-btn{width:100%}.gp-report-kpis{grid-template-columns:1fr 1fr}.gp-report-heading{align-items:flex-start}.gp-report-table{padding:4px}}


/* GAN POS 4.5.114 - POS-matched Reports UI */
.gp-report-toolbar-pos{background:#fff!important;color:#172033!important;border:1px solid #e7ebf0!important;border-radius:16px!important;padding:16px!important;display:grid!important;grid-template-columns:minmax(220px,1.8fr) minmax(145px,.9fr) minmax(145px,.9fr) auto!important;gap:11px!important;align-items:end!important;margin-bottom:18px!important;box-shadow:0 2px 10px rgba(15,23,42,.04)!important}
.gp-report-toolbar-pos label,.gp-report-type-field{margin:0!important;font-size:11px!important;color:#475467!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
.gp-report-toolbar-pos label>span,.gp-report-type-field>span{display:block!important;margin:0 0 6px!important;color:#475467!important;font-size:11px!important;font-weight:700!important}
.gp-report-toolbar-pos input{height:46px!important;padding:0 12px!important;border:1px solid #dbe1e8!important;border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;font-size:13px!important;box-sizing:border-box!important}
.gp-report-type-trigger{width:100%!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:0 12px!important;border:1px solid #dbe1e8!important;border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;font:inherit!important;font-weight:500!important;cursor:pointer!important;text-align:left!important}
.gp-report-type-trigger:hover{background:#fff!important;border-color:#b9c2ce!important}
.gp-report-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.gp-report-actions .gp-btn{min-height:46px!important;white-space:nowrap!important;border-radius:11px!important}
.gp-report-heading{padding:2px 2px 10px!important}
.gp-report-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.gp-report-kpi{min-height:78px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.gp-report-table{border-radius:16px!important;padding:6px!important;box-shadow:0 2px 10px rgba(15,23,42,.04)!important}
.gan-report-type-overlay{position:fixed!important;inset:0!important;z-index:100000!important;background:rgba(15,23,42,.42)!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0!important;box-sizing:border-box!important}
.gan-report-type-sheet{width:min(620px,100%)!important;max-height:min(78vh,720px)!important;overflow:auto!important;background:#fff!important;border-radius:24px 24px 0 0!important;box-shadow:0 -12px 40px rgba(15,23,42,.2)!important;animation:ganReportSheetIn .16s ease-out!important}
.gan-report-type-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px 20px!important;border-bottom:1px solid #edf0f3!important}
.gan-report-type-head b{display:block!important;font-size:17px!important;color:#172033!important}
.gan-report-type-head small{display:block!important;margin-top:3px!important;color:#8994a3!important;font-size:11px!important}
.gan-report-type-close{width:38px!important;height:38px!important;border:1px solid #dce2e9!important;border-radius:11px!important;background:#fff!important;color:#172033!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.gan-report-type-options{display:grid!important}
.gan-report-type-choice{width:100%!important;min-height:62px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 20px!important;border:0!important;border-bottom:1px solid #edf0f3!important;background:#fff!important;color:#172033!important;text-align:left!important;font:inherit!important;font-size:14px!important;cursor:pointer!important}
.gan-report-type-choice:last-child{border-bottom:0!important}
.gan-report-type-choice:hover{background:#f8fafc!important}
.gan-report-type-choice.is-selected{font-weight:700!important;background:#fbfcfe!important}
.gan-report-radio{width:28px!important;height:28px!important;border:2px solid #667085!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;font-weight:900!important;color:#fff!important;box-sizing:border-box!important}
.gan-report-type-choice.is-selected .gan-report-radio{background:#172033!important;border-color:#172033!important}
@keyframes ganReportSheetIn{from{transform:translateY(18px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(max-width:1000px){.gp-report-toolbar-pos{grid-template-columns:1fr 1fr!important}.gp-report-type-field{grid-column:1/-1}.gp-report-actions{grid-column:1/-1}.gp-report-kpis{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:650px){.gp-report-toolbar-pos{grid-template-columns:1fr!important;padding:13px!important}.gp-report-type-field,.gp-report-actions{grid-column:auto!important}.gp-report-actions{grid-template-columns:1fr 1fr!important}.gp-report-actions .gp-btn{width:100%!important}.gp-report-kpis{grid-template-columns:1fr 1fr!important}.gp-report-heading{align-items:flex-start!important}.gp-report-table{padding:4px!important}.gan-report-type-sheet{max-height:82vh!important;border-radius:22px 22px 0 0!important}.gan-report-type-choice{min-height:58px!important;padding:0 18px!important;font-size:13px!important}}

/* GAN POS 4.5.119 - Premium Orders table + reservation visibility */
.gp-table-wrap .widefat{border:0!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}
.gp-table-wrap .widefat thead th{background:#f8fafc!important;color:#344054!important;font-size:12px!important;font-weight:800!important;letter-spacing:.02em!important;border-bottom:1px solid #e5e7eb!important;white-space:nowrap!important;padding:13px 12px!important}
.gp-table-wrap .widefat tbody tr{transition:background .15s ease,box-shadow .15s ease!important}
.gp-table-wrap .widefat tbody tr:hover{background:#fafbfc!important}
.gp-table-wrap .widefat tbody td{vertical-align:middle!important;padding:13px 12px!important;color:#1f2937!important}
.gp-reservation-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:105px}
.gp-reservation-cell b{font-size:12px;line-height:16px;color:#111827}
.gp-reservation-cell small{font-size:11px;line-height:15px;color:#667085;font-weight:600}
.gp-reservation-tag{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #e0e7ff;font-size:9px;font-weight:900;letter-spacing:.55px;white-space:nowrap}
.gp-reservation-empty{color:#98a2b3;font-weight:700}
.gp-table-wrap .widefat td:nth-child(4){min-width:120px}
@media(max-width:800px){
 .gp-table-wrap .widefat tbody td:nth-child(4){min-width:0}
 .gp-reservation-cell{align-items:flex-end;text-align:right}
 .gp-reservation-tag{font-size:8px}
}


/* GAN POS 4.5.119 - Delivery / Pickup checkout */
.sale-type-buttons-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.fulfillment-fields{margin-top:10px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.fulfillment-fields textarea{width:100%;min-height:82px;resize:vertical}
.fulfillment-fields label{display:block}
@media(max-width:800px){.sale-type-buttons-4{grid-template-columns:1fr 1fr!important}.fulfillment-fields{padding:11px}.fulfillment-fields textarea{min-height:90px}}

.shipping-fee-line{color:#475467}.shipping-fee-line b{font-weight:800}


/* GAN POS 4.5.119 - Checkout fulfillment visibility */
.gp-front .sale-type-box .sale-type-buttons-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.gp-front .sale-type-box .sale-type{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important}
.gp-front .fulfillment-fields{display:block;padding:14px;margin-top:12px;border:1px solid #e3e8ef;border-radius:15px;background:#fff}
.gp-front .fulfillment-fields label{display:block;margin:0 0 10px!important}
.gp-front .fulfillment-fields input,.gp-front .fulfillment-fields select,.gp-front .fulfillment-fields textarea{width:100%!important;box-sizing:border-box!important}
.gp-front .fulfillment-fields .pos-branch-note{display:block;margin-top:5px;color:#7a8493;font-size:11px}
@media(max-width:800px){.gp-front .sale-type-box .sale-type-buttons-4{grid-template-columns:1fr 1fr!important}.gp-front .sale-type-box .sale-type{min-height:50px!important;font-size:14px!important}}
@media(max-width:430px){.gp-front .sale-type-box .sale-type-buttons-4{grid-template-columns:1fr!important}}

/* GAN POS 4.5.123 - Delivery address autocomplete */
.gan-delivery-address-field{position:relative!important}
.gan-delivery-address-field input#delivery-address{width:100%!important;min-height:52px!important;padding:0 14px!important;border:1px solid #dbe1e8!important;border-radius:12px!important;background:#fff!important;color:#111827!important;box-sizing:border-box!important}
.gan-delivery-address-field input#delivery-address:focus{outline:none!important;border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}
.gan-address-help{margin:-3px 2px 10px!important;color:#7a8493!important;font-size:11px!important;line-height:16px!important}
.pac-container{z-index:100100!important;border-radius:0 0 14px 14px!important;box-shadow:0 12px 30px rgba(15,23,42,.16)!important;border:1px solid #e5e7eb!important;font-family:inherit!important}
.pac-item{padding:11px 12px!important;font-size:13px!important;line-height:20px!important;cursor:pointer!important}
.pac-item:hover{background:#f8fafc!important}
.pac-item-query{font-size:13px!important;color:#111827!important}
@media(max-width:650px){.gan-delivery-address-field input#delivery-address{min-height:54px!important;font-size:14px!important}.gan-address-help{font-size:10px!important}}

/* GAN POS 4.5.124 - native Philippines delivery address picker, POS-matched */
.gan-delivery-address-card{position:relative!important;background:#f8fafc!important;border:1px solid #e3e8ef!important;border-radius:15px!important;padding:13px!important;margin-bottom:12px!important}
.gan-delivery-address-title{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;margin-bottom:9px!important}
.gan-delivery-address-title b{font-size:14px!important;color:#111827!important}
.gan-delivery-address-title small{font-size:10px!important;color:#7a8493!important;font-weight:700!important}
.gan-delivery-address-field{display:block!important;margin:0!important;position:relative!important}
.gan-delivery-address-field input#delivery-address{min-height:52px!important;background:#fff!important;border:1px solid #dbe1e8!important;border-radius:12px!important;padding:0 14px!important;font-size:14px!important}
.gan-address-suggestions{position:absolute!important;left:13px!important;right:13px!important;top:91px!important;background:#fff!important;border:1px solid #e1e6ed!important;border-radius:13px!important;overflow:hidden!important;z-index:100200!important;box-shadow:0 16px 32px rgba(15,23,42,.16)!important}
.gan-address-option{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;border:0!important;border-bottom:1px solid #eef1f4!important;background:#fff!important;padding:12px!important;text-align:left!important;cursor:pointer!important}
.gan-address-option:last-child{border-bottom:0!important}
.gan-address-option:hover,.gan-address-option:focus{background:#f8fafc!important}
.gan-address-pin{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:10px!important;background:#eef2ff!important;color:#273b91!important;font-size:17px!important}
.gan-address-option span:last-child{display:flex!important;flex-direction:column!important;min-width:0!important;gap:2px!important}
.gan-address-option b{font-size:13px!important;color:#111827!important;line-height:18px!important}
.gan-address-option small{font-size:10px!important;color:#7a8493!important;line-height:14px!important}
.gan-address-empty{padding:13px!important;color:#7a8493!important;font-size:11px!important;line-height:16px!important}
.gan-address-picker{margin-top:10px!important;padding-top:10px!important;border-top:1px solid #e5e9ef!important}
.gan-address-picker-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:9px!important}
.gan-address-picker-head b{font-size:13px!important;color:#111827!important}
.gan-address-picker-head button{border:0!important;background:#111827!important;color:#fff!important;border-radius:9px!important;padding:7px 12px!important;font-weight:800!important;font-size:11px!important}
.gan-address-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
.gan-address-picker label{display:block!important;font-size:11px!important;color:#596273!important;font-weight:800!important}
.gan-address-picker input,.gan-address-picker select{width:100%!important;min-height:46px!important;margin-top:5px!important;border:1px solid #dbe1e8!important;border-radius:11px!important;background:#fff!important;padding:0 11px!important;box-sizing:border-box!important;color:#111827!important}
.gan-address-help{margin:7px 1px 0!important;color:#7a8493!important;font-size:10px!important;line-height:15px!important}
@media(max-width:650px){
 .gan-address-suggestions{top:91px!important}
 .gan-address-grid{grid-template-columns:1fr!important}
 .gan-delivery-address-title{flex-direction:column!important;gap:2px!important}
}
/* GAN POS 4.5.127 - Search-to-address hierarchy */
.gan-address-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gan-address-picker{background:#f8fafc!important;border-radius:13px!important;padding:12px!important}
.gan-address-picker select:disabled{opacity:.55}
.gan-address-loading{padding:13px!important;color:#667085!important;font-size:11px!important;font-weight:700!important}
.gan-address-option small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:650px){.gan-address-grid-4{grid-template-columns:1fr!important}.gan-address-picker{padding:10px!important}}


/* GAN POS 4.5.130 - GAN Commerce-style Philippines delivery address */
.gan-wc-address-card{background:#f8fafc!important;border:1px solid #e3e8ef!important;border-radius:15px!important;padding:13px!important;margin-bottom:12px!important}
.gan-wc-address-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:8px!important}
.gan-wc-address-grid label{display:block!important;margin:0!important;color:#596273!important;font-size:11px!important;font-weight:800!important;line-height:16px!important}
.gan-wc-address-grid label.gan-wc-span-2{grid-column:1 / -1!important}
.gan-wc-address-grid input{width:100%!important;min-height:48px!important;margin-top:5px!important;border:1px solid #dbe1e8!important;border-radius:12px!important;background:#fff!important;padding:0 13px!important;box-sizing:border-box!important;color:#111827!important;font-size:14px!important;font-family:inherit!important}
.gan-wc-address-grid input:focus{outline:none!important;border-color:#3158d8!important;box-shadow:0 0 0 3px rgba(49,88,216,.10)!important}
.gan-wc-address-grid input[readonly]{background:#f1f4f8!important;color:#374151!important;font-weight:700!important}
.gan-wc-address-grid label small{font-weight:600!important;color:#8a93a1!important;font-size:9px!important}
.gan-wc-address-card .gan-address-help{display:block!important;margin:9px 2px 1px!important;color:#7a8493!important;font-size:10px!important;line-height:15px!important}
@media(max-width:650px){.gan-wc-address-grid{grid-template-columns:1fr!important;gap:9px!important}.gan-wc-address-grid label.gan-wc-span-2{grid-column:auto!important}.gan-wc-address-grid input{min-height:52px!important;font-size:14px!important}.gan-wc-address-card{padding:12px!important}}

/* GAN POS 4.5.131 - GAN Commerce-style Philippines cascading address selectors */
.gan-wc-address-grid select{width:100%!important;min-height:48px!important;margin-top:5px!important;border:1px solid #dbe1e8!important;border-radius:12px!important;background:#fff!important;padding:0 13px!important;box-sizing:border-box!important;color:#111827!important;font-size:14px!important;font-family:inherit!important;appearance:auto!important}
.gan-wc-address-grid select:focus{outline:none!important;border-color:#3158d8!important;box-shadow:0 0 0 3px rgba(49,88,216,.10)!important}
.gan-wc-address-grid select:disabled{background:#f1f4f8!important;color:#8a93a1!important;opacity:1!important}
@media(max-width:650px){.gan-wc-address-grid select{min-height:52px!important;font-size:14px!important}}

/* GAN POS 4.5.146 - mobile Orders reservation layout fix */
@media(max-width:800px){
  .gp-table-wrap .widefat tbody td:nth-child(4),
  .gp-table-wrap .widefat tbody td:nth-child(5){
    grid-column:1/-1!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(4){
    padding-top:9px!important;
    padding-bottom:9px!important;
    border-top:1px solid #eef0f3!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(5){
    border-top:1px solid #eef0f3!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(4) .gp-reservation-cell{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    text-align:left!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(4) .gp-reservation-tag{
    flex:0 0 auto!important;
    font-size:8px!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(4) .gp-reservation-cell b{
    min-width:0!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(4) .gp-reservation-cell small{
    white-space:nowrap!important;
    text-align:right!important;
  }
  .gp-table-wrap .widefat tbody td:nth-child(5){
    justify-content:space-between!important;
    align-items:center!important;
  }
}


/* v4.5.170 - Cash register action button spacing */
.gp-register-money-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:14px 0 10px!important;
}
.gp-register-money-actions .gp-btn{
  margin:0!important;
  min-height:46px!important;
  flex:1 1 150px!important;
}
.gp-register-close-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:10px!important;
}
.gp-register-close-actions button{
  margin:0!important;
}
@media (max-width:600px){
  .gp-register-money-actions{
    gap:8px!important;
  }
  .gp-register-money-actions .gp-btn{
    flex:1 1 calc(50% - 4px)!important;
  }
  .gp-register-money-actions .gp-btn:last-child{
    flex-basis:100%!important;
  }
  .gp-register-close-actions{
    gap:8px!important;
  }
  .gp-register-close-actions button{
    width:100%!important;
  }
}


/* v4.5.172 - move end-of-day warning into register description */
.gp-register-close-actions{margin-top:12px}
.gp-endday-warning{margin:0 0 10px;padding:10px 12px;border:1px solid #e3b341;border-radius:10px;background:#fff8df;color:#5f4b00;font-size:13px;line-height:1.45}
.gp-register-close-buttons{display:flex;flex-direction:column;gap:10px;flex:1 1 100%;width:100%;min-width:0}
.gp-register-close-buttons button{display:block;width:100%!important;max-width:none!important;box-sizing:border-box;margin:0!important}


/* v4.5.175 - force full-width shift closing actions and bust cached layout */
.gp-register-close-actions{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:12px 0 0!important;padding:0!important;}
.gp-register-close-buttons{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.gp-register-close-buttons > button#closeshift,
.gp-register-close-buttons > button#closeendday{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;flex:none!important;}

/* v4.5.175 - unified cash movement forms for Money In, Money Out and Remittance */
.gp-register-movement-modal{
  width:100%;
  box-sizing:border-box;
}
.gp-register-movement-modal .gp-product-hero{
  margin-bottom:12px;
}
.gp-register-movement-modal .gp-form-section{
  margin-top:0;
}
.gp-register-movement-modal .gp-section-title{
  margin-bottom:12px;
}
.gp-register-movement-modal .gp-section-title p{
  margin-top:4px;
}
.gp-register-movement-modal input[name="amount"]{
  font-size:20px!important;
  font-weight:700!important;
  min-height:54px!important;
}
.gp-register-movement-modal textarea[name="reason"]{
  min-height:90px!important;
}
.gp-register-movement-modal .gp-form-footer{
  margin-top:12px;
}
@media(max-width:600px){
  .gp-register-movement-modal .gp-product-hero h2{
    font-size:21px;
  }
  .gp-register-movement-modal .gp-form-section{
    padding:12px;
  }
  .gp-register-movement-modal .gp-form-footer{
    padding-top:10px;
  }
  .gp-register-movement-modal .gp-footer-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .gp-register-movement-modal .gp-footer-actions .gp-btn{
    width:100%!important;
    min-height:48px!important;
  }
}
