﻿/* Shared touch and mobile layouts. Keep wide data inside scrollable regions. */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;scroll-padding-top:80px}*,*::before,*::after{box-sizing:inherit}
img,svg,video{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent }
.responsive-table,.table-scroll,#reportDiv{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.responsive-table:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}
.responsive-table table{width:100%;min-width:480px}.responsive-table.compact-table table{min-width:340px}
.basic-page{margin:0;padding:20px;font-family:'Segoe UI',Arial,sans-serif}.basic-content{max-width:1100px;margin:auto;min-width:0}
.signup-page{overflow:auto!important;min-height:100vh;align-items:flex-start!important;padding:24px 16px!important}
.signup-page .login-card{width:100%;max-width:460px;margin:auto;padding:26px;border-radius:18px;background:#fff;color:#172b46;box-shadow:0 16px 45px #08122955}
.signup-page .btn-login{width:100%;min-height:48px;background:#2563eb;color:white}.signup-page input{font-size:16px;min-height:46px}
@media(max-width:1024px){
 body.pos-page #flptable{padding:12px;gap:10px}body.pos-page #businessBar{flex-direction:row}
 .admin-main{min-width:0}.admin-top{gap:12px;flex-wrap:wrap}
}
@media(max-width:768px){
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important;max-width:100%;min-height:44px}
 input[type=checkbox],input[type=radio]{width:22px;height:22px;flex-shrink:0}
 button,.btn,.btn-back,.btn-logout,.back-btn,.button-link,.nav-current{min-height:44px;touch-action:manipulation}
 h1,h2,h3,.item-name,.item-message,.waiter-text,.readyRow,.info,.kot-header{overflow-wrap:anywhere}
 .item-header,.item-top{flex-wrap:wrap;gap:12px;align-items:flex-start}.item-header>div:first-child,.item-top>.item-name{flex:1 1 100%;min-width:0}
 .qty-controls{flex-wrap:wrap;gap:6px;max-width:100%}.qty-controls .qty-btn{width:44px;height:44px;flex:0 0 44px}.qty-controls .qty-box{width:48px;height:44px;margin:0}
 .qty-controls .btn-update,.qty-controls .btn-remove{min-height:44px;padding:8px;font-size:14px}
 .item-list,.order-list{margin:0;padding:12px}.item-row,.order-item{min-width:0}.item-name{white-space:normal}
 .top-bar{position:sticky!important;height:auto!important;min-height:56px;flex-wrap:wrap;gap:8px;padding:8px 12px!important}.top-bar-left{min-width:0;overflow-wrap:anywhere}.top-bar-right{display:flex;gap:8px;flex-wrap:wrap}.top-bar-right a{display:inline-flex;align-items:center;margin:0;padding:8px 12px}
 .item-list-page{padding-top:0!important;padding-bottom:110px!important}
 .bottom-bar{flex-wrap:wrap;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;z-index:5100}.bottom-bar button{flex:1 1 auto;padding:10px 12px;font-size:14px}
 body.order-page #businessBar{display:none}body.order-page main{padding-bottom:110px}
 body.pos-page #topHeader{height:60px;padding:8px 12px;gap:12px}#topHeader>span{min-width:0;overflow-wrap:anywhere;font-size:16px}
 #menuBtn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;color:inherit;border:0;flex-shrink:0}
 #menuBox{max-width:calc(100vw - 24px);min-width:0;width:240px;top:62px}#menuBox a{font-size:16px;padding:13px 16px}
 body.pos-page main{padding-top:68px;padding-bottom:100px}body.pos-page #businessBar{display:flex;height:auto;min-height:72px;flex-direction:row;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));font-size:18px}
 body.pos-page #businessAmount{min-width:0;flex:1;margin:0;padding:10px;font-size:20px;overflow-wrap:anywhere}body.pos-page #syncBtn{font-size:16px;padding:10px 14px;flex-shrink:0}
 body.pos-page .tableBtn{flex:0 0 calc((100% - 20px)/3);min-width:0;overflow-wrap:anywhere}
 .mobile-kot-page{padding:0!important}.mobile-kot-page .header{height:auto;min-height:72px;gap:8px;padding:10px 12px;flex-wrap:wrap}.mobile-kot-page .headerLeft{flex:1;min-width:0}.mobile-kot-page .logo{font-size:20px}.mobile-kot-page .user{overflow-wrap:anywhere}
 .mobile-kot-page #notifyBell{position:static;display:flex;align-items:center;justify-content:center;min-height:44px;font-size:22px;flex-shrink:0}.mobile-kot-page .logout{width:auto;min-width:70px;margin:0;padding:8px;font-size:14px}
 .mobile-kot-page #readyPanel{width:calc(100% - 24px);max-width:360px;right:12px;top:80px;max-height:60vh}
 .mobile-kot-page .content{padding:12px 12px calc(100px + env(safe-area-inset-bottom))}.mobile-kot-page .footer{height:auto;min-height:64px;padding-bottom:env(safe-area-inset-bottom);z-index:1000}.mobile-kot-page .footer button{min-width:0;min-height:64px;font-size:14px;white-space:normal}
 .mobile-kot-page .card{min-width:0;padding:14px}.mobile-kot-page #tableArea{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.mobile-kot-page .tbl{overflow-wrap:anywhere;height:52px;min-height:48px;padding:4px;border-radius:6px}.mobile-kot-page #tableArea .tableNo{font-size:16px;line-height:1.15}
 .mobile-kot-page .info,.mobile-kot-page .buttons{flex-wrap:wrap;gap:10px}.mobile-kot-page .buttons .btn{flex:1 1 120px;font-size:16px}.mobile-kot-page .total{font-size:22px;overflow-wrap:anywhere}
 .mobile-kot-page .plus,.mobile-kot-page .minus,.mobile-kot-page .remove{width:44px;height:44px}.mobile-kot-page #tblItems td{overflow-wrap:anywhere}
 .kitchen-page .header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px}.kitchen-page .header .logo{font-size:18px}.kitchen-page .logout{min-height:44px;padding:8px 14px}
 .kdsHeader{flex-wrap:wrap;gap:12px;padding:14px}.kdsTitle{font-size:18px}.kdsRight{gap:8px}.kCard,.cardBody,.itemBox{min-width:0;max-width:100%}.kCard .value{white-space:normal;overflow-wrap:anywhere}.kCard .row1{display:block}.emptyPanel{font-size:20px;padding:40px 16px}
 #loadingPanel{max-width:calc(100vw - 32px);width:280px;text-align:center}.grand-total-container{flex-wrap:wrap;gap:10px;overflow-wrap:anywhere}
 .report-page{padding:12px!important}.report-page .card{padding:18px 14px;min-width:0}.report-page .title{font-size:22px}#reportDiv{max-height:65vh}
 .admin-shell{min-width:0}.admin-main{padding-left:14px;padding-right:14px}.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.form-footer{flex-direction:column;align-items:stretch}.form-footer button{width:100%}.table-scroll table{min-width:620px}.table-scroll td a{display:inline-flex;align-items:center;min-height:44px}
 .key-output{flex-direction:column}.key-output input{font-size:18px;letter-spacing:1px}.details-grid{grid-template-columns:1fr;gap:6px}.details-grid dd{margin-bottom:12px}.section-heading{align-items:flex-start}.step-number{flex-shrink:0}
 .signup-page .login-card{padding:22px 18px}.waiter-text{white-space:normal}.basic-page{padding:16px}.basic-content input:not([type=submit]){width:100%}
}
@media(prefers-reduced-motion:reduce){.loginCard,.logo,.background span,.loginCard::after,.kCard,.newOrder,.redOrder{animation:none!important;transition:none!important}}
@media print{.responsive-table,.table-scroll,#reportDiv{overflow:visible;max-height:none}.responsive-table table,.table-scroll table{min-width:0}#topHeader,#businessBar,.bottom-bar,.mobile-kot-page .footer{display:none}}
@media(max-width:768px){body.order-page #businessBar{display:none!important}.item-list-page .qty-controls .qty-box{width:48px}.item-list-page input[type=checkbox]{width:22px}.basic-content .qty-box{width:48px!important}}
