/* Stable MenuGo app shell. This file owns first-paint geometry shared by routes. */
.menugo-exit-overlay{
  position:fixed;inset:0;z-index:2147483100;min-height:100%;height:100dvh;
  padding:calc(env(safe-area-inset-top,0px) + 20px) 18px calc(env(safe-area-inset-bottom,0px) + 20px);
  display:grid;place-items:center;box-sizing:border-box;
  background:rgba(5,12,10,.48);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)
}
.menugo-exit-card{
  width:min(390px,100%);padding:22px;border:1px solid #dce5e0;border-radius:24px;
  display:grid;justify-items:center;gap:10px;text-align:center;
  color:#17231e;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)
}
.menugo-exit-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:#168a78;font-size:1.3rem}
.menugo-exit-card>b{color:inherit;font-size:1rem}
.menugo-exit-card>p{margin:0;color:#53675d;font-size:.8rem;line-height:1.9}
.menugo-exit-card>div{width:100%;margin-top:8px;display:grid;grid-template-columns:1fr 1.5fr;gap:8px}
.menugo-exit-card button{min-height:46px;padding:8px;border:1px solid #dce5e0;border-radius:14px;color:#17231e;background:#f3f7f5;font:inherit;font-weight:700}
.menugo-exit-card [data-exit-accept]{color:#fff;background:#117d6d;border-color:#117d6d}
[data-theme="dark"] .menugo-exit-card{color:#f3f7f5;background:#151f1b;border-color:#34483d}
[data-theme="dark"] .menugo-exit-card>p{color:#c6d2cc}
[data-theme="dark"] .menugo-exit-card [data-exit-cancel]{color:#f3f7f5;background:#26362e;border-color:#40564a}
:root{
  --menugo-shell-header-height:90px;
  --menugo-shell-header-gap:5px;
  --menugo-shell-edge-gap:8px;
}


.menugo-shell-brand{
  width:100%;height:var(--menugo-shell-header-height);min-height:var(--menugo-shell-header-height);
  display:flex;direction:ltr;align-items:stretch;gap:var(--menugo-shell-header-gap);
  contain:layout paint style;transform:translateZ(0)
}
.menugo-shell-brand__wordmark,
.menugo-shell-brand__mark{
  min-width:0;border:1px solid color-mix(in srgb,var(--menugo-shell-brand,#21b89a) 18%,rgba(127,127,127,.14));
  display:grid;place-items:center;overflow:hidden;color:var(--ink,#17231e);
  background:var(--page,var(--menugo-page-surface,#f4faf8));
  box-shadow:none;
  box-sizing:border-box
}
.menugo-shell-brand__wordmark{
  flex:1 1 auto;border-radius:0 20px 20px 0
}
.menugo-shell-brand__wordmark>span{
  width:min(154px,46vw);height:40px;display:block;
  background:linear-gradient(105deg,var(--menugo-shell-brand,#21b89a),#4d8fe8,#dc5ba3);
  -webkit-mask:url('/images/menugo-logo-app-2.webp') center/contain no-repeat;
  mask:url('/images/menugo-logo-app-2.webp') center/contain no-repeat
}
.menugo-shell-brand__mark{
  width:90px;flex:0 0 90px;padding:10px;border-radius:20px 0 0 20px
}
button.menugo-shell-brand__mark{font:inherit;cursor:pointer}
.menugo-shell-brand__mark>img{width:100%;height:100%;display:block;object-fit:contain;border-radius:16px}
[data-theme="dark"] .menugo-shell-brand__wordmark,
[data-theme="dark"] .menugo-shell-brand__mark{
  border-color:rgba(255,255,255,.1);background:var(--page,var(--menugo-page-surface,#0b1210));
  box-shadow:none
}

/* The public venue document keeps one header and one main rectangle for all
   primary tabs. Only the header contents change; its geometry never does. */
body.menugo-app-shell .mm-header>.menugo-shell-brand{display:none}
body.menugo-app-shell:not([data-active-page="menu"]) .mm-header>.mm-header-working-state{display:none!important}
@media(max-width:759px){
body.menugo-app-shell:is([data-active-page="chat"],[data-active-page="orders"]) .mm-header{
  display:block!important;top:calc(var(--safe-top) + var(--menugo-shell-edge-gap))!important;
  right:0!important;left:0!important;height:var(--menugo-shell-header-height)!important;
  min-height:var(--menugo-shell-header-height)!important;max-height:var(--menugo-shell-header-height)!important
}
body.menugo-app-shell:is([data-active-page="chat"],[data-active-page="orders"]) .mm-header>.mm-venue{
  visibility:hidden!important;opacity:0!important;pointer-events:none!important
}
body.menugo-app-shell:is([data-active-page="chat"],[data-active-page="orders"]) .mm-header>.menugo-shell-brand{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important
}
body.menugo-app-shell[data-active-page] .mm-main{
  position:fixed!important;top:calc(var(--safe-top) + 106px)!important;
  right:0!important;bottom:0!important;left:0!important;
  height:auto!important;min-height:0!important;transition:none!important
}
body.menugo-app-shell:is([data-active-page="profile"],[data-active-page="product"]) .mm-main{
  top:calc(var(--safe-top) + 8px)!important
}
body.menugo-app-shell[data-active-page="music"] .mm-main{
  top:var(--safe-top)!important
}
body.menugo-app-shell .mm-page:is([data-page="menu"],[data-page="categories"],[data-page="chat"],[data-page="orders"],[data-page="profile"],[data-page="info"]).active{
  animation:none!important;transition:none!important;transform:none!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-header{display:none!important}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-chat-page{
  padding-bottom:0!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-main{
  top:var(--menugo-personal-thread-top,calc(var(--safe-top) + 8px))!important;
  bottom:0!important;
  height:auto!important
}
html.menugo-keyboard-open body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-main{
  top:calc(var(--menugo-visual-top,0px) + var(--menugo-personal-thread-top,calc(var(--safe-top) + 8px)))!important;
  bottom:auto!important;
  height:calc(var(--menugo-visual-height) - var(--menugo-personal-thread-top,calc(var(--safe-top) + 8px)))!important;
  max-height:calc(var(--menugo-visual-height) - var(--menugo-personal-thread-top,calc(var(--safe-top) + 8px)))!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-thread-head{
  position:sticky!important;top:0!important;flex-shrink:0!important;z-index:5!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-thread-head,
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-messages,
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-compose{
  position:relative!important;z-index:1
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-private-chat-pattern{
  position:absolute;inset:70px 0 0;z-index:0;overflow:hidden;pointer-events:none;
  color:var(--brand);opacity:.5
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-thread{
  animation:none!important;transform:none!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-messages{
  padding-bottom:calc(112px + var(--safe-bottom))!important;
  scroll-padding-bottom:calc(112px + var(--safe-bottom))!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-bubble{
  max-width:min(90%,672px)!important;padding:13px 16px 10px!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-bubble p{
  font-size:.9rem!important
}
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-bubble small{
  font-size:.66rem!important
}
.mm-private-chat-pattern>i{position:absolute;font-size:14px;transform:rotate(-16deg)}
.mm-private-chat-pattern>i:nth-child(1){top:4%;left:11%}.mm-private-chat-pattern>i:nth-child(2){top:12%;left:69%}
.mm-private-chat-pattern>i:nth-child(3){top:19%;left:35%}.mm-private-chat-pattern>i:nth-child(4){top:27%;left:85%}
.mm-private-chat-pattern>i:nth-child(5){top:34%;left:8%}.mm-private-chat-pattern>i:nth-child(6){top:41%;left:57%}
.mm-private-chat-pattern>i:nth-child(7){top:48%;left:25%}.mm-private-chat-pattern>i:nth-child(8){top:53%;left:91%}
.mm-private-chat-pattern>i:nth-child(9){top:61%;left:47%}.mm-private-chat-pattern>i:nth-child(10){top:68%;left:13%}
.mm-private-chat-pattern>i:nth-child(11){top:72%;left:76%}.mm-private-chat-pattern>i:nth-child(12){top:79%;left:36%}
.mm-private-chat-pattern>i:nth-child(13){top:86%;left:88%}.mm-private-chat-pattern>i:nth-child(14){top:91%;left:17%}
.mm-private-chat-pattern>i:nth-child(15){top:96%;left:62%}.mm-private-chat-pattern>i:nth-child(16){top:7%;left:48%}
}

body.menugo-app-shell .mm-page[data-page="menu"] .mm-menu-food-pattern{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  color:var(--brand);opacity:.4
}
body.menugo-app-shell .mm-page[data-page="menu"] .mm-menu-layout{
  position:relative;z-index:1
}
.mm-menu-food-pattern>i{position:absolute;font-size:14px;transform:rotate(-16deg)}
.mm-menu-food-pattern>i:nth-child(1){top:4%;left:11%}.mm-menu-food-pattern>i:nth-child(2){top:12%;left:69%}
.mm-menu-food-pattern>i:nth-child(3){top:19%;left:35%}.mm-menu-food-pattern>i:nth-child(4){top:27%;left:85%}
.mm-menu-food-pattern>i:nth-child(5){top:34%;left:8%}.mm-menu-food-pattern>i:nth-child(6){top:41%;left:57%}
.mm-menu-food-pattern>i:nth-child(7){top:48%;left:25%}.mm-menu-food-pattern>i:nth-child(8){top:53%;left:91%}
.mm-menu-food-pattern>i:nth-child(9){top:61%;left:47%}.mm-menu-food-pattern>i:nth-child(10){top:68%;left:13%}
.mm-menu-food-pattern>i:nth-child(11){top:72%;left:76%}.mm-menu-food-pattern>i:nth-child(12){top:79%;left:36%}
.mm-menu-food-pattern>i:nth-child(13){top:86%;left:88%}.mm-menu-food-pattern>i:nth-child(14){top:91%;left:17%}
.mm-menu-food-pattern>i:nth-child(15){top:96%;left:62%}.mm-menu-food-pattern>i:nth-child(16){top:7%;left:48%}
body.menugo-app-shell[data-active-page="menu"] .mm-floating-menu-tools > :is(.mm-floating-venue-info,.mm-floating-waiter-call){
  border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line))!important;
  border-radius:16px!important;color:color-mix(in srgb,var(--brand) 65%,var(--ink))!important;
  background:color-mix(in srgb,var(--brand) 18%,var(--page))!important;
  box-shadow:0 5px 14px color-mix(in srgb,var(--brand) 10%,transparent)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important
}
body.menugo-app-shell[data-active-page="menu"] .mm-floating-menu-tools > .mm-floating-waiter-call{
  background:color-mix(in srgb,var(--brand) 25%,var(--page))!important
}
body.menugo-app-shell[data-active-page="menu"] .mm-floating-menu-tools > :is(.mm-floating-venue-info,.mm-floating-waiter-call) > i{
  color:color-mix(in srgb,var(--brand) 75%,var(--ink))!important;filter:none!important
}
body.menugo-app-shell[data-active-page="menu"] .mm-floating-menu-tools > :is(.mm-floating-venue-info,.mm-floating-waiter-call) > span{
  color:var(--ink)!important;font-size:.68rem!important;line-height:15px!important
}
body.menugo-app-shell[data-active-page="menu"] .mm-floating-menu-tools > :is(.mm-floating-venue-info,.mm-floating-waiter-call):active{
  background:color-mix(in srgb,var(--brand) 34%,var(--page))!important
}
@media(max-width:759px){
body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-compose{
  position:absolute!important;right:7px!important;bottom:max(8px,var(--safe-bottom))!important;left:7px!important;
  z-index:6!important;width:auto!important;margin:0!important;padding:8px!important;
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;border-radius:21px!important;
  background:color-mix(in srgb,var(--page) 62%,transparent)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%)!important;backdrop-filter:blur(24px) saturate(145%)!important;
  box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 9%,transparent)!important
}
html.menugo-keyboard-open body.menugo-app-shell[data-active-page="chat"].menugo-personal-thread .mm-compose{
  bottom:8px!important
}

.mm-page[data-page="chat"],.mm-page[data-page="orders"]{padding-top:8px!important}
body.menugo-app-shell :is(.mm-products-scroll,.mm-chat-profile-rail,.mm-messages,.mm-customer-orders,.mm-cart-items){
  scroll-padding-bottom:calc(var(--menugo-nav-content-bottom) + 12px)!important
}
body.menugo-app-shell .mm-customer-orders{padding-bottom:calc(var(--menugo-nav-content-bottom) + 12px)!important;box-sizing:border-box}
body.menugo-app-shell .mm-chat-profile-rail{padding-bottom:18px!important;box-sizing:border-box}
}

/* Landing uses the exact same fixed header contract as the venue document. */
@media(max-width:759px){
.mg-entry-header{height:calc(var(--menugo-shell-header-height) + var(--safe-top))!important;padding:calc(var(--safe-top) + var(--menugo-shell-edge-gap)) 0 0!important;border:0!important;background:transparent!important;box-sizing:border-box}
.mg-entry-header-inner{width:100%!important;max-width:none!important;height:var(--menugo-shell-header-height);padding:0!important}
.mg-entry-main{top:calc(var(--safe-top) + 106px)!important}
}

@media(max-width:759px){
  html,body{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}
  .mm-header,.mm-main,.mg-entry-header,.mg-entry-main{transition:none!important;animation:none!important}
}
