/* The phone shell keeps navigation in reach while each workspace scrolls. */
.mobile-app-header,.mobile-tabbar{display:none}
@media(max-width:900px){
  :root{--mobile-paper:#fffaf1;--mobile-nav-height:70px}
  body.authenticated{height:100vh;height:100dvh;overflow:hidden;padding:0;background:var(--mobile-paper)}
  body.authenticated #app,body.authenticated .shell{height:100%;min-height:0;padding:0;display:block}
  body.authenticated .workspace{height:100%;min-height:0;padding:0;display:flex;flex-direction:column}
  body.authenticated .sidebar,body.authenticated .topbar,body.authenticated .app-footer{display:none}
  .mobile-app-header{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-height:68px;padding:10px max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));padding-top:calc(10px + env(safe-area-inset-top));background:var(--mobile-paper);border-bottom:1px solid #eadfc95c}
  .mobile-restaurant{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
  .mobile-restaurant>img{width:67px;height:42px;object-fit:contain;flex-shrink:0}
  .mobile-restaurant>div{display:grid;gap:4px;min-width:0}
  .mobile-restaurant span{font-size:9px;font-weight:750;letter-spacing:1.8px;color:#9c7958}
  .mobile-restaurant strong{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px}
  .mobile-connection{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#428567;box-shadow:0 0 0 3px #4285670c}
  .mobile-connection.off{background:#bd7e28;box-shadow:0 0 0 3px #bd7e2810}
  .mobile-profile-button{width:42px;height:42px;min-height:42px;flex-shrink:0;border-radius:50%;padding:0;border:1px solid #e9d9bb;background:#f6e9cf;color:#79563d;font-size:13px;font-weight:750}
  body.authenticated .workspace>main{flex:1;width:100%;min-width:0;min-height:0;margin:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:24px max(20px,env(safe-area-inset-right)) calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 24px) max(20px,env(safe-area-inset-left));scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.authenticated .workspace>main::-webkit-scrollbar{display:none}
  .mobile-tabbar{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fffcf8f5;border-top:1px solid #eadfc9;box-shadow:0 -5px 24px #6e431204;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-tab{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border:0;background:transparent;color:#8c7b69;padding:0 2px;min-height:44px;font-size:10px;font-weight:550;border-radius:14px}
  .mobile-tab-symbol{width:48px;height:31px;display:grid;place-items:center;border-radius:12px;transition:background .16s,color .16s}
  .mobile-tab .icon{width:23px;height:23px}
  .mobile-tab.active{color:var(--brand);font-weight:750;background:transparent}
  .mobile-tab.active .mobile-tab-symbol{background:#f9e7ba}
  .mobile-tab:active,.mobile-profile-button:active{transform:scale(.96)}
  .page-heading,.room-main .page-heading{margin-bottom:20px;gap:10px}
  .page-heading h1,.room-main h1{font-size:29px;letter-spacing:-1px;line-height:1.15}
  .page-heading p,.room-main .page-heading p{font-size:13px;line-height:1.5;margin:7px 0 0}
  .page-heading>.pill{font-size:10px;background:#f3ead8;color:#876f4e}
  .has-catalog .panel,.has-catalog .ticket-card{background:#fffefb;border:1px solid #eee4d2;box-shadow:0 4px 15px #734a1204;border-radius:23px}
  .panel-head{padding:19px 18px 15px}.panel-body{padding:18px}
  .has-catalog .room-tabs,.has-catalog .order-tabs{background:#f1eadc}
  .room-stats{gap:12px;margin-bottom:22px;font-size:11px}.room-toolbar{margin-bottom:20px}
  .room-layout,.two-col{gap:22px}
  .has-catalog .product-card{background:#fffefb;border-color:#ebddc5;box-shadow:none;border-radius:20px}
  .mobile-order-jump{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px);border-radius:17px}
  .menu-order{scroll-margin-top:16px}
  .menu-search-wrap input{font-size:16px}
  .mobile-tab,.mobile-profile-button,.mobile-menu-list button{touch-action:manipulation}
  .attendance-welcome{margin-bottom:22px;padding:14px;gap:10px;background:#fff5d8;border-color:#efdfb9;border-radius:19px}
  .attendance-welcome strong{font-size:12px}.attendance-welcome>div>span{font-size:11px}
  .attendance-hero{position:relative;display:block;padding:22px;border-radius:25px;background:linear-gradient(145deg,#fffefd,#fff8e5);border-color:#ebdfc6;box-shadow:0 8px 30px #7c3b0806}
  .attendance-hero-icon{position:absolute;right:19px;top:19px;width:42px;height:42px;border-radius:15px;background:#ffedbc}
  .attendance-hero-icon svg{width:24px;height:24px}
  .attendance-identity .attendance-eyebrow{display:block;padding-right:43px;font-size:9px;letter-spacing:1.3px}
  .attendance-identity h2{font-size:24px;letter-spacing:-.65px;margin:9px 48px 14px 0;line-height:1.15}
  .attendance-identity p{font-size:13px;line-height:1.6;margin:15px 0 19px}
  .attendance-identity .actions{display:grid;gap:9px}
  .attendance-identity .actions button{justify-content:center;min-height:48px;font-size:13px;border-radius:15px}
  .attendance-identity .actions button:not(.primary){background:#fffefc;border-color:#e8dfd1;color:#685649}
  .attendance-last{display:grid;grid-template-columns:1fr auto;border:0;border-radius:16px;background:#f6efdf;padding:15px;margin-top:22px;gap:7px;min-width:0}
  .attendance-last>span{font-size:10px}.attendance-last strong{font-size:16px;letter-spacing:-.3px}.attendance-last time{font-size:10px;align-self:center}
  .attendance-privacy{font-size:11px;line-height:1.65;padding:0 5px;margin:16px 0 0}
  .attendance-section-heading{margin:28px 0 16px;gap:14px}.attendance-section-heading h2{font-size:21px;letter-spacing:-.5px}
  .attendance-section-heading .actions{gap:8px;flex-wrap:wrap}.attendance-section-heading button{font-size:11px;min-height:42px;padding:8px 12px}
  .attendance-person{padding:18px}.attendance-person .actions button{min-height:42px}
  dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;overscroll-behavior:contain;padding:24px 20px}
  dialog.mobile-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:540px;max-height:calc(100dvh - env(safe-area-inset-top) - 20px);border:0;border-radius:30px 30px 0 0;background:var(--mobile-paper);padding:29px max(22px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));box-shadow:0 -12px 70px #432d2220;animation:mobile-sheet-in .18s ease-out}
  .mobile-sheet:before{content:'';position:absolute;left:calc(50% - 18px);top:10px;width:36px;height:4px;border-radius:8px;background:#d8cbb6}
  .mobile-sheet h2{font-size:24px;letter-spacing:-.8px;margin:5px 0 20px}
  .mobile-menu-list{display:grid;gap:7px}
  .mobile-menu-list button{display:flex;align-items:center;text-align:left;gap:13px;width:100%;background:#fffefd;border:1px solid #efe7d9;border-radius:18px;padding:12px}
  .mobile-menu-list button>span:nth-child(2){flex:1;display:grid;gap:4px}.mobile-menu-list strong{font-size:14px}.mobile-menu-list small{font-size:11px;font-weight:400;color:#8a7965}.mobile-menu-list button>.icon{width:17px;height:17px;color:#b2a28c}
  .mobile-menu-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f9edcf;color:var(--brand)}
  .mobile-menu-symbol .icon{width:23px;height:23px}
  .mobile-sheet>#close-preview{min-height:48px;border:0;background:#eee5d5;color:#75604c;border-radius:16px;margin-top:7px;font-size:13px}
  .mobile-sheet-brand{text-align:center;font-size:10px;color:#9a846a;margin:21px 0 12px}
  .mobile-profile-summary{display:flex;align-items:center;gap:14px;margin:6px 0 24px}.mobile-profile-summary>span{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f3dfb4;color:#835a34;font-size:19px;font-weight:700;flex-shrink:0}
  .mobile-profile-summary h3{font-size:19px;margin:0 0 6px;letter-spacing:-.5px}.mobile-profile-summary p{margin:0 0 5px;font-size:13px;color:#785f48}.mobile-profile-summary small{font-size:11px;color:#9a846a}
  .mobile-profile-actions{display:grid;background:#fffefd;border:1px solid #eee3d1;border-radius:20px;overflow:hidden}.mobile-profile-actions button{display:flex;justify-content:space-between;text-align:left;background:transparent;border:0;border-bottom:1px solid #f0e9de;border-radius:0;min-height:54px;font-size:13px;font-weight:550;padding:16px}.mobile-profile-actions button:last-child{border:0;color:var(--brand)}.mobile-profile-actions button span{font-size:20px;color:#baa68b;line-height:1}
  #toast{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 16px);max-width:calc(100vw - 32px);font-size:13px}
  .is-standalone .auth-bottom button[data-mobile=install]{display:none}
}
@media(max-width:700px){
  body.auth-active{padding:0;background:radial-gradient(ellipse at 50% 0,#ffe7a8b0,transparent 58%),#fffaf1}
  body.auth-active .auth-page{padding:calc(22px + env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));gap:26px;align-content:start;grid-template-rows:auto auto 1fr auto;min-height:100dvh}
  .auth-restolab{font-size:20px}.auth-location{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .auth-welcome{padding-top:3px}.auth-logo{width:148px}.auth-welcome h1{font-size:25px;margin-top:17px;max-width:240px;line-height:1.17}
  .auth-card{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;align-self:start}
  .auth-card-intro .stock-eyebrow{display:none}.auth-card h2{font-size:25px;margin:0 0 6px}.auth-card-intro>p{margin:0;font-size:12px}
  .auth-tabs{margin:19px 0;background:#eee5d6}.auth-card .form{gap:16px}
  .auth-card input,.auth-card select{min-height:53px;border-radius:15px;border-color:#e4d8c6;background:#fffefd;font-size:16px}
  .auth-card .auth-submit{min-height:54px;font-size:15px;border-radius:16px;box-shadow:0 5px 13px #a63e2015}
  .auth-footnote{margin:18px 0 0}.auth-bottom{gap:4px}.auth-bottom>span{font-size:9px}.auth-build{font-size:9px}
}
@keyframes mobile-sheet-in{from{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){dialog.mobile-sheet{animation:none}.mobile-tab-symbol{transition:none}}
