:root{--bg:#100f0e;--card:#1a1917;--sunken:#0c0b0a;--line:#2b2926;--line-soft:#211f1d;--text:#f3f1ee;--muted:#8f8a83;--muted-2:#b6b1a9;--brand:#3b82f6;--ember:#e0763c;--ok:#2a7d4f;--warn:#b9770e;--danger:#c0392b;--t-label:.6875rem;--t-xs:.75rem;--t-sm:.8125rem;--t-body:.9375rem;--t-name:1.0625rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.field-label{font-size:var(--t-label);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.num,.price,input[inputmode=decimal],input[type=number]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.nav{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:5}.nav-brand{font-weight:800}.nav-tenant{position:relative}.nav-tenant>summary{cursor:pointer;list-style:none}.nav-tenant>summary::-webkit-details-marker{display:none}.nav-tenant>summary:after{content:" ▾";color:var(--muted);font-size:.8em}.nav-tenant-list{position:absolute;top:calc(100% + .4rem);left:0;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.35rem;display:grid;grid-gap:.15rem;gap:.15rem;z-index:6}.nav-tenant-list button{width:100%;text-align:left;background:none;border:0;color:var(--text);padding:.5rem .7rem;border-radius:7px;cursor:pointer;font:inherit}.nav-tenant-list button:hover{background:var(--sunken)}.nav-links{display:flex;gap:1rem;flex:1 1}.nav-links a{color:var(--text);text-decoration:none;padding:.35rem .7rem;border-radius:7px}.nav-links a:hover{background:var(--card)}.nav-logout{background:none;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:.35rem .8rem;cursor:pointer}.nav-email{margin-right:.6rem}.nav-links a.on{background:var(--card)}.nav-menu{gap:1.5rem;flex:1 1;min-width:0}.nav-menu,.nav-menu-foot{display:flex;align-items:center}.nav-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:7px;padding:.25rem .6rem;font-size:1.05rem;line-height:1.4;cursor:pointer}.wrap{max-width:920px;margin:0 auto;padding:1.8rem 1.5rem 4rem}h1{font-size:1.5rem;letter-spacing:-.018em;margin-bottom:1.2rem}h2{font-size:var(--t-sm);margin:1.6rem 0 .7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.muted,h2{color:var(--muted)}.card{padding:1rem 1.1rem}.card,.day>summary{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:.7rem}.day>summary{display:flex;align-items:baseline;gap:.45rem .7rem;flex-wrap:wrap;cursor:pointer;list-style:none;padding:.7rem 1.1rem}.day>summary::-webkit-details-marker{display:none}.day>summary:before{content:"›";color:var(--muted);font-size:.9rem;line-height:1;align-self:center;transition:transform .15s;transform-origin:center}.day[open]>summary:before{transform:rotate(90deg)}.day[open]{margin-bottom:1.1rem}.day[open]>.card{margin-left:.8rem}.row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1 1}input,select,textarea{background:var(--sunken);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:.5rem .6rem;font-size:var(--t-body);font-family:inherit}input.sm{width:90px}input.num{padding:.45rem .55rem}.fld,.small{font-size:var(--t-sm)}.fld{display:grid;grid-gap:.25rem;gap:.25rem;color:var(--muted)}.btn{border:0;border-radius:8px;padding:.55rem .9rem;font-weight:700;cursor:pointer;color:#fff;background:var(--brand)}.btn.ok{background:var(--ok)}.btn.ghost{background:#26241f;color:var(--text)}.btn.danger{background:var(--danger)}.btn.sm{padding:.4rem .65rem;font-size:var(--t-sm)}.badge{font-size:var(--t-label);padding:.12rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.b-recv{background:var(--warn)}.b-conf{background:var(--brand)}.b-prep{background:#8957e5}.b-ready{background:var(--ok)}.b-deliv{background:#3a3a3a}.b-canc{background:var(--danger)}.add-form{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:1rem 1.1rem;margin-top:.6rem}.stats{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.55rem .9rem;min-width:7rem}.stat b{display:block;font-size:1.15rem;margin-top:.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .up{color:var(--ok)}.stat .down{color:var(--danger)}.weeks{display:flex;flex-direction:column;gap:.45rem;margin:.4rem 0 1rem}.wlabel{width:6.5rem;text-align:right}.wval{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track{flex:1 1;min-width:80px;height:10px;background:var(--sunken)}.fill,.track{border-radius:4px}.fill{height:100%;background:var(--ember);min-width:2px}.charts{display:flex;gap:2.5rem;flex-wrap:wrap;margin-bottom:1rem}.charts section{flex:1 1;min-width:260px}.cols{display:flex;gap:2px;height:110px}.col{flex:1 1;display:flex;flex-direction:column;height:100%;text-align:center}.barbox{flex:1 1;display:flex;align-items:flex-end}.colfill{width:100%;background:var(--ember);border-radius:4px 4px 0 0;min-height:1px}.col .tiny{line-height:1.4;height:1rem}.tiny{font-size:.7rem}.stat-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.stat-table td,.stat-table th{padding:.45rem .6rem;text-align:right;border-bottom:1px solid var(--line-soft);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-table td:first-child,.stat-table th:first-child{text-align:left}.stat-table th{color:var(--muted);font-weight:600}.scroll-x{overflow-x:auto}.cat-i18n,.p-i18n{margin-top:.5rem}.cat-i18n summary,.p-i18n summary{cursor:pointer}.p-i18n-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem;margin-top:.4rem}.p-i18n-grid input,.p-i18n-grid textarea{width:100%}.faq details{padding:.8rem 1.1rem}.faq summary{font-weight:650;cursor:pointer}.faq details[open] summary{margin-bottom:.5rem}.faq details p,.faq details ul{margin:.4rem 0}.faq details ul{padding-left:1.2rem}.faq details li{margin:.25rem 0}.login-box{max-width:340px;margin:5rem auto;display:grid;grid-gap:.9rem;gap:.9rem}.tag{font-size:var(--t-label);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:.08rem .45rem}.unavail{opacity:.5}.err{color:#ffa9a0;font-size:var(--t-sm);margin:0 0 1rem}.wrap:has(.menu-page){max-width:1280px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.6rem}.page-head h1{margin-bottom:.15rem}.switch-field{display:grid;grid-gap:.35rem;gap:.35rem;justify-items:start}.switch{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:2.6rem;height:1.4rem;border-radius:999px;background:var(--sunken);border:1px solid var(--line);transition:background .15s,border-color .15s}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.switch:has(:checked) .switch-track{background:color-mix(in oklab,var(--ember) 28%,transparent);border-color:var(--ember)}.switch:has(:checked) .switch-track:after{transform:translateX(1.2rem);background:var(--ember)}.switch:has(:focus-visible) .switch-track{outline:2px solid var(--brand);outline-offset:2px}.switch-text{font-size:var(--t-sm);color:var(--muted-2);min-width:2.6rem}.cat{margin-bottom:2.2rem}.cat-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.4rem 0 .6rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.cat-name{font-size:1.15rem;margin:0;color:var(--text);text-transform:none;letter-spacing:-.01em}.cat-packaging{margin-left:auto;justify-items:flex-end}.cat-packaging .num{width:5.5rem;text-align:right}.product{display:grid;grid-template-columns:104px minmax(0,1fr) 200px;grid-gap:1.15rem;gap:1.15rem;align-items:start;background:var(--card);border:1px solid var(--line-soft);border-radius:12px;padding:.9rem 1rem;margin-bottom:.55rem;transition:border-color .12s}.product:focus-within,.product:hover{border-color:var(--line)}.product.unavail{opacity:.5}@media (max-width:900px){.product{grid-template-columns:88px minmax(0,1fr)}.p-side{grid-column:2}}.p-photo-cell{display:grid;grid-gap:.3rem;gap:.3rem;justify-items:center}.photo{position:relative;display:grid;place-items:center;cursor:pointer;width:104px;height:104px;border-radius:10px;overflow:hidden;background:var(--sunken);border:1px solid var(--line)}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-hint{position:absolute;inset:auto 0 0 0;padding:.22rem;text-align:center;font-size:var(--t-xs);background:rgba(0,0,0,.68);color:var(--text);opacity:0;transition:opacity .15s}.photo:hover{border-color:var(--ember)}.photo:focus-within .photo-hint,.photo:hover .photo-hint{opacity:1}.photo:not(:has(img)){border-style:dashed}.photo:not(:has(img)) .photo-hint{position:static;opacity:1;background:none;color:var(--muted);font-size:var(--t-sm)}.photo:not(:has(img)):hover .photo-hint{color:var(--ember)}.photo:focus-within{outline:2px solid var(--brand);outline-offset:2px}.linkish{background:none;border:0;color:var(--muted);font-size:.72rem;cursor:pointer;text-decoration:underline;padding:0}.linkish:hover{color:var(--danger)}.p-main{display:grid;grid-gap:.5rem;gap:.5rem;min-width:0}.p-ident{display:grid;grid-gap:.1rem;gap:.1rem}.p-side{display:grid;grid-gap:.55rem;gap:.55rem;align-content:start}.p-side .fld input,.p-side .fld select{width:100%}.p-money{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.p-money .num{text-align:right}.p-side .price{font-size:var(--t-name);font-weight:700;color:var(--text)}.p-actions{display:flex;gap:.4rem;margin-top:.15rem}.p-actions form:first-child{flex:1 1}.p-actions button{width:100%}.alg>summary,.p-mods>summary{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;cursor:pointer;list-style:none;padding:.2rem 0}.alg>summary::-webkit-details-marker,.p-mods>summary::-webkit-details-marker{display:none}.alg>summary:before,.p-mods>summary:before{content:"›";color:var(--muted);font-size:.9rem;line-height:1;transition:transform .15s;transform-origin:center}.alg[open]>summary:before,.p-mods[open]>summary:before{transform:rotate(90deg)}.alg-none{font-size:var(--t-sm);color:var(--muted)}.p-mods-list{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin:.35rem 0 .2rem}.p-mod{gap:.35rem}.alg-chip,.alg-pill,.p-mod{display:inline-flex;align-items:center;font-size:var(--t-sm);color:var(--muted-2)}.alg-chip,.alg-pill{gap:.3rem;border-radius:999px;line-height:1.2;padding:.22rem .55rem .22rem .25rem;border:1px solid var(--line);background:var(--sunken)}.alg-no{display:grid;place-items:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:#00000059;color:var(--muted);font-size:.625rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alg-pill{background:color-mix(in oklab,var(--ember) 14%,transparent);border-color:color-mix(in oklab,var(--ember) 40%,transparent);color:#f0d8c6}.alg-pill .alg-no{background:color-mix(in oklab,var(--ember) 85%,black);color:#1c0f07}.alg[open]>summary .alg-none,.alg[open]>summary .alg-pill{display:none}.alg-edit{display:grid;grid-gap:.7rem;gap:.7rem;padding:.6rem 0 .3rem}.alg-grid{display:flex;flex-wrap:wrap;gap:.35rem}.alg-chip{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .12s,background .12s,color .12s}.alg-chip input{position:absolute;opacity:0;width:0;height:0}.alg-chip:hover{border-color:#3c3936;color:var(--text)}.alg-chip:has(:checked){background:color-mix(in oklab,var(--ember) 18%,transparent);border-color:color-mix(in oklab,var(--ember) 55%,transparent);color:#f6e3d5}.alg-chip:has(:checked) .alg-no{background:var(--ember);color:#1c0f07}.alg-chip:has(:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.alg-custom{display:grid;grid-gap:.25rem;gap:.25rem;max-width:24rem}.alg-custom input{font-size:var(--t-sm)}.saved-flash{position:fixed;right:1.2rem;bottom:1.2rem;z-index:20;background:var(--ok);color:#fff;font-size:.82rem;font-weight:700;padding:.45rem .8rem;border-radius:8px;pointer-events:none;animation:saved-fade 1.6s ease forwards}@keyframes saved-fade{0%{opacity:0;transform:translateY(6px)}12%,65%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}.inline-name{font-weight:650;font-size:var(--t-name);letter-spacing:-.011em;color:var(--text);flex:1 1 auto;min-width:0}.inline-desc,.inline-name{background:transparent;border:1px solid transparent;border-radius:6px;padding:.2rem .4rem}.inline-desc{color:var(--muted-2);font-size:var(--t-body);line-height:1.5;width:100%;resize:none;font-family:inherit;field-sizing:content}.inline-desc:hover,.inline-name:hover{border-color:var(--line)}.inline-desc:focus,.inline-name:focus{outline:none;border-color:var(--brand);background:var(--sunken);color:var(--text)}.inline-station{background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:var(--t-xs);padding:.2rem .3rem}.hours-editor{display:grid;grid-gap:.5rem;gap:.5rem;max-width:620px}.hours-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.6rem .8rem;background:var(--card);border:1px solid var(--line);border-radius:10px}.hours-row.closed{opacity:.6}.hours-day{font-weight:700;min-width:90px}.hours-toggle{border:1px solid var(--line);background:var(--sunken);color:var(--muted);border-radius:999px;padding:.3rem .8rem;font-weight:600;cursor:pointer;min-width:100px}.hours-toggle.on{background:var(--ok);border-color:var(--ok);color:#fff}.hours-times{display:inline-flex;align-items:center;gap:.4rem}.hours-times input[type=time]{background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:.3rem .4rem}.hours-times input:disabled{opacity:.4}.hours-until{white-space:nowrap}.hours-lastorder input[type=number]{width:4.5rem;background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:.3rem .4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hours-copy{margin-left:auto;background:none;border:none;color:var(--brand);font-size:.8rem;cursor:pointer;text-decoration:underline}:root{color-scheme:dark;accent-color:var(--ember)}.pay-summary{font-weight:700;margin:0 0 .6rem}.pay-summary.ok{color:var(--ok)}.pay-summary.warn{color:var(--warn)}.pay-status{display:grid;grid-gap:.45rem;gap:.45rem;margin:0 0 .9rem;max-width:460px}.pay-status-row{display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;background:var(--sunken);border:1px solid var(--line-soft);border-radius:10px}.pay-status-row>span:nth-child(2){flex:1 1;font-weight:600}.pay-dot{width:10px;height:10px;border-radius:50%;background:var(--warn);flex:0 0 auto}.pay-dot.ok{background:var(--ok)}.pay-state{font-size:var(--t-sm);font-weight:600;color:var(--warn)}.pay-state.ok{color:var(--ok)}abbr[data-tip]{position:relative;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}abbr[data-tip]:focus{outline:none}abbr[data-tip]:focus:after,abbr[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 6px);z-index:60;width:max-content;max-width:min(280px,80vw);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;color:var(--text);font-size:var(--t-xs);font-weight:400;white-space:normal;text-align:left;box-shadow:0 8px 20px rgba(0,0,0,.45)}@media (max-width:720px){.nav{gap:.8rem;padding:.6rem 1rem}.nav-brand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-brand,.nav-tenant{flex:1 1;min-width:0}.nav-tenant .nav-brand{flex:none;display:block}.nav-burger{display:block}.nav-menu{display:none}.nav-menu.open{display:grid;grid-gap:.7rem;gap:.7rem;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.7rem 1rem 1rem;box-shadow:0 18px 32px rgba(0,0,0,.5)}.nav-menu .nav-links{display:grid;grid-gap:.15rem;gap:.15rem}.nav-menu .nav-links a{padding:.6rem .7rem}.nav-menu-foot{justify-content:space-between;gap:.8rem;border-top:1px solid var(--line-soft);padding-top:.8rem}.nav-email{margin-right:0}}@media (max-width:640px){.wrap{padding:1.1rem 1rem 3.5rem}h1{font-size:1.3rem}input,select,textarea{font-size:1rem!important}}.sec-box{background:var(--sunken);border:1px solid var(--line-soft);border-radius:14px;padding:1rem 1.1rem 1.1rem;margin-bottom:1.1rem}.sec-box>:last-child{margin-bottom:0}.sec{font-size:var(--t-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);border-left:3px solid var(--ember);padding-left:.55rem;margin:0 0 .9rem}.card-h,.sec{font-weight:700}.card-h{font-size:var(--t-name);margin-bottom:.35rem}.card a{color:var(--brand)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.7rem;gap:.7rem}.theme-card{width:100%;display:grid;grid-gap:.5rem;gap:.5rem;padding:.55rem;border:2px solid;border-radius:10px;cursor:pointer;font:inherit;text-align:left}.theme-card.on{outline:2px solid var(--ember);outline-offset:2px}.theme-preview{display:grid;grid-gap:.35rem;gap:.35rem;padding:.55rem;border-radius:6px}.theme-bar{height:7px;border-radius:3px;width:80%;opacity:.9}.theme-bar.sm{height:5px;width:55%;opacity:.65}.theme-pill{justify-self:start;margin-top:.15rem;padding:.2rem .5rem;border-radius:999px;font-size:var(--t-xs);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.theme-name{font-size:var(--t-sm);font-weight:600}@media (max-width:720px){.product{grid-template-columns:72px minmax(0,1fr);gap:.6rem .8rem;padding:.8rem}.p-ident,.p-main{display:contents}.photo{width:72px;height:72px}.p-ident>.row{grid-column:2;align-self:center}.alg,.inline-desc,.p-mods,.p-side{grid-column:1/-1}.row>.inline-name{flex-basis:100%}.row>.fld{flex:1 1 40%}.fld input.sm{width:100%}.add-form .grow{flex-basis:100%}.hours-day{min-width:70px}.hours-copy{margin-left:0;flex-basis:100%;text-align:left}}