/* BuildYourSystem v0.11.7 stable UI consolidation. Loaded last. */
:root{--v115-content:min(100% - 48px,1440px)}
@media(max-width:720px){:root{--v115-content:calc(100% - 28px)}}

/* Dashboard navigation: no desktop collapse or nested scrollbar. */
.c9-sidebar-toggle,[data-sidebar-collapse],[data-c9="sidebar"],.hub-nav-intro,.hub-sidebar-note{display:none!important}
html.c9-sidebar-compact,body.c9-sidebar-compact{--sidebar-compact:0!important}
@media(min-width:1101px){
 .sidebar,.hub-sidebar,.nav-scroll{overflow:visible!important;max-height:none!important}
 .c9-sidebar-compact .sidebar{width:var(--sidebar-width,280px)!important}
 .c9-sidebar-compact .workspace{grid-template-columns:var(--sidebar-width,280px) minmax(0,1fr)!important}
 .c9-sidebar-compact .workspace-main{margin-inline-start:var(--sidebar-width,280px)!important}
}

/* Retire legacy dynamically-created restaurant menu. The native m114 navigation is canonical. */
.m11-mobile-nav-toggle,.m11-mobile-nav-drawer{display:none!important}
.m114-mobile-menu-toggle{display:none!important}
.m114-mobile-menu{display:none!important}
@media(max-width:1100px){
 .m9-site-nav{display:none!important}
 .m114-mobile-menu-toggle{display:inline-grid!important;place-items:center!important}
 .m114-mobile-menu:not([hidden]){display:grid!important;position:fixed!important;z-index:12060!important;top:88px!important;inset-inline:14px!important;max-height:calc(100dvh - 108px)!important;overflow:auto!important;padding:10px!important;gap:6px!important;border:1px solid var(--line)!important;border-radius:20px!important;background:color-mix(in srgb,var(--surface) 97%,transparent)!important;color:var(--ink)!important;box-shadow:0 24px 70px rgba(0,0,0,.2)!important;backdrop-filter:blur(18px)!important}
 .m114-mobile-menu a{display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:10px 12px!important;border-radius:13px!important;color:var(--ink)!important;text-decoration:none!important;font-weight:750!important}
 .m114-mobile-menu a:hover,.m114-mobile-menu a:focus-visible{background:var(--soft)!important}
 .m114-mobile-menu .icon{width:18px!important;height:18px!important}
}

/* Same horizontal rhythm for public header, route pages and footer across restaurant profiles. */
.m9-menu{width:min(100%,1700px)!important;margin-inline:auto!important}
.m9-menu>.m9-information,.m9-menu>.m11-route-information,.m9-menu>.x-project-footer,.m9-menu>.m9-contact-shell{width:100%!important;max-width:none!important;margin-inline:auto!important;box-sizing:border-box!important}
.m9-information{padding-inline:0!important}
.m9-menu .x-footer-grid{width:100%!important;max-width:none!important;padding-inline:0!important}

/* Light restaurant cover: explicitly dark readable copy, including cinematic. */
html:not([data-mode="dark"]) .m9-menu .m9-cover:not([data-cover="night"]),html[data-mode="light"] .m9-menu .m9-cover:not([data-cover="night"]){color:#191713!important}
html:not([data-mode="dark"]) .m9-menu .m9-cover:not([data-cover="night"]) :is(h1,h2,h3,p,small,strong,.m9-overline,.m9-cover-description,.m9-cover-footnote,.m9-cover-footnote p,.m9-cover-seal),html[data-mode="light"] .m9-menu .m9-cover:not([data-cover="night"]) :is(h1,h2,h3,p,small,strong,.m9-overline,.m9-cover-description,.m9-cover-footnote,.m9-cover-footnote p,.m9-cover-seal){color:#191713!important;text-shadow:none!important}
html:not([data-mode="dark"]) .m9-menu .m9-cover:not([data-cover="night"]) .m9-cover-copy,html[data-mode="light"] .m9-menu .m9-cover:not([data-cover="night"]) .m9-cover-copy{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,0))!important}
html:not([data-mode="dark"]) .m9-menu .m9-cover:not([data-cover="night"]) .btn.ghost,html[data-mode="light"] .m9-menu .m9-cover:not([data-cover="night"]) .btn.ghost{color:#191713!important;background:rgba(255,255,255,.84)!important;border-color:rgba(25,23,19,.16)!important}
.m9-cover-copy h1{font-size:clamp(32px,4vw,56px)!important;line-height:1.28!important;max-width:14ch!important}
@media(max-width:720px){.m9-cover[data-cover] h1{font-size:34px!important}}

/* Dish choices stay compact and attached to the lower card edge. */
.m9-grid>.m9-dish,.m9-grid>.v7-food{display:flex!important;flex-direction:column!important;height:100%!important;overflow:hidden!important}
.m9-dish-body,.m9-grid>.v7-food>.v7-food-body{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important}
.m11-card-options{order:20!important;margin-top:auto!important;margin-bottom:0!important;padding:9px 0 0!important;border-top:1px dashed color-mix(in srgb,var(--ink) 11%,transparent)!important;min-height:31px!important;display:flex!important;gap:5px!important;align-items:flex-end!important;flex-wrap:wrap!important}
.m11-card-options span{font-size:9px!important;font-weight:700!important;padding:3px 7px!important;border-radius:999px!important;background:var(--soft)!important;color:var(--muted)!important;line-height:1.35!important}
.m9-dish footer,.m9-grid>.v7-food footer{order:30!important;margin-top:8px!important}

/* Quantity stepper in dish detail, without replacing the actual quantity input semantics. */
.m115-choice-quantity{display:grid!important;grid-template-columns:44px minmax(62px,1fr) 44px!important;gap:7px!important;align-items:center!important;margin:13px 0!important}
.m115-quantity-label{grid-column:1/-1!important;font-weight:800!important;font-size:12px!important}
.m115-choice-quantity input{margin:0!important;min-height:44px!important;text-align:center!important}
.m115-qty-btn{min-height:44px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--soft)!important;color:var(--ink)!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}

/* Ecommerce category popup is positioned by JS against the exact trigger. */
body>#v6-category-dropdown{position:fixed!important;z-index:12050!important;left:0;right:auto;top:0;bottom:auto;transform:none!important;margin:0!important;max-width:min(440px,calc(100vw - 24px))!important;background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:0 24px 80px rgba(0,0,0,.22)!important}

/* Stable empty states. No skeleton/empty-state reflow loop. */
[data-c11-reels],[data-c11-media-grid]{min-height:340px!important}
[data-c11-reels][data-c11-loaded="1"],[data-c11-media-grid][data-c11-loaded="1"]{min-height:340px!important}
.c11-route-page>.empty-state,.m11-route-information .empty-state{min-height:340px!important;display:grid!important;place-content:center!important;text-align:center!important;padding:36px!important;border:1px dashed var(--line)!important;border-radius:26px!important;background:color-mix(in srgb,var(--surface) 94%,transparent)!important}

/* Reels / media admin use the canonical dashboard routes. */
.v114-admin-media-layout,.v114-reels-layout{display:grid!important;grid-template-columns:minmax(300px,.84fr) minmax(380px,1.16fr)!important;gap:18px!important;align-items:start!important}
.v114-media-form,.v114-media-library,.v114-reel-uploader,.v114-reels-list,.v114-instagram-panel,.v114-source-switch{padding:20px!important;border-radius:22px!important}
.v114-form-head{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:16px!important}.v114-form-head>div{min-width:0;flex:1!important}.v114-form-head h2{margin:0 0 3px!important;font-size:18px!important}.v114-form-head p{margin:0!important;color:var(--muted)!important;font-size:12px!important;line-height:1.7!important}
.v114-media-list{display:grid!important;gap:9px!important}.v114-media-row,.v114-reel-admin{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--soft)!important}.v114-media-thumb,.v114-reel-preview{width:58px!important;height:58px!important;border-radius:14px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:var(--surface)!important}.v114-media-thumb img,.v114-reel-preview img{width:100%!important;height:100%!important;object-fit:cover!important}.v114-media-copy,.v114-reel-admin>div:nth-child(2){display:grid!important;gap:3px!important;min-width:0!important}.v114-media-copy small,.v114-reel-admin small{color:var(--muted)!important;font-size:10px!important}
.v114-inline-reel{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto!important;gap:10px!important;align-items:end!important;padding-top:9px!important;border-top:1px dashed var(--line)!important}.v114-source-switch{display:flex!important;align-items:end!important;gap:12px!important;margin-bottom:18px!important}.v114-source-switch label{flex:1!important;margin:0!important}
@media(max-width:900px){.v114-admin-media-layout,.v114-reels-layout{grid-template-columns:1fr!important}.v114-inline-reel{grid-template-columns:1fr!important}.v114-source-switch{align-items:stretch!important;flex-direction:column!important}}

/* Project identity/settings: single coherent full-width form with tight label/icon spacing. */
.x8-identity-layout{grid-template-columns:minmax(460px,1.08fr) minmax(380px,.92fr)!important;gap:22px!important;align-items:start!important}.x8-identity-form,.x8-settings-panel,.x8-settings-body,.x8-settings-block{width:100%!important;max-width:none!important;min-width:0!important}.x8-settings-block summary{min-height:56px!important;padding:12px 15px!important;display:flex!important;align-items:center!important;gap:8px!important}.x8-settings-body,.x8-section-content{padding:15px!important}.x8-field-pair{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.x8-settings-body :is(input,select,textarea){width:100%!important;max-width:none!important;min-height:44px!important;box-sizing:border-box!important}.x8-settings-body label{gap:5px!important}.x8-social-row,.x8-social-editor>div{width:100%!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important}.x8-social-row .icon,.x8-social-editor .icon{width:18px!important;height:18px!important}
@media(max-width:720px){.x8-field-pair{grid-template-columns:1fr!important}.x8-settings-body,.x8-section-content{padding:12px!important}}

/* Admin categories are compact, with child rows clearly subordinate. */
.v6-category-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:14px!important}.v6-category-card{border-radius:20px!important;padding:14px!important}.v6-subcategory{min-height:50px!important;border-radius:14px!important;padding:7px 9px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto 16px!important;gap:9px!important;align-items:center!important}.v6-subcategory img{width:42px!important;height:38px!important;border-radius:10px!important;object-fit:cover!important}

/* Mobile footer uses a clear one-column information hierarchy. */
@media(max-width:720px){.m9-menu .x-footer-grid{grid-template-columns:1fr!important;gap:18px!important;text-align:start!important}.m9-menu .x-footer-brand{grid-column:auto!important;text-align:start!important;max-width:none!important;margin:0!important}.m9-menu .x-footer-wordmark,.m9-menu .x-project-footer .x-opening{justify-content:flex-start!important}.m9-menu .x-project-footer section{padding-block:3px!important}.m9-menu .x-quick-links{gap:9px 16px!important}.m9-menu .x-footer-line{padding-top:13px!important;border-top:1px solid var(--line)!important}}

/* Broken images keep card geometry and never reveal server paths. */
img.m115-image-error{opacity:.16!important;filter:grayscale(1)!important}.m115-image-host-error{background:linear-gradient(135deg,var(--soft),var(--surface))!important}

/* Restaurant owner menu management cards: compact, readable, action shelf below content. */
.v7-menu-admin{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:14px!important}
.v7-item-admin{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:12px 14px!important;padding:14px!important;border-radius:20px!important;min-width:0!important;background:var(--surface)!important;border:1px solid var(--line)!important}
.v7-item-admin>img,.v7-item-admin>.v7-placeholder{grid-column:1!important;grid-row:1!important;width:78px!important;height:78px!important;border-radius:18px!important;object-fit:cover!important}
.v7-item-admin>div{grid-column:2!important;grid-row:1!important;min-width:0!important}
.v7-item-admin>div h3{margin:0 0 4px!important;font-size:15px!important;line-height:1.45!important}
.v7-item-admin>div p{margin:4px 0!important;font-size:11px!important;color:var(--muted)!important}
.v7-item-admin>.btn{grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-height:36px!important;justify-content:center!important;font-size:11px!important;padding:7px 10px!important;border-radius:12px!important;margin:0!important;background:var(--soft)!important}
.v7-item-admin .v7-flags{font-size:9px!important;margin:5px 0 0!important}

/* Guarantee contrast on pale cinematic covers with a refined light copy panel. */
html:not([data-mode="dark"]) .m9-menu .m9-cover[data-cover="cinematic"] .m9-cover-copy,html[data-mode="light"] .m9-menu .m9-cover[data-cover="cinematic"] .m9-cover-copy{padding:clamp(18px,2.1vw,30px)!important;border-radius:24px!important;background:linear-gradient(135deg,rgba(255,252,246,.80),rgba(255,248,236,.50))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;backdrop-filter:blur(6px)!important}
@media(max-width:720px){html:not([data-mode="dark"]) .m9-menu .m9-cover[data-cover="cinematic"] .m9-cover-copy,html[data-mode="light"] .m9-menu .m9-cover[data-cover="cinematic"] .m9-cover-copy{padding:16px!important}}


/* v0.11.7 — identity settings: in RTL the form stays on the right and preview on the left. */
@media(min-width:1001px){
 html[dir="rtl"] .x8-identity-layout>.x8-identity-form{grid-column:1!important;grid-row:1!important}
 html[dir="rtl"] .x8-identity-layout>.x8-preview-panel{grid-column:2!important;grid-row:1!important}
 .x8-preview-panel{position:sticky!important;top:86px!important;max-height:calc(100vh - 110px)!important}
 .x8-preview-stage{height:min(74vh,780px)!important;background:linear-gradient(145deg,var(--soft),var(--surface))!important}
}
@media(max-width:1000px){.x8-identity-layout{grid-template-columns:1fr!important}.x8-preview-panel{position:static!important;max-height:none!important}}

/* v0.11.7 — restaurant design identity page, rebuilt as an editorial design workspace. */
.v7-design-grid{grid-template-columns:minmax(330px,.82fr) minmax(420px,1.18fr)!important;gap:22px!important;align-items:start!important;margin-bottom:28px!important}
.v7-design-grid>.v7-panel{padding:22px!important;border-radius:24px!important;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 92%,var(--soft)))!important;box-shadow:0 16px 42px rgba(15,23,42,.06)!important}
.v7-design-grid>.v7-panel:first-child{border-top:4px solid var(--primary)!important}
.v7-design-grid>.v7-panel:nth-child(2){position:sticky!important;top:86px!important}
.v7-design-grid h2{font-size:20px!important;margin:0 0 16px!important}
.v7-bg-preview{height:280px!important;border-radius:24px!important;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--line))!important;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 45%),linear-gradient(145deg,var(--soft),var(--surface))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important}
.v7-bg-preview>strong{font-size:18px!important;padding:14px 22px!important;border-radius:16px!important}
.v7-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.v7-template{padding:0 0 18px!important;border-radius:24px!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;overflow:hidden!important}
.v7-template:hover{transform:translateY(-4px)!important;box-shadow:0 18px 48px rgba(15,23,42,.1)!important;border-color:color-mix(in srgb,var(--primary) 28%,var(--line))!important}
.v7-template-art{height:190px!important;padding:28px!important}
.v7-template>h3{font-size:18px!important;margin-top:16px!important}.v7-template>p{min-height:0!important;margin-bottom:13px!important}
.v7-section-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:14px!important;padding:10px 0 14px!important;margin-top:20px!important;border-bottom:1px dashed var(--line)!important}.v7-section-heading h2{font-size:22px!important;margin:0!important}
@media(max-width:1180px){.v7-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v7-design-grid{grid-template-columns:1fr!important}.v7-design-grid>.v7-panel:nth-child(2){position:static!important}}
@media(max-width:680px){.v7-template-grid{grid-template-columns:1fr!important}.v7-template-art{height:160px!important}}

/* Project/store hamburger: never inherit logical RTL offsets from old CSS. */
body>#v6-category-dropdown{inset-inline-start:auto;inset-inline-end:auto}

/* Admin shortcut in restaurant header. */
.m117-admin-link{display:inline-grid!important;place-items:center!important;text-decoration:none!important}

/* v0.11.8 public landing follow-up — Baron guest actions must remain dark/readable in light mode.
   Loaded last on purpose so theme/ghost-button rules cannot wash the labels or icons out. */
html:not([data-mode="dark"]) .m9-menu .m9-guest-actions .btn,
html[data-mode="light"] .m9-menu .m9-guest-actions .btn{opacity:1!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;font-weight:800!important}
html:not([data-mode="dark"]) .m9-menu .m9-guest-actions :is([data-menu="table"],[data-menu="waiter"],[data-menu="bill"]),
html[data-mode="light"] .m9-menu .m9-guest-actions :is([data-menu="table"],[data-menu="waiter"],[data-menu="bill"]){color:#174c38!important;background:color-mix(in srgb,#174c38 9%,#fff)!important;border-color:color-mix(in srgb,#174c38 34%,var(--line))!important}
html:not([data-mode="dark"]) .m9-menu .m9-guest-actions [data-menu="reserve"],
html[data-mode="light"] .m9-menu .m9-guest-actions [data-menu="reserve"]{color:#28242f!important;background:color-mix(in srgb,var(--primary) 8%,#fff)!important;border-color:color-mix(in srgb,#28242f 24%,var(--line))!important}
html:not([data-mode="dark"]) .m9-menu .m9-guest-actions .btn .icon,
html[data-mode="light"] .m9-menu .m9-guest-actions .btn .icon{color:currentColor!important;stroke:currentColor!important;opacity:1!important}
