:root {
  color-scheme: light;
  --page:#faf8f5; --surface:#fff; --ink:#251b17; --muted:#6e6059;
  --line:#ebe4de; --orange:#c93913; --flame:#f65324; --soft:#fff0e8;
  --green:#196447; --radius:22px;
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--ink); background:var(--page); font-synthesis:none;
}
* { box-sizing:border-box }
body { margin:0; min-height:100vh; display:flex; flex-direction:column }
main { flex:1 }
a { color:inherit; text-decoration:none }
button,input,select,textarea { font:inherit }
button { cursor:pointer }
button:disabled { cursor:not-allowed; opacity:.55 }
img { display:block; max-width:100% }
:focus-visible { outline:3px solid #b73816; outline-offset:4px }
h1,h2,h3,p { margin:0 }
h1,h2,h3,.brand { font-family:Manrope,"DM Sans",system-ui,sans-serif }
h1,h2,h3 { letter-spacing:-.04em; line-height:1.13 }
h1 { font-size:clamp(2.2rem,5vw,4rem); font-weight:800 }
h2 { font-size:clamp(1.65rem,3vw,2.35rem); font-weight:800 }
h3 { font-size:1.22rem; font-weight:800 }
p { line-height:1.5 }
.icon { width:20px; height:20px; flex:none; vertical-align:middle }
.wrap { width:min(1160px,calc(100% - 72px)); margin-inline:auto }
.skip { position:absolute; top:-100px; left:12px; z-index:20; padding:10px; background:white }
.skip:focus { top:12px }
#top { background:#fffdfb; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:500 }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:82px }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:1.63rem; font-weight:800; letter-spacing:-.095em; line-height:.91; white-space:nowrap }
.brand img { border-radius:11px }
.brand-accent { color:var(--orange) }
.brand small { display:block; font-size:.48rem; font-weight:800; letter-spacing:.115em; margin-top:5px; color:var(--muted) }
.top-nav { display:flex; align-items:center; justify-content:center; gap:29px; color:var(--muted); font-size:.88rem; font-weight:700 }
.top-nav a:hover,.footer-inner a:hover { color:var(--orange) }
.top-actions { display:flex; align-items:center; gap:9px }
.customer-quick-nav { display:flex; align-items:center; gap:7px; }
.notification-button { position:relative; }
.notification-count { position:absolute; top:-6px; right:-7px; min-width:19px; height:19px; display:grid; place-items:center; padding-inline:3px; border:2px solid var(--surface); border-radius:99px; background:var(--orange); color:#fff; font-size:.58rem; font-weight:800; }
.notification-count[hidden] { display:none; }
.icon-button,.cart-button { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 9px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--surface) }
.icon-button:hover { background:var(--soft); border-color:#f5d4c4 }
.cart-button { gap:6px; color:var(--orange); background:var(--soft); border-color:#f8d8c8; font-weight:800; font-size:.86rem }
.location-button { display:flex; align-items:center; gap:8px; border:0; background:transparent; color:var(--orange); text-align:left; padding:4px 4px 4px 0 }
.location-button small { display:block; font-size:.59rem; font-weight:800; letter-spacing:.09em; line-height:1.3 }
.location-button b { display:block; max-width:155px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--ink); font-size:.76rem }
.location-button .icon:last-child { width:14px }
.workspace-label { padding:7px 12px; border-radius:100px; background:var(--soft); color:var(--orange) }
.home { padding-top:28px; padding-bottom:75px }
.hero { min-height:411px; position:relative; display:grid; isolation:isolate; overflow:hidden; border-radius:28px; background:#281911; color:#fff8ee; align-items:center }
.hero-photo { position:absolute; z-index:-2; inset:0 0 0 39%; background:url('/assets/burger.webp') center 54% / cover no-repeat }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#281911 0%,#281911 35%,#281911e3 44%,#28191130 68%,#28191118 100%) }
.hero-copy { padding:40px 52px; width:min(620px,70%) }
.hero-kicker { display:inline-flex; align-items:center; gap:8px; color:#ffd3b9; background:#ffffff13; border:1px solid #ffffff28; border-radius:100px; padding:8px 13px; font-weight:800; letter-spacing:.125em; font-size:.68rem }
.hero-kicker span { width:7px; height:7px; border-radius:50%; background:#ff7848 }
.hero h1 { font-size:clamp(2.75rem,5.45vw,5.05rem); letter-spacing:-.075em; line-height:.99; margin:18px 0 14px }
.hero h1 em { color:#ff7848; font-style:normal }
.hero-copy p { color:#f2dfd2; max-width:335px; font-size:1.03rem }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid transparent; border-radius:11px; min-height:43px; padding:9px 15px; font-size:.9rem; font-weight:800; text-align:center; line-height:1.2 }
.btn .icon { width:18px; height:18px }
.btn:hover { filter:brightness(.96) }
.hero-cta { background:#ff6a38; color:#291407; margin-top:23px; padding:12px 16px }
.hero-stamp { display:flex; align-items:center; gap:9px; position:absolute; right:21px; bottom:20px; padding:9px 12px; border-radius:11px; background:#fff8ee; color:#873111; font-size:.61rem; letter-spacing:.09em; line-height:1.25; transform:rotate(-5deg); box-shadow:0 6px 24px #1c0c0880 }
.hero-stamp .icon { width:25px; height:25px }
.hero-stamp strong { color:var(--ink); font-size:.72rem }
.browse { margin-top:41px; scroll-margin-top:110px }
.catalog { margin-top:34px; scroll-margin-top:110px }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:15px }
.section-head h2 { margin-top:5px }
.overline { display:block; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.15em; line-height:1.4 }
.overline.accent { color:var(--orange) }
.search-field { display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line); border-radius:11px; padding:0 12px; min-height:42px; color:var(--muted) }
.search-field input { width:178px; border:0; background:transparent; color:var(--ink); outline:none; font-size:16px }
.search-field:focus-within { outline:2px solid var(--orange) }
.showcase-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-bottom:8px; align-items:center; }
.showcase-tools .search-field { width:100%; min-width:0; }
.showcase-tools .search-field input { width:100%; min-width:0; }
.showcase-filters { position:relative; justify-self:end; z-index:30; }
.showcase-filters > summary { list-style:none; cursor:pointer; user-select:none; }
.showcase-filters > summary::-webkit-details-marker { display:none; }
.showcase-filters > summary.filter-active,.showcase-filters[open] > summary { color:var(--orange); background:var(--soft); border-color:#f1cbb9; }
.showcase-filters > summary .icon:last-child { width:14px; }
.showcase-filter-options { position:absolute; top:calc(100% + 6px); right:0; width:min(220px,calc(100vw - 30px)); display:grid; gap:3px; padding:7px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 10px 32px #251b1726; }
.showcase-filters:not([open]) .showcase-filter-options { display:none; }
.showcase-filter-options button { display:flex; align-items:center; gap:9px; padding:10px 9px; min-height:43px; border:0; border-radius:8px; color:var(--ink); background:transparent; text-align:left; font-size:.88rem; font-weight:700; }
.showcase-filter-options button .icon { color:var(--orange); width:18px; height:18px; }
.showcase-filter-options button:hover,.showcase-filter-options button[aria-pressed=true] { background:var(--soft); color:var(--orange); }
.chips { display:flex; gap:9px; overflow-x:auto; padding:3px 3px 8px; margin-left:-3px; scrollbar-width:thin }
.chip { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; border:1px solid var(--line); border-radius:11px; min-height:44px; padding:8px 14px; background:var(--surface); color:var(--ink); font-weight:700; font-size:.86rem }
.chip .icon { color:#a44c32; width:18px; height:18px }
.chip:is([aria-pressed=true]:not([data-menu-category]),[data-menu-active]) { color:#fff; border-color:var(--orange); background:var(--orange) }
.chip:is([aria-pressed=true]:not([data-menu-category]),[data-menu-active]) .icon { color:inherit }
.chip:hover:not([aria-pressed=true]):not([data-menu-active]) { background:var(--soft) }
.muted { color:var(--muted); font-size:.86rem }
.pilot-label { margin:0 0 13px; color:#8b4b27; font-size:.81rem; font-weight:700; line-height:1.45 }
.pilot-label .icon { width:15px; height:15px; margin-right:4px }
.restaurants { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.catalog-more { display:flex; justify-content:center; margin-top:16px; }
.batch-sentinel { height:1px; pointer-events:none; }
[data-stock-quantity][hidden] { display:none; }
.inventory-intro { margin-bottom:16px; }
.inventory-store + .inventory-store,.inventory-group + .inventory-group { margin-top:20px; }
.inventory-group h3 { margin:12px 0 8px; }
.inventory-grid,.platform-coupon-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; }
.inventory-card { border-left:4px solid #307858; }
.inventory-card.inventory-low { border-left-color:#ad6a1b; background:#fffaf0; }
.inventory-card.inventory-empty { border-left-color:#b6301c; background:#fff6f4; }
.inventory-card-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; }
.inventory-card-head h4 { margin:0; overflow-wrap:anywhere; }
.inventory-status,.product-stock-out { border-radius:6px; padding:3px 7px; background:#e7f5ed; color:#176341; font-size:.75rem; font-weight:800; }
.inventory-low .inventory-status { background:#fcebc8; color:#754411; }
.inventory-empty .inventory-status,.product-stock-out { background:#fce7e2; color:#922b1e; }
.product-stock-out { display:table; margin-top:5px; }
.inventory-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.inventory-card dt { color:var(--muted); font-size:.75rem; }
.inventory-card dd { margin:4px 0 0; font-weight:800; overflow-wrap:anywhere; }
.platform-coupon-list { margin-top:12px; }
.platform-coupon-card .order-actions { margin-top:9px; }
.restaurant-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--surface); transition:transform .2s,box-shadow .2s }
.restaurant-card:hover { transform:translateY(-3px); box-shadow:0 10px 32px #5c352313 }
.restaurant-photo { position:relative; aspect-ratio:1.58; background:#e8dbd0 }
.restaurant-photo img { width:100%; height:100%; object-fit:cover }
.store-coupon-tag,.product-rank { position:absolute; padding:5px 8px; font-size:.75rem; font-weight:800; }
.store-coupon-tag { top:0; left:0; padding-left:12px; border-radius:0 0 8px 0; background:#e54216; color:#1e0d08; }
.product-rank { top:8px; left:8px; border-radius:7px; background:#312116; color:#fff; }
.store-rating { position:absolute; bottom:0; left:0; padding:5px 9px; border-radius:0 8px 0 0; background:#21140ef2; color:#fff; font-size:.75rem; font-weight:800; line-height:1; }
.showcase-product .restaurant-content > p { min-height:0; margin-bottom:8px; }
.showcase-product .restaurant-content > strong { color:var(--orange); font-size:.9rem; }
.showcase-product h3 { overflow-wrap:anywhere; }
.closed-tag,.open-tag { position:absolute; top:0; right:0; border-radius:0 0 0 8px; padding:5px 12px 5px 9px; font-size:.67rem; font-weight:800; color:white; background:#1b130e99; backdrop-filter:blur(4px); }
.open-tag::before { content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:#c5f7d7; margin-right:5px; vertical-align:middle; }
.restaurant-content { padding:14px }
.restaurant-heading { display:flex; justify-content:space-between; align-items:center; gap:5px }
.restaurant-content h3 { font-size:1.16rem }
.restaurant-arrow { display:grid; place-items:center; width:28px; height:28px; flex:none; color:var(--orange); border-radius:50%; background:var(--soft) }
.restaurant-arrow .icon { width:15px }
.restaurant-content p { color:var(--muted); font-size:.81rem; margin:4px 0 11px; min-height:2.9em }
.restaurant-meta { display:flex; align-items:center; flex-wrap:wrap; gap:13px; font-size:.76rem; font-weight:700 }
.restaurant-meta span { display:inline-flex; align-items:center; gap:5px }
.restaurant-meta .icon { width:15px; height:15px; color:var(--orange) }
.restaurant-meta .free-delivery { padding:4px 7px; border-radius:7px; background:#e7f5ed; color:#176341; font-weight:800; }
.restaurant-meta .free-delivery .icon,.store-banner .restaurant-meta .free-delivery .icon { color:inherit; }
#footer { background:#f4eee8; border-top:1px solid var(--line) }
.footer-inner { display:flex; align-items:center; justify-content:center; padding:22px 0 }
.footer-inner .brand { font-size:1.25rem; gap:8px; }
.footer-inner .brand img { width:32px; height:32px; border-radius:9px; }
.footer-inner .brand small { font-size:.4rem; }
.has-floating-cart { padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)); }
.floating-cart { position:fixed; z-index:450; bottom:calc(16px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:13px; width:min(480px,calc(100% - 28px)); min-height:68px; padding:11px 16px; border:1px solid #efc2ad; border-radius:19px; background:#fffdfb; box-shadow:0 7px 30px #4a231d30; color:var(--orange); }
.floating-cart[hidden] { display:none!important; }
.floating-cart-icon { position:relative; display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--soft); font-size:1.5rem; flex:none; }
.floating-cart-icon b { position:absolute; top:-5px; right:-5px; min-width:19px; height:19px; border-radius:20px; display:grid; place-items:center; padding:0 4px; font-size:.62rem; background:var(--orange); color:white; border:2px solid white; }
.floating-cart-copy { display:grid; gap:3px; min-width:0; flex:1; }
.floating-cart-copy strong { font-size:.9rem; }
.floating-cart-copy small { color:var(--muted); font-size:.66rem; line-height:1.4; }
.floating-cart > strong { font-size:1.05rem; white-space:nowrap; }
.has-floating-cart #toast { bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
.install-banner { display:flex; justify-content:center; padding:0 16px 10px; }
.install-banner[hidden],.top-install[hidden] { display:none!important; }
.top-install { min-height:34px; padding:7px 18px; border-radius:100px; font-size:.8rem; box-shadow:0 3px 9px #ec59251c; }
.page { padding-top:39px; padding-bottom:65px; min-height:65vh }
.page > h1 { margin:8px 0 22px }
.back-link { display:inline-flex; align-items:center; gap:8px; margin-bottom:17px; font-weight:800; color:var(--orange); font-size:.88rem }
.store-banner { position:relative; isolation:isolate; min-height:245px; overflow:hidden; display:flex; align-items:end; border-radius:var(--radius); background:#281911; color:#fff8ee; padding:27px 27px 53px; margin-bottom:18px }
.store-banner img { position:absolute; inset:0 0 0 auto; width:65%; height:100%; object-fit:cover; z-index:-2 }
.store-banner::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#281911 20%,#281911dd 44%,#28191132 100%) }
.store-banner p { margin:7px 0 10px; max-width:36ch }
.store-banner .restaurant-meta .icon { color:#ff875d }
.menu-head { margin-top:24px; scroll-margin-top:calc(var(--customer-header-height, 82px) + 8px); }
.menu-coupon-button { color:var(--orange); border-color:#f1cbb9; background:var(--soft); }
.menu-coupon-unavailable { color:var(--muted); font-size:.79rem; text-align:right; }
.store-coupon-list { display:grid; gap:10px; }
.store-coupon-entry { display:flex; align-items:end; gap:8px; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--page); }
.store-coupon-entry label { flex:1; min-width:0; display:grid; gap:5px; font-size:.82rem; color:var(--muted); overflow-wrap:anywhere; }
.store-coupon-entry input { width:100%; min-height:43px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:1rem; font-weight:800; }
.menu-category-bar { position:sticky; top:var(--customer-header-height, 82px); z-index:20; padding:6px 0 3px; background:var(--page); border-bottom:1px solid var(--line); }
.menu-category-bar .chips { margin-inline:0; }
.showcase-category-bar + .catalog { scroll-margin-top:calc(var(--customer-header-height, 82px) + 78px); }
.products,.order-grid,.management-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px }
.product { display:flex; align-items:center; gap:12px; padding:15px; min-height:130px; border:1px solid var(--line); border-radius:16px; background:var(--surface) }
.product > div { flex:1 }
.product img { width:89px; height:84px; object-fit:cover; border-radius:10px }
.product p,.cart-row p,.management-head p,.menu-admin-row p { margin:4px 0; color:var(--muted); font-size:.85rem }
.product strong { color:var(--orange) }
.add-product { background:var(--soft); color:var(--orange); border-color:#f8d8c8 }
.primary { color:white; background:var(--orange) }
.outline { background:var(--surface); color:var(--ink); border-color:var(--line) }
.wide { width:100% }
.panel,.order-card { padding:18px; background:var(--surface); border:1px solid var(--line); border-radius:16px; min-width:0 }
.panel h2 { font-size:1.28rem }
.split { display:grid; grid-template-columns:1.25fr 1fr; gap:16px; align-items:start }
.cart-items { margin-top:8px }
.cart-row,.menu-admin-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere }
.cart-row:last-child,.menu-admin-row:last-child { border-bottom:0 }
.stepper { display:flex; align-items:center; gap:8px }
.stepper .icon-button { min-width:34px; height:34px }
.stepper .icon { width:15px }
.address-summary { display:flex; align-items:center; gap:8px; text-align:left; min-height:44px; margin:12px 0; width:100%; color:var(--orange); border:1px solid #f8d8c8; border-radius:10px; background:var(--soft); padding:9px }
.address-summary span { flex:1; overflow-wrap:anywhere }
.total-line { display:flex; justify-content:space-between; gap:8px; font-size:.89rem }
.total-line.total { border-top:1px solid var(--line); padding-top:10px; font-size:1.06rem }
.empty { padding:18px 10px; text-align:center }
.empty h3 { margin-bottom:5px }
.empty p { color:var(--muted); font-size:.89rem }
.empty-icon,.ops-mark { display:grid; place-items:center; margin:0 auto 12px; width:45px; height:45px; border-radius:13px; color:var(--orange); background:var(--soft) }
#dialog { border:1px solid var(--line); border-radius:20px; padding:20px; width:min(580px,calc(100% - 24px)); max-height:min(92vh,calc(100dvh - 24px)); background:var(--surface); color:var(--ink); box-shadow:0 20px 70px #2a170b35 }
#dialog::backdrop { background:#251b1790 }
#dialog:has(#store-form) { position:fixed; inset:0; margin:0; width:100%; max-width:none; height:100dvh; max-height:none; padding:0; border:0; border-radius:0; background:var(--page); overflow-y:auto; }
#dialog:has(#store-form) > .dialog-head { position:sticky; top:0; z-index:2; margin:0; padding:calc(16px + env(safe-area-inset-top, 0px)) max(16px, calc((100% - 1050px) / 2)) 16px; background:var(--surface); border-bottom:1px solid var(--line); }
#store-form { width:min(1050px, calc(100% - 32px)); margin:18px auto; padding-bottom:env(safe-area-inset-bottom, 0px); }
.store-settings-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.store-settings-summary > .panel { min-width:0; display:grid; align-content:start; gap:12px; }
#store-form .operator-hours { min-width:0; background:var(--surface); padding:14px; gap:12px; }
.store-hours-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 285px),1fr)); gap:10px; }
.store-settings-summary input { max-width:100%; }
#store-form .operator-day { min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--page); }
#store-form .operator-day > .check { grid-column:1 / -1; min-height:24px; }
#store-form .operator-day label { min-width:0; }
#store-form .operator-day input[type=time] { width:100%; min-width:0; padding-inline:8px; }
.store-settings-save { display:grid; gap:8px; }
@media (max-width:620px) { .store-settings-summary { grid-template-columns:minmax(0,1fr); } }
@media (max-width:360px) { #store-form .operator-day { grid-template-columns:minmax(0,1fr); } }
.dialog-head { display:flex; justify-content:space-between; gap:10px; align-items:start; margin-bottom:15px }
.dialog-head h2 { font-size:1.65rem }
.dialog-head p,.dialog-copy { margin-top:5px; color:var(--muted); font-size:.92rem; overflow-wrap:anywhere }
.dialog-copy { margin-bottom:13px }
.customer-notice-panel { display:grid; gap:12px; }
.notice-list { display:grid; gap:8px; }
.notice-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:11px; padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--page); }
.notice-card:hover { border-color:#e8b8a4; }
.notice-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--soft); color:var(--orange); }
.notice-icon-coupon { background:#e7f5ed; color:#176341; }
.notice-copy { display:grid; justify-items:start; gap:3px; overflow-wrap:anywhere; }
.notice-copy > small { color:var(--muted); font-size:.79rem; }
.notice-unread { width:8px; height:8px; margin-top:6px; border-radius:100%; background:var(--orange); }
.notice-coupon-code { padding:2px 7px; border-radius:5px; background:#e7f5ed; color:#176341; font-size:.84rem; font-weight:800; }
.purchase-confirmation { display:grid; gap:14px; }
.purchase-total { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding:13px; border-radius:12px; background:var(--soft); }
.purchase-total strong { color:var(--orange); font-size:1.3rem; }
.purchase-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.form-stack { display:grid; gap:11px }
.form-stack label { display:grid; gap:5px; font-size:.85rem; font-weight:800; min-width:0 }
.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select { min-height:41px; padding:8px 9px; border:1px solid #dcd1c9; border-radius:9px; color:var(--ink); background:white; min-width:0; width:100%; font-size:1rem }
.form-stack .check { display:flex; align-items:center; gap:8px }
.form-stack input[type=checkbox] { accent-color:var(--orange); width:18px; height:18px }
.form-error { color:#ab2515; font-size:.87rem; font-weight:700 }
.form-error:empty { display:none }
.fields-two,.fields-three { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
.fields-three { grid-template-columns:repeat(3,minmax(0,1fr)) }
.text-button { background:none; border:0; color:var(--orange); text-decoration:underline; padding:0; text-align:left; font-weight:800; font-size:.87rem }
.auth-switch { margin-top:15px }
.account-links { display:grid; gap:10px; margin:0 0 16px; font-weight:700 }
.account-links .icon { margin-right:3px; color:var(--orange) }
.map { height:235px; border-radius:12px; background:#efe8de; border:1px solid var(--line); isolation:isolate }
.map-help { color:var(--muted); font-size:.84rem }
.map-actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap }
#toast { position:fixed; bottom:19px; left:50%; translate:-50% 12px; z-index:1100; opacity:0; pointer-events:none; transition:.2s; padding:10px 15px; border-radius:11px; background:#2b211b; color:white; font-size:.89rem; max-width:calc(100% - 24px); box-shadow:0 7px 20px #2a170b45 }
#toast.visible { opacity:1; translate:-50% 0 }
.ops-heading { display:flex; align-items:center; gap:15px; margin-bottom:23px }
.ops-mark { width:56px; height:56px; margin:0; flex:none }
.ops-mark .icon { width:27px; height:27px }
.ops-heading h1 { font-size:clamp(2.15rem,5vw,3.35rem) }
.ops-heading p { margin-top:5px; color:var(--muted) }
.ops section { margin-top:22px }
.ops .section-head { align-items:center }
.ops .section-head h2 { font-size:1.45rem }
.order-head,.management-head,.presence { display:flex; justify-content:space-between; gap:10px; align-items:start }
.order-head h3,.management-head h3 { margin-top:3px }
.status { align-self:start; font-size:.72rem; padding:5px 8px; border-radius:100px; font-weight:800; color:#79390c; background:#fff0db; text-align:center; white-space:normal }
.status-delivered { color:var(--green); background:#e7f3e9 }
.status-cancelled { color:#6a5448; background:#f2ebe5 }
.status-assigned,.status-picked_up { color:#194a91; background:#eaf1fc }
.order-body { margin-top:9px; color:var(--muted); font-size:.88rem; overflow-wrap:anywhere }
.order-body p { margin-bottom:4px }
.order-body .icon { width:14px; height:14px; color:var(--orange) }
.order-body strong { color:var(--ink) }
.order-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px }
.management-head { overflow-wrap:anywhere }
.menu-admin { margin-top:12px }
.menu-admin-row > div { flex:1 }
.menu-admin-row img,.product-placeholder { width:42px; height:42px; border-radius:8px; object-fit:cover }
.product-placeholder { display:grid; place-items:center; background:var(--soft); color:var(--orange) }
.presence { align-items:center }
.presence h2 { margin-bottom:6px }
@media (max-width:1000px) {
  .wrap { width:calc(100% - 44px) }
  .top-nav { gap:15px }
  .restaurants { grid-template-columns:repeat(3,minmax(0,1fr)) }
}
@media (max-width:740px) {
  .wrap { width:calc(100% - 28px) }
  .topbar { min-height:61px; gap:8px }
  .brand { font-size:1.32rem; gap:6px }
  .brand img { width:33px; height:33px; border-radius:8px }
  .brand small { font-size:.4rem; margin-top:3px }
  .top-nav { position:absolute; left:0; right:0; top:61px; justify-content:center; gap:20px; background:#fffdfb; padding:0 12px }
  .top-nav:has(a) { border-bottom:1px solid var(--line); height:34px; font-size:.76rem }
  .top-nav:has(.workspace-label) { position:static; padding:0; font-size:.66rem }
  .workspace-label { padding:6px 8px }
  .top-actions { gap:5px }
  .customer-quick-nav { gap:5px; }
  .customer-quick-nav .icon-button { min-width:36px; height:37px; padding:0 6px; border-radius:8px; }
  .customer-quick-nav .icon { width:17px; height:17px; }
  .location-button { padding:0; min-width:38px; height:38px; justify-content:center; gap:3px }
  .location-button span,.location-button .icon:last-child { display:none }
  .location-button .icon:first-child { width:19px }
  .top-actions .icon-button,.cart-button { min-width:36px; height:37px; padding:0 6px; border-radius:8px }
  .top-actions .icon { width:17px; height:17px }
  body:has(.top-nav a) main { padding-top:34px }
  .home { padding-top:15px; padding-bottom:44px }
  .hero { min-height:340px; border-radius:18px }
  .hero-photo { inset:0; background-position:63% 50% }
  .hero::after { background:linear-gradient(90deg,#281911fa,#281911cd 42%,#28191135 100%) }
  .hero-copy { padding:23px 19px; width:88% }
  .hero h1 { font-size:clamp(2.55rem,8.8vw,3.7rem) }
  .hero-copy p { font-size:.91rem; max-width:29ch }
  .hero-cta { margin-top:18px }
  .hero-stamp { display:none }
  .browse { margin-top:27px; scroll-margin-top:107px }
  .catalog { margin-top:22px }
  .browse .section-head { align-items:start; flex-direction:column }
  .search-field { width:100% }
  .search-field input { width:100% }
  .restaurants { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px }
  .restaurant-content { padding:10px }
  .restaurant-content p { min-height:0 }
  .restaurant-arrow { display:none }
  .restaurant-meta { gap:6px; font-size:.71rem }
  .restaurant-meta .icon { width:13px }
  .restaurant-content h3 { font-size:1.03rem }
  .footer-inner { padding:19px 0 }
  .page { padding-top:20px; padding-bottom:40px }
  .split,.products,.management-grid { grid-template-columns:1fr }
  .store-banner { min-height:200px; padding:17px 17px 45px }
  .store-banner img { width:100% }
  .store-banner::before { background:linear-gradient(90deg,#281911ed,#281911a8,#28191130) }
  .order-grid { grid-template-columns:1fr }
  .ops-mark { width:44px; height:44px }
}
@media (max-width:360px) {
  .topbar:has(.customer-quick-nav) { gap:5px; }
  .topbar:has(.customer-quick-nav) .brand { gap:5px; font-size:1.2rem; }
  .topbar:has(.customer-quick-nav) .brand img { width:30px; height:30px; }
  .topbar:has(.customer-quick-nav) .brand small { font-size:.4rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important } }

.map-message { display:grid; place-items:center; padding:16px; color:var(--muted); text-align:center; font-size:.9rem }
.map-coordinates { color:var(--muted); font-size:.85rem }
.map-coordinates summary { cursor:pointer; padding-block:4px }
.map-coordinates .fields-two { margin-block:7px }

.customer-auth { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-block:36px 56px; align-items:stretch; }
.auth-visual { border-radius:var(--radius); display:flex; flex-direction:column; justify-content:end; gap:10px; padding:26px; color:white; background:linear-gradient(0deg,#2c180ef0,#2c180e0a),url('/assets/burger.webp') center/cover; }
.auth-visual .overline { color:#ffb69b; }
.auth-panel { padding:24px; }
.auth-panel h1 { font-size:clamp(2rem,4vw,3.1rem); margin:6px 0; }
.auth-panel form { margin-top:16px; }
.merchant-auth { display:grid; grid-template-columns:1.05fr 1fr; gap:18px; max-width:950px; padding-block:40px 58px; }
.merchant-auth-visual { align-items:start; padding:clamp(22px,4vw,38px); background:linear-gradient(0deg,#25130bf5 12%,#25130bac 58%,#25130b4d),url('/assets/burger.webp') center/cover; }
.merchant-auth-visual > p:last-child { max-width:30ch; color:#f6dfd4; }
.merchant-auth-title { font:800 clamp(2.15rem,4.2vw,3.6rem)/1 Manrope,system-ui,sans-serif; letter-spacing:-.065em; }
.merchant-auth-panel { padding:clamp(21px,4vw,36px); border-radius:var(--radius); box-shadow:0 14px 38px #381d1110; }
.merchant-auth-panel h1 { font-size:clamp(1.9rem,3.8vw,2.85rem); }
.merchant-auth-mark { display:grid; place-items:center; width:46px; height:46px; margin-bottom:15px; border-radius:14px; color:var(--orange); background:var(--soft); }
.merchant-auth-panel .form-stack { gap:15px; margin-top:22px; }
.merchant-auth-panel input:not([type=checkbox]),.merchant-auth-panel .primary { min-height:48px; }
.merchant-auth-password > div { display:flex; gap:8px; margin-top:5px; }
.merchant-auth-password .text-button { flex:none; padding-inline:7px; text-decoration:none; }
.merchant-auth-password .text-button:hover { text-decoration:underline; }
.order-timeline { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:7px; }
.order-timeline li { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-left:13px; position:relative; color:var(--muted); font-size:.85rem; }
.order-timeline li::before { content:""; width:6px; height:6px; position:absolute; left:0; background:var(--orange); border-radius:50%; }
.order-timeline li:last-child { font-weight:800; color:var(--ink); }
@media (max-width:740px) {
  .customer-auth { grid-template-columns:1fr; padding-block:18px 34px; }
  .auth-visual { min-height:144px; padding:16px; }
  .auth-panel { padding:17px; }
  .merchant-auth { grid-template-columns:1fr; gap:12px; padding-block:18px 34px; }
  .merchant-auth-visual,.merchant-auth-panel { padding:20px; }
  .merchant-auth-visual br { display:none; }
  .merchant-guest-topbar .workspace-label { display:none; }
}

.order-shortcut { display:inline-flex; align-items:center; min-height:42px; padding:0 8px; color:var(--ink); font-size:.89rem; font-weight:800; }
.order-shortcut:hover { color:var(--orange); }

.operator-categories,.operator-hours { border:1px solid var(--line); border-radius:10px; padding:10px; display:grid; gap:8px; }
.operator-categories { grid-template-columns:repeat(auto-fit,minmax(115px,1fr)); }
.operator-categories legend,.operator-hours legend { font-size:.88rem; font-weight:800; padding:0 4px; }
.operator-day { display:grid; align-items:center; gap:6px; grid-template-columns:minmax(84px,1fr) minmax(68px,1fr) minmax(68px,1fr); }
.operator-day input[type=time] { min-width:0; }
.operator-day input:disabled { opacity:.55; }

.merchant-menu-button,.customer-menu-button { flex:none; }
.merchant-drawer { position:fixed; inset:0 auto 0 0; margin:0; width:min(320px,90vw); height:100dvh; max-height:100dvh; border:0; border-right:1px solid var(--line); padding:22px 16px; background:var(--page); color:var(--ink); box-shadow:10px 0 40px #251b1720; }
.merchant-drawer::backdrop { background:#251b1770; }
.merchant-drawer h2 { font-size:1.5rem; margin-top:5px; }
.merchant-drawer nav { display:grid; gap:7px; margin-top:25px; }
.merchant-drawer nav a,.merchant-drawer nav button { display:flex; align-items:center; gap:10px; padding:13px 12px; border-radius:11px; font-weight:800; font-size:.94rem; }
.merchant-drawer nav a:hover,.merchant-drawer nav button:hover,.merchant-drawer nav a[aria-current=page] { color:var(--orange); background:var(--soft); }
.merchant-drawer .icon { width:19px; height:19px; }
.merchant-workspace h1 { font-size:clamp(2rem,4vw,3rem); margin:6px 0 8px; }
.merchant-workspace h2 { font-size:1.4rem; }
#merchant-error { margin:12px 0; }
.merchant-queue-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:17px; }
.merchant-queue-summary > span { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:8px 11px; background:white; font-size:.82rem; color:var(--muted); }
.merchant-queue-summary b { color:var(--ink); }
.order-card[class*=order-stage-] { border-left:5px solid var(--stage-color); }
.order-stage-placed { --stage-color:#c93913; --stage-tint:#fff0e9; }
.order-stage-preparing,.order-stage-ready,.order-stage-assigned { --stage-color:#a86c0c; --stage-tint:#fff7de; }
.order-stage-picked_up { --stage-color:#137b8c; --stage-tint:#e5f6f7; }
.order-stage-delivered { --stage-color:#196447; --stage-tint:#e7f3e9; }
.order-stage-cancelled { --stage-color:#766252; --stage-tint:#f2ebe5; }
.order-customer { margin-top:12px; font-size:1.03rem; }
.order-progress { list-style:none; padding:0; margin:15px 0 12px; display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.order-progress li { display:flex; align-items:center; gap:5px; min-width:0; font-size:.68rem; line-height:1.25; color:var(--muted); }
.order-progress li > span { flex:none; display:grid; place-items:center; width:21px; height:21px; border:1px solid var(--line); border-radius:50%; font-size:.65rem; }
.order-progress .icon { width:13px; height:13px; }
.order-progress li.done > span { color:var(--green); background:#e7f3e9; border-color:#bad3bd; }
.order-progress li.current { color:var(--ink); font-weight:800; }
.order-progress li.current > span { color:white; background:var(--orange); border-color:var(--orange); }
.merchant-history-filter { display:grid; gap:5px; width:min(260px,100%); font-size:.85rem; font-weight:800; margin-bottom:16px; }
.merchant-history-filter select { padding:10px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); }
.merchant-date-filter { grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; margin-bottom:8px; }
.merchant-date-filter [hidden] { display:none!important; }
.merchant-date-filter button { min-height:43px; }
.finance-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:17px 0 10px; }
.finance-summary p { color:var(--muted); font-size:.83rem; margin-bottom:8px; }
.finance-summary strong { font-size:clamp(1.3rem,2.4vw,1.8rem); font-family:Manrope,sans-serif; letter-spacing:-.04em; }
.finance-note { margin-bottom:20px; }
.finance-ledger { margin-top:17px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.dashboard { min-width:0; }
.dashboard-intro { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:22px 0; }
.dashboard-intro > div > p:first-child { font-weight:700; margin-bottom:5px; }
.dashboard-intro .btn { flex:none; }
.dashboard-periods { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.dashboard-periods .chip { min-height:40px; padding:9px 13px; font-size:.8rem; }
.dashboard-date-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; align-items:end; max-width:720px; margin:12px 0 18px; padding:17px; background:white; border:1px solid var(--line); border-radius:15px; }
.dashboard-date-form[hidden],.dashboard-date-form [hidden] { display:none!important; }
.dashboard-metrics { display:grid; grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); gap:13px; margin:16px 0 22px; }
.dashboard-metrics > article { min-width:0; padding:22px; border-radius:19px; }
.dashboard-total { color:#fff6ee; background:radial-gradient(ellipse at 100% 0,#b8411d66,transparent 75%),#2c1b15; border:1px solid #623323; box-shadow:0 9px 24px #3d211114; }
.dashboard-metric-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:10px; background:var(--soft); color:var(--orange); margin-bottom:17px; }
.dashboard-total .dashboard-metric-icon { background:#ffffff15; color:#ffb08a; }
.dashboard-metrics p { font-size:.79rem; font-weight:700; margin-bottom:10px; }
.dashboard-metric p { color:var(--muted); }
.dashboard-metrics strong { display:block; font-size:clamp(1.4rem,2.4vw,2rem); font-family:Manrope,sans-serif; letter-spacing:-.055em; overflow-wrap:anywhere; line-height:1.2; }
.dashboard-metrics small { display:block; font-size:.7rem; line-height:1.5; margin-top:10px; color:var(--muted); }
.dashboard-total small { color:#e1bfb0; }
.dashboard-charts { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:18px; margin-bottom:20px; }
.dashboard-charts > .panel { min-width:0; padding:22px; }
.dashboard h2 { font-size:1.17rem; line-height:1.35; margin-top:6px; }
.dashboard .section-head { align-items:center; }
.dashboard-legend { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:.7rem; white-space:nowrap; }
.dashboard-legend i { width:8px; height:8px; border-radius:50%; background:var(--orange); }
.commission-chart { display:block; width:100%; height:auto; margin-top:20px; overflow:visible; }
.commission-chart text { font-family:"DM Sans",system-ui,sans-serif; font-size:12px; fill:var(--muted); }
.dashboard-gridline { stroke:var(--line); stroke-dasharray:4 4; }
.dashboard-point { cursor:pointer; outline:none; }
.dashboard-dot { fill:var(--orange); stroke:white; stroke-width:1.5; }
.dashboard-point:focus .dashboard-dot,.dashboard-point:hover .dashboard-dot,.dashboard-point.selected .dashboard-dot { r:6; stroke:#251b17; stroke-width:2; }
.dashboard-inspector { color:var(--muted); font-size:.76rem; margin-top:14px; padding:11px 13px; border-radius:10px; background:var(--page); min-height:44px; }
.dashboard-ranking ol { list-style:none; padding:0; margin:21px 0 0; display:grid; gap:17px; }
.dashboard-ranking li > div:first-child { display:flex; align-items:center; gap:7px; font-size:.76rem; }
.dashboard-rank { flex:none; color:var(--muted); font-size:.67rem; }
.dashboard-ranking li strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.dashboard-ranking li b { margin-left:auto; white-space:nowrap; font-size:.76rem; }
.dashboard-bar { height:6px; background:var(--soft); border-radius:8px; overflow:hidden; margin:8px 0 4px; }
.dashboard-bar > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#f69b6b,var(--orange)); }
.dashboard-ranking small { display:block; color:var(--muted); font-size:.65rem; }
.dashboard-report { min-width:0; }
.dashboard-report .merchant-table tbody th { color:var(--ink); max-width:250px; white-space:normal; overflow-wrap:anywhere; }
.dashboard-daily { margin-top:18px; }
.dashboard-daily > summary { cursor:pointer; font-size:.9rem; font-weight:800; }
.dashboard-method { margin-top:21px; max-width:85ch; font-size:.76rem; }
@media (max-width:980px) {
  .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-charts { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:540px) {
  .dashboard-intro { align-items:start; }
  .dashboard-intro .btn { padding:9px; font-size:.75rem; min-height:37px; }
  .dashboard-intro > div { min-width:0; font-size:.87rem; }
  .dashboard-periods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .dashboard-periods .chip { white-space:normal; padding:8px; }
  .dashboard-date-form { grid-template-columns:minmax(0,1fr); padding:13px; }
  .dashboard-metrics { gap:9px; }
  .dashboard-metrics > article { padding:15px 12px; }
  .dashboard-metrics strong { font-size:1.4rem; }
  .dashboard-metrics p { font-size:.72rem; }
  .dashboard-metric-icon { margin-bottom:13px; }
  .dashboard-charts > .panel { padding:17px 13px; }
  .dashboard-trend .section-head { flex-direction:column; align-items:start; gap:8px; }
  .dashboard-report .section-head { flex-direction:column; align-items:start; }
}
.merchant-table-scroll { overflow-x:auto; }
.merchant-table { border-collapse:collapse; width:100%; margin-top:14px; font-size:.84rem; text-align:left; white-space:nowrap; }
.merchant-table th { color:var(--muted); font-weight:800; }
.merchant-table th,.merchant-table td { padding:12px 10px; border-bottom:1px solid var(--line); }
.merchant-table td small { display:block; color:var(--muted); margin-top:4px; }
.finance-order-discount + .finance-order-discount { margin-top:.55rem; }
.finance-order-discount strong { color:#277347; }
.merchant-table tr:last-child td { border-bottom:0; }
.merchant-pagination { display:flex; align-items:center; justify-content:space-between; gap:9px; padding-top:17px; color:var(--muted); font-size:.84rem; }
.merchant-profile > img { width:82px; height:82px; object-fit:cover; border:1px solid var(--line); border-radius:15px; margin-bottom:12px; }
.merchant-profile > p { margin-top:8px; }
@media (max-width:740px) {
  .topbar:has(.merchant-menu-button) { gap:8px; }
  .topbar:has(.merchant-menu-button) .workspace-label { display:none; }
  .finance-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .merchant-date-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-progress { gap:9px 6px; }
}

.merchant-order-grid,.customer-order-grid { align-items:start; }
.compact-order-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
.compact-order-head h3 { font-size:1.07rem; margin-top:6px; overflow-wrap:anywhere; }
.compact-order-controls { display:grid; justify-items:end; gap:8px; }
.compact-order-controls .status { max-width:170px; }
.compact-order-controls .btn { min-height:36px; padding:7px 11px; font-size:.8rem; }
.compact-order-details[hidden] { display:none!important; }
.compact-order-details { border-top:1px solid var(--line); margin-top:15px; padding-top:1px; }
.customer-history-page { max-width:860px; }
.customer-history-page > h1 { margin-bottom:10px; }
.history-hint { margin-bottom:8px; }
.history-count { min-height:22px; margin-bottom:12px; }
.history-scroll { max-height:var(--history-height,580px); overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; scrollbar-width:thin; border-radius:15px; }
.history-scroll.history-unclamped { max-height:none; overflow:visible; }
.history-grid .order-card { scroll-margin-top:calc(var(--customer-header-height, 82px) + 8px); }
.order-placed-at { display:block; color:var(--muted); font-size:.78rem; margin-bottom:4px; }
.history-scroll:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.history-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.history-grid .compact-order-identity { min-width:0; }
.history-grid .compact-order-head h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-more { display:grid; justify-items:center; gap:10px; text-align:center; padding:16px 8px; }
.history-more button[hidden] { display:none; }

.chips .chip { flex:none; }
.chips::after { content:''; flex:0 0 var(--category-tail,0px); }
.product { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.product-content { display:flex; align-items:center; gap:12px; min-width:0; }
.product-content > div { flex:1; min-width:0; }
.product-quantity { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; border-top:1px solid var(--line); }
.product-quantity > span { color:var(--muted); font-size:.85rem; }
.product-quantity output { font-weight:800; color:var(--ink); }
.customer-address-page { max-width:720px; }
.customer-address-page > .panel { margin-top:22px; }
.customer-address-page h2 { font-size:1.4rem; }
.saved-address { margin:18px 0; overflow-wrap:anywhere; }
.address-fields { display:grid; grid-template-columns:minmax(80px,1fr) minmax(0,2fr); gap:12px; }
.delivery-address-options { border:0; padding:0; margin:18px 0 12px; display:grid; gap:9px; }
.delivery-address-options legend { font-size:.9rem; font-weight:800; margin-bottom:9px; }
.delivery-address-options label { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:11px; cursor:pointer; min-width:0; }
.delivery-address-options label:has(input:checked) { border-color:var(--orange); background:var(--soft); }
.delivery-address-options input { flex:none; accent-color:var(--orange); width:17px; height:17px; }
.delivery-address-options strong { display:block; font-size:.9rem; }
.delivery-address-options small { display:block; color:var(--muted); margin-top:4px; overflow-wrap:anywhere; }
.merchant-queue-summary > button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; border:1px solid var(--line); border-radius:10px; min-height:72px; padding:10px 5px; background:var(--surface); font-size:clamp(.7rem,2.7vw,.85rem); line-height:1.25; font-weight:700; color:var(--muted); }
.merchant-queue-summary > button b { font-size:1.15rem; line-height:1; }
.merchant-queue-summary > button { border-color:var(--stage-color); color:var(--stage-color); background:var(--stage-tint); }
.merchant-queue-summary > button b { color:inherit; }
.merchant-queue-summary > button[aria-pressed=true] { color:white; background:var(--stage-color); box-shadow:inset 0 0 0 1px var(--stage-color); }
.merchant-queue-summary > button:focus-visible { outline:2px solid var(--stage-color); outline-offset:3px; }

.merchant-drawer nav button { width:100%; border:0; background:transparent; color:inherit; text-align:left; }
.merchant-drawer nav .merchant-account-link { margin-top:7px; border-top:1px solid var(--line); border-radius:0 0 11px 11px; }
.profile-avatar { display:inline-flex; align-items:center; justify-content:center; flex:none; width:38px; height:38px; border-radius:50%; overflow:hidden; background:var(--soft); border:1px solid #f4d6c6; color:var(--orange); font-size:.78rem; font-weight:800; }
.profile-avatar img { width:100%; height:100%; object-fit:cover; }
.profile-avatar-large { width:82px; height:82px; font-size:1.6rem; }
.account-profile { display:flex; align-items:center; gap:16px; margin:12px 0 23px; min-width:0; }
.account-profile h3 { font-size:1.15rem; overflow-wrap:anywhere; }
.account-profile p { font-size:.87rem; margin-top:5px; }
.compact-order-identity { display:flex; align-items:center; gap:9px; min-width:0; }
.compact-order-identity > div { min-width:0; }

.btn.danger { background:#af2929; color:white; border-color:#af2929; }
.btn.danger:hover { background:#902020; }
.danger-text { color:#a72b28; }

.install-steps { padding-left:24px; margin:14px 0 0; }
.install-steps li { padding-left:5px; line-height:1.6; margin-bottom:13px; }
.install-note { margin-top:14px; font-size:.85rem; }

.store-category-tags { display:flex; flex-wrap:nowrap; gap:4px; margin-bottom:7px; max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.store-category-tags::-webkit-scrollbar { display:none; }
.store-category-tags:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.store-category-tags > span { display:inline-block; flex:none; white-space:nowrap; padding:3px 6px; border-radius:6px; color:#85533e; background:#fbefe7; font-size:.65rem; font-weight:700; line-height:1.25; }
.store-banner > .store-category-tags-banner { position:absolute; inset:auto 0 0; width:auto; margin:0; padding:7px clamp(17px,4vw,27px); background:#28191185; }
.store-banner > .store-category-tags-banner:focus-visible { outline-offset:-2px; }
.store-category-tags-banner > span { color:#fff4e9; background:#ffffff1c; border:1px solid #ffffff24; }
.menu-count { font-size:.82rem; margin:4px 0 12px; }
.menu-empty { grid-column:1/-1; }
.menu-group + .menu-group { margin-top:26px; }
.menu-group > h3 { display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); padding-bottom:9px; margin-bottom:12px; font-size:1.25rem; }
.menu-group > h3 .icon { color:var(--orange); }
.menu-group .product h4 { margin:0; font:800 1.22rem/1.13 Manrope,system-ui,sans-serif; letter-spacing:-.04em; }
.product[data-menu-product] { scroll-margin-top:calc(var(--customer-header-height, 82px) + 78px); }
.order-rating-stars { min-width:0; margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; }
.order-rating-stars legend { padding-inline:5px; font-size:.9rem; font-weight:800; }
.order-rating-stars > div { display:flex; justify-content:center; gap:clamp(2px,2vw,12px); }
.order-rating-stars label { display:grid; place-items:center; width:44px; min-height:44px; border-radius:8px; cursor:pointer; color:#8c7053; }
.order-rating-stars label .icon { width:30px; height:30px; }
.order-rating-stars label.star-selected .icon { fill:#ffc54f; color:#9d6314; }
.order-rating-stars label:focus-within { outline:2px solid var(--orange); }
.form-stack .order-rating-stars input.sr-only { width:1px; min-height:0; padding:0; }

.restaurant-heading h3,.restaurant-content p { overflow-wrap:anywhere; }
.store-banner > div { min-width:0; width:100%; }
.product { min-width:0; }
.product-content h3,.product-content h4,.product-content p { overflow-wrap:anywhere; word-break:normal; }
.product-content p { white-space:pre-wrap; }
.product-content img { flex:none; max-width:28%; }
.product-options { min-width:0; border-top:1px solid var(--line); padding-top:10px; }
.product-options summary { cursor:pointer; color:var(--ink); font-size:.88rem; font-weight:700; }
.product-options summary span { font-size:.75rem; font-weight:400; color:var(--muted); margin-left:6px; }
.product-accompaniments > summary { scroll-margin-top:calc(var(--customer-header-height, 82px) + 12px); }
.product-accompaniments > [data-meal-choices] { margin-top:10px; }
.menu-category-order { list-style:none; display:grid; gap:8px; padding:0; margin:0; }
.menu-category-order li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:8px 10px; }
.menu-category-order strong { overflow-wrap:anywhere; }
.menu-category-order li > div { display:flex; gap:5px; }
.menu-category-order .btn { min-height:40px; padding:5px 8px; }
.option-choices { display:grid; gap:9px; padding-top:12px; }
.option-choices label { display:flex; align-items:center; gap:8px; font-size:.85rem; cursor:pointer; }
.option-choices input { width:18px; height:18px; flex:none; accent-color:var(--orange); }
.option-choices label span { flex:1; min-width:0; overflow-wrap:anywhere; }
.option-choices strong { flex:none; font-size:.8rem; }
.configured-price:empty { display:none; }
.product .configured-price { font-size:.82rem; color:var(--orange); margin:0; }
.optional-editor { min-width:0; border:1px solid var(--line); border-radius:12px; padding:12px; }
.optional-editor legend { font-size:.9rem; font-weight:700; padding:0 4px; }
.optional-editor-row { display:grid; grid-template-columns:minmax(0,1fr) 100px 38px; align-items:end; gap:8px; margin:12px 0; }
.optional-editor-row label { min-width:0; }
.optional-editor-row .icon-button { margin-bottom:2px; }
.order-item-list { list-style:none; padding:0; margin:0 0 12px; display:grid; gap:10px; }
.order-item-list li { overflow-wrap:anywhere; }
.order-item-list small { display:block; color:var(--muted); font-size:.8rem; margin-top:3px; }
.cart-row > div:first-child { min-width:0; }
.cart-row .stepper { flex:none; }
@media(max-width:380px) { .optional-editor-row { grid-template-columns:minmax(0,1fr) 82px 34px; gap:5px; } }

.order-card[class*=order-stage-] { background:linear-gradient(90deg,var(--stage-tint),var(--surface) 75%); }
.order-card[class*=order-stage-] .status { color:var(--stage-color); background:var(--stage-tint); }
.order-note { border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:var(--surface); margin:12px 0; }
.order-note > strong { font-size:.82rem; }
.order-note p { white-space:pre-wrap; overflow-wrap:anywhere; margin:5px 0 0; }
.order-totals { margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); }
.order-totals > div { display:flex; justify-content:space-between; gap:12px; margin:5px 0; font-size:.86rem; }
.order-totals dd { margin:0; font-weight:700; }
.order-totals .order-grand-total { font-size:1rem; font-weight:800; margin-top:9px; }
.size-editor { min-width:0; border:1px solid var(--line); border-radius:12px; padding:12px; }
.size-editor legend { font-size:.9rem; font-weight:700; padding:0 4px; }
.form-stack [data-base-price][hidden] { display:none; }
.meal-editor { border:1px solid var(--line); border-radius:13px; padding:14px; min-width:0; }
.meal-editor[hidden],.meal-editor [hidden] { display:none!important; }
.meal-editor legend { font-size:.9rem; font-weight:800; padding:0 6px; }
[data-meal-groups-editor] > p { margin:12px 0; }
[data-meal-groups] { display:grid; gap:13px; margin-bottom:13px; }
.meal-editor-group { border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--page); display:grid; gap:12px; min-width:0; }
.meal-editor-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.meal-editor-limits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.meal-editor-limits > div { display:grid; gap:8px; padding:9px; border:1px solid var(--line); border-radius:10px; background:white; min-width:0; }
.meal-editor-limits label { font-size:.73rem; }
.meal-editor-limits input[type=number] { min-width:0; width:100%; }
[data-meal-option-rows] { display:grid; gap:8px; }
.meal-editor-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.meal-editor .text-button { text-align:left; font-size:.8rem; }
.meal-choices { border:1px solid var(--line); border-radius:12px; padding:12px; margin:0 0 12px; min-width:0; }
.meal-choices legend { font-size:.9rem; font-weight:800; padding:0 5px; overflow-wrap:anywhere; }
.meal-choices > p { font-size:.72rem; margin:0 0 9px; }
.meal-choices > div { display:grid; gap:7px; }
.meal-choices label { display:flex; align-items:center; gap:9px; min-height:38px; font-size:.84rem; line-height:1.4; cursor:pointer; overflow-wrap:anywhere; }
.meal-choices label > span { min-width:0; }
.meal-choices input { width:18px; height:18px; flex:none; accent-color:var(--orange); }
.meal-choices .text-button { margin-top:8px; font-size:.75rem; }
.meal-summary { display:block; font-size:.78rem; line-height:1.5; overflow-wrap:anywhere; color:var(--muted); margin-top:6px; }
.meal-summary > span,.meal-summary > small { display:block; }
@media (max-width:420px) { .meal-editor-limits { grid-template-columns:minmax(0,1fr); } }
.size-editor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px; }
.size-editor-grid > div { min-width:0; }
.size-editor-grid > div > label:first-child { margin-bottom:8px; }
.product-sizes { min-width:0; border:0; padding:0; margin:0; }
.product-sizes legend { font-size:.85rem; font-weight:700; margin-bottom:8px; }
.product-sizes > div { display:flex; gap:8px; }
.product-sizes label { position:relative; flex:1; min-width:0; cursor:pointer; }
.product-sizes input { position:absolute; opacity:0; width:1px; height:1px; }
.product-sizes span { display:flex; flex-direction:column; align-items:center; gap:4px; border:1px solid var(--line); border-radius:10px; padding:9px 4px; background:var(--surface); }
.product-sizes small { font-size:.78rem; }
.product-sizes input:checked + span { border-color:var(--orange); color:var(--orange); background:var(--soft); }
.product-sizes input:focus-visible + span { outline:2px solid var(--orange); outline-offset:2px; }
.product-sizes input:disabled + span { opacity:.6; cursor:default; }

.billing-notice,.suspension-banner { border:1px solid #dbad58; background:#fff7e6; color:#6c460e; padding:15px; border-radius:14px; margin-bottom:18px; overflow-wrap:anywhere; }
.suspension-banner { border-color:#dfaa9d; background:#fff0eb; color:#8e341c; }
.suspension-banner p { margin:0 0 10px; }
.suspension-banner .muted { font-size:.8rem; margin:10px 0 0; }
.billing-explainer { max-width:76ch; margin-bottom:18px; }
.open-invoice { margin-bottom:24px; border-color:#e9d3c1; }
.invoice-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin:8px 0; }
.invoice-heading > div { min-width:0; overflow-wrap:anywhere; }
.open-invoice .invoice-heading > strong { flex:none; font-size:1.4rem; color:var(--orange); }
.invoice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.invoice-card { min-width:0; }
.invoice-card p { margin:9px 0; font-size:.86rem; }
.invoice-card .btn { margin-top:6px; }
.invoice-amount { display:block; font-size:1.6rem; margin:12px 0; }
.invoice-overdue { border-color:#cf7960; }
.commission-settings { margin-bottom:24px; }
.commission-settings .form-stack { max-width:520px; margin-top:15px; }
.commission-settings #commission-ready { font-size:.8rem; margin-top:14px; }
.management-card .management-suspended { border-left:3px solid #c93913; padding-left:9px; color:#8e341c; font-size:.83rem; }
.admin-client-search { max-width:420px; margin-bottom:18px; }
.admin-client-search input { flex:1; min-width:0; }
@media(max-width:650px) { .invoice-grid { grid-template-columns:1fr; } .open-invoice .invoice-heading { flex-wrap:wrap; } }

.management-card .management-trusted { border-left:3px solid #a86c0c; padding-left:9px; color:#785108; font-size:.83rem; }

.promotion-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; padding:1rem 0; border-top:1px solid var(--line); }
.promotion-row p, .promotion-row .order-actions { margin:0; }
.promotion-row .order-actions { padding:0; }
.coupon-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.coupon-fields input { min-width:0; width:100%; }
.coupon-products { min-width:0; max-height:12rem; overflow:auto; display:grid; gap:.6rem; }
.coupon-products[hidden] { display:none; }
.form-stack .coupon-products label, .form-stack .coupon-checkbox { display:flex; align-items:center; gap:.55rem; }
.form-stack .coupon-products input, .form-stack .coupon-checkbox input { width:auto; min-height:0; }
.checkout-coupon { display:flex; align-items:end; flex-wrap:wrap; gap:.5rem; }
.checkout-coupon label { flex:1 1 9rem; min-width:0; }
.checkout-coupon input { width:100%; text-transform:uppercase; }
.checkout-coupon-status:empty, .checkout-discounts:empty { display:none; }
.checkout-coupon-status.coupon-accepted { color:#17613b; font-weight:700; }
.checkout-discounts { display:grid; gap:.5rem; }
.cash-payment:not([hidden]) { display:grid; gap:.35rem; }

.history-cleanup { max-width:48rem; margin-bottom:1rem; }
.history-cleanup h2 { margin-bottom:.45rem; }
.history-cleanup [hidden],.history-cleanup[hidden] { display:none; }
.history-cleanup .form-stack { margin-top:1rem; }
.cleanup-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:.85rem 0; }
.cleanup-counts div { padding:.65rem; border:1px solid var(--line); border-radius:.65rem; background:var(--page); }
.cleanup-counts dt { font-size:.8rem; color:var(--muted); overflow-wrap:anywhere; }
.cleanup-counts dd { margin:.2rem 0 0; font-weight:850; overflow-wrap:anywhere; }
