@import "https://fonts.googleapis.com/css2?family=Newsreader:opsz,ital,wght@6..72,1,400;6..72,1,500&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";:root{--bg:#faf8f4;--bg-elev:#fff;--bg-soft:#f2efe8;--fg:#19140e;--fg-soft:#19140e9e;--fg-faint:#19140e6b;--line:#19140e14;--line-soft:#19140e0d;--tf-accent:#d97a2c;--tf-accent-ink:#7c3f12;--tf-accent-bg:#fbeed9;--tf-accent-glow:#d97a2c52;--success:#2e8b57;--success-bg:#e6f4ec;--success-ink:#1f6b43;--warn:#c97a2c;--warn-bg:#fbeed9;--warn-ink:#7c3f12;--danger:#c8392e;--danger-bg:#fbe6e3;--danger-ink:#8e2218;--info:#3a73c4;--info-bg:#e4ecf8;--info-ink:#1d3f73;--tf-lime:#a6f562;--tf-lime-ink:#1a2410;--primary:var(--tf-accent);--primary-fg:#fff;--accent:var(--tf-accent);--warning:var(--warn);--border:var(--line);--tf-display:"Newsreader", "GT Sera", "Times New Roman", serif;--tf-sans:"Geist", "Inter Tight", -apple-system, system-ui, sans-serif;--tf-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #241c140a;--shadow-sm:0 1px 3px #241c140f, 0 1px 2px #241c140a;--shadow-md:0 2px 4px #241c140a, 0 8px 24px #241c1414;--shadow-lg:0 4px 8px #241c140d, 0 16px 48px #241c141f;--shadow-saffron:0 1px 2px #d97a2c52, 0 8px 24px #d97a2c3d;--shadow-ink:0 1px 2px #19140e33, 0 8px 24px #19140e29;--shadow:var(--shadow-sm);--ease-out:cubic-bezier(.2, .7, .3, 1);--ease-spring:cubic-bezier(.34, 1.36, .64, 1);--motion-fast:.18s var(--ease-out);--motion-base:.24s var(--ease-out);--motion-slow:.42s var(--ease-out);--motion-spring:.52s var(--ease-spring);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);font-family:var(--tf-sans);font-feature-settings:"ss01", "cv11";color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}[dir=rtl]{font-family:"IBM Plex Sans Arabic", "Noto Sans Arabic", var(--tf-sans)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button{cursor:pointer;color:inherit;background:0 0;border:0;font-family:inherit;font-size:1rem}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{color:inherit;font-family:inherit;font-size:1rem}a{color:var(--tf-accent);text-decoration:none}.tf-display{font-family:var(--tf-display);font-style:italic;font-weight:400}.tf-mono{font-family:var(--tf-mono);font-feature-settings:"tnum"}.tf-tabular{font-variant-numeric:tabular-nums}.tf-caption{font-family:var(--tf-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--fg-faint);font-size:11px}.btn{border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--line);height:44px;color:var(--fg);letter-spacing:-.1px;transition:transform 80ms var(--ease-out), background var(--motion-fast), box-shadow var(--motion-fast);justify-content:center;align-items:center;gap:.5rem;padding:0 18px;font-size:14px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--tf-accent);color:#fff;border-color:var(--tf-accent);box-shadow:var(--shadow-saffron)}.btn-ink{background:var(--fg);color:var(--bg);border-color:var(--fg);box-shadow:var(--shadow-ink)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--danger)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-pill{border-radius:var(--radius-pill)}.btn-block{width:100%}.btn-lg{border-radius:var(--radius-pill);height:52px;padding:0 22px;font-size:15px}.error-banner{background:var(--danger-bg);color:var(--danger-ink);border-radius:var(--radius);margin:.75rem 0;padding:.75rem 1rem;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes tf-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes tf-pulse-ring{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(2.2)}}@keyframes tf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes tf-sheet-up{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes tf-fade{0%{opacity:0}to{opacity:1}}@keyframes tf-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-new-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes tf-late-throb{0%,to{box-shadow:0 0 0 6px #c8392e2e,0 6px 16px #c8392e52}50%{box-shadow:0 0 0 10px #c8392e52,0 10px 24px #c8392e6b}}@keyframes tf-breath{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.04)}}[data-stagger]>*{opacity:0;animation:tf-stagger-in .48s var(--ease-out) forwards}[data-stagger]>:first-child{animation-delay:40ms}[data-stagger]>:nth-child(2){animation-delay:90ms}[data-stagger]>:nth-child(3){animation-delay:.14s}[data-stagger]>:nth-child(4){animation-delay:.19s}[data-stagger]>:nth-child(5){animation-delay:.24s}[data-stagger]>:nth-child(6){animation-delay:.29s}[data-stagger]>:nth-child(7){animation-delay:.34s}[data-stagger]>:nth-child(8){animation-delay:.39s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tf-w-langpick{background:var(--bg);min-height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);flex-direction:column;display:flex;overflow:hidden}.tf-w-langpick__header{flex-shrink:0;padding:2rem 1.75rem .75rem}.tf-w-langpick__brand{font-family:var(--tf-display);letter-spacing:-.5px;color:var(--fg);font-size:1.9rem;font-style:italic;font-weight:400;line-height:1;display:block}.tf-w-langpick__brand-sub{font-family:var(--tf-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin-top:.3rem;font-size:.62rem;display:block}.tf-w-langpick__polyglot{color:var(--fg-soft);letter-spacing:.03em;margin:1.25rem 0 0;font-size:.78rem}.tf-w-langpick__track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;flex:1;display:flex;overflow-x:auto}.tf-w-langpick__track::-webkit-scrollbar{display:none}.tf-w-langpick__slide{scroll-snap-align:start;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;gap:.75rem;padding:2rem 2.5rem;transition:opacity .2s;display:flex;position:relative}.tf-w-langpick__slide:not(.is-active){opacity:.35}.tf-w-langpick__flag{filter:drop-shadow(0 4px 12px #19140e1f);margin-bottom:.5rem;font-size:5rem;line-height:1}.tf-w-langpick__name{font-family:var(--tf-display);letter-spacing:-.5px;color:var(--fg);text-align:center;margin:0;font-size:3rem;font-style:italic;font-weight:400}.tf-w-langpick__sub{font-family:var(--tf-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);text-align:center;margin:0;font-size:.72rem}.tf-w-langpick__check{background:var(--tf-accent);color:#fff;width:28px;height:28px;box-shadow:var(--shadow-saffron);animation:tf-new-pop .2s var(--ease-spring) both;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex;position:absolute;top:1.25rem;right:1.25rem}.tf-w-langpick__footer{padding:1.25rem 1.75rem calc(1.75rem + var(--safe-bottom));flex-direction:column;flex-shrink:0;align-items:center;gap:1rem;display:flex}.tf-w-langpick__dots{gap:.45rem;display:flex}.tf-w-langpick__dot{background:var(--line);cursor:pointer;width:7px;height:7px;transition:background .2s, width .2s var(--ease-spring);border:none;border-radius:50%;padding:0}.tf-w-langpick__dot.is-active{background:var(--tf-accent);border-radius:4px;width:22px}.tf-w-langpick__cta{border-radius:var(--radius-lg);background:var(--tf-accent);color:#fff;letter-spacing:-.1px;width:100%;max-width:320px;height:56px;box-shadow:var(--shadow-saffron);transition:transform 80ms var(--ease-out), box-shadow 80ms var(--ease-out);border:none;justify-content:center;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;display:inline-flex}.tf-w-langpick__cta:active{transform:scale(.97)}.tf-w-langpick__cta-arrow{opacity:.75;font-size:1.1rem}.tf-w-settings-backdrop{z-index:40;background:#19140e7a;animation:.18s both tf-fade;position:fixed;inset:0}.tf-w-settings{z-index:41;background:var(--bg-elev);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:0 1.25rem calc(1.5rem + var(--safe-bottom));max-height:88dvh;animation:tf-sheet-up .32s var(--ease-spring) both;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 32px #19140e1f}.tf-w-settings__handle{background:var(--line);border-radius:2px;width:36px;height:4px;margin:12px auto 0}.tf-w-settings__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 0 .85rem;display:flex}.tf-w-settings__title{font-family:var(--tf-display);letter-spacing:-.4px;color:var(--fg);margin:0;font-size:1.55rem;font-style:italic;font-weight:400}.tf-w-settings__close{background:var(--bg-soft);border:1px solid var(--line);width:32px;height:32px;color:var(--fg-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:color .12s,background .12s;display:inline-flex}.tf-w-settings__close:hover{color:var(--fg);background:var(--bg)}.tf-w-settings__section{border-bottom:1px solid var(--line);flex-direction:column;gap:.45rem;padding:1rem 0;display:flex}.tf-w-settings__hint{color:var(--fg-soft);margin:0;font-size:.8rem}.tf-w-settings__langs{flex-direction:column;gap:.45rem;margin-top:.25rem;display:flex}.tf-w-settings__lang{border-radius:var(--radius);border:1.5px solid var(--line);background:var(--bg-soft);cursor:pointer;text-align:start;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.tf-w-settings__lang:hover{border-color:var(--fg-faint)}.tf-w-settings__lang.is-active{border-color:var(--tf-accent);background:var(--tf-accent-bg)}.tf-w-settings__lang-flag{flex-shrink:0;font-size:1.35rem;line-height:1}.tf-w-settings__lang-name{color:var(--fg);flex:1;font-size:.95rem;font-weight:600}.tf-w-settings__lang-sub{color:var(--fg-faint);font-size:.75rem;font-family:var(--tf-mono);letter-spacing:.04em}.tf-w-settings__lang-check{color:var(--tf-accent);flex-shrink:0;font-size:.85rem;font-weight:700}.tf-w-settings__footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:auto;padding:1.25rem 0 0;display:flex}.tf-w-settings__email{color:var(--fg-faint);font-size:.78rem;font-family:var(--tf-mono);text-overflow:ellipsis;white-space:nowrap;text-align:center;overflow:hidden}.tf-w-call__note{background:var(--bg-soft);color:var(--fg);border-radius:8px;margin-top:.25rem;padding:.4rem .55rem;font-size:.82rem;font-style:italic}.tf-w-detail__pending{background:var(--tf-accent-bg,#d97a2c14);border:1px solid var(--tf-accent,#d97a2c);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem .9rem;font-size:.88rem;display:flex}.tf-w-detail__pending .tf-caption{color:var(--fg-soft);margin-top:.15rem;font-size:.75rem}.tf-w-settings__logout{border-radius:var(--radius-pill);border:1px solid var(--danger);width:100%;height:48px;color:var(--danger);font:600 .95rem/1 var(--tf-sans);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.55rem;padding:0 1rem;transition:background-color .12s,color .12s;display:inline-flex}.tf-w-settings__logout:hover,.tf-w-settings__logout:focus-visible{background:var(--danger);color:#fff;outline:none}.lang-selector{gap:.5rem;display:flex}.lang-selector button{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--bg-soft);color:var(--fg-soft);flex:1;padding:.7rem .5rem;font-size:.9rem;font-weight:600;transition:all .13s}.lang-selector button:hover{border-color:var(--fg-faint);color:var(--fg)}.lang-selector button[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-bg);color:var(--tf-accent-ink)}.login-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:28rem;box-shadow:var(--shadow-md);padding:2rem 1.5rem}.login-card h2{font-family:var(--tf-display);letter-spacing:-.5px;margin:0 0 1.25rem;font-size:1.6rem;font-style:italic;font-weight:400}.login-card form{flex-direction:column;gap:.85rem;display:flex}.login-card label{font-family:var(--tf-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);font-size:.7rem}.login-card label input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--fg);margin-top:.35rem;padding:.7rem .9rem;font-size:1rem}.login-card label input:focus{outline:2px solid var(--tf-accent);outline-offset:2px}.app-shell{background:var(--bg);min-height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex;position:relative;overflow:hidden}.tf-w-topbar{z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);background:#faf8f4eb;align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;top:0}.tf-w-topbar__brand{flex:1;align-items:baseline;gap:8px;display:flex}.tf-w-topbar__brand-name{font-family:var(--tf-display);letter-spacing:-.4px;font-size:18px;font-style:italic;font-weight:400}.tf-w-topbar__brand-sub{font-family:var(--tf-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--fg-faint);font-size:9px}.tf-w-topbar__logout{border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--line);width:36px;height:36px;color:var(--fg-soft);justify-content:center;align-items:center;display:inline-flex}.tf-w-topbar__logout:hover{color:var(--fg);border-color:var(--fg-faint)}.tf-w-body{flex-direction:column;flex:1;padding-bottom:92px;display:flex;position:relative;overflow:hidden}.tf-w-floor{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.tf-w-floor__head{flex-shrink:0;padding:16px 20px 12px}.tf-w-floor__head-row{justify-content:space-between;align-items:baseline;margin-top:2px;display:flex}.tf-w-floor__title{letter-spacing:-.7px;color:var(--fg);margin:0;font-size:28px;font-weight:500}.tf-w-floor__stats{color:var(--fg-soft);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px;display:flex}.tf-w-floor__stats b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.tf-w-floor__stats b.is-late{color:var(--danger)}.tf-w-floor__sep{color:var(--fg-faint)}.tf-w-floor__zones{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tf-w-floor__zone{border:1px solid var(--line);color:var(--fg-soft);font:inherit;cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.tf-w-floor__zone:hover{color:var(--fg)}.tf-w-floor__zone.is-active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.tf-w-floor__map-wrap{flex-direction:column;flex:1;min-height:0;padding:4px 16px 0;display:flex}.tf-w-floor__map{background:var(--bg-soft);border-radius:var(--radius-lg);border:1px solid var(--line);background-image:radial-gradient(circle,#19140e12 1.5px,#0000 1.5px);background-size:22px 22px;flex:1;width:100%;min-height:420px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80}.tf-w-floor__map-empty{color:var(--fg-faint);border:1px dashed var(--line);border-radius:var(--radius-lg);flex:1;place-items:center;padding:24px;font-size:14px;display:grid}.tf-w-floor__decor{box-sizing:border-box;pointer-events:none;position:absolute}.tf-w-floor__decor--wall-h,.tf-w-floor__decor--wall-v{background:#2e2922bf;border-radius:3px;box-shadow:0 1px 3px #0003}.tf-w-floor__decor--divider-h{background:repeating-linear-gradient(90deg,#64584866 0 5px,#0000 5px 11px)}.tf-w-floor__decor--divider-v{background:repeating-linear-gradient(#64584866 0 5px,#0000 5px 11px)}.tf-w-floor__decor--garden{background:#38a8501f;border:1.5px dashed #38a85073;border-radius:14px;justify-content:center;align-items:center;display:flex}.tf-w-floor__decor--pillar{background:radial-gradient(circle at 38% 35%,#b0a090,#706050);border:2px solid #4a3c2c;border-radius:50%}.tf-w-floor__decor--stairs{background:repeating-linear-gradient(-45deg,#6e5f4e26 0 5px,#0000 5px 10px);border:1.5px solid #6e5f4e59;border-radius:4px;justify-content:center;align-items:center;display:flex}.tf-w-floor__decor--bar{background:linear-gradient(160deg,#2a2320,#1a1510);border-radius:8px;justify-content:center;align-items:center;display:flex}.tf-w-floor__decor-icon{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 2px #0003);font-size:clamp(.8rem,2.5cqw,1.4rem)}.tf-w-floor__decor-text{color:#fff9;letter-spacing:.15em;font-size:clamp(.5rem,1.6cqw,.75rem);font-weight:700;font-family:var(--tf-mono)}.tf-w-floor__dot{font-variant-numeric:tabular-nums;letter-spacing:-.2px;cursor:pointer;transition:transform .24s var(--ease-out), box-shadow .24s var(--ease-out);border-style:solid;border-width:1.5px;justify-content:center;align-items:center;padding:0;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.tf-w-floor__dot:hover{transform:translate(-50%,-50%)scale(1.04)}.tf-w-floor__dot:active{transform:translate(-50%,-50%)scale(.96)}.tf-w-floor__dot.is-dim{opacity:.18;pointer-events:none}.tf-w-floor__dot-num{font-size:14px}.tf-w-floor__dot-mins{background:var(--fg);color:var(--bg);letter-spacing:.4px;font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 5px;font-size:9px;font-weight:600;position:absolute;top:-8px;right:-8px}.tf-w-floor__dot-bell{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:absolute;top:-10px;right:-10px}.tf-w-floor__dot--open{background:var(--bg-elev);color:var(--fg-soft);border-color:var(--line)}.tf-w-floor__dot--seated{background:var(--bg-elev);color:var(--fg);border-color:var(--line)}.tf-w-floor__dot--ordered{background:var(--info-bg);color:var(--info-ink);border-color:#3a73c459}.tf-w-floor__dot--cooking{background:var(--tf-accent-bg);color:var(--tf-accent-ink);border-color:var(--tf-accent)}.tf-w-floor__dot--ready{background:var(--tf-lime);color:var(--tf-lime-ink);border-color:var(--tf-lime-ink)}.tf-w-floor__dot--eating{color:#4a2e6b;background:#efe6f5;border-color:#5c3a8266}.tf-w-floor__dot--paying{background:var(--fg);color:var(--bg);border-color:var(--fg)}.tf-w-floor__dot--clean{background:var(--success-bg);color:var(--success-ink);border-color:#2e8b5766}.tf-w-floor__dot--call{background:var(--danger);color:#fff;border-color:var(--danger)}.tf-w-floor__dot.is-calling{animation:1.4s ease-in-out infinite tf-late-throb,2.4s ease-in-out infinite tf-breath}.tf-w-floor__dot.is-ready{box-shadow:0 0 0 4px #a6f56266}.tf-w-floor__dot.is-overdue{z-index:2}.tf-w-floor__dot-split{clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none;position:absolute;inset:0}.tf-w-floor__dot-split--ordered{background:var(--info-bg)}.tf-w-floor__dot-split--cooking{background:var(--tf-accent-bg)}.tf-w-floor__dot-split--ready{background:var(--tf-lime)}.tf-w-floor__dot-split--eating{background:#efe6f5}.tf-w-floor__dot.is-reorder{border-style:dashed}.tf-w-floor__legend{scrollbar-width:none;flex-shrink:0;gap:10px;padding:12px 16px;display:flex;overflow-x:auto}.tf-w-floor__legend::-webkit-scrollbar{display:none}.tf-w-floor__legend-chip{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--fg-soft);flex-shrink:0;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:12px;display:inline-flex}.tf-w-floor__legend-dot{border:1px solid #0000;border-radius:4px;width:12px;height:12px}.tf-w-floor__legend-chip--open .tf-w-floor__legend-dot{background:#19140e14}.tf-w-floor__legend-chip--seated .tf-w-floor__legend-dot{background:var(--bg-elev);border-color:var(--line)}.tf-w-floor__legend-chip--ordered .tf-w-floor__legend-dot{background:var(--info-bg);border-color:#3a73c459}.tf-w-floor__legend-chip--cooking .tf-w-floor__legend-dot{background:var(--tf-accent-bg);border-color:var(--tf-accent)}.tf-w-floor__legend-chip--ready .tf-w-floor__legend-dot{background:var(--tf-lime);border-color:var(--tf-lime-ink)}.tf-w-floor__legend-chip--eating .tf-w-floor__legend-dot{background:#efe6f5;border-color:#5c3a8266}.tf-w-floor__legend-chip--paying .tf-w-floor__legend-dot{background:var(--fg)}.tf-w-floor__legend-chip--clean .tf-w-floor__legend-dot{background:var(--success-bg);border-color:#2e8b5766}.tf-w-floor__legend-chip--call .tf-w-floor__legend-dot{background:var(--danger)}.tf-w-calls{background:var(--bg);flex-direction:column;height:100%;display:flex}.tf-w-calls__head{flex-shrink:0;padding:16px 20px 12px}.tf-w-calls__title{letter-spacing:-.7px;color:var(--fg);margin:2px 0 0;font-size:28px;font-weight:500}.tf-w-calls__list{flex:1;padding:4px 16px 16px;overflow-y:auto}.tf-w-call{background:var(--bg-elev);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-xs);transition:box-shadow var(--motion-base);flex-direction:column;gap:12px;margin-bottom:10px;padding:16px;display:flex;position:relative;overflow:hidden}.tf-w-call.just-arrived{animation:tf-new-pop .36s var(--ease-spring)}.tf-w-call--overdue{background:var(--danger-bg);box-shadow:var(--shadow-md);border-color:#c8392e66}.tf-w-call__age-strip{height:3px;position:absolute;top:0;left:0;right:0}.tf-w-call__age-strip--fresh{background:var(--success)}.tf-w-call__age-strip--stale{background:var(--tf-accent)}.tf-w-call__age-strip--overdue{background:var(--danger)}.tf-w-call__top{align-items:flex-start;gap:12px;display:flex}.tf-w-call__icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tf-w-call__icon--fresh,.tf-w-call__icon--stale{background:var(--tf-accent-bg);color:var(--tf-accent-ink)}.tf-w-call__icon--overdue{background:var(--danger);color:#fff}.tf-w-call__body{flex:1;min-width:0}.tf-w-call__head-line{align-items:baseline;gap:8px;display:flex}.tf-w-call__table{color:var(--fg);font-size:22px;font-weight:400;line-height:1}.tf-w-call__pax{letter-spacing:1.4px;color:var(--fg-faint);text-transform:uppercase;font-size:10px}.tf-w-call__what{letter-spacing:-.2px;margin-top:4px;font-size:17px;font-weight:500}.tf-w-call__age{letter-spacing:1.2px;text-transform:uppercase;margin-top:4px;font-size:11px}.tf-w-call__age--fresh{color:var(--fg-soft)}.tf-w-call__age--stale{color:var(--tf-accent)}.tf-w-call__age--overdue{color:var(--danger)}.tf-w-call__actions{gap:8px;display:flex}.tf-w-call__open{border:1px solid var(--line);height:44px;color:var(--fg);background:0 0;border-radius:22px;flex:1;font-size:14px;font-weight:500}.tf-w-call__ack{background:var(--fg);height:44px;color:var(--bg);border:none;border-radius:22px;flex:1.4;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.tf-w-call__ack:disabled{opacity:.6}.tf-w-calls__empty{text-align:center;color:var(--fg-faint);padding:60px 16px}.tf-w-calls__empty-halo{background:var(--bg-elev);border:1px solid var(--line);width:80px;height:80px;color:var(--success);border-radius:40px;justify-content:center;align-items:center;margin:12px auto 18px;display:flex}.tf-w-calls__empty-halo svg{width:32px;height:32px}.tf-w-calls__empty-sub{color:var(--fg-soft);max-width:240px;margin:0 auto;font-size:14px;line-height:1.55}.tf-w-calls__empty-section{margin-top:24px}.tf-w-calls__empty-stats{background:var(--bg-elev);border-radius:var(--radius);border:1px solid var(--line);text-align:start;margin-top:12px;padding:16px}.tf-w-calls__empty-row{justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.tf-w-calls__empty-row+.tf-w-calls__empty-row{border-top:1px solid var(--line)}.tf-w-calls__empty-row-k{color:var(--fg-soft);font-size:13px}.tf-w-calls__empty-row-v{color:var(--fg);font-size:14px;font-weight:500}.tf-w-calls__empty-row-sub{color:var(--fg-faint);font-weight:400}.tf-w-tables{background:var(--bg);height:100%;overflow-y:auto}.tf-w-tables__head{padding:16px 20px 12px}.tf-w-tables__head-row{justify-content:space-between;align-items:baseline;margin-top:2px;display:flex}.tf-w-tables__title{letter-spacing:-.7px;margin:0;font-size:28px;font-weight:500}.tf-w-tables__clock{color:var(--fg-soft);letter-spacing:1px;font-size:12px}.tf-w-tables__zone{padding:8px 16px 16px}.tf-w-tables__zone-label{padding:8px 4px}.tf-w-tables__zone-card{background:var(--bg-elev);border-radius:var(--radius-lg);border:1px solid var(--line);overflow:hidden}.tf-w-tables__row{border:none;border-bottom:1px solid var(--line);text-align:start;width:100%;color:var(--fg);background:0 0;align-items:center;gap:14px;padding:14px 16px;display:flex}.tf-w-tables__row.is-alert--call{animation:1.2s ease-in-out infinite tf-w-flash-danger}.tf-w-tables__row.is-alert--ready{animation:1.8s ease-in-out infinite tf-w-pulse-lime}.tf-w-tables__row.is-alert--paying{animation:2.2s ease-in-out infinite tf-w-pulse-ink}.tf-w-tables__row.is-last{border-bottom:none}.tf-w-tables__row:active{background:var(--bg-soft)}.tf-w-tables__chip{font-variant-numeric:tabular-nums;border-width:1px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex;position:static;transform:none}.tf-w-tables__row.is-alert--call .tf-w-tables__chip{animation:1.1s ease-in-out infinite tf-late-throb}.tf-w-tables__row.is-alert--ready .tf-w-tables__chip{box-shadow:0 0 0 4px #a6f56259}.tf-w-tables__row.is-alert--paying .tf-w-tables__chip{box-shadow:0 0 0 4px #19140e40}.tf-w-tables__chip:hover{transform:none}.tf-w-tables__row-body{flex:1;min-width:0}.tf-w-tables__row-name{font-size:14px;font-weight:500;display:block}.tf-w-tables__row-pax{color:var(--fg-faint);font-weight:400}.tf-w-tables__row-meta{color:var(--fg-faint);letter-spacing:1.2px;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}@keyframes tf-w-flash-danger{0%,to{background:0 0}50%{background:#ef444414}}@keyframes tf-w-pulse-lime{0%,to{background:0 0}50%{background:#a6f56224}}@keyframes tf-w-pulse-ink{0%,to{background:0 0}50%{background:#19140e0f}}.tf-w-tabbar{padding:8px 16px calc(20px + var(--safe-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);z-index:5;background:#faf8f4f0;gap:4px;display:flex;position:absolute;bottom:0;left:0;right:0}.tf-w-tab{height:56px;color:var(--fg);transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;display:flex;position:relative}.tf-w-tab.is-on{background:var(--fg);color:var(--bg)}.tf-w-tab__ico{justify-content:center;align-items:center;display:inline-flex}.tf-w-tab__ico svg{width:20px;height:20px}.tf-w-tab__label{letter-spacing:.04em}.tf-w-tab__badge{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;display:flex;position:absolute;top:8px;right:28%}.tf-w-detail{background:var(--bg);z-index:30;animation:tf-sheet-up .32s var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0}.tf-w-detail__head{flex-shrink:0;padding:16px 20px}.tf-w-detail__back{border:1px solid var(--line);background:var(--bg-elev);height:32px;color:var(--fg);border-radius:16px;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:13px;display:inline-flex}.tf-w-detail__head-row{justify-content:space-between;align-items:flex-start;margin-top:14px;display:flex}.tf-w-detail__title{letter-spacing:-1px;margin:4px 0 0;font-size:38px;font-weight:500}.tf-w-detail__pill{border-radius:var(--radius-pill);border-width:1px;margin-top:6px;padding:6px 12px;font-size:12px;font-weight:500;position:static;transform:none}.tf-w-detail__pill:hover{transform:none}.tf-w-detail__assign{margin-top:10px}.tf-w-detail__assign-pill{border-radius:var(--radius-pill);background:var(--bg-soft);color:var(--fg-soft);letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.tf-w-detail__assign-pill.is-me{background:var(--tf-accent);color:#fff}.tf-w-detail__body{flex:1;padding:0 16px 100px;overflow-y:auto}.tf-w-detail__order-card{background:var(--bg-elev);border-radius:var(--radius-lg);border:1px solid var(--line);margin-bottom:14px;padding:16px}.tf-w-detail__order-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.tf-w-detail__order-elapsed{color:var(--fg-soft);font-size:11px}.tf-w-detail__items{flex-direction:column;gap:4px;padding-block:4px;display:flex}.tf-w-detail__item{border-top:1px dashed var(--line);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.tf-w-detail__item:first-child{border-top:none}.tf-w-detail__item-qty{width:28px;color:var(--fg-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px}.tf-w-detail__item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tf-w-detail__item-name{color:var(--fg);font-size:14px;font-weight:500}.tf-w-detail__item-ar{color:var(--fg-faint);font-family:IBM Plex Sans Arabic,Noto Sans Arabic,system-ui,sans-serif;font-size:12px}.tf-w-detail__item-variants{color:var(--fg-soft);font-size:12px}.tf-w-detail__item-notes{color:var(--tf-accent);margin-top:2px;font-size:12px;font-style:italic}.tf-w-detail__item-line{color:var(--fg);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:500}.tf-w-detail__totals{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.tf-w-detail__total-row{color:var(--fg-soft);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.tf-w-detail__total-row.is-grand{color:var(--fg);border-top:1px solid var(--line);letter-spacing:-.4px;margin-top:6px;padding-top:8px;font-size:22px;font-weight:500}.tf-w-detail__total-row.is-grand .tf-display{font-size:26px}.tf-w-detail__total-row.is-success{color:var(--success);font-weight:600}.tf-w-detail__pay{flex-direction:column;gap:.6rem;margin-top:16px;display:flex}.tf-w-detail__pay-title{font-family:var(--tf-display);margin:0;font-size:18px;font-style:italic;font-weight:400}.tf-w-detail__pay-label{font-family:var(--tf-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);flex-direction:column;gap:6px;font-size:11px;display:flex}.tf-w-detail__pay-input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem;font-size:16px}.tf-w-detail__pay-input:focus{outline:2px solid var(--tf-accent);outline-offset:2px}.tf-w-detail__no-order{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;color:var(--fg-soft);flex-direction:column;gap:6px;margin-bottom:14px;padding:32px;display:flex}.tf-w-detail__no-order-title{font-size:22px}.tf-w-detail__no-order-sub{color:var(--fg-faint);font-size:13px}.tf-w-detail__footer{padding:12px 16px calc(28px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#faf8f4f0;flex-shrink:0;gap:8px;display:flex}.tf-w-detail__clean-prompt{flex-direction:column;flex:1;gap:10px;display:flex}.tf-w-detail__clean-prompt-q{text-align:center;font-weight:600}.tf-w-detail__clean-prompt-row{gap:8px;display:flex}.tf-w-order{z-index:50;position:fixed;inset:0}.tf-w-order__backdrop{background:#0a080573;position:absolute;inset:0}.tf-w-order__sheet{background:var(--bg);border-top:1px solid var(--line);border-radius:18px 18px 0 0;flex-direction:column;height:min(78vh,680px);display:flex;position:absolute;inset:auto 0 0;overflow:hidden}.tf-w-order__head{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.tf-w-order__title{margin:2px 0 0;font-size:20px;font-weight:600}.tf-w-order__close{border:1px solid var(--line);background:var(--bg-elev);width:40px;height:40px;color:var(--fg);border-radius:12px}.tf-w-order__search{padding:0 16px 10px}.tf-w-order__search input{border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;width:100%;height:44px;padding:0 12px}.tf-w-order__body{flex:1;padding:0 12px 12px;overflow:auto}.tf-w-order__list{flex-direction:column;gap:8px;padding:8px 4px;display:flex}.tf-w-order__row{border:1px solid var(--line);background:var(--bg-elev);text-align:start;border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:12px;display:flex}.tf-w-order__row:disabled{opacity:.55}.tf-w-order__row-name{font-weight:600}.tf-w-order__row-price{color:var(--fg-soft);font-size:12px}.tf-w-order__bar{padding:12px 16px calc(16px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#faf8f4f0;justify-content:space-between;align-items:center;gap:10px;display:flex}.tf-w-order__bar-left{flex-direction:column;gap:2px;display:flex}.tf-w-detail__cta{cursor:pointer;border:none;border-radius:26px;flex:1;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;font-size:15px;font-weight:500;display:inline-flex}.tf-w-detail__cta:disabled{opacity:.6;cursor:not-allowed}.tf-w-detail__cta--ink{background:var(--fg);color:var(--bg)}.tf-w-detail__cta--saffron{background:var(--tf-accent);color:#fff;box-shadow:var(--shadow-saffron)}.tf-w-detail__cta--lime{background:var(--tf-lime);color:var(--tf-lime-ink)}.tf-w-detail__cta--info{background:var(--bg-soft);color:var(--fg-soft);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:500}.tf-w-detail__cta-amount{opacity:.7;font-variant-numeric:tabular-nums;margin-inline-start:auto}.tf-w-detail__cta--ink .tf-w-detail__cta-amount{color:var(--bg)}.tf-w-shift{background:var(--bg);flex-direction:column;flex:1;justify-content:center;min-height:100dvh;padding:32px;display:flex}.tf-w-shift__title{letter-spacing:-1px;margin:6px 0 12px;font-size:36px;font-weight:500}.tf-w-shift__sub{color:var(--fg-soft);margin:0 0 24px;font-size:14px;line-height:1.6}.tf-w-shift__cards{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.tf-w-shift__card{background:var(--bg-elev);border-radius:var(--radius);border:1px solid var(--line);padding:14px}.tf-w-shift__card-v{margin-top:4px;font-size:16px;font-weight:500}.tf-w-shift__cta{background:var(--fg);height:52px;color:var(--bg);cursor:pointer;box-shadow:var(--shadow-ink);border:none;border-radius:26px;font-size:15px;font-weight:500}
