
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.overflow-x-auto{-webkit-overflow-scrolling:touch}
@media (max-width: 900px){
  header > div[class*="max-w"],
  body > div[class*="max-w"].mx-auto:first-child,
  .top-stack{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  header > div[class*="max-w"] > div:last-child,
  .action-wrap{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:.65rem !important;
    width:100%;
    justify-content:flex-start !important;
  }
  header a.text-sm.underline,
  header button,
  .mobile-chip{
    text-decoration:none;
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:.85rem;
    padding:.6rem .85rem;
    line-height:1.1;
  }
  .mobile-stack,
  .mobile-stack > div,
  .mobile-stack > form,
  .delivery-card .mt-4.flex.gap-3,
  .cashier-actions,
  .meta-actions,
  .form-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .mobile-stack > *,
  .delivery-card .mt-4.flex.gap-3 > *,
  .cashier-actions > *,
  .meta-actions > *,
  .form-actions > *{
    width:100%;
  }
  .delivery-card .flex.items-start.justify-between.gap-4,
  .mobile-card-head{
    flex-direction:column;
    align-items:flex-start;
  }
  table{min-width:640px}
}
@media (max-width: 640px){
  body{overflow-x:hidden}
  .page-pad, main, .container-mobile{padding-left:1rem !important;padding-right:1rem !important}
  .mobile-grid-1{grid-template-columns:1fr !important}
  .mobile-grid-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .mobile-text-sm{font-size:.875rem !important}
  .mobile-hide{display:none !important}
  .mobile-full{width:100% !important}
  .mobile-sticky-bottom{position:sticky;bottom:.75rem;z-index:30}
}


/* waiter mobile fixes */
.waiter-panels,.waiter-panel,.waiter-item-card,.waiter-account-row{max-width:100%}
.waiter-panel{overflow:hidden}
.waiter-item-row,.waiter-account-row{min-width:0}
.waiter-comment-input{min-width:0}
@media (max-width: 640px){
  .waiter-panel{padding:1rem !important}
  .waiter-panel > .flex.items-center.justify-between.gap-3{align-items:flex-start;flex-direction:column}
  .waiter-item-row,.waiter-account-row{flex-direction:column !important;align-items:stretch !important}
  .waiter-item-row > img,.waiter-account-row > img{width:100% !important;height:8rem !important;max-width:none;border-radius:.9rem}
  .waiter-qty-row{flex-wrap:wrap;align-items:stretch !important}
  .waiter-qty-row form{flex:1 1 calc(50% - .5rem)}
  .waiter-qty-row form.ml-auto{flex:1 1 100%;margin-left:0 !important}
  .waiter-qty-row button{width:100% !important}
  .waiter-qty-value{flex:1 1 100%;min-width:0 !important;padding:.4rem 0;border-radius:.75rem;background:#f8fafc}
  .waiter-comment-row{flex-direction:column;align-items:stretch !important}
  .waiter-comment-row .save-state{align-self:flex-end}
}


/* waiter native-like compact controls */
.waiter-touch-btn{touch-action:manipulation}
.waiter-thumb,.waiter-thumb-sm{background:#fff}
@media (max-width: 640px){
  .waiter-item-card{padding:.85rem !important;border-radius:1rem}
  .waiter-item-row{display:grid !important;grid-template-columns:56px minmax(0,1fr);gap:.75rem !important;align-items:start !important}
  .waiter-item-row > img.waiter-thumb{width:56px !important;height:56px !important;max-width:56px !important;border-radius:.8rem !important}
  .waiter-account-row{display:grid !important;grid-template-columns:48px minmax(0,1fr);gap:.75rem !important;align-items:start !important}
  .waiter-account-row > img.waiter-thumb-sm{width:48px !important;height:48px !important;max-width:48px !important;border-radius:.75rem !important}
  .waiter-qty-row.waiter-touch-row{display:grid !important;grid-template-columns:48px minmax(42px,auto) 48px minmax(0,1fr);gap:.5rem !important;align-items:center !important}
  .waiter-qty-row.waiter-touch-row form{flex:none !important}
  .waiter-qty-row.waiter-touch-row form.ml-auto{grid-column:1 / -1;margin-left:0 !important}
  .waiter-qty-row.waiter-touch-row .waiter-qty-value{padding:.6rem 0;font-size:1rem}
  .waiter-touch-btn{min-height:44px;font-size:.95rem}
  .waiter-comment-input{font-size:16px !important;line-height:1.2}
  .waiter-comment-row .save-state{font-size:11px !important}
}


.waiter-line-total{min-width:72px;text-align:right}
.waiter-item-card .comment-input{width:100%;min-width:0}
@media (max-width:640px){
  .waiter-item-row,.waiter-account-row{align-items:flex-start}
  .waiter-touch-row{flex-wrap:wrap}
  .waiter-line-total{width:100%;text-align:left;margin-top:.5rem}
}
