/* Marlitable responsive hardening 2026-10-09: loaded after legacy styles. */
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,video,svg,canvas{max-width:100%}
.app-shell,.owner-shell,.owner-main,.content,.owner-content,.oa-main,.panel,.guest-content{min-width:0;box-sizing:border-box}
.panel,.table-wrap,.oa-table-wrap{max-width:100%}
.table-wrap,.oa-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.content>*,.owner-content>*,.oa-main>*,.page-grid>*,.stats>*,.owner-dashboard-grid>*{min-width:0}
@media(max-width:700px){
 .app-shell,.owner-shell,.owner-main{margin-left:0!important;width:100%!important;max-width:100%!important;left:auto!important;transform:none!important}
 .content,.owner-content,.oa-main{padding:clamp(12px,3.5vw,20px)!important;width:100%!important;max-width:100%!important}
 .sidebar,.owner-sidebar{max-width:min(290px,86vw)}
 .page-grid,.owner-dashboard-grid,.oa-grid{grid-template-columns:minmax(0,1fr)!important}
 .stats,.owner-stats,.owner-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .form-grid,.table-create-grid{grid-template-columns:minmax(0,1fr)!important}
 .panel-head{flex-wrap:wrap;gap:10px}
 .btn,button{max-width:100%}
 input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0}
 .qr-grid,.kds-grid,.order-cards{grid-template-columns:minmax(0,1fr)!important}
 .status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){.stats,.owner-stats,.owner-kpi-grid,.owner-secondary-stats{grid-template-columns:minmax(0,1fr)!important}.topbar h2,.owner-top h2{font-size:clamp(14px,4.5vw,19px)}}
/* Guest catalogue: card content never competes horizontally with quantity input. */
.guest-body .guest-content{width:100%;max-width:680px;min-width:0}
.guest-body .guest-items{min-width:0}
.guest-body .guest-item{display:grid!important;grid-template-columns:clamp(70px,22vw,94px) minmax(0,1fr)!important;align-items:start!important;gap:10px 12px!important;width:100%;min-width:0;max-width:100%;padding:12px!important}
.guest-body .guest-item .food-visual{grid-column:1;grid-row:1;width:100%!important;height:auto!important;aspect-ratio:1/1;flex-basis:auto!important;min-width:0}
.guest-body .guest-item .item-info{grid-column:2;grid-row:1;min-width:0!important;width:100%;overflow-wrap:anywhere}
.guest-body .guest-item .item-info h4{font-size:clamp(14px,3.7vw,17px);line-height:1.3;overflow-wrap:break-word}
.guest-body .guest-item .item-info p{font-size:12px!important;line-height:1.45;overflow-wrap:break-word}
.guest-body .guest-item .item-info strong{display:block;margin-top:7px;font-size:13px;line-height:1.4}
.guest-body .guest-item .qty{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;align-items:center;width:100%!important;max-width:100%;min-width:0;padding:5px!important;border-radius:12px}
.guest-body .guest-item .qty button{width:44px!important;height:42px!important;min-width:0;display:grid;place-items:center;font-size:20px}
.guest-body .guest-item .qty input{width:100%!important;min-width:0!important;max-width:100%!important;height:42px!important;min-height:0!important;padding:0 5px!important;margin:0!important;border:1px solid #e3ded8!important;border-radius:9px!important;background:#fff!important;text-align:center!important;font-size:16px!important;box-shadow:none!important}
.guest-body .cart-bar{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;width:calc(100% - 24px)!important;max-width:650px;padding:11px 12px!important;gap:10px}
.guest-body .cart-bar>div{min-width:0}
.guest-body .cart-bar button{flex:0 1 auto;min-height:44px;white-space:normal;text-align:center}
.guest-body .guest-spacer{height:calc(115px + env(safe-area-inset-bottom,0px))}
.guest-body .service-strip{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.guest-body .service-strip button{min-width:0;overflow-wrap:break-word;line-height:1.3}
.guest-body .section-title{gap:10px;min-width:0}
.guest-body .section-title h2{font-size:clamp(21px,5.4vw,29px);overflow-wrap:break-word}
@media(max-width:380px){.guest-body .guest-item{grid-template-columns:72px minmax(0,1fr)!important;gap:9px!important;padding:10px!important}.guest-body .guest-item .qty{grid-template-columns:40px minmax(0,1fr) 40px!important}.guest-body .guest-item .qty button{width:40px!important}.guest-body .cart-bar button{font-size:13px;padding:10px!important}}
