html,body{width:100%;max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%}.app-view{grid-template-columns:240px minmax(0,1fr);width:100%;max-width:100%}main,.page,.panel,.stat-card,.operation-panel,.directory-page,.cashier-layout>*,.reservation-layout>*,.qr-layout>*,.content-grid>*{min-width:0;max-width:100%}.page{width:100%;overflow-x:hidden}.panel-head>div,.section-heading>div,.welcome>div,.table-screen-head>div{min-width:0}.select,input,textarea{max-width:100%}.panel-head,.section-heading,.top-actions,.table-screen-head,.kds-header{min-width:0}.table-panel,.directory-tabs,.pos-groups,.station-tabs,.routing-grid{max-width:100%;overflow-x:auto}.welcome h1,.section-heading h1,.operation-copy b{overflow-wrap:anywhere}.dashboard-operations{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}#page-dashboard .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(175px,100%),1fr))}.cashier-layout{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}.cameras-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.delivery-stats{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}.day-summary{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.day-summary div{min-width:0}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))}.qr-tables{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
@media(max-width:1366px){.app-view{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-inline:14px}.sidebar nav{margin-top:35px}.nav-item{padding-inline:10px;font-size:12px}.page{padding-inline:24px}.welcome{padding:32px}.welcome h1{font-size:34px}.operation-row{grid-template-columns:38px minmax(0,1fr) auto}.operation-icon{width:36px;height:36px}.pos-shell{grid-template-columns:minmax(0,1fr) 330px}.pos-catalog{padding:22px}.pos-check{padding:18px}.menu-dish{grid-template-columns:85px minmax(0,1fr) 95px 120px 38px}.route-row{grid-template-columns:minmax(120px,1fr) 115px 115px}}
@media(max-width:1050px){.dashboard-operations,.cashier-layout{grid-template-columns:1fr}.welcome{min-height:200px}.reservation-layout,.qr-layout{grid-template-columns:1fr}.kds-board,.delivery-board{grid-template-columns:repeat(2,minmax(0,1fr))}.routing-grid{grid-template-columns:1fr}}
@media(max-width:900px){.app-view{display:block}.sidebar{position:fixed;z-index:50;top:0;left:0;width:min(280px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 55px rgba(0,0,0,.22)}.sidebar.open{transform:translateX(0)}.icon-button{display:block}.topbar{height:76px;padding:0 18px;gap:12px}.topbar>div:nth-child(2){min-width:0;margin-right:auto}.topbar h2,.topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page{padding:24px 18px 45px}.pos-page{height:auto;min-height:calc(100dvh - 76px);overflow:visible}.pos-shell{display:block;height:auto}.pos-catalog{padding:20px 18px}.pos-check{border:0;border-top:1px solid var(--line)}.table-screen{padding:24px 18px}.table-screen-head,.section-heading{align-items:flex-start;flex-direction:column;gap:14px}.service-switch{max-width:100%;overflow-x:auto}.kds-header{align-items:flex-start;flex-wrap:wrap}.station-tabs{width:100%;flex-basis:100%;overflow-x:auto}.login-view{grid-template-columns:1fr}.login-art{display:none}.login-card{min-height:100dvh;padding:32px max(24px,8vw);justify-content:center}.mobile-brand{display:block}.recognition-top{align-items:stretch;flex-direction:column}.camera-picker{min-width:0}.recognition-grid{grid-template-columns:1fr}.recognition-view{border-right:0}.directory-row{grid-template-columns:10px minmax(0,1fr) auto}.menu-dish{grid-template-columns:78px minmax(0,1fr)}.menu-dish>*:nth-child(n+3){grid-column:2}.phone-mock{width:min(280px,100%)}}
@media(max-width:600px){.page{padding:18px 12px 36px}.topbar{padding-inline:12px}.topbar h2{font-size:15px}.welcome{min-height:220px;padding:24px 20px}.welcome h1{font-size:28px}.welcome p{font-size:12px}.pulse-orb{display:none}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-card b{font-size:23px}.panel{padding:16px}.panel-head{align-items:flex-start;flex-wrap:wrap;gap:10px}.panel-head .text-button{margin-left:auto}.operation-panel{min-height:0}.operation-row{grid-template-columns:34px minmax(0,1fr);gap:9px}.operation-icon{width:32px;height:32px}.operation-value{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.operation-value b,.operation-value small{display:inline}.cash-row{grid-template-columns:minmax(0,1fr) auto}.cash-row button{grid-column:1/-1;width:100%}.cash-actions{width:100%;flex-wrap:wrap}.cash-actions .button{flex:1}.directory-actions{align-items:flex-end;flex-direction:column}.directory-row{align-items:flex-start}.directory-page .panel-head #directory-add{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.reservation-card{grid-template-columns:58px minmax(0,1fr)}.reservation-actions{grid-column:1/-1}.pos-menu-grid,.pos-table-grid,.table-map,.qr-tables,.kds-board,.delivery-board{grid-template-columns:1fr}.pos-head,.pos-tools{align-items:stretch;flex-direction:column}.search-box{max-width:none}.route-row{grid-template-columns:1fr}.route-row select{width:100%}.day-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.day-summary div{padding:10px;border-right:0;border-bottom:1px solid #ffffff1a}.recognition-toolbar{height:auto;align-items:flex-start;flex-direction:column;gap:12px;padding:15px}.recognition-metrics{width:100%;justify-content:space-between}.recognition-frame,#dir-live-stream{height:300px;min-height:300px}.modal-head{align-items:flex-start;gap:12px}.modal-head h2{font-size:21px}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions .button{width:100%}dialog form{padding:20px 16px}.toast{left:12px;right:12px;top:12px}.check-close-line{gap:10px}.section-heading h1{font-size:29px}}
@media(max-width:380px){.day-summary{grid-template-columns:1fr}.service-switch button{padding-inline:10px}.recognition-top{padding:20px}.results-head{align-items:flex-start;flex-direction:column;gap:10px}.directory-tabs button{padding-inline:10px}.login-card{padding-inline:18px}}
@media(min-width:901px){#page-dashboard .dashboard-operations{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}}
.qr-table small{display:block;min-height:28px;margin:5px 0;color:var(--muted);font-size:9px}.qr-table-main{position:relative;border-color:#20d28b;background:#f1fbf7}.qr-badge{display:inline-block;margin-bottom:7px;padding:5px 8px;border-radius:99px;background:#10211c;color:#fff;font-size:8px;font-weight:800}.qr-badge.order{background:#dff8ed;color:#137550}
.login-qr{position:relative;isolation:isolate;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:15px;overflow:hidden;padding:14px;border:1px solid #1c5d46;border-radius:20px;background:radial-gradient(circle at 100% 0,#1b6b4e55,transparent 42%),linear-gradient(135deg,#071a13,#103527);color:#fff;text-decoration:none;box-shadow:0 16px 38px rgba(7,26,19,.18);transition:.2s}.login-qr:after{content:'';position:absolute;z-index:-1;right:-35px;bottom:-55px;width:130px;height:130px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 24px #ffffff08}.login-qr:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(7,26,19,.25)}.login-qr-image{display:grid;place-items:center;padding:6px;border-radius:14px;background:#fff;box-shadow:0 8px 22px #0004}.login-qr img{width:64px;height:64px;border-radius:8px}.login-qr em,.login-qr b,.login-qr small{display:block}.login-qr em{margin-bottom:5px;color:var(--green);font-size:8px;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-qr b{font-size:13px}.login-qr small{margin-top:5px;color:#a7c4b9;font-size:9px;line-height:1.45}.login-qr>i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffffff12;color:var(--green);font-style:normal;font-weight:800}
@media(max-width:420px){.login-qr{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:11px}.login-qr-image{padding:5px}.login-qr img{width:54px;height:54px}.login-qr>i{width:28px;height:28px}}
.app-view:not(.hidden){height:100vh;min-height:0;overflow:hidden}.app-view main{display:grid;grid-template-rows:90px minmax(0,1fr);height:100vh;min-height:0;overflow:hidden}.topbar{position:sticky;z-index:30;top:0}.page.active-page{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.sidebar{overflow:hidden}.sidebar nav{min-height:0}.menu-dish{grid-template-columns:110px minmax(180px,1fr) minmax(190px,240px) 120px 45px}.product-routing{display:grid;gap:7px}.product-routing label{display:grid;grid-template-columns:1fr;gap:4px;color:var(--muted);font-size:8px;font-weight:800}.product-routing select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff;font-size:9px}#product-dialog{width:min(680px,calc(100vw - 30px))}#product-dialog textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit}
@media(max-width:1366px){.menu-dish{grid-template-columns:85px minmax(160px,1fr) minmax(170px,210px) 105px 38px}}
@media(max-width:900px){.app-view:not(.hidden){height:100dvh}.app-view main{grid-template-rows:76px minmax(0,1fr);height:100dvh}.page.active-page{height:100%;overflow-y:auto}.menu-dish{grid-template-columns:78px minmax(0,1fr)}.menu-dish .product-routing,.menu-dish>*:nth-child(n+3){grid-column:2}.sidebar{position:fixed}}
@media(max-width:600px){.menu-dish{grid-template-columns:64px minmax(0,1fr);gap:10px}.menu-dish img{width:64px;height:64px}.menu-group-items{padding-inline:12px}.product-routing{grid-template-columns:1fr}.availability{grid-column:2}.save-product{grid-column:2;width:100%}}
.app-view.role-restricted{grid-template-columns:minmax(0,1fr)}.app-view.role-restricted .sidebar{position:fixed;z-index:60;top:0;left:0;width:min(280px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 55px rgba(0,0,0,.22)}.app-view.role-restricted .sidebar.open{transform:translateX(0)}.app-view.role-restricted .icon-button{display:block}.app-view.role-restricted main{grid-column:1;width:100%}.app-view.role-restricted .topbar{padding-left:max(18px,2vw)}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-close{display:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#12261f;color:#fff;font-size:22px;cursor:pointer}.sidebar-backdrop{display:none;position:fixed;z-index:55;inset:0;border:0;background:rgba(3,12,9,.48);backdrop-filter:blur(2px);cursor:pointer}.sidebar-backdrop.show{display:block}.app-view.role-restricted .sidebar-close{display:grid;place-items:center}.app-view.role-restricted .sidebar.open~main{width:100%}.app-view.role-restricted #menu-toggle.menu-open{visibility:hidden}
@media(max-width:900px){.sidebar-close{display:grid;place-items:center}.sidebar-backdrop.show{display:block}#menu-toggle.menu-open{visibility:hidden}}
@media(min-width:901px){.app-view.role-restricted.sidebar-expanded{grid-template-columns:min(280px,22vw) minmax(0,1fr)}.app-view.role-restricted.sidebar-expanded .sidebar{position:relative;grid-column:1;grid-row:1;height:100vh;width:100%;transform:none;box-shadow:none}.app-view.role-restricted.sidebar-expanded main{grid-column:2;grid-row:1;min-width:0;width:100%}.app-view.role-restricted.sidebar-expanded .sidebar-backdrop{display:none}.app-view.role-restricted.sidebar-expanded #menu-toggle.menu-open{visibility:visible}.app-view.role-restricted.sidebar-expanded #menu-toggle.menu-open{font-size:0}.app-view.role-restricted.sidebar-expanded #menu-toggle.menu-open:after{content:'☰';font-size:22px}}
