/* Application layout: keep wide tables inside their own scroll containers. */
html,body{min-width:0;width:100%}#shell,.workspace,#content,.panel,.stat,.toolbar,.field-grid,.cash-desk,.cash-payment,.cash-info{min-width:0}.workspace>header{gap:16px}.workspace>header>div:first-child{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.workspace>header>div:last-child{flex-shrink:0}.workspace>header #shopName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace>header .online{flex-shrink:0;margin-left:0}.workspace>header #menuToggle{flex-shrink:0;margin:0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat strong{overflow-wrap:anywhere}.row>*{min-width:0}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.panel .table{min-width:540px}.toolbar>.d-flex{flex-wrap:wrap}.field-grid>*,.field-grid input,.field-grid select,.field-grid textarea{min-width:0;max-width:100%}.page-top{flex-wrap:wrap}.page-top>div{min-width:0}.page-top p{overflow-wrap:anywhere}.menu-backdrop,.sidebar-close{display:none}#appSidebar{z-index:40}#appSidebar #nav{min-height:0}#message{overflow-wrap:anywhere}#subscription-banner{overflow-wrap:anywhere}#modal{max-height:calc(100dvh - 28px);max-width:900px;overscroll-behavior:contain}#modalBody{min-width:0}#modalBody>.d-flex{flex-wrap:wrap}#modalBody form{min-width:0}#modalBody .table-wrap{max-width:100%}.cash-entry>*{min-width:0}.cash-invoice{min-width:0;width:100%;overscroll-behavior:contain}.cash-payment .cash-button{white-space:normal;margin-top:6px}.cash-window-tools{flex-wrap:wrap}.cash-store{min-width:0}.cash-store h1{overflow-wrap:anywhere}.cash-logo,.cash-store img{flex-shrink:0}.cash-info input,.cash-info select,.cash-payment input{min-width:0;max-width:100%}
@media(min-width:801px){#appSidebar{inset:0 auto 0 0;height:100dvh;overflow-y:auto}#appSidebar .brand,#appSidebar>.nav-caption,#appSidebar .aside-footer{flex-shrink:0}#appSidebar #nav{flex-shrink:0}.workspace{min-height:100dvh}}
@media(max-width:1150px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 body.menu-open{overflow:hidden}#appSidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100dvh;padding:20px 14px 14px;overflow:hidden;z-index:1050;transform:translateX(-102%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}body.menu-open #appSidebar{transform:translateX(0);visibility:visible}#appSidebar .brand{margin:0 32px 24px 8px;font-size:23px;flex-shrink:0}#appSidebar>.nav-caption{flex-shrink:0}#appSidebar #nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}#appSidebar .aside-footer{flex-shrink:0;margin-top:8px;padding-top:12px;font-size:10px}.sidebar-close{display:inline-grid;place-items:center;position:absolute;right:10px;top:19px;width:30px;height:32px;border:1px solid #ffffff30;background:transparent;color:#fff;border-radius:6px;font-size:23px;line-height:1}.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1040;background:#102b2477;border:0;padding:0;width:100%;height:100dvh}.workspace{margin-left:0;width:100%;min-height:100dvh}.workspace>header{height:auto;min-height:62px;padding:10px 12px;gap:8px}.workspace>header>div:first-child{gap:8px}.workspace>header>div:last-child{gap:7px!important;min-width:0}.workspace>header #shopName{display:block;max-width:none;font-size:14px;flex:1}.workspace>header #userName{max-width:105px;font-size:10px}.workspace>header #logout{font-size:12px;padding:7px 9px}.workspace>header #menuToggle{font-size:17px;padding:5px 9px;min-width:36px;min-height:36px}.workspace>header #storeLogo{width:25px!important;height:25px!important;margin:0!important;flex-shrink:0}#content{width:100%;padding:18px 12px}.panel{padding:15px;margin-bottom:14px}.stat-grid{gap:12px;margin-bottom:16px}.stat{padding:16px}.stat strong{font-size:23px;margin-top:8px}.page-top{gap:12px;margin-bottom:18px}.page-top h1{font-size:23px}.page-top p{font-size:12px}.toolbar{gap:8px;margin-bottom:14px}.toolbar .form-control{max-width:none;min-width:0;flex:1 1 180px}.toolbar .form-select{max-width:100%;min-width:0}.toolbar>.ms-auto{margin-left:0!important;gap:7px!important}.toolbar .btn{font-size:12px}.pager{gap:8px;flex-wrap:wrap;font-size:11px}.pager .btn{font-size:11px}.field-grid{grid-template-columns:minmax(0,1fr)}#message{right:10px;left:10px;top:8px;max-width:none;font-size:12px;max-height:40dvh;overflow-y:auto}#message:not(:empty){padding:11px 13px}#subscription-banner{padding:10px 12px!important;font-size:11px!important}#subscription-banner .btn{font-size:11px;margin-top:6px;white-space:normal}.pending{font-size:12px;padding:9px}.pending .btn{white-space:normal}#modal{width:calc(100% - 20px);padding:16px;border-radius:12px;max-height:calc(100dvh - 20px)}#modalTitle{font-size:17px;overflow-wrap:anywhere;min-width:0}#modalClose{flex-shrink:0}#modal>.d-flex{gap:12px;align-items:flex-start!important}#modalBody .toolbar{align-items:stretch}#modalBody .toolbar .form-control{flex-basis:100%}#modalBody .btn{white-space:normal}#login{min-height:100dvh}.login-card{width:calc(100% - 40px);max-width:420px;padding:28px 0}.login-card h2{font-size:26px}body.cashier-screen main{max-width:100%;padding:6px}.cash-desk{min-height:calc(100dvh - 12px);max-width:100%}.cash-bottom{min-width:0}.cash-bottom>*{min-width:0}.cash-info label{grid-template-columns:85px minmax(0,1fr)}.cash-payment label{flex-wrap:wrap}.cash-payment label input{flex:1}.cash-table-foot{gap:10px}.cash-actions .btn{white-space:normal}.cash-display strong{font-size:clamp(28px,8vw,42px);overflow-wrap:anywhere}.cash-grid{min-width:700px}.cash-grid input{font-size:12px}
}
@media(max-width:480px){.workspace>header #userName{display:none}.workspace>header #shopName{font-size:13px}.panel{border-radius:10px}.page-top h1{font-size:22px}.cash-banner{gap:10px}.cash-store h1{font-size:22px}.cash-store small{letter-spacing:1px}.cash-window-tools{gap:8px;font-size:10px}.cash-window-tools #cashShift{margin-left:0;flex-basis:100%}.cash-invoice{min-height:190px}.cash-bottom{gap:16px}.cash-shortcuts{display:none}.cash-info label{font-size:11px}.cash-payment>.cash-button{width:100%;text-align:center}#modalBody .detail-summary h2{font-size:25px}.stat small{font-size:10px}.stat strong{font-size:21px}}
@media(max-width:360px){.stat-grid{grid-template-columns:minmax(0,1fr)}.toolbar>.d-flex{width:100%}.cash-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 56px}.cash-info label{grid-template-columns:75px minmax(0,1fr)}}
@media(max-height:450px) and (max-width:800px){.workspace>header{min-height:52px;padding-top:6px;padding-bottom:6px}#content{padding-top:12px}#appSidebar{padding-top:12px}#appSidebar .brand{margin-bottom:12px}.sidebar-close{top:12px}#appSidebar .aside-footer{display:none}#modal{max-height:calc(100dvh - 12px);padding:12px}#modal>.d-flex{margin-bottom:12px!important}.cash-invoice{min-height:160px}.login-card{padding:16px 0}}
@media(prefers-reduced-motion:reduce){#appSidebar{transition:none}}
