:root{--color-navy: #14213D;--color-mint: #2EC4B6;--color-sun: #FFC23C;--color-coral: #FF6B4A;--color-ground: #F7F6F1;--color-surface: #FFFFFF;--color-deep: #14213D;--color-ink: #14213D;--color-muted: #4A5470;--color-line: #D9DDE6;--color-status-play: #0E7C72;--color-status-warn: #8A6100;--color-status-over: #B4472D;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-s: 8px;--radius-m: 12px;--radius-l: 20px;--radius-tile: 25%;--radius-pill: 999px;--font-display: Unbounded, "Arial Black", sans-serif;--font-sans: Figtree, system-ui, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-navy: #14213D;--color-mint: #2EC4B6;--color-sun: #FFC23C;--color-coral: #FF6B4A;--color-ground: #14213D;--color-surface: #1E2C4D;--color-deep: #2A3B66;--color-ink: #FFFFFF;--color-muted: #B9C2D6;--color-line: #33436B;--color-status-play: #2EC4B6;--color-status-warn: #FFC23C;--color-status-over: #FF6B4A}}:root[data-theme=dark]{--color-navy: #14213D;--color-mint: #2EC4B6;--color-sun: #FFC23C;--color-coral: #FF6B4A;--color-ground: #14213D;--color-surface: #1E2C4D;--color-deep: #2A3B66;--color-ink: #FFFFFF;--color-muted: #B9C2D6;--color-line: #33436B;--color-status-play: #2EC4B6;--color-status-warn: #FFC23C;--color-status-over: #FF6B4A}:root{--sidebar-width: 244px;--tabbar-height: 64px;--accent: var(--color-navy);--on-accent: #fff;--raised: var(--color-surface);--sunken: rgb(20 33 61 / .05);--hover: rgb(20 33 61 / .05);--press: rgb(20 33 61 / .09);--hairline: rgb(20 33 61 / .08);--scrim: rgb(20 33 61 / .32);--wash-play: rgb(46 196 182 / .1);--wash-warn: rgb(255 194 60 / .2);--wash-over: rgb(255 107 74 / .13);--edge-warn: rgb(255 194 60 / .55);--edge-over: rgb(255 107 74 / .5);--shadow-xs: 0 1px 2px rgb(20 33 61 / .06);--shadow-raised: 0 1px 2px rgb(20 33 61 / .05), 0 4px 14px rgb(20 33 61 / .05);--shadow-lift: 0 2px 4px rgb(20 33 61 / .06), 0 12px 28px rgb(20 33 61 / .1);--shadow-float: 0 4px 12px rgb(20 33 61 / .08), 0 28px 72px rgb(20 33 61 / .2);--focus-ring: 0 0 0 3px rgb(46 196 182 / .5);--ease-out: cubic-bezier(.2, .8, .2, 1);--fast: .15s;--medium: .25s;--control: 44px;--text: 16px}@media(pointer:fine){:root{--control: 40px;--text: 15px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent: var(--color-mint);--on-accent: var(--color-navy);--sunken: rgb(255 255 255 / .06);--hover: rgb(255 255 255 / .06);--press: rgb(255 255 255 / .1);--hairline: rgb(255 255 255 / .08);--scrim: rgb(5 10 25 / .6);--wash-play: rgb(46 196 182 / .12);--wash-warn: rgb(255 194 60 / .14);--wash-over: rgb(255 107 74 / .16);--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-raised: 0 1px 2px rgb(0 0 0 / .25), 0 4px 14px rgb(0 0 0 / .2);--shadow-lift: 0 2px 4px rgb(0 0 0 / .3), 0 12px 28px rgb(0 0 0 / .35);--shadow-float: 0 4px 12px rgb(0 0 0 / .3), 0 28px 72px rgb(0 0 0 / .5)}}:root[data-theme=dark]{--accent: var(--color-mint);--on-accent: var(--color-navy);--sunken: rgb(255 255 255 / .06);--hover: rgb(255 255 255 / .06);--press: rgb(255 255 255 / .1);--hairline: rgb(255 255 255 / .08);--scrim: rgb(5 10 25 / .6)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--color-ground);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01"}h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}h1{font-size:24px;line-height:30px}h2{font-size:19px;line-height:26px}h3{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:700;margin:0}p{margin:0}.label,legend,.data-table th,.floor-table th{font-size:11px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.hero-figure{font-family:var(--font-display);font-weight:600;font-size:32px;line-height:38px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.muted{color:var(--color-muted);margin:0}small,.small{font-size:13px;line-height:18px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.error{color:var(--color-status-over);font-weight:600;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}kbd{font-family:var(--font-sans);font-size:11px;font-weight:600;min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 5px;border-radius:5px;background:var(--sunken);color:var(--color-muted);box-shadow:inset 0 -1px 0 var(--hairline)}.primary kbd{background:#ffffff29;color:inherit;box-shadow:none}button{font:inherit;font-weight:600;color:inherit;min-height:var(--control);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-m);border:1px solid var(--color-line);background:var(--raised);box-shadow:var(--shadow-xs);cursor:pointer;transition:background var(--fast),border-color var(--fast),box-shadow var(--fast),transform var(--fast),opacity var(--fast)}button svg{flex:none}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700;box-shadow:0 1px 2px #14213d33,0 4px 12px #14213d24}.primary.big{min-height:52px;font-size:16px;border-radius:14px}.ghost{background:transparent;border-color:transparent;box-shadow:none}.icon-btn{width:var(--control);padding:0;background:transparent;border-color:transparent;box-shadow:none;border-radius:var(--radius-pill)}.link{background:none;border:none;box-shadow:none;padding:0;min-height:32px;color:var(--color-status-play);font-weight:600;justify-self:start}.link.danger,.danger-text{color:var(--color-status-over)}.wide{width:100%}@media(hover:hover){button:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 28%,transparent)}.primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.12)}.ghost:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--hover);border-color:transparent}.link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}}.modes{display:flex;gap:2px;padding:3px;border-radius:calc(var(--radius-m) + 2px);background:var(--sunken)}.modes button{flex:1;white-space:nowrap;border-color:transparent;background:transparent;box-shadow:none;color:var(--color-muted);min-height:calc(var(--control) - 6px);border-radius:var(--radius-m)}.modes button.chosen,.modes button[aria-checked=true],.modes button[aria-selected=true]{background:var(--raised);color:var(--color-ink);box-shadow:var(--shadow-raised)}@media(hover:hover){.modes button:hover:not(:disabled):not(.chosen){color:var(--color-ink);background:var(--hover);border-color:transparent}}.actions>.modes{flex:0 1 auto}.chips,.actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.chips button{border-radius:var(--radius-pill);min-height:calc(var(--control) - 4px);padding:0 var(--space-4)}.chips button.chosen{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}input,select,textarea{font:inherit;color:inherit;min-height:var(--control);width:100%;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--raised);transition:border-color var(--fast),box-shadow var(--fast)}input::placeholder{color:color-mix(in srgb,var(--color-muted) 75%,transparent)}input:focus,select:focus{border-color:var(--color-mint)}input[type=search]{-webkit-appearance:none}.check input,input[type=checkbox],input[type=radio]{width:20px;min-height:20px;height:20px;padding:0;accent-color:var(--color-status-play);flex:none}.field{display:grid;gap:6px;font-weight:600;font-size:14px}.field>span:first-child{color:var(--color-muted)}.check{display:flex;align-items:center;gap:var(--space-3);min-height:36px;font-weight:400}fieldset{border:none;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:var(--space-2)}summary{cursor:pointer;font-weight:600;min-height:36px;display:flex;align-items:center}code{font-size:15px;background:var(--sunken);padding:var(--space-1) var(--space-2);border-radius:var(--radius-s);-webkit-user-select:all;user-select:all}.phone{display:flex;align-items:stretch}.prefix{display:grid;place-items:center;padding:0 var(--space-3);border:1px solid var(--color-line);border-right:none;border-radius:var(--radius-s) 0 0 var(--radius-s);background:var(--sunken);color:var(--color-muted);font-weight:600}.phone input{border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:22px;min-height:52px;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-weight:600}.stack{display:grid;gap:var(--space-4);align-content:start}.split{display:grid;gap:var(--space-4);align-items:start}.split>*{min-width:0}.spacer{flex:1}.pad{padding:var(--space-3) var(--space-6)}.center{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-4)}.narrow{width:min(440px,100%)}.card{background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-raised);padding:var(--space-6)}.wordmark{height:30px;width:auto;display:block}.wordmark.small{height:22px}picture{display:contents}.banner{margin:0;padding:var(--space-3) var(--space-6);background:var(--color-sun);color:var(--color-navy);font-weight:600}.note{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--sunken)}.note.over{background:var(--wash-over);box-shadow:inset 4px 0 0 var(--color-coral)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;line-height:18px;font-weight:700;white-space:nowrap;color:var(--color-navy)}.pill.playing{background:var(--color-mint)}.pill.nearly_up{background:var(--color-sun)}.pill.overtime{background:var(--color-coral)}.pill.paused{background:var(--color-line);color:var(--color-ink)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:16px;font-weight:700;letter-spacing:.04em;border-radius:var(--radius-pill);padding:1px 8px;background:var(--sunken);color:var(--color-ink)}.badge.exit{background:var(--wash-play);color:var(--color-status-play)}.badge.danger-badge{background:var(--wash-over);color:var(--color-status-over)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);background:var(--sunken);padding:2px 10px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-muted)}.chip.over{background:var(--wash-over);color:var(--color-status-over)}.dot-status{width:8px;height:8px;border-radius:50%;flex:none;background:var(--color-line)}.dot-status.playing{background:var(--color-mint)}.dot-status.nearly_up{background:var(--color-sun)}.dot-status.overtime{background:var(--color-coral)}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{position:absolute;inset:0;width:100%;height:100%}.ring circle{fill:none}.ring-track{stroke:var(--sunken)}.ring-arc{stroke:var(--color-mint);stroke-linecap:round;transition:stroke-dasharray .9s linear,stroke var(--medium)}.ring.nearly_up .ring-arc{stroke:var(--color-sun)}.ring.overtime .ring-arc{stroke:var(--color-coral)}.ring.paused .ring-arc{stroke:var(--color-line)}.ring-inner{position:relative;text-align:center}.timebar{display:block;height:6px;border-radius:var(--radius-pill);background:var(--sunken);overflow:hidden}.timebar>span{display:block;height:100%;border-radius:inherit;background:var(--color-mint);transition:width .9s linear,background var(--medium)}.timebar.nearly_up>span{background:var(--color-sun)}.timebar.overtime>span{background:var(--color-coral);animation:breathe 2.4s ease-in-out infinite}.timebar.paused>span{background:var(--color-line)}.loader{display:inline-flex;align-items:center;gap:var(--space-3)}.loader svg{animation:spin 1.1s linear infinite}.page-loader{min-height:100vh;min-height:100dvh;display:grid;place-items:center;align-content:center;gap:var(--space-6)}.done-mark{display:block}.done-ring{fill:none;stroke:var(--color-mint);stroke-width:7;stroke-dasharray:277;stroke-dashoffset:277;transform:rotate(-90deg);transform-origin:50% 50%;animation:draw .5s var(--ease-out) forwards}.done-tick{fill:none;stroke:var(--color-status-play);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .32s .38s var(--ease-out) forwards}.empty-state{display:grid;justify-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);max-width:420px;margin:0 auto}.empty-state h2{margin-top:var(--space-2)}.empty-state button{margin-top:var(--space-3)}.avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;font-weight:700;font-size:15px;letter-spacing:.02em;background:var(--wash-play);color:var(--color-status-play)}.avatar.s{width:32px;height:32px;font-size:13px}.avatar.l{width:56px;height:56px;font-size:20px}.avatar.role-owner{background:var(--color-navy);color:#fff}.avatar.role-manager{background:var(--color-mint);color:var(--color-navy)}.avatar.role-cafe{background:var(--wash-warn);color:var(--color-status-warn)}.avatar.role-floor{background:var(--wash-over);color:var(--color-status-over)}.toast{position:fixed;left:50%;bottom:var(--space-6);z-index:30;transform:translate(-50%);width:max-content;max-width:calc(100vw - 2 * var(--space-4));display:flex;align-items:center;gap:var(--space-3);background:var(--color-navy);color:#fff;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);border-radius:var(--radius-pill);font-weight:600;box-shadow:var(--shadow-float);animation:rise var(--medium) var(--ease-out)}.toast svg{color:var(--color-mint)}:root[data-theme=dark] .toast{background:var(--color-deep)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{opacity:.4;transform:translate(32px)}}@keyframes slide-up{0%{transform:translateY(40px);opacity:.4}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes breathe{50%{opacity:.55}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.shake{animation:shake .36s ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.auth{min-height:100vh;min-height:100dvh;display:grid}.auth-brand{position:relative;overflow:hidden;background:var(--color-navy);color:#fff;padding:var(--space-6);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6)}.auth-brand .wordmark{height:28px;width:auto;align-self:flex-start;position:relative}.auth-brand .auth-tagline{position:relative}.auth-brand h1{font-size:30px;line-height:36px;font-weight:800;max-width:12ch}.auth-brand p{color:#b9c2d6;max-width:34ch}.auth-art{position:absolute;right:-140px;top:-140px;width:440px;height:440px;pointer-events:none}.auth-art circle{fill:none;stroke-width:14;stroke-linecap:round}.auth-main{display:grid;place-items:center;padding:var(--space-6) var(--space-4) var(--space-12)}.auth-form{width:min(400px,100%)}.auth-form .primary{min-height:48px}.eyebrow-row{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:13px;font-weight:600}@media(max-width:899px){.auth{grid-template-rows:auto 1fr}.auth-brand{min-height:0;padding:var(--space-4)}.auth-main{align-items:start;padding-top:var(--space-8)}.auth-brand .auth-tagline,.auth-art{display:none}}@media(min-width:900px){.auth{grid-template-columns:minmax(360px,5fr) 7fr}.auth-brand{padding:var(--space-12)}.auth-brand h1{font-size:44px;line-height:50px}}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.person{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);min-height:0;height:auto;border-radius:var(--radius-l);text-align:center}.person strong{font-size:15px}.person .muted{font-size:13px;font-weight:400}@media(hover:hover){.person:hover:not(:disabled){box-shadow:var(--shadow-lift);transform:translateY(-1px)}}.pin-head{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.pin-dots{display:flex;gap:var(--space-4);justify-content:center;padding:var(--space-2) 0}.dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-muted);transition:background var(--fast),transform var(--fast),border-color var(--fast)}.dot.filled{background:var(--color-ink);border-color:var(--color-ink);transform:scale(1.1)}.pin-pad{display:grid;grid-template-columns:repeat(3,72px);justify-content:center;gap:var(--space-3) var(--space-6)}.key{width:72px;height:72px;min-height:72px;padding:0;border-radius:50%;font-size:26px;font-weight:600;background:var(--sunken);border-color:transparent;box-shadow:none}.key.word{font-size:14px;background:transparent}@media(hover:hover){.key:hover:not(:disabled){background:var(--press);border-color:transparent}}.key:active:not(:disabled){background:var(--press);transform:scale(.94)}.desk{min-height:100vh;min-height:100dvh}.sidebar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--raised);border-bottom:1px solid var(--hairline)}.branch{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.branch strong{font-size:15px}.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.menu button{gap:var(--space-3);justify-content:flex-start;border-color:transparent;background:transparent;box-shadow:none;color:var(--color-muted);font-weight:600}.menu button svg{color:var(--color-muted)}.menu button .menu-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .wordmark{width:auto;align-self:flex-start}.menu button.current{background:var(--sunken);color:var(--color-ink)}.menu button.current svg{color:var(--color-ink)}.menu .count-badge{min-width:22px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-coral);color:var(--color-navy);font-size:12px;font-weight:700;display:inline-grid;place-items:center}.menu .count-badge.calm{background:var(--sunken);color:var(--color-muted)}@media(hover:hover){.menu button:hover:not(:disabled):not(.current){background:var(--hover);color:var(--color-ink);border-color:transparent}}.who{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;min-width:0}.who-name{display:grid;line-height:18px;min-width:0}.who-name strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who-name span{font-size:12px;color:var(--color-muted)}.desk-main{min-width:0}.short-label{display:none}@media(min-width:1024px){.desk{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--space-4);padding:var(--space-6) var(--space-4) var(--space-4);border-bottom:none;border-right:1px solid var(--hairline);overflow-y:auto}.sidebar>.wordmark,.sidebar picture .wordmark{margin:0 var(--space-2)}.branch{flex-direction:column;align-items:flex-start;gap:6px;padding:0 var(--space-2)}.sidebar>.primary{justify-content:space-between}.menu{flex-direction:column;gap:2px}.menu button{width:100%}.who{margin:auto 0 0;padding-top:var(--space-4);border-top:1px solid var(--hairline)}.who .icon-btn{margin-left:auto}.desk .scrim:not(.center-scrim){left:var(--sidebar-width)}.desk .toast{left:calc(50% + var(--sidebar-width) / 2)}}@media(min-width:640px)and (max-width:1023px){.menu{order:5;flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.menu button{white-space:nowrap}.sidebar kbd{display:none}}@media(max-width:639px){.sidebar{position:sticky;top:0;z-index:5;padding:var(--space-2) var(--space-4)}.sidebar .wordmark.small{height:18px}.branch strong,.who-name{display:none}.menu{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding:4px 4px env(safe-area-inset-bottom);flex-wrap:nowrap;gap:0;background:color-mix(in srgb,var(--raised) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--hairline)}.menu li{flex:1;min-width:0}.menu button{width:100%;height:var(--tabbar-height);flex-direction:column;gap:2px;padding:0;font-size:11px;border-radius:var(--radius-m);position:relative}.menu button.current{background:transparent;color:var(--color-status-play)}.menu button.current svg{color:var(--color-status-play)}.menu .menu-label{display:none}.menu .short-label{display:block}.menu kbd{display:none}.menu .count-badge{position:absolute;top:4px;left:calc(50% + 6px);height:18px;min-width:18px;font-size:11px}.sidebar>.primary{position:fixed;right:var(--space-4);bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-4));z-index:21;width:60px;height:60px;padding:0;border-radius:50%;box-shadow:var(--shadow-float)}.sidebar>.primary .menu-label,.sidebar>.primary kbd{display:none}.desk-main{padding-bottom:calc(var(--tabbar-height) + 96px)}.desk .toast{bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-4))}}.floor-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-6) 0}.floor-head h1{margin-right:var(--space-2)}.floor-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6) 0}.filters button{gap:var(--space-2)}.filters button strong{font-variant-numeric:tabular-nums;color:var(--color-muted);font-weight:700}.filters button.chosen strong{color:inherit;opacity:.8}.find{position:relative;display:flex;align-items:center;width:min(300px,100%)}.find>svg{position:absolute;left:12px;color:var(--color-muted);pointer-events:none}.find input{padding-left:38px;padding-right:40px;border-radius:var(--radius-pill)}.find kbd{position:absolute;right:10px;pointer-events:none}.view-toggle{flex:none}.view-toggle button{flex:none;width:44px;padding:0}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-4) var(--space-6) 0}.tabs button{border-radius:var(--radius-pill);font-weight:600}.board{list-style:none;margin:0;padding:var(--space-4) var(--space-6) var(--space-6);display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-4);align-content:start}.kid{position:relative;background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-raised);padding:var(--space-4) var(--space-4) var(--space-4);display:grid;gap:var(--space-2);transition:box-shadow var(--fast),transform var(--fast),background var(--medium);animation:pop var(--medium) var(--ease-out)}.kid.nearly_up{background:linear-gradient(var(--wash-warn),var(--wash-warn)),var(--raised);border-color:var(--edge-warn)}.kid.overtime{background:linear-gradient(var(--wash-over),var(--wash-over)),var(--raised);border-color:var(--edge-over)}.kid.paused{border-style:dashed;border-color:var(--color-line)}.kid-top{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;min-width:0}.kid-top h3{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer{margin:0;font-family:var(--font-sans);font-size:40px;font-weight:700;line-height:44px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kid.nearly_up .timer{color:var(--color-status-warn)}.kid.overtime .timer{color:var(--color-status-over)}.kid.paused .timer{color:var(--color-muted)}.timer small{font-size:15px;font-weight:600;letter-spacing:0;margin-left:4px}.kid-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-3);font-size:13px;color:var(--color-muted)}.kid-meta span{display:inline-flex;align-items:center;gap:4px}.kid-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.kid-badges:empty{display:none}.kid-open{position:absolute;inset:0;min-height:0;border:none;background:transparent;box-shadow:none;border-radius:var(--radius-l);z-index:1}@media(hover:hover){.kid:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.kid-open:hover:not(:disabled){background:transparent}}.floor-table,.data-table{width:100%;border-collapse:separate;border-spacing:0}.floor-table{background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-raised);overflow:hidden}.floor-table th,.data-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline);white-space:nowrap}.floor-table th.num,.data-table th.num{text-align:right}.floor-table td,.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline);vertical-align:middle}.floor-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.floor-table tbody tr{cursor:pointer;transition:background var(--fast)}.floor-table tr.nearly_up{background:var(--wash-warn)}.floor-table tr.overtime{background:var(--wash-over)}.floor-table .who-cell{display:flex;align-items:center;gap:var(--space-3)}.floor-table .link{color:var(--color-ink);font-size:15px;font-weight:700}.floor-table .bar-cell{width:18%;min-width:90px}.time-left{font-size:20px;font-weight:700;letter-spacing:-.01em}.floor-table tr.nearly_up .time-left{color:var(--color-status-warn)}.floor-table tr.overtime .time-left{color:var(--color-status-over)}@media(hover:hover){.floor-table tbody tr:hover,.data-table tbody tr:hover{background-image:linear-gradient(var(--hover),var(--hover))}}@media(max-width:639px){.floor-head,.floor-bar,.tabs,.pad{padding-left:var(--space-4);padding-right:var(--space-4)}.board{padding:var(--space-3) var(--space-4) var(--space-6);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.find{width:auto;flex:1}.find kbd{display:none}.timer{font-size:28px;line-height:34px}.floor-table .hide-phone{display:none}.floor-bar .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--space-4));padding:2px var(--space-4);width:calc(100% + 2 * var(--space-4))}.floor-bar .filters button{flex:none}.floor-bar .spacer{display:none}.board .kid-top{flex-wrap:wrap}.board .kid-top h3{flex:1 1 100%;order:0}.board .kid-top .pill{order:-1}}.scrim{position:fixed;inset:0;z-index:10;background:var(--scrim);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;justify-content:flex-end;animation:fade var(--medium) ease-out}.panel{width:min(600px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--color-ground);padding:0 var(--space-6);align-content:start;box-shadow:var(--shadow-float);animation:slide-in var(--medium) var(--ease-out)}.panel-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 calc(-1 * var(--space-6));padding:var(--space-4) var(--space-6);background:color-mix(in srgb,var(--color-ground) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.panel-head h2{flex:1;min-width:0}.panel-foot{position:sticky;bottom:0;z-index:2;margin:0 calc(-1 * var(--space-6));padding:var(--space-4) var(--space-6) var(--space-6);background:linear-gradient(transparent,var(--color-ground) 28%)}.panel-foot .primary{min-height:52px;font-size:16px;border-radius:14px}.section{display:grid;gap:var(--space-3)}.center-scrim{justify-content:center;align-items:center;z-index:40;padding:var(--space-4)}.center-scrim>.card{animation:pop var(--medium) var(--ease-out);box-shadow:var(--shadow-float)}@media(min-width:1024px){.panel{width:min(620px,100%);padding:0 var(--space-8);border-radius:var(--radius-l) 0 0 var(--radius-l)}.panel-head,.panel-foot{margin:0 calc(-1 * var(--space-8));padding-left:var(--space-8);padding-right:var(--space-8)}.panel-head{padding-top:var(--space-6)}.wide-panel{width:min(1120px,100%)}}@media(min-width:1180px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6)}.split.list-detail{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.bill-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.narrow-only{display:none}.sticky-side{position:sticky;top:88px}}@media(max-width:1179px){.list-detail.has-detail>.list,.list-detail:not(.has-detail)>.detail{display:none}}@media(max-width:639px){.scrim:not(.center-scrim){align-items:flex-end}.panel{width:100%;height:calc(100% - 12px);border-radius:var(--radius-l) var(--radius-l) 0 0;padding:0 var(--space-4);animation:slide-up var(--medium) var(--ease-out)}.panel-head,.panel-foot{margin:0 calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4)}.panel-foot{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.center-scrim{align-items:flex-end;padding:0}.center-scrim>.card{width:100%;border-radius:var(--radius-l) var(--radius-l) 0 0;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));animation:slide-up var(--medium) var(--ease-out)}.hero-figure{font-size:28px;line-height:34px}}.welcome{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--wash-play)}.welcome strong{display:block}.lookup-status{min-height:20px;font-size:14px}.child{background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-xs);padding:var(--space-4);display:grid;gap:var(--space-3);transition:border-color var(--fast),box-shadow var(--fast)}.child.selected{border-color:var(--color-mint);box-shadow:0 0 0 1px var(--color-mint),var(--shadow-raised)}.child-head{display:flex;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap}.child-head input:not([type=checkbox]){flex:1 1 150px;width:auto}.child-head input[type=date]{flex:0 1 170px}.packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:var(--space-2)}.package{display:grid;justify-items:start;align-content:start;gap:2px;padding:var(--space-3);text-align:left;min-height:92px;height:auto;font-weight:400;border-radius:var(--radius-m)}.package .package-time{font-size:18px;font-weight:700}.package .package-name{font-size:13px;color:var(--color-muted);line-height:18px}.package .package-price{margin-top:auto;font-weight:700;font-variant-numeric:tabular-nums}.package.chosen{border-color:var(--color-mint);background:var(--wash-play);box-shadow:0 0 0 1px var(--color-mint)}.package.chosen .package-name{color:var(--color-ink)}.consents{gap:0}.visit-kid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4);align-items:center}.visit-kid .actions{grid-column:1 / -1}.visit-kid .timer{font-size:34px;line-height:38px}.visit-kid .ring-inner{font-size:11px;font-weight:700;color:var(--color-muted)}.visit-kid>.chips{grid-column:1 / -1;padding-top:var(--space-1)}.item-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.item-tile{display:grid;justify-items:start;gap:2px;padding:var(--space-3);min-height:64px;height:auto;text-align:left;font-weight:600;border-radius:var(--radius-m)}.item-tile span{font-size:13px;font-weight:400;color:var(--color-muted);font-variant-numeric:tabular-nums}.item-tile.chosen{border-color:var(--color-mint);background:var(--wash-play)}.receipt-card{background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-raised);padding:var(--space-6);display:grid;gap:var(--space-4)}.bill{width:100%;border-collapse:collapse}.bill td{padding:10px 0;border-top:1px solid var(--hairline);vertical-align:top}.bill tr:first-child td{border-top:none}.bill td small{display:block}.sub td{color:var(--color-muted);font-size:14px;padding:6px 0}.total td{font-weight:700}.bill .grand td{padding-top:var(--space-4);border-top:2px solid var(--color-ink)}.bill .grand td:last-child{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.01em}.due-hero{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.payment{display:grid;gap:var(--space-2)}.amount-input{font-size:22px;min-height:52px;font-weight:700;font-variant-numeric:tabular-nums}.done-screen{display:grid;justify-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) 0 var(--space-6)}.done-bills{display:grid;gap:var(--space-1);width:100%;max-width:420px}.bill-done{display:flex;justify-content:space-between;margin:0;font-size:17px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--raised);box-shadow:var(--shadow-xs)}.done-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;max-width:420px}.done-actions .wide{grid-column:1 / -1}.done-actions button{min-height:52px}#print-root{display:none}@media print{@page{size:80mm auto;margin:4mm}body>#root{display:none}#print-root{display:block;color:#000;background:#fff;font-family:var(--font-sans);font-size:11px;line-height:1.35}.receipt{width:72mm;break-after:page}.receipt header,.receipt footer{text-align:center}.receipt-title{font-weight:700;margin:2mm 0 1mm;text-transform:uppercase}.receipt table{width:100%;border-collapse:collapse;margin:2mm 0;border-top:1px dashed #000}.receipt td{padding:1mm 0;vertical-align:top}.receipt .total td{border-top:1px dashed #000;font-size:13px}}.qty{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px;border-radius:var(--radius-pill);background:var(--sunken)}.qty button{width:32px;min-height:32px;height:32px;padding:0;border-radius:50%;box-shadow:none}.qty strong{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.data-table{background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-raised);overflow:hidden}.data-table tr.off td{color:var(--color-muted)}.data-table .row-actions{text-align:right;white-space:nowrap}.data-table .row-actions button+button{margin-left:var(--space-1)}.setting-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--hairline)}.card>.setting-row:first-of-type,.card h3+.setting-row,.card h2+.setting-row{border-top:none}.setting-row>div:first-child{flex:1 1 200px;min-width:0}.setting-row.off{opacity:.6}.setting-row .badge{margin-left:var(--space-2)}.setting-form{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);align-items:end;padding:var(--space-3) 0}.price-field{display:flex;align-items:center;gap:var(--space-1);color:var(--color-muted)}.price-field input{width:110px;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-ink)}.price-field.variant input{width:90px}.day-prices{width:100%;border-collapse:collapse}.day-prices th,.day-prices td{padding:var(--space-2);border-top:1px solid var(--hairline);text-align:left}.day-prices th.num,.day-prices td.num{text-align:right}.day-prices input{width:96px;text-align:right;font-variant-numeric:tabular-nums}.stock-qty{min-width:48px;font-size:20px;font-weight:700}.tile{display:grid;justify-items:start;padding:var(--space-3) var(--space-4);text-align:left;min-height:64px;height:auto;font-weight:400}.result{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:var(--space-3);border-radius:var(--radius-m)}.result>span:last-child{display:grid;min-width:0}.result .muted{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result.current{border-color:var(--color-mint);box-shadow:0 0 0 1px var(--color-mint)}.profile-head{display:flex;align-items:center;gap:var(--space-4)}.timeline{list-style:none;margin:0;padding:0;display:grid}.timeline li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3) var(--space-6);position:relative;border-top:1px solid var(--hairline)}.timeline li:first-child{border-top:none}.timeline li:before{content:"";position:absolute;left:4px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--color-mint)}.timeline li.cancelled:before{background:var(--color-line)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.tile-stat{display:grid;gap:2px;background:var(--raised);border-radius:var(--radius-l);border:1px solid var(--hairline);box-shadow:var(--shadow-xs);padding:var(--space-4)}.tile-stat>span:first-child{font-size:13px}.tile-stat strong{font-family:var(--font-sans);font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile-stat.hero{grid-column:span 2;background:var(--color-navy);color:#fff;border-color:transparent}.tile-stat.hero .muted{color:#b9c2d6}.tile-stat.hero strong{font-family:var(--font-display);font-weight:600;font-size:34px;line-height:40px}.bars{width:100%;border-collapse:collapse}.bars td{padding:var(--space-2) var(--space-3) var(--space-2) 0;white-space:nowrap;font-size:14px}.bars .bar-cell{width:100%}.bar{display:block;height:10px;border-radius:var(--radius-pill);background:var(--color-ink);opacity:.85;min-width:4px;transition:width .6s var(--ease-out)}.bars tr:nth-child(2) .bar{opacity:.6}.bars tr:nth-child(n+3) .bar{opacity:.4}.floor-phone{min-height:100vh;min-height:100dvh;padding-bottom:var(--space-8)}.floor-phone .phone-head{position:sticky;top:0;z-index:5;display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-ground) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--hairline)}.phone-head-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.floor-phone .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.floor-phone .filters button{flex:none}.floor-list{list-style:none;margin:0;padding:var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.floor-list .kid .primary,.floor-list .kid .sent{min-height:52px;margin-top:var(--space-1)}.floor-list .kid .sent{display:flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-m);background:var(--wash-play);color:var(--color-status-play);font-weight:700}.tv{min-height:100vh;min-height:100dvh;background:radial-gradient(1200px 600px at 80% -10%,#22335c,transparent),var(--color-navy);color:#fff;padding:3vw 3.5vw}.tv-head{display:flex;align-items:center;gap:2vw;margin-bottom:3vw}.tv-head .wordmark{height:clamp(32px,3vw,56px)}.tv-head strong{font-size:clamp(22px,2vw,40px);font-weight:600;color:#b9c2d6}.tv-clock{margin-left:auto;font-family:var(--font-display);font-weight:600;font-size:clamp(32px,3.4vw,72px);font-variant-numeric:tabular-nums}.tv-empty{display:grid;justify-items:center;gap:var(--space-6);font-family:var(--font-display);font-size:clamp(32px,4vw,80px);text-align:center;margin-top:14vh}.tv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(300px,27vw,520px),1fr));gap:clamp(16px,1.6vw,32px)}.tv-tile{display:flex;align-items:center;gap:clamp(16px,1.4vw,28px);padding:clamp(16px,1.4vw,28px);border-radius:28px;background:#ffffff12;border:1px solid rgb(255 255 255 / .08);animation:pop var(--medium) var(--ease-out)}.tv-tile.overtime{background:#ff6b4a2e;border-color:#ff6b4a73}.tv-tile.nearly_up{background:#ffc23c24;border-color:#ffc23c66}.tv-tile .ring-track{stroke:#ffffff1f}.tv-tile .ring-inner{font-size:clamp(14px,1vw,20px);font-weight:700}.tv-text{display:grid;gap:4px;min-width:0}.tv-name{font-family:var(--font-display);font-size:clamp(28px,2.4vw,52px);font-weight:600;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-time{font-size:clamp(36px,3vw,68px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.tv-tile.overtime .tv-time{color:var(--color-coral)}.tv-tile.nearly_up .tv-time{color:var(--color-sun)}.tv-tile .pill{justify-self:start;font-size:clamp(14px,1vw,22px);padding:4px 14px}.stack.tight{gap:var(--space-2)}.center-self{justify-self:center}.pin-error{min-height:22px;text-align:center}.welcome>span{display:grid}.visit-kid:hover{transform:none;box-shadow:var(--shadow-raised)}.done-screen{min-height:70vh;align-content:center}table.receipt-card{display:table;border-collapse:separate;border-spacing:0;padding:var(--space-2) var(--space-4)}.slim{min-height:32px;padding:0 var(--space-3);font-size:14px}table.receipt-card td{padding:8px 4px}.counter-foot{display:grid;grid-template-columns:1fr 2fr}.counter-foot button{min-height:52px}.find.wide-find{width:100%}.profile-head h2{font-size:22px}.setting-row .muted{font-size:13px}@media(max-width:760px){.settings-tabs{overflow-x:auto;scrollbar-width:none}.settings-tabs button{flex:none;padding:0 var(--space-3)}}.start-screen{justify-items:center;text-align:center;gap:var(--space-6)}.phone-head-top strong{flex:1;font-size:15px}.tv-tile .ring{width:clamp(80px,6vw,128px);height:clamp(80px,6vw,128px)}.item-tile,.package,.tile{justify-content:stretch;align-content:start}.floor-list .timer{font-size:44px;line-height:48px}
