/* Shared helpers for compact modals (qty, discount, thermal print, etc.) */
.modal.modal-compact{
  border-radius:clamp(10px,1.4vw,16px);
  box-shadow:0 12px 34px rgba(0,0,0,0.26);
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1.4vw,16px);
}

.modal-compact{
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1.4vw,16px);
}

.modal.modal-compact .title,
.modal-compact .title{
  margin-bottom:clamp(8px,1.2vw,12px);
}

.modal.modal-compact .qty-body,
.modal-compact .qty-body{
  gap:10px;
}

.modal.modal-compact .numpad,
.modal-compact .numpad{
  gap:6px;
}

.modal.modal-compact .qty-actions,
.modal-compact .qty-actions{
  gap:6px;
}

.modal.modal-compact .numpad button{
  padding:clamp(10px, calc(0.75vw + 0.28vh), 16px);
  font-size:clamp(20px, calc(0.75vw + 1.35vh), 32px);
  min-width:clamp(48px, calc(5.5vw + 0.5vh), 68px);
  min-height:clamp(44px, calc(4.1vh + 0.9vw), 68px);
}

.modal.modal-tiny{
  border-radius:10px;
  box-shadow:0 10px 28px rgba(0,0,0,0.22);
  gap:clamp(8px,1.1vw,12px);
}

.modal.modal-tiny .qty-body{ gap:8px; }
.modal.modal-tiny .numpad{ gap:4px; }
.modal.modal-tiny .qty-actions{ gap:6px; }

.modal.modal-tiny .numpad button{
  padding:clamp(8px, calc(0.65vw + 0.24vh), 14px);
  font-size:clamp(18px, calc(0.65vw + 1.1vh), 28px);
  min-width:clamp(44px, calc(5vw + 0.4vh), 64px);
  min-height:clamp(40px, calc(3.6vh + 0.8vw), 64px);
}

.modal-compact--tiny{
  gap:clamp(8px,1.1vw,12px);
}

.modal-compact--tiny .numpad{
  gap:4px;
}

/* Generic numpad layout (used by qty/discount modals) */
.numpad{
  margin-top:1.5vh;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(0.8vh, 1vw, 1.2vh);
}

.numpad button{
  padding:clamp(1.2vh, 1.5vw, 2.2vh);
  border-radius:clamp(1vh, 1.5vw, 1.8vh);
  border:none;
  cursor:pointer;
  background:var(--ok);
  color:#fff;
  font-weight:800;
  font-size:clamp(2.8vh, 3.5vw, 4.5vh);
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:clamp(6vw, 8vw, 10vw);
  min-height:clamp(5vh, 6vh, 8vh);
}

.numpad button:hover{ background:var(--ok-dark); }

.numpad .wide{ grid-column:span 2; }

@media (max-width:600px){
  .numpad button{
    font-size:clamp(24px,6vw,32px);
    min-height:56px;
    padding:16px;
  }
}
