/* Professional cashier dialogs: loyalty and payment */
.modal:has(.pos-customer-loyalty-popup),
.modal:has(.pos-payment-popup.professional){
  width:min(820px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid #bdd1ca;
  border-radius:18px;
  background:#f7faf9;
  box-shadow:0 28px 80px rgba(5,35,29,.32);
}
.modal:has(.pos-customer-loyalty-popup) .modal-head,
.modal:has(.pos-payment-popup.professional) .modal-head{
  position:static;
  min-height:64px;
  padding:15px 20px!important;
  border-bottom:1px solid #d9e5e1;
  background:#fff;
}
.modal:has(.pos-customer-loyalty-popup) .modal-head h2,
.modal:has(.pos-payment-popup.professional) .modal-head h2{
  color:#173a31;
  font-size:19px!important;
  letter-spacing:-.015em;
}
.modal:has(.pos-customer-loyalty-popup) .modal-close,
.modal:has(.pos-payment-popup.professional) .modal-close{
  width:34px!important;
  height:34px!important;
  border:1px solid #dce7e3;
  background:#edf4f1;
  color:#294d43;
}
.modal:has(.pos-customer-loyalty-popup) .modal-body,
.modal:has(.pos-payment-popup.professional) .modal-body{padding:18px!important;background:#f7faf9}
.modal:has(.pos-customer-loyalty-popup) .modal-foot,
.modal:has(.pos-payment-popup.professional) .modal-foot{
  position:static;
  padding:13px 18px!important;
  border-top:1px solid #dbe6e2;
  background:#fff;
}
.modal:has(.pos-payment-popup.professional) .modal-foot .btn{
  min-width:118px;
  min-height:44px!important;
  border-radius:10px;
  font-weight:800;
}

.pos-customer-loyalty-popup{gap:14px}
.pos-customer-loyalty-popup>header{
  padding:17px 18px;
  border-color:#cbe2da;
  border-radius:13px;
  background:linear-gradient(120deg,#e9f7f2,#f5fbf8);
}
.pos-customer-loyalty-popup>header>span{
  width:46px;height:46px;border-radius:12px;
  background:#fff0bf;color:#a66e00;
  box-shadow:0 5px 14px rgba(166,110,0,.12);
}
.pos-customer-loyalty-popup header small{font-size:9px;letter-spacing:.13em}
.pos-customer-loyalty-popup header h3{font-size:19px;color:#183a31}
.pos-customer-loyalty-stats{gap:10px}
.pos-customer-loyalty-stats article{
  min-height:82px;
  align-content:center;
  padding:14px 15px;
  border-color:#d7e4df;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(17,70,56,.035);
}
.pos-customer-loyalty-stats small{font-size:10px;font-weight:700}
.pos-customer-loyalty-stats b{font-size:17px;color:#08745b}
.pos-customer-redeem-choice{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px 120px;
  gap:10px;
  min-height:76px;
  padding:12px 14px;
  border:1px solid #e3e8bd;
  border-radius:13px;
  background:#f8fae8;
}
.pos-customer-redeem-choice>span{padding-left:2px;font-size:13px;color:#263d36}
.pos-customer-redeem-choice label{display:block}
.pos-customer-redeem-choice label b{
  display:flex;
  width:100%;
  height:50px;
  justify-content:center;
  gap:12px;
  border:1px solid #cad7d2;
  border-radius:10px;
  background:#fff;
  color:#263f37;
  font-size:15px;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
}
.pos-customer-redeem-choice label:hover b{border-color:#8eb9ab;transform:translateY(-1px)}
.pos-customer-redeem-choice input:checked+b{
  border-color:#188264;
  background:#158163;
  color:#fff;
  box-shadow:0 6px 16px rgba(14,108,82,.18),0 0 0 3px rgba(24,130,100,.12);
}
.pos-customer-redeem-choice kbd{
  min-width:25px;height:25px;border-color:#c4d2cd;background:#f2f6f4;color:#3e5b52;
}
.pos-customer-redeem-choice input:checked+b kbd{border-color:#8bc9b7;background:#fff;color:#0c674f}
.pos-customer-redeem-amount{padding:14px 16px;border-radius:12px}
.pos-customer-redeem-amount input{height:46px;border-color:#bcd4cc;border-radius:9px}

.pos-payment-popup.professional{gap:14px;border:0;border-radius:0;background:transparent}
.pos-payment-popup.professional .pos-payment-total{
  min-height:92px;
  padding:17px 20px;
  border:1px solid #b9d7cd;
  border-radius:13px;
  background:linear-gradient(120deg,#e3f4ee,#f1faf7);
  color:#153f34;
}
.pos-payment-popup.professional .pos-payment-total small{color:#55736a;font-size:10px}
.pos-payment-popup.professional .pos-payment-total span{font-size:12px}
.pos-payment-popup.professional .pos-payment-total strong{color:#086d54;font-size:30px}
.pos-payment-popup.professional fieldset{
  padding:14px;
  border:1px solid #d9e5e1;
  border-radius:13px;
  background:#fff;
}
.pos-payment-popup.professional legend{padding:0 7px;color:#45645a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pos-payment-popup.professional .pos-popup-methods{gap:10px}
.pos-payment-popup.professional .pos-popup-methods span{
  min-height:68px;
  border-color:#d2dfda;
  border-radius:11px;
  background:#fbfdfc;
}
.pos-payment-popup.professional .pos-popup-methods input:checked+span{
  border-color:#147b60;
  background:#e7f6f0;
  color:#075c47;
  box-shadow:0 0 0 3px rgba(20,123,96,.11);
}
.pos-payment-popup.professional .pos-payment-fields{
  padding:14px;
  border:1px solid #d9e5e1;
  border-radius:13px;
  background:#fff;
}
.pos-payment-popup.professional .pos-payment-fields input{height:48px;border-radius:9px;background:#fff;font-size:17px}
.pos-payment-popup.professional .pos-payment-balance{
  min-height:67px;
  padding:13px 16px;
  border:1px solid #bfd9d0;
  border-radius:12px;
  background:#e9f6f1;
  color:#173f34;
}
.pos-payment-popup.professional .pos-payment-balance strong{color:#087158;font-size:27px}

@media(max-width:640px){
  .modal:has(.pos-customer-loyalty-popup),.modal:has(.pos-payment-popup.professional){width:calc(100vw - 10px);border-radius:13px}
  .modal:has(.pos-customer-loyalty-popup) .modal-body,.modal:has(.pos-payment-popup.professional) .modal-body{padding:11px!important}
  .pos-customer-loyalty-stats{grid-template-columns:1fr 1fr}
  .pos-customer-loyalty-stats article:last-child{grid-column:1/-1}
  .pos-customer-redeem-choice{grid-template-columns:1fr 1fr}
  .pos-customer-redeem-choice>span{grid-column:1/-1;padding:2px 0 4px}
  .pos-popup-methods{grid-template-columns:1fr!important}
}

.modal:has(.pos-customer-lookup){display:grid;grid-template-rows:auto auto auto;width:min(520px,calc(100vw - 24px));height:auto;overflow:hidden;border:1px solid #c8dad4;border-radius:16px;background:#f7faf9}
.modal:has(.pos-customer-lookup) .modal-head{position:static;padding:16px 20px!important;background:#fff}
.modal:has(.pos-customer-lookup) .modal-body{padding:16px!important;overflow:visible;background:#f7faf9}
.modal:has(.pos-customer-lookup) .modal-foot{position:static;padding:11px 16px!important;background:#fff}
.modal:has(.pos-customer-lookup) .modal-foot .btn{min-width:110px;min-height:40px!important;border-radius:9px}
.pos-customer-lookup{display:grid;gap:12px}
.pos-phone-lookup-label{display:grid;gap:7px;color:#35534a;font-size:11px;font-weight:800}
.pos-lookup-search{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border:1px solid #9cc8ba;border-radius:11px;background:#fff;box-shadow:0 0 0 3px rgba(18,130,98,.07)}
.pos-lookup-search>span{color:#26745f;font-size:18px}.pos-lookup-search input{width:100%;height:46px;border:0;outline:0;background:transparent;font-size:14px}
.pos-customer-lookup-result{min-height:0}
.pos-phone-match{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:76px;padding:10px 12px;border:1px solid #88c7b4;border-radius:12px;background:#e7f7f1;color:#203a32;text-align:left;cursor:pointer;box-shadow:0 5px 15px rgba(15,105,79,.08)}
.pos-phone-match>span:nth-child(2){display:grid;gap:4px}.pos-phone-match b{font-size:14px}.pos-phone-match small{color:#61776f;font-size:10px}.pos-phone-match strong{color:#087158;font-size:11px}.pos-phone-match:hover,.pos-phone-match:focus{outline:0;border-color:#0f8062;box-shadow:0 0 0 3px rgba(15,128,98,.13)}
.pos-phone-create{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #e4d6b4;border-radius:11px;background:#fffaf0}.pos-phone-create>span{display:grid;gap:3px}.pos-phone-create b{color:#604b19;font-size:12px}.pos-phone-create small{color:#7e7255;font-size:9px}.pos-phone-create button{min-height:38px;padding:8px 12px;border:1px solid #176f58;border-radius:8px;background:#13765b;color:#fff;font:800 11px Manrope,sans-serif;white-space:nowrap;cursor:pointer}.pos-phone-create button:hover,.pos-phone-create button:focus{outline:0;background:#0b6149;box-shadow:0 0 0 3px rgba(19,118,91,.14)}
.pos-phone-create button kbd{display:inline-grid;place-items:center;margin-left:7px;padding:2px 6px;border:1px solid rgba(255,255,255,.5);border-radius:5px;background:rgba(255,255,255,.14);color:#fff;font:800 9px Manrope,sans-serif}
.pos-customer-lookup-list{position:static!important;inset:auto!important;transform:none!important;width:auto!important;min-height:0;max-height:none;padding:5px;border:1px solid #d5e3de;border-radius:12px;background:#fff;box-shadow:none!important;overflow:auto}
.pos-customer-lookup-list button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:60px;padding:8px 11px;border:0;border-bottom:1px solid #e7efec;background:#fff;color:#203a32;text-align:left;cursor:pointer}
.pos-customer-lookup-list button:last-child{border-bottom:0}.pos-customer-lookup-list button:hover,.pos-customer-lookup-list button.keyboard-active{border-radius:8px;background:#e9f7f2}
.pos-customer-lookup-list button>span:nth-child(2){display:grid;gap:3px}.pos-customer-lookup-list button b{font-size:13px}.pos-customer-lookup-list button small{color:#71837d;font-size:10px}.pos-customer-lookup-list button strong{color:#087158;font-size:11px}
.pos-customer-avatar{display:grid!important;place-items:center;width:38px;height:38px;border-radius:10px;background:#27ad83;color:#fff;font-size:18px;font-weight:800}
@media(max-width:640px){.modal:has(.pos-customer-lookup){width:calc(100vw - 12px);border-radius:12px}.pos-phone-match{grid-template-columns:38px minmax(0,1fr)}.pos-phone-match>strong{grid-column:2}.pos-phone-create{align-items:stretch;flex-direction:column}.pos-phone-create button{width:100%}}

/* Compact Add Customer popup; do not inherit the full POS workspace layout. */
.pos-workspace-modal.pos-customer-create-modal{display:grid!important;grid-template-rows:auto minmax(0,1fr);width:min(620px,calc(100vw - 28px))!important;height:auto!important;max-height:calc(100vh - 28px)!important;overflow:hidden}
.pos-workspace-modal.pos-customer-create-modal>.modal-head{position:static;padding:14px 18px!important}
.pos-workspace-modal.pos-customer-create-modal>.modal-body{display:block!important;min-height:0;padding:0!important;overflow:auto!important;background:#f7faf9}
.pos-workspace-modal.pos-customer-create-modal>.modal-foot{display:none!important}
.pos-workspace-modal.pos-customer-create-modal .pos-popup-workspace{display:block!important;min-height:0!important;padding:12px!important;background:#f7faf9}
.pos-workspace-modal.pos-customer-create-modal .pos-customer-editor{display:block!important;flex:none!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;border:1px solid #d3e2dd;border-radius:12px;box-shadow:none}
.pos-workspace-modal.pos-customer-create-modal .pos-customer-editor>.pos-panel-head{display:none!important}
.pos-workspace-modal.pos-customer-create-modal .pos-customer-account-note{margin:12px 14px 0!important;padding:9px 11px!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;padding:13px 14px 15px!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-form label{display:grid!important;grid-column:auto!important;gap:5px!important;margin:0!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-form label.wide{grid-column:1/-1!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-form input{width:100%!important;height:40px!important;margin:0!important;padding:0 11px!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-form textarea{width:100%!important;min-height:65px!important;margin:0!important;padding:9px 11px!important}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin:0!important;padding:11px 14px!important;border-top:1px solid #e0e9e6;background:#fff}
.pos-workspace-modal.pos-customer-create-modal .pos-inline-actions button{flex:0 0 auto!important;width:auto!important;min-width:105px!important;min-height:38px!important;margin:0!important;padding:0 14px!important}
@media(max-width:640px){.pos-workspace-modal.pos-customer-create-modal{width:calc(100vw - 10px)!important;max-height:calc(100vh - 10px)!important}.pos-workspace-modal.pos-customer-create-modal .pos-popup-workspace{padding:8px!important}.pos-workspace-modal.pos-customer-create-modal .pos-inline-form{grid-template-columns:1fr!important}.pos-workspace-modal.pos-customer-create-modal .pos-inline-form label.wide{grid-column:auto!important}.pos-workspace-modal.pos-customer-create-modal .pos-inline-actions button{flex:1!important}}

.modal.pos-customer-create-direct{width:min(560px,calc(100vw - 24px))!important;height:auto!important;max-height:calc(100vh - 24px)!important;overflow:auto;border-radius:15px}
.pos-customer-create-direct>.modal-head{position:static;padding:14px 18px!important}
.pos-customer-create-direct>.modal-body{padding:14px 16px!important;background:#f7faf9}
.pos-customer-create-direct>.modal-foot{position:static;padding:11px 16px!important;background:#fff}
.pos-customer-create-direct>.modal-foot .btn{min-width:105px;min-height:39px!important;border-radius:9px}
.pos-customer-create-form{display:grid;gap:13px}
.pos-customer-create-note{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #cde5dc;border-radius:10px;background:#edf8f4;color:#245e4e}
.pos-customer-create-note>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;background:#168365;color:#fff;font-weight:900}
.pos-customer-create-note>div{display:grid;gap:2px}.pos-customer-create-note b{font-size:11px}.pos-customer-create-note small{color:#617970;font-size:9px}
.pos-customer-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}
.pos-customer-create-fields label{display:grid;gap:5px;margin:0;color:#31483f;font-size:11px;font-weight:750}.pos-customer-create-fields label.wide{grid-column:1/-1}.pos-customer-create-fields label i{color:#c9433d;font-style:normal}
.pos-customer-create-fields input,.pos-customer-create-fields textarea{width:100%;margin:0;padding:0 11px;border:1px solid #c8d9d3;border-radius:9px;background:#fff;color:#20342d;font:inherit;font-size:12px}
.pos-customer-create-fields input{height:40px}.pos-customer-create-fields textarea{min-height:64px;padding-top:9px;resize:vertical}
.pos-customer-create-fields input:focus,.pos-customer-create-fields textarea:focus{outline:0;border-color:#178165;box-shadow:0 0 0 3px rgba(23,129,101,.11)}
@media(max-width:520px){.modal.pos-customer-create-direct{width:calc(100vw - 10px)!important}.pos-customer-create-fields{grid-template-columns:1fr}.pos-customer-create-fields label.wide{grid-column:auto}}

.modal:has(.pos-price-variation-picker){width:min(540px,calc(100vw - 20px))}
.pos-price-variation-picker{display:grid;gap:12px}.pos-price-variation-picker header{padding:12px 14px;border:1px solid #cfe3dc;border-radius:11px;background:#edf8f4}.pos-price-variation-picker header small{color:#34705f;font-size:9px;font-weight:900;letter-spacing:.11em}.pos-price-variation-picker header h3{margin:4px 0 2px;color:#173d32;font-size:18px}.pos-price-variation-picker header p{margin:0;color:#657b73;font-size:10px}
.pos-price-variation-list{display:grid;gap:7px}.pos-price-variation-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:60px;padding:9px 13px;border:1px solid #d2dfda;border-radius:10px;background:#fff;color:#263e36;text-align:left;cursor:pointer}.pos-price-variation-list button>span{display:grid;gap:3px}.pos-price-variation-list button b{color:#087158;font-size:19px}.pos-price-variation-list button small{color:#71817c;font-size:9px}.pos-price-variation-list button strong{color:#58736a;font-size:10px}.pos-price-variation-list button:hover,.pos-price-variation-list button:focus,.pos-price-variation-list button.keyboard-active{outline:0;border-color:#138062;background:#e9f7f2;box-shadow:0 0 0 3px rgba(19,128,98,.11)}.pos-price-variation-list button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48}.pos-price-variation-help{color:#71817c;font-size:9px}

.pos-workspace-modal.pos-receive-stock-modal{display:grid!important;grid-template-rows:auto minmax(0,1fr);width:min(1180px,calc(100vw - 24px))!important;height:min(760px,calc(100vh - 24px))!important;overflow:hidden}
.pos-receive-stock-modal>.modal-head{position:static;padding:14px 18px!important}.pos-receive-stock-modal>.modal-body{display:block!important;min-height:0;padding:0!important;overflow:hidden!important}.pos-receive-stock-modal>.modal-foot{display:none!important}
.pos-receive-stock-modal .pos-popup-workspace{display:block!important;height:100%;min-height:0;background:#f7faf9}
.pos-receive-stock-modal .pos-receive-editor{display:flex!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;flex-direction:column!important;background:#fff;overflow:hidden!important}
.pos-receive-stock-modal .pos-panel-head{flex:0 0 auto;padding:13px 16px!important}.pos-receive-stock-modal .pos-receive-reference{flex:0 0 auto;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 16px!important;padding:13px 16px!important}.pos-receive-stock-modal .pos-receive-reference p{grid-column:1/-1!important;padding:8px 10px;border-radius:8px;background:#f0f6f3}
.pos-receive-stock-modal .pos-receive-labels{display:grid!important;flex:0 0 auto}.pos-receive-stock-modal .pos-receive-rows{position:relative;z-index:20;flex:1 1 auto!important;min-height:90px!important;max-height:none!important;overflow:visible!important}.pos-receive-stock-modal .pos-receive-results,.pos-receive-stock-modal .pos-supplier-results{z-index:500!important}.pos-receive-stock-modal .pos-bulk-add{position:relative;z-index:2;flex:0 0 auto;padding:9px 14px!important}.pos-receive-stock-modal .pos-inline-actions{position:relative!important;z-index:2!important;display:flex!important;flex:0 0 auto;justify-content:flex-end!important;gap:8px!important;padding:11px 15px!important;background:#fff;pointer-events:auto!important}.pos-receive-stock-modal .pos-inline-actions button{position:relative;pointer-events:auto!important}
@media(max-width:760px){.pos-workspace-modal.pos-receive-stock-modal{width:calc(100vw - 8px)!important;height:calc(100vh - 8px)!important}.pos-receive-stock-modal .pos-receive-reference{grid-template-columns:1fr!important}.pos-receive-stock-modal .pos-receive-reference p{grid-column:auto!important}.pos-receive-stock-modal .pos-receive-labels{display:none!important}}

/* Compact Create/Edit Product popup. */
.pos-workspace-modal.pos-product-editor-modal{display:grid!important;grid-template-rows:auto minmax(0,1fr);width:min(760px,calc(100vw - 24px))!important;height:auto!important;max-height:calc(100vh - 24px)!important;overflow:hidden}
.pos-product-editor-modal>.modal-head{position:static;padding:14px 18px!important}.pos-product-editor-modal>.modal-body{display:block!important;min-height:0;padding:0!important;overflow:auto!important;background:#f7faf9}.pos-product-editor-modal>.modal-foot{display:none!important}
.pos-product-editor-modal .pos-popup-workspace{display:block!important;min-height:0!important;padding:12px!important;background:#f7faf9}
.pos-product-editor-modal .pos-product-editor{display:block!important;width:100%!important;min-height:0!important;margin:0!important;border:1px solid #cfdfda!important;border-radius:12px!important;background:#fff;overflow:hidden!important;box-shadow:0 8px 24px rgba(20,63,52,.07)}
.pos-product-editor-modal .pos-product-editor>.pos-panel-head{padding:12px 15px!important;background:#f2f8f5}.pos-product-editor-modal .pos-product-editor>.pos-panel-head h3{font-size:17px!important}
.pos-product-editor-modal .pos-product-editor>.pos-inline-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 13px!important;padding:14px 15px!important}
.pos-product-editor-modal .pos-product-editor>.pos-inline-form label{display:grid!important;grid-column:auto!important;gap:5px!important;margin:0!important}.pos-product-editor-modal .pos-product-editor>.pos-inline-form label.wide{grid-column:1/-1!important}
.pos-product-editor-modal .pos-product-editor>.pos-inline-form input,.pos-product-editor-modal .pos-product-editor>.pos-inline-form select{width:100%!important;height:40px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important}
.pos-product-editor-modal .pos-product-editor>.pos-inline-form label>small{min-height:12px;line-height:1.25}
.pos-product-editor-modal .pos-product-editor>.pos-inline-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;padding:11px 15px!important;background:#fff}
.pos-product-editor-modal .pos-product-editor>.pos-inline-actions button{flex:0 0 auto!important;width:auto!important;min-width:110px!important;min-height:39px!important;margin:0!important;padding:0 16px!important}
@media(max-width:620px){.pos-workspace-modal.pos-product-editor-modal{width:calc(100vw - 8px)!important;max-height:calc(100vh - 8px)!important}.pos-product-editor-modal .pos-popup-workspace{padding:7px!important}.pos-product-editor-modal .pos-product-editor>.pos-inline-form{grid-template-columns:1fr!important}.pos-product-editor-modal .pos-product-editor>.pos-inline-form label.wide{grid-column:auto!important}.pos-product-editor-modal .pos-product-editor>.pos-inline-actions button{flex:1!important}}
.pos-receive-submit-status{flex:0 0 auto;margin:0;padding:9px 15px;border-top:1px solid #dfe9e5;background:#eef7f3;color:#315b4f;font-size:11px;font-weight:700}.pos-receive-submit-status.error{border-color:#efd2cd;background:#fff2ef;color:#a43b32}.pos-receive-submit-status.success{border-color:#bfe2d4;background:#eaf8f2;color:#087158}.pos-receive-submit-status.hidden{display:none}
