@font-face{font-family:IRANYekanX;src:url('/fonts/IRANYekanX-Regular.woff2') format('woff2');font-display:swap}@font-face{font-family:IRANYekanX;src:url('/fonts/IRANYekanX-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--mg-bg:#0d1412;--mg-surface:#15211e;--mg-glass:rgba(26,42,37,.78);--mg-line:rgba(184,224,210,.16);--mg-text:#f3faf7;--mg-muted:#9bb0a8;--mg-accent:#21b89a;--mg-accent-2:#4d8fe8;--mg-danger:#ef6b72;--page:var(--mg-bg);--solid:var(--mg-surface);--ink:var(--mg-text);--muted:var(--mg-muted);--brand:var(--mg-accent);--line:var(--mg-line);--nav:74px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:IRANYekanX,Tahoma,sans-serif;background:var(--mg-bg);color:var(--mg-text);user-select:none}button,input{font:inherit}.mg-entry-header{position:fixed;z-index:20;top:0;left:0;right:0;padding:max(14px,env(safe-area-inset-top)) 16px 10px;display:flex;justify-content:center;background:rgba(13,20,18,.76);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border-bottom:1px solid var(--mg-line)}.mg-brand{width:min(100%,520px);height:70px;border:1px solid var(--mg-line);border-radius:22px;padding:9px 12px;display:flex;align-items:center;gap:12px;color:var(--mg-text);background:rgba(255,255,255,.045);cursor:pointer}.mg-brand img{width:50px;height:50px;border-radius:15px;object-fit:contain;background:rgba(255,255,255,.08)}.mg-brand span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.mg-brand b{font-size:1.12rem}.mg-brand small{font-size:.76rem;color:var(--mg-muted)}.mg-brand>i{margin-right:auto;color:var(--mg-accent)}
.mg-entry-main{min-height:100dvh;display:grid;place-items:center;padding:110px 16px max(24px,env(safe-area-inset-bottom))}.mg-scan-card{width:min(100%,520px);border:1px solid var(--mg-line);border-radius:28px;padding:18px;background:var(--mg-glass);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 24px 70px rgba(0,0,0,.28)}.mg-scan-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mg-scan-heading>span,.mg-sheet-title>span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2));font-size:1.25rem}.mg-scan-heading h1{font-size:1.12rem;margin:0 0 4px}.mg-scan-heading p{margin:0;color:var(--mg-muted);font-size:.8rem}.mg-camera{position:relative;aspect-ratio:1;border-radius:24px;overflow:hidden;background:#07100d;border:1px solid rgba(255,255,255,.11)}.mg-camera video{width:100%;height:100%;object-fit:cover;display:none}.mg-camera.active video{display:block}.mg-camera-idle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--mg-muted)}.mg-camera-idle>i{font-size:2.5rem;color:var(--mg-accent)}.mg-camera-idle b{color:var(--mg-text)}.mg-camera-idle small{font-size:.72rem;text-align:center;max-width:240px;line-height:1.8}.mg-camera.active .mg-camera-idle{display:none}.mg-scan-frame{position:absolute;inset:13%;pointer-events:none}.mg-scan-frame i{position:absolute;width:36px;height:36px;border-color:#fff}.mg-scan-frame i:nth-child(1){top:0;right:0;border-top:4px solid;border-right:4px solid;border-radius:0 13px 0 0}.mg-scan-frame i:nth-child(2){top:0;left:0;border-top:4px solid;border-left:4px solid;border-radius:13px 0 0}.mg-scan-frame i:nth-child(3){bottom:0;right:0;border-bottom:4px solid;border-right:4px solid;border-radius:0 0 13px}.mg-scan-frame i:nth-child(4){bottom:0;left:0;border-bottom:4px solid;border-left:4px solid;border-radius:0 0 0 13px}.mg-scan-frame span{position:absolute;left:7px;right:7px;top:14%;height:2px;background:linear-gradient(90deg,transparent,var(--mg-accent),transparent);box-shadow:0 0 15px var(--mg-accent);animation:mgScan 2.2s ease-in-out infinite;opacity:0}.mg-camera.active .mg-scan-frame span{opacity:1}@keyframes mgScan{50%{top:84%}}
.mg-scan-status{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--mg-muted);font-size:.78rem}.mg-scan-status.error{color:var(--mg-danger)}.mg-scan-status.success{color:#67dfb6}.mg-scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mg-scan-actions button,.mg-scan-actions label{height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-weight:700;font-size:.84rem}.mg-scan-actions .primary{color:white;background:linear-gradient(135deg,var(--mg-accent),#188ad0)}.mg-scan-actions .secondary{color:var(--mg-text);background:rgba(255,255,255,.07);border:1px solid var(--mg-line)}.mg-scan-actions input{display:none}.mg-browse{width:100%;margin-top:10px;height:46px;border:0;background:transparent;color:var(--mg-muted);cursor:pointer}.mg-browse i{color:var(--mg-accent);margin-left:6px}
.mg-sheet{position:fixed;z-index:60;inset:0;display:none}.mg-sheet.open{display:block}.mg-sheet-backdrop{position:absolute;inset:0;background:rgba(2,8,6,.66);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mg-sheet-card{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,560px);max-height:min(82dvh,760px);display:flex;flex-direction:column;padding:10px 16px max(18px,env(safe-area-inset-bottom));border:1px solid var(--mg-line);border-bottom:0;border-radius:30px 30px 0 0;background:rgba(18,29,26,.96);box-shadow:0 -22px 70px rgba(0,0,0,.35);animation:mgSheet .28s ease-out}@keyframes mgSheet{from{transform:translate(-50%,35px);opacity:.3}}.mg-sheet-grip{width:44px;height:5px;border-radius:5px;background:rgba(255,255,255,.2);margin:0 auto 14px}.mg-sheet-title{display:flex;align-items:center;gap:11px}.mg-sheet-title>span{width:44px;height:44px;border-radius:14px}.mg-sheet-title b{display:block;font-size:1rem}.mg-sheet-title small{display:block;color:var(--mg-muted);font-size:.74rem;margin-top:3px}.mg-search{height:52px;margin:15px 0 10px;padding:0 15px;border:1px solid var(--mg-line);border-radius:16px;background:rgba(255,255,255,.055);display:flex;align-items:center;gap:10px}.mg-search i{color:var(--mg-accent)}.mg-search input{width:100%;border:0;outline:0;background:transparent;color:var(--mg-text);font-size:.86rem}.mg-search input::placeholder{color:var(--mg-muted)}.mg-venue-list{min-height:120px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;display:flex;flex-direction:column;gap:8px}.mg-venue-list::-webkit-scrollbar{display:none}.mg-venue{width:100%;min-height:70px;border:1px solid var(--mg-line);border-radius:18px;background:rgba(255,255,255,.045);color:var(--mg-text);padding:9px 10px;display:flex;align-items:center;gap:11px;text-align:right;cursor:pointer}.mg-venue img,.mg-venue .fallback{width:50px;height:50px;border-radius:15px;object-fit:cover;background:rgba(33,184,154,.12);display:grid;place-items:center;color:var(--mg-accent);font-size:1.2rem}.mg-venue span{display:flex;flex-direction:column;gap:3px}.mg-venue b{font-size:.9rem}.mg-venue small{font-size:.72rem;color:var(--mg-muted)}.mg-venue>i{margin-right:auto;color:var(--mg-accent)}.mg-list-state{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--mg-muted);font-size:.8rem}.mg-toast{position:fixed;z-index:90;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#1c2925;color:#fff;border:1px solid var(--mg-line);border-radius:14px;padding:11px 16px;font-size:.8rem;transition:.25s}.mg-toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:760px){.mg-entry-main{padding-top:120px}.mg-scan-card{padding:22px}.mg-sheet-card{bottom:50%;transform:translate(-50%,50%);border-radius:28px;border-bottom:1px solid var(--mg-line)}@keyframes mgSheet{from{transform:translate(-50%,calc(50% + 25px));opacity:.3}}}

.mg-entry-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.mg-entry-nav{position:fixed;right:0;bottom:0;left:0;z-index:45;height:calc(76px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--mg-line);background:rgba(15,25,22,.72);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%)}
.mg-entry-nav button{min-width:0;border:0;display:grid;place-items:center;color:var(--mg-muted);background:transparent;font-size:1.85rem;transition:color .18s ease,transform .18s ease}.mg-entry-nav button.active{color:var(--mg-accent)}.mg-entry-nav button:active{transform:scale(.9)}
@media(min-width:760px){.mg-entry-nav{right:50%;left:auto;width:min(560px,calc(100% - 32px));transform:translateX(50%);border:1px solid var(--mg-line);border-bottom:0;border-radius:24px 24px 0 0}.mg-entry-nav button{font-size:1.55rem}}

/* Keep the standalone scanner inside a single app viewport. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
.mg-entry-main{position:fixed;top:94px;right:0;bottom:calc(72px + env(safe-area-inset-bottom));left:0;min-height:0;padding:10px 16px;overflow:hidden}
.mg-scan-card{height:100%;max-height:100%;display:grid;grid-template-rows:auto minmax(140px,1fr) auto auto auto;overflow:hidden;padding:14px}
.mg-camera{height:100%;min-height:140px;aspect-ratio:auto}
.mg-scan-heading{margin-bottom:10px}
.mg-entry-nav{bottom:0}
@media(max-height:720px){
    .mg-entry-main{top:88px}
    .mg-scan-card{padding:10px;border-radius:22px}
    .mg-scan-heading{margin-bottom:7px}
    .mg-scan-heading>span{width:40px;height:40px;border-radius:13px}
    .mg-scan-heading h1{font-size:.92rem}.mg-scan-heading p{font-size:.68rem}
    .mg-scan-status{min-height:32px;font-size:.68rem}
    .mg-scan-actions button,.mg-scan-actions label{height:44px;font-size:.72rem}
    .mg-browse{height:36px;margin-top:4px;font-size:.7rem}
}
@media(max-width:420px){.mg-entry-header{padding-left:12px;padding-right:12px}.mg-entry-main{padding-left:12px;padding-right:12px}.mg-brand{height:64px;border-radius:19px}.mg-brand img{width:46px;height:46px}.mg-scan-card{border-radius:24px;padding:14px}.mg-scan-actions{grid-template-columns:1fr}.mg-camera{border-radius:20px}}

/* The scanner is an app screen: it fills only the space between chrome bars. */
@media(max-width:759px){
    html,body{width:100%;height:100%;overflow:hidden}
    .mg-entry-header{height:calc(88px + env(safe-area-inset-top));padding:max(10px,env(safe-area-inset-top)) 12px 8px}
    .mg-entry-main{top:calc(88px + env(safe-area-inset-top));bottom:calc(76px + env(safe-area-inset-bottom));height:auto;padding:8px 12px;place-items:stretch}
    .mg-scan-card{width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto auto;padding:12px;border-radius:24px}
    .mg-camera{min-height:0;aspect-ratio:auto}
    .mg-scan-heading{margin-bottom:10px}
    .mg-scan-status{margin-block:8px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* v6: scanner and navigation share the same app shell as venue pages. */
.mg-brand{position:relative;justify-content:center;background:transparent;box-shadow:none}
.mg-brand-wordmark{width:min(154px,46vw)!important;height:40px!important;display:block;background:linear-gradient(105deg,var(--mg-accent),var(--mg-accent-2),#dc5ba3)!important;-webkit-mask:url('/images/menugo-logo-app.webp') center/contain no-repeat;mask:url('/images/menugo-logo-app.webp') center/contain no-repeat}
.mg-brand>i{position:absolute;left:18px;margin:0}
.mg-scan-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.mg-entry-nav{border:0!important;border-top:1px solid var(--mg-line)!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:759px){
    .mg-scan-card{padding:12px 2px!important}
    .mg-entry-nav{right:0!important;left:0!important;width:100%!important;max-width:none!important}
}

.mg-required-state,.mg-exit-confirm{position:absolute;inset:0;z-index:35;padding:18px;display:grid;place-items:center;background:rgba(5,12,10,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transition:opacity .2s ease}.mg-required-state.show,.mg-exit-confirm.show{opacity:1}.mg-required-state>div,.mg-exit-confirm>div{width:min(390px,100%);padding:22px;border:1px solid var(--mg-line);border-radius:24px;display:grid;justify-items:center;gap:9px;text-align:center;background:rgba(19,31,27,.92);box-shadow:0 24px 70px rgba(0,0,0,.28);transform:translateY(12px);transition:transform .22s ease}.mg-required-state.show>div,.mg-exit-confirm.show>div{transform:none}.mg-required-state span,.mg-exit-confirm span{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2));font-size:1.3rem}.mg-required-state b,.mg-exit-confirm b{font-size:.95rem}.mg-required-state small,.mg-exit-confirm small{max-width:310px;color:var(--mg-muted);font-size:.72rem;line-height:1.9}.mg-required-state button{min-width:170px;height:46px;margin-top:5px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--mg-accent),var(--mg-accent-2));font:800 .76rem inherit}.mg-exit-confirm{position:fixed;z-index:100}.mg-exit-confirm section{width:100%;margin-top:7px;display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.mg-exit-confirm button{height:46px;border:1px solid var(--mg-line);border-radius:14px;color:var(--mg-text);background:rgba(255,255,255,.06);font:800 .74rem inherit}.mg-exit-confirm button.primary{border:0;color:#fff;background:linear-gradient(135deg,var(--mg-accent),var(--mg-accent-2))}

/* v8: use one persisted theme from the first scanner frame. */
[data-theme="light"]{--mg-bg:#f4faf7;--mg-surface:#fff;--mg-glass:rgba(255,255,255,.72);--mg-line:rgba(23,53,40,.11);--mg-text:#17231e;--mg-muted:#708078}
[data-theme="light"] .mg-entry-header,[data-theme="light"] .mg-entry-nav{background:rgba(244,250,247,.74)}
[data-theme="light"] .mg-sheet-card{background:rgba(250,253,251,.96)}
.mg-scan-heading{justify-content:center!important;text-align:center!important}
.mg-scan-heading>div{width:100%!important}

/* v9: stable scanner theme and fast venue picker. */
[data-theme="light"] .mg-camera{
  border-color:rgba(23,53,40,.12)!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(31,166,123,.12),transparent 48%),
    linear-gradient(145deg,#eef8f3,#dfeee7)!important
}
[data-theme="light"] .mg-camera-idle{color:#60736a!important}
[data-theme="light"] .mg-camera-idle b{color:#203129!important}
[data-theme="light"] .mg-scan-frame i{border-color:color-mix(in srgb,var(--mg-accent) 80%,#17231e)!important}
.mg-scan-card.attention{animation:mg-scan-attention .85s cubic-bezier(.2,.8,.2,1)}
@keyframes mg-scan-attention{
  0%,100%{transform:translateZ(0)}
  45%{transform:translateY(-4px);box-shadow:0 18px 42px color-mix(in srgb,var(--mg-accent) 17%,transparent)}
}
.mg-venue{contain:layout paint;content-visibility:auto;contain-intrinsic-size:64px}
.mg-venue>span:nth-child(2){min-width:0;flex:1 1 auto}
.mg-venue-rating{
  flex:0 0 auto!important;min-width:54px;padding:6px 9px;border-radius:12px;
  display:inline-flex!important;align-items:center;justify-content:center;gap:5px;
  direction:ltr;color:#d79713;background:color-mix(in srgb,#f4b52a 13%,transparent)
}

/* v10: the entry screen uses the same navigation contract as every venue. */
body>.mm-nav{position:fixed;right:0;bottom:0;left:0;z-index:90;height:74px;min-height:74px;padding:4px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:0;border-top:1px solid var(--mg-line);box-sizing:border-box;background:var(--mg-surface)}
body>.mm-nav button{position:relative;min-width:0;height:100%;padding:0;border:0;display:grid;place-items:center;align-content:center;color:var(--mg-muted);background:transparent;font:inherit;box-shadow:none}
body>.mm-nav button>i{font-size:1.7rem;line-height:1}body>.mm-nav button>span{display:none}body>.mm-nav button.active{color:var(--mg-accent)}body>.mm-nav button:active{transform:scale(.94)}body>.mm-nav em{position:absolute;top:2px;right:calc(50% - 21px);min-width:18px;height:18px;padding:0 4px;border-radius:9px;display:grid;place-items:center;color:#fff;background:#ef4d68;font-size:.45rem;font-style:normal}body>.mm-nav em[hidden]{display:none}
body>.mm-nav{
  --safe-bottom:env(safe-area-inset-bottom);
  --nav:74px;
  --line:var(--mg-line);
  --solid:var(--mg-surface);
  --muted:var(--mg-muted);
  --brand:var(--mg-accent);
}
@media(max-width:759px){
  .mg-entry-main{bottom:calc(74px + env(safe-area-inset-bottom))!important}
  body>.mm-nav{background:color-mix(in srgb,var(--mg-surface) 92%,transparent)!important}
  .mg-sheet{
    z-index:200!important;
    inset:0 0 calc(74px + env(safe-area-inset-bottom)) 0!important
  }
  .mg-sheet-card{
    max-height:calc(100dvh - 74px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    padding-bottom:18px!important
  }
}
[data-theme="light"] body>.mm-nav{background:rgba(244,250,247,.94)!important}
.mg-venue-rating i{font-size:.76rem}.mg-venue-rating b{font-size:.68rem}
@media(prefers-reduced-motion:reduce){.mg-scan-card.attention{animation:none}}

/* v13: iOS reports a large browser safe-area on some installed builds.
   The shell already reserves a fixed navigation row, so do not add it again. */
@supports (-webkit-touch-callout:none){
  @media(max-width:759px){
    .mg-entry-main{bottom:74px!important}
    body>.mm-nav{
      --safe-bottom:0px!important;
      --mm-nav-height:74px!important;
      height:74px!important;
      min-height:74px!important;
      padding:4px 8px!important
    }
    .mg-sheet{inset:0 0 74px 0!important}
    .mg-sheet-card{
      max-height:calc(100dvh - 74px - env(safe-area-inset-top) - 16px)!important
    }
  }
}

/* v14: deterministic iOS shell sizing; the navigation's 74px includes its
   complete visual footprint and must not grow by the home-indicator inset. */
@media(max-width:759px){
  html.menugo-ios .mg-entry-main{bottom:74px!important}
  html.menugo-ios body>.mm-nav{
    --safe-bottom:0px!important;
    --mm-nav-height:74px!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    padding:4px 8px!important;
    padding-bottom:4px!important
  }
  html.menugo-ios .mg-sheet{inset:0 0 74px 0!important}
html.menugo-ios .mg-sheet-card{
    max-height:calc(var(--menugo-visual-height,100svh) - 74px - env(safe-area-inset-top) - 16px)!important
  }
}

/* Venue transition feedback: paint before navigation so loading never feels frozen. */

.mg-venue-required{position:fixed;inset:0;z-index:10030;padding:18px;display:grid;place-items:center;background:rgba(5,12,10,.54);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.mg-venue-required.show{opacity:1;visibility:visible;pointer-events:auto}.mg-venue-required-card{width:min(100%,330px);padding:24px 20px 18px;border:1px solid var(--mg-line);border-radius:22px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--mg-surface);color:var(--mg-text)}.mg-venue-required-card>span{width:54px;height:54px;margin-bottom:12px;border-radius:17px;display:grid;place-items:center;color:#fff;background:var(--mg-accent);font-size:1.2rem}.mg-venue-required-card>b{font-size:.92rem}.mg-venue-required-card>small{margin-top:7px;color:var(--mg-muted);font-size:.65rem;line-height:1.9}.mg-venue-required-card>button{width:100%;height:48px;margin-top:16px;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--mg-accent);font:850 .72rem inherit}
.mg-venue-loading{
  position:fixed;inset:0;z-index:420;padding:18px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--mg-bg) 92%,transparent);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease
}
.mg-venue-loading[hidden]{display:none!important}
.mg-venue-loading.show{opacity:1;visibility:visible;pointer-events:auto}
.mg-venue-loading-card{
  width:min(330px,100%);min-height:112px;padding:17px;border:1px solid var(--mg-line);border-radius:24px;
  display:grid;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:13px;
  color:var(--mg-text);background:var(--mg-surface);box-shadow:0 22px 64px rgba(0,0,0,.2)
}
.mg-venue-loading-mark{
  width:58px;height:58px;border-radius:19px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2));font-size:1.25rem
}
.mg-venue-loading-card b,.mg-venue-loading-card small{display:block}
.mg-venue-loading-card b{font-size:.86rem;line-height:1.7}
.mg-venue-loading-card small{margin-top:3px;color:var(--mg-muted);font-size:.61rem}
.mg-venue-loading-spinner{justify-self:center;color:var(--mg-accent);font-size:1.05rem}
@media(prefers-reduced-motion:reduce){.mg-venue-loading{transition:none}}

/* v16: keep directory controls fixed and make venue status/list behavior stable. */
.mg-entry-header-inner{width:min(100%,560px);display:flex;align-items:center;gap:9px}
.mg-entry-header .mg-brand{width:auto!important;min-width:0;flex:1;height:64px!important;padding:8px 14px!important;border-radius:20px!important;justify-content:center!important;cursor:default}
.mg-header-scan{width:64px;height:64px;flex:0 0 64px;border:1px solid color-mix(in srgb,var(--mg-accent) 24%,var(--mg-line));border-radius:20px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2));font-size:1.25rem;cursor:pointer;transition:transform .18s ease}
.mg-header-scan:active{transform:scale(.94)}
.mg-entry-main{place-items:stretch!important;padding:10px 12px!important;overflow:hidden!important;min-height:0!important}
.mg-directory{width:min(100%,560px);height:100%;min-height:0;margin:0 auto;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;overflow:hidden}
.mg-directory-heading{min-height:72px;padding:8px 6px;display:flex;align-items:center;gap:11px}
.mg-directory-heading>span{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2));font-size:1.12rem}
.mg-directory-heading>div{min-width:0;flex:1}.mg-directory-heading h1{margin:0 0 3px;font-size:1.03rem}.mg-directory-heading p{margin:0;color:var(--mg-muted);font-size:.68rem;line-height:1.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-directory-heading>em{min-width:39px;height:30px;padding:0 9px;border-radius:11px;display:grid;place-items:center;color:var(--mg-accent);background:color-mix(in srgb,var(--mg-accent) 11%,transparent);font-size:.7rem;font-style:normal;font-weight:900}
.mg-directory-search{height:54px!important;margin:0!important;padding:0 15px!important;border-radius:17px!important;background:color-mix(in srgb,var(--mg-surface) 82%,transparent)!important;-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%)}
.mg-directory-search input{min-width:0}.mg-directory-search>button{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:10px;display:grid;place-items:center;color:var(--mg-muted);background:color-mix(in srgb,var(--mg-text) 6%,transparent);cursor:pointer}.mg-directory-search>button[hidden]{display:none}
.mg-venue-filters{height:45px;padding:3px;border:1px solid var(--mg-line);border-radius:15px;display:grid;grid-template-columns:.68fr 1.35fr 1.2fr;gap:3px;background:color-mix(in srgb,var(--mg-surface) 72%,transparent);overflow:hidden}
.mg-venue-filters button{min-width:0;border:0;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--mg-muted);background:transparent;font:800 .64rem IRANYekanX,Tahoma,sans-serif;white-space:nowrap;cursor:pointer;transition:color .18s ease,background .18s ease}
.mg-venue-filters button i{font-size:.73rem}.mg-venue-filters button.active{color:#fff;background:var(--mg-accent)}
.mg-directory-heading,.mg-directory-search,.mg-venue-filters{min-width:0;flex:none}.mg-directory-list{height:100%;max-height:100%;min-height:0!important;padding:1px 1px 14px;display:flex!important;flex-direction:column;gap:8px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-y}
.mg-directory-list::-webkit-scrollbar{display:none!important}
.mg-directory-list .mg-venue{min-height:82px!important;padding:9px 10px!important;border-radius:19px!important;gap:11px!important;background:color-mix(in srgb,var(--mg-surface) 84%,transparent)!important;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:none!important;contain:layout paint;content-visibility:auto;contain-intrinsic-size:82px}
.mg-venue-visual{width:60px;height:60px;flex:0 0 60px;border-radius:17px;overflow:hidden;display:grid!important;place-items:center;background:color-mix(in srgb,var(--mg-accent) 10%,var(--mg-surface))}
.mg-venue-visual img,.mg-venue-visual .fallback{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important;display:grid!important;place-items:center}.mg-venue-visual .fallback{font-size:1.2rem;color:var(--mg-accent)}
.mg-venue-copy{min-width:0;flex:1;display:flex!important;flex-direction:column;align-items:flex-start;gap:5px!important}.mg-venue-copy>b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem!important}.mg-venue-copy>small{width:100%;display:flex!important;align-items:center;gap:7px!important;color:var(--mg-muted);font-size:.61rem!important}
.mg-venue-state{height:22px;padding:0 7px;border-radius:999px;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:5px;font-size:.55rem;font-weight:900;line-height:1!important;white-space:nowrap}.mg-venue-state i{display:block!important;width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;flex:0 0 6px!important;align-self:center!important;margin:0!important;border-radius:50%;background:currentColor;transform:none!important}.mg-venue-state.open{color:#13875e;background:rgba(33,184,154,.11)}.mg-venue-state.closed{color:#df685d;background:rgba(223,104,93,.1)}
.mg-directory-list .mg-venue-rating{min-width:62px!important;padding:7px 8px!important;border:0!important;border-radius:14px!important;display:grid!important;justify-items:center;gap:3px!important;background:color-mix(in srgb,#f4b52a 10%,transparent)!important;direction:ltr}.mg-directory-list .mg-venue-rating>span{display:flex;align-items:center;gap:5px;color:#d79713}.mg-directory-list .mg-venue-rating i{font-size:.74rem}.mg-directory-list .mg-venue-rating b{font-size:.72rem}.mg-directory-list .mg-venue-rating small{color:var(--mg-muted);font-size:.5rem;direction:rtl}
.mg-directory-list .mg-list-state{height:100%;min-height:180px;flex-direction:column;text-align:center}.mg-directory-list .mg-list-state>i{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:var(--mg-accent);background:color-mix(in srgb,var(--mg-accent) 10%,transparent);font-size:1.15rem}.mg-directory-list .mg-list-state>b{font-size:.82rem}.mg-directory-list .mg-list-state>span{font-size:.66rem}.mg-directory-list .mg-list-state>button{height:38px;padding:0 17px;border:0;border-radius:12px;color:#fff;background:var(--mg-accent);font:800 .66rem IRANYekanX,Tahoma,sans-serif}.mg-directory-list .mg-list-state.error>i{color:var(--mg-danger);background:color-mix(in srgb,var(--mg-danger) 10%,transparent)}

.mg-scanner-sheet{position:fixed;z-index:260;inset:0;display:none;align-items:flex-end;justify-content:center}.mg-scanner-sheet.open{display:flex}.mg-scanner-backdrop{position:absolute;inset:0;background:rgba(3,9,7,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mg-scanner-card{position:relative;z-index:1;width:min(100%,540px);max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));padding:12px 14px max(18px,env(safe-area-inset-bottom));border:1px solid var(--mg-line);border-bottom:0;border-radius:28px 28px 0 0;display:grid;grid-template-rows:auto minmax(210px,1fr) auto auto;gap:10px;background:color-mix(in srgb,var(--mg-surface) 96%,var(--mg-bg));box-shadow:0 -24px 70px rgba(0,0,0,.34);animation:mgScannerOpen .24s ease-out;overflow:hidden}@keyframes mgScannerOpen{from{transform:translateY(26px);opacity:.3}}
.mg-scanner-head{min-height:58px;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:9px;text-align:center}.mg-scanner-head>button,.mg-scanner-head>span{width:44px;height:44px;border:1px solid var(--mg-line);border-radius:14px;display:grid;place-items:center;color:var(--mg-text);background:color-mix(in srgb,var(--mg-text) 5%,transparent)}.mg-scanner-head>button{cursor:pointer}.mg-scanner-head>span{border:0;color:#fff;background:linear-gradient(145deg,var(--mg-accent),var(--mg-accent-2))}.mg-scanner-head h2{margin:0 0 3px;font-size:.95rem}.mg-scanner-head p{margin:0;color:var(--mg-muted);font-size:.64rem}
.mg-scanner-card .mg-camera{height:100%;min-height:210px;max-height:min(54dvh,520px);aspect-ratio:auto;border-radius:22px}.mg-scanner-card .mg-scan-status{min-height:34px}.mg-scanner-card .mg-scan-actions{grid-template-columns:1fr 1fr}.mg-scanner-card .mg-scan-actions button,.mg-scanner-card .mg-scan-actions label{height:48px;font-size:.72rem}
body.mg-scanner-open{overflow:hidden}
[data-theme="light"] .mg-directory-list .mg-venue{background:rgba(255,255,255,.76)!important}
[data-theme="light"] .mg-scanner-card{background:#f8fcfa}

@media(min-width:760px){
  .mg-entry-main{top:96px!important;bottom:76px!important}.mg-scanner-sheet{align-items:center;padding:18px}.mg-scanner-card{height:min(720px,calc(100dvh - 36px));border-bottom:1px solid var(--mg-line);border-radius:28px;padding-bottom:16px}
}
@media(max-width:420px){
  .mg-entry-header .mg-brand{height:60px!important}.mg-header-scan{width:60px;height:60px;flex-basis:60px;border-radius:19px}.mg-directory-heading{min-height:66px}.mg-directory-heading>span{width:44px;height:44px;flex-basis:44px}.mg-directory-heading p{font-size:.62rem}.mg-venue-filters button{font-size:.59rem;gap:4px}.mg-directory-list .mg-venue{min-height:78px!important}.mg-venue-visual{width:56px;height:56px;flex-basis:56px}
}
@media(max-height:690px){
  .mg-directory-heading{min-height:56px;padding-block:2px}.mg-directory-heading>span{width:40px;height:40px;flex-basis:40px}.mg-directory-search{height:48px!important}.mg-venue-filters{height:40px}.mg-directory{gap:7px}.mg-scanner-card{gap:6px}.mg-scanner-head{min-height:50px}.mg-scanner-card .mg-scan-status{min-height:28px}.mg-scanner-card .mg-scan-actions button,.mg-scanner-card .mg-scan-actions label{height:44px}
}
@media(max-width:759px){
  html.menugo-ios .mg-scanner-card{max-height:var(--menugo-visual-height,100svh);padding-bottom:16px}
}
