.customer-quantity-open{overflow:hidden}
.customer-quantity-modal[hidden],.customer-quantity-modal [hidden]{display:none!important}
.customer-quantity-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}
.customer-quantity-modal.is-open{opacity:1;visibility:visible}
.customer-quantity-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(36,20,46,.58);backdrop-filter:blur(5px)}
.customer-quantity-dialog{position:relative;width:min(32rem,100%);max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid rgba(96,48,133,.18);border-radius:18px;background:#fff;box-shadow:0 28px 75px rgba(35,16,50,.3);transform:translateY(10px) scale(.985);transition:transform .16s ease}
.customer-quantity-modal.is-open .customer-quantity-dialog{transform:none}
.customer-quantity-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #eee6f1}
.customer-quantity-dialog>header h2{margin:0;color:#26172d;font-size:1.25rem}
.customer-quantity-close{display:grid;width:40px;height:40px;place-items:center;border:1px solid #e6dce9;border-radius:11px;background:#fff;color:#47364d;font-size:1.35rem;cursor:pointer}
.customer-quantity-body{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:20px;overflow-y:auto}
.customer-quantity-preview{display:grid;width:52px;height:52px;overflow:hidden;place-items:center;border-radius:13px;background:linear-gradient(145deg,#f2e7f7,#e9daf3);color:#603085;font-size:1.25rem;font-weight:900}
.customer-quantity-preview.has-image{border:1px solid #eadfed;background:#fff}
.customer-quantity-preview img{width:100%;height:100%;object-fit:cover}
.customer-quantity-product{display:grid;min-width:0;gap:2px}
.customer-quantity-product strong{overflow:hidden;color:#2c1c33;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}
.customer-quantity-product small{color:#7d6d83;font-size:.76rem}
.customer-quantity-field{display:grid;grid-column:1/-1;gap:8px;margin-top:8px}
.customer-quantity-field>label,.customer-measurement-field>label{color:#3c2c43;font-size:.76rem;font-weight:750}
.customer-quantity-control{display:grid;grid-template-columns:48px minmax(64px,1fr) 48px minmax(92px,34%);overflow:hidden;border:1px solid rgba(96,48,133,.25);border-radius:12px}
.customer-quantity-control button{min-width:0;min-height:50px;border:0;background:#f6effb;color:#6526b7;font-size:1.35rem;font-weight:900;cursor:pointer}
.customer-quantity-control button:first-child{border-right:1px solid #e7dced}
.customer-quantity-control button:nth-child(3){border-left:1px solid #e7dced}
.customer-quantity-control button:hover:not(:disabled),.customer-quantity-control button:focus-visible{background:#6526b7;color:#fff}
.customer-quantity-control button:disabled{color:#b8a8c1;cursor:not-allowed}
.customer-quantity-control input,.customer-quantity-control select{width:100%;min-width:0;min-height:50px;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#2d2030;font:inherit;font-size:1rem;font-weight:800;text-align:center;outline:0}
.customer-quantity-control select{border-left:1px solid #e7dced;background:#f6effb;color:#6526b7;font-size:.8rem}
.customer-quantity-control input::-webkit-inner-spin-button,.customer-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.customer-measurement-field{display:grid;gap:6px;margin-top:4px}
.customer-measurement-field>div{display:flex;overflow:hidden;border:1px solid #dfd2e4;border-radius:10px}
.customer-measurement-field input{min-width:0;flex:1;padding:10px 12px;border:0;outline:0}
.customer-measurement-field span{display:grid;min-width:70px;place-items:center;background:#f6effb;color:#6526b7;font-size:.78rem;font-weight:750}
.customer-quantity-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}
.customer-quantity-preset{min-width:42px;min-height:32px;padding:5px 10px;border:1px solid #ddcfe4;border-radius:999px;background:#fff;color:#603085;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.customer-quantity-preset:hover,.customer-quantity-preset.is-selected{border-color:#603085;background:#f3e9f8}
.customer-quantity-preset:disabled{opacity:.4;cursor:not-allowed;border-color:#ddcfe4;background:rgba(255,255,255,.4)}
.customer-quantity-feedback{min-height:18px;color:#5b3a70;font-size:.72rem;text-align:center}
.customer-quantity-feedback.is-error{color:#a33b49}
.customer-quantity-dialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #eee6f1;background:#fdfbfd}
.customer-quantity-dialog>footer button{min-width:120px;min-height:44px;padding:9px 16px;border-radius:10px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}
.customer-quantity-cancel{border:1px solid #ded3e3;background:#fff;color:#4c3b53}
.customer-quantity-confirm{border:1px solid #603085;background:#603085;color:#fff}
.customer-quantity-confirm:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:520px){
    .customer-quantity-body{padding:16px}
    .customer-quantity-control{grid-template-columns:44px minmax(54px,1fr) 44px}
    .customer-quantity-control select{grid-column:1/-1;border-top:1px solid #e7dced;border-left:0}
    .customer-quantity-dialog>footer{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px}
    .customer-quantity-dialog>footer button{min-width:0}
}

@media(prefers-reduced-motion:reduce){
    .customer-quantity-modal,.customer-quantity-dialog{transition:none}
}
