:root{color-scheme:light;--bg:#f4f2ee;--surface:#ffffff;--surface-2:#faf9f6;--surface-sunken:#eeebe5;--surface-hover:#f6f4f0;--line:#e5e0d7;--line-strong:#d2cabd;--ink:#1c1a17;--ink-2:#555049;--ink-3:#8a8378;--ink-inverse:#ffffff;--brand:#1f4a3d;--brand-hover:#173a30;--brand-soft:#e4eee8;--brand-line:#b9d1c4;--copper:#b0652a;--copper-soft:#f7eadc;--ok:#1f7a50;--ok-soft:#e2f1e8;--ok-line:#b7dcc6;--warn:#97590b;--warn-soft:#fbefd9;--warn-line:#ecd09c;--danger:#b1352c;--danger-soft:#fbe5e2;--danger-line:#efbdb6;--overdue:var(--danger);--free:var(--ok);--bg-input:var(--surface-sunken);--info:#2a5ea8;--info-soft:#e4edf9;--info-line:#bcd0ee;--spa:#6b47a6;--spa-soft:#efe8f8;--spa-line:#d4c5ec;--neutral:#625c52;--neutral-soft:#efece6;--neutral-line:#dcd6cc;--rail-bg:#17231f;--rail-ink:#c9d4cf;--rail-ink-2:#7f918a;--rail-hover:#213029;--rail-active:#2b3f36;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-xs:0 1px 1px rgba(28,26,23,.04);--shadow-sm:0 1px 2px rgba(28,26,23,.06),0 1px 1px rgba(28,26,23,.03);--shadow:0 2px 6px rgba(28,26,23,.06),0 10px 24px -8px rgba(28,26,23,.10);--shadow-lg:0 24px 64px -12px rgba(28,26,23,.28),0 4px 12px rgba(28,26,23,.08);--font:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--rail-w:224px;--focus:0 0 0 3px rgba(31,74,61,.22)}[data-theme=dark]{color-scheme:dark;--bg:#101614;--surface:#17201d;--surface-2:#1b2521;--surface-sunken:#0c1110;--surface-hover:#1f2a26;--line:#26332e;--line-strong:#34443e;--ink:#eef2f0;--ink-2:#a9b6b0;--ink-3:#74837c;--brand:#4f9c80;--brand-hover:#5eb094;--brand-soft:#1b2f28;--brand-line:#2d4a3f;--copper-soft:#33261a;--ok:#56c08d;--ok-soft:#173024;--ok-line:#255039;--warn:#e0a64a;--warn-soft:#33281a;--warn-line:#5a4526;--danger:#ef7a70;--danger-soft:#3a1d1b;--danger-line:#62302c;--info:#7aa7e8;--info-soft:#18263a;--info-line:#2b4264;--spa:#b597e6;--spa-soft:#251d35;--spa-line:#3f3159;--neutral:#a9b6b0;--neutral-soft:#1d2723;--neutral-line:#2f3d37}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}a{text-decoration:none}a,button{color:inherit}button{font:inherit}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.012em}p{margin:0}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-xs)}::selection{background:var(--brand-soft)}.money,.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.94em}.dim,.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.right{text-align:right}.nowrap{white-space:nowrap}.small{font-size:12px}.strong{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.row{gap:8px}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:8px}.grow{flex:1 1;min-width:0}.wrap{flex-wrap:wrap}.shell{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100vh}.rail{background:var(--rail-bg);color:var(--rail-ink);display:flex;flex-direction:column;gap:2px;padding:14px 10px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.rail-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#c07a3d,#8d4d1f);color:#fff;font-weight:700;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.rail-venue{min-width:0}.rail-venue-name{color:#fff;font-weight:600;font-size:13.5px;line-height:1.2}.rail-venue-sub{color:var(--rail-ink-2);font-size:11.5px}.rail-section{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--rail-ink-2);padding:16px 10px 6px}.rail-link{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--rail-ink);font-size:13.5px;font-weight:500;min-height:38px;transition:background .12s,color .12s}.rail-link svg{flex:none;opacity:.8}.rail-link:hover{background:var(--rail-hover);color:#fff}.rail-link[aria-current=page]{background:var(--rail-active);color:#fff}.rail-link[aria-current=page] svg{opacity:1;color:#e7a86d}.rail-link .rail-count{margin-left:auto;font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:rgba(255,255,255,.08);color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rail-link .rail-count.alert{background:#b1352c}.rail-foot{margin-top:auto;padding:12px 6px 2px;display:flex;flex-direction:column;gap:10px}.rail-user{display:flex;align-items:center;gap:10px;padding:8px 6px;border-top:1px solid rgba(255,255,255,.07)}.rail-user-name{color:#fff;font-size:13px;font-weight:550}.rail-user-role{text-transform:capitalize}.rail-status,.rail-user-role{color:var(--rail-ink-2);font-size:11.5px}.rail-status{display:flex;align-items:center;gap:7px;padding:0 6px}.rail-signout{background:none;border:none;color:var(--rail-ink-2);cursor:pointer;padding:6px;border-radius:6px;margin-left:auto}.rail-signout:hover{color:#fff;background:var(--rail-hover)}.main{min-width:0;display:flex;flex-direction:column}.page{padding:20px 28px 64px;max-width:1760px;width:100%}.topbar{display:flex;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar-title{font-size:19px;font-weight:650;letter-spacing:-.015em}.topbar-sub{color:var(--ink-3);font-size:13px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:550;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background .12s,border-color .12s,box-shadow .12s,transform .06s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-3)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none}.btn-primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(23,58,48,.3)}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn.copper{background:var(--copper);border-color:var(--copper);color:#fff}.btn.copper:hover:not(:disabled){background:#9a5621}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-2)}.btn.ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink)}.btn.danger{color:var(--danger);border-color:var(--danger-line)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.sm{height:30px;padding:0 10px;font-size:12.5px;gap:5px}.btn.lg{height:46px;padding:0 20px;font-size:15px;border-radius:10px}.btn.xl{height:54px;padding:0 24px;font-size:16px;border-radius:12px;font-weight:600}.btn.block{width:100%}.btn.icon{width:38px;padding:0}.btn.icon.sm{width:30px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 11px;min-height:38px;width:100%;transition:border-color .12s,box-shadow .12s}textarea{min-height:72px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--brand)}label{display:block;font-size:12.5px;font-weight:550;color:var(--ink-2);margin-bottom:6px}.field{margin-bottom:14px}.field-hint{font-size:12px;color:var(--ink-3);margin-top:5px}.field-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:11px;color:var(--ink-3);pointer-events:none}.search input{padding-left:34px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--surface)}.stepper button{width:44px;height:44px;border:none;background:none;cursor:pointer;display:grid;place-items:center;color:var(--ink-2)}.stepper button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper .stepper-value{min-width:54px;text-align:center;font-size:20px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seg{background:var(--surface-sunken);border-radius:10px;padding:3px;gap:2px}.seg,.seg button{display:inline-flex}.seg button{border:none;background:none;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:550;color:var(--ink-2);align-items:center;gap:6px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.seg .seg-count{font-size:11px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:99px;padding:6px 13px;font-size:13px;font-weight:550;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:34px}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.switch-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;margin:0;font-size:14px;font-weight:500;color:var(--ink)}.switch-row:hover{border-color:var(--line-strong)}.switch-row input{width:18px;height:18px}.switch-row:has(input:checked){border-color:var(--brand-line);background:var(--brand-soft)}.card{padding:16px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.panel{overflow:hidden}.panel-head{gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);min-height:52px}.panel-head,.panel-title{display:flex;align-items:center}.panel-title{font-size:14px;font-weight:650;gap:8px}.panel-title .count{font-size:12px;font-weight:600;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel-body{padding:14px 16px}.panel-foot{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.divider{height:1px;background:var(--line);margin:12px 0;border:none}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:99px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--neutral);border:1px solid var(--neutral-line);line-height:1;letter-spacing:.005em}.badge svg{width:12px;height:12px}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.badge.crit,.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.badge.info{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.badge.spa{background:var(--spa-soft);color:var(--spa);border-color:var(--spa-line)}.badge.brand{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}.badge.copper,.badge.vip{background:var(--copper-soft);color:var(--copper);border-color:#ebcfb2}.badge.solid-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.badge.lg{height:26px;padding:0 10px;font-size:12.5px}.dot{width:8px;height:8px;border-radius:99px;background:var(--ink-3);flex:none;display:inline-block}.dot.ok,.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.danger,.dot.off{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.dot.info{background:var(--info)}.dot.spa{background:var(--spa)}.avatar{width:36px;height:36px;border-radius:99px;display:grid;place-items:center;flex:none;font-size:13px;font-weight:650;color:#fff;letter-spacing:.02em}.avatar.sm{width:28px;height:28px;font-size:11px}.avatar.lg{width:48px;height:48px;font-size:17px}.alert{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink)}.alert svg{flex:none;margin-top:1px}.alert.warning{background:var(--warn-soft);border-color:var(--warn-line)}.alert.warning svg{color:var(--warn)}.alert.critical{background:var(--danger-soft);border-color:var(--danger-line)}.alert.critical svg{color:var(--danger)}.alert.info{background:var(--info-soft);border-color:var(--info-line)}.alert.info svg{color:var(--info)}.alert.success{background:var(--ok-soft);border-color:var(--ok-line)}.alert.success svg{color:var(--ok)}.alert-dot{width:7px;height:7px;border-radius:99px;margin-top:6px;flex:none;background:var(--ink-3)}.alert.warning .alert-dot{background:var(--warn)}.alert.critical .alert-dot{background:var(--danger)}.progress{height:6px;background:var(--surface-sunken);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;border-radius:99px;background:var(--brand)}.progress.warn>span{background:var(--warn)}.progress.danger>span{background:var(--danger)}.progress.ok>span{background:var(--ok)}.empty-state{text-align:center;padding:36px 20px;color:var(--ink-2)}.empty-state .empty-icon{width:44px;height:44px;border-radius:12px;background:var(--surface-sunken);color:var(--ink-3);display:grid;place-items:center;margin:0 auto 12px}.empty-state h4{font-size:14.5px;color:var(--ink);margin-bottom:4px}.empty-state p{font-size:13px;max-width:340px;margin:0 auto}.empty-state .btn{margin-top:14px}.empty{color:var(--ink-3);font-size:13px;padding:24px 12px;text-align:center}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-hover) 50%,var(--surface-sunken) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:16px;height:16px;border-radius:99px;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;display:inline-block;opacity:.8}@keyframes spin{to{transform:rotate(1turn)}}.overlay{position:fixed;inset:0;z-index:80;background:rgba(23,22,20,.38);animation:fade .14s ease-out}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(560px,100vw);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-in .18s cubic-bezier(.2,.8,.2,1)}.drawer.wide{width:min(760px,100vw)}@keyframes slide-in{0%{transform:translateX(24px);opacity:.6}}.drawer-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.drawer-title{font-size:18px;font-weight:650;letter-spacing:-.015em}.drawer-sub{font-size:13px;color:var(--ink-2);margin-top:2px}.drawer-body{flex:1 1;overflow-y:auto;padding:18px 20px}.drawer-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;background:var(--surface-2)}.modal{position:fixed;z-index:81;left:50%;top:12vh;transform:translateX(-50%);width:min(480px,calc(100vw - 32px));background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop .16s cubic-bezier(.2,.8,.2,1);overflow:hidden}@keyframes pop{0%{transform:translateX(-50%) scale(.97);opacity:0}}.modal-body{padding:20px 22px}.modal-title{font-size:17px;font-weight:650;margin-bottom:6px}.modal-foot{padding:14px 22px;justify-content:flex-end;background:var(--surface-2);border-top:1px solid var(--line)}.modal-foot,.toasts{display:flex;gap:8px}.toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;flex-direction:column}.toast,.toasts{align-items:center}.toast{display:flex;gap:10px;padding:11px 14px 11px 12px;border-radius:12px;background:#1c1a17;color:#fff;box-shadow:var(--shadow-lg);font-size:13.5px;min-width:260px;max-width:520px;animation:toast-in .2s cubic-bezier(.2,.8,.2,1)}.toast svg{flex:none}.toast.success svg{color:#6fd3a0}.toast.error{background:#6e1f19}.toast .btn{margin-left:auto;height:28px;background:rgba(255,255,255,.12);border-color:transparent;color:#fff;box-shadow:none}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.menu{position:absolute;z-index:60;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:5px}.menu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:7px;cursor:pointer;font-size:13.5px}.menu button:hover{background:var(--surface-hover)}.menu button.danger{color:var(--danger)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);min-height:60px;background:var(--surface);transition:background .1s}.list-row:last-child{border-bottom:none}a.list-row,button.list-row{width:100%;text-align:left;border-left:none;border-right:none;border-top:none;cursor:pointer;font:inherit}a.list-row:hover,button.list-row:hover{background:var(--surface-hover)}.list-group-label{padding:8px 16px;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.list-group-label.danger{color:var(--danger);background:var(--danger-soft)}.list-group-label.warn{color:var(--warn);background:var(--warn-soft)}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 16px;gap:6px 16px;font-size:13.5px}.kv dt{color:var(--ink-3)}.kv dd{margin:0}.stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-xs);flex-direction:column;min-width:0}.stat,.stat-label{display:flex;gap:6px}.stat-label{font-size:12.5px;color:var(--ink-2);font-weight:550;align-items:center}.stat-label svg{color:var(--ink-3)}.stat-value{font-size:26px;font-weight:650;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat-value small{font-size:14px;font-weight:550;color:var(--ink-3);margin-left:3px;letter-spacing:0}.stat-note{font-size:12.5px;color:var(--ink-3)}.stat-note.warn{color:var(--warn)}.stat-note.danger{color:var(--danger)}.fd-grid{display:grid;grid-gap:16px;gap:16px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(300px,.8fr)}.fd-col{display:flex;flex-direction:column;gap:16px;min-width:0}.arrival-time{width:52px;flex:none;text-align:left}.arrival-time .t{font-size:15px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.arrival-time .s{font-size:11.5px;color:var(--ink-3)}.arrival-time .s.late{color:var(--danger);font-weight:600}.party-name{font-weight:600;font-size:14px;min-width:0}.party-meta,.party-name{display:flex;align-items:center;gap:6px}.party-meta{font-size:12.5px;color:var(--ink-2);flex-wrap:wrap;margin-top:2px}.party-meta .sep{color:var(--line-strong)}.party-note{font-size:12.5px;color:var(--ink-2);margin-top:4px;display:flex;gap:5px;align-items:flex-start}.party-note svg{color:var(--ink-3);flex:none;margin-top:2px}.flag-allergy{color:var(--danger);font-weight:600}.space-tag{flex:none;min-width:46px;height:46px;padding:0 6px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center;line-height:1.05}.space-tag small{display:block;font-size:10px;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.space-tag.vip{background:var(--copper-soft);border-color:#ebcfb2;color:#8a4d1c}.house-row{position:relative}.house-row:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:transparent}.house-row.overdue:before{background:var(--danger)}.house-row.ending_soon:before{background:var(--warn)}.house-row.ready_to_leave:before{background:var(--ok)}.time-left{width:92px;flex:none}.time-left .v{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:5px}.time-left .v.over{color:var(--danger)}.time-left .v.soon{color:var(--warn)}.balance-cell{width:104px;flex:none;text-align:right}.balance-cell .v{font-size:14px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-cell .s{font-size:11.5px;color:var(--ink-3)}.balance-cell .s.ok{color:var(--ok);font-weight:600}.svc-row{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);align-items:flex-start}.svc-row:last-child{border-bottom:none}.svc-time{width:46px;flex:none;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13.5px}.svc-bar{width:3px;align-self:stretch;border-radius:3px;background:var(--spa-line);flex:none}.svc-bar.started{background:var(--spa)}.svc-bar.guest_ready{background:var(--warn)}.attention{display:flex;flex-direction:column;gap:8px}.attention-item{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:13px}.attention-item svg{flex:none;margin-top:1px}.attention-item.warning{border-color:var(--warn-line);background:var(--warn-soft)}.attention-item.warning svg{color:var(--warn)}.attention-item.critical{border-color:var(--danger-line);background:var(--danger-soft)}.attention-item.critical svg{color:var(--danger)}.attention-item.info svg{color:var(--info)}.attention-item .btn{margin-left:auto;flex:none}.capacity-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--surface-sunken);margin-top:2px}.capacity-bar .in{background:var(--brand)}.capacity-bar .expected{background:var(--brand-line)}.space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));grid-gap:8px;gap:8px}.space-tile{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:3px;min-height:76px;font:inherit;transition:border-color .1s,background .1s}.space-tile:hover:not(:disabled){border-color:var(--brand)}.space-tile:disabled{cursor:not-allowed;background:var(--surface-2);color:var(--ink-3)}.space-tile[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.space-tile .code{font-weight:700;font-size:15px}.space-tile .meta{font-size:12px;color:var(--ink-2)}.space-tile .until{font-size:11.5px;color:var(--warn);font-weight:550;margin-top:auto}.visit-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;gap:16px;align-items:center;margin-bottom:16px;box-shadow:var(--shadow-xs);flex-wrap:wrap}.visit-head .space-tag{min-width:64px;height:64px;font-size:18px;border-radius:14px}.visit-title{font-size:21px;font-weight:650;letter-spacing:-.018em}.visit-sub,.visit-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.visit-sub{color:var(--ink-2);font-size:13.5px;margin-top:3px}.visit-clock{text-align:right;min-width:150px}.visit-clock .v{font-size:17px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);grid-gap:16px;gap:16px;align-items:start}.visit-grid>.stack{gap:16px}.bill-section{padding:6px 16px 10px}.bill-section+.bill-section{border-top:1px dashed var(--line)}.bill-section-title{font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:8px 0 4px;display:flex;align-items:center;gap:6px}.bill-line{display:flex;align-items:baseline;gap:10px;padding:5px 0;font-size:13.5px}.bill-line .q{width:26px;flex:none;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bill-line .d{flex:1 1;min-width:0}.bill-line .d small{display:block;color:var(--ink-3);font-size:12px}.bill-line .a{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:550;white-space:nowrap}.bill-line.pending{color:var(--ink-3)}.bill-line.pending .a{font-weight:400}.bill-line.covered .a{color:var(--ok)}.bill-totals{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.bill-total-row{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 0;color:var(--ink-2)}.bill-total-row .v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);font-weight:550}.bill-total-row.due{font-size:20px;font-weight:700;color:var(--ink);padding-top:8px;margin-top:6px;border-top:1px solid var(--line)}.bill-total-row.due .v{font-weight:700}.bill-total-row.due.paid .v{color:var(--ok)}.guest-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--line)}.guest-row:last-child{border-bottom:none}.menu-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 0;scrollbar-width:none}.menu-tabs .chip{white-space:nowrap;flex:none}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-gap:8px;gap:8px;padding:12px 16px 16px;max-height:420px;overflow-y:auto}.menu-tile{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 11px;cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-height:74px;font:inherit;transition:border-color .1s,background .1s,transform .05s;position:relative}.menu-tile:hover{border-color:var(--brand)}.menu-tile:active{transform:scale(.98)}.menu-tile .n{font-size:13px;font-weight:600;line-height:1.25}.menu-tile .p{font-size:12.5px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.menu-tile .contains{font-size:11.5px;color:var(--warn);font-weight:600;line-height:1.25}.menu-tile .in-cart{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;border-radius:99px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 6px}.cart{border-top:1px solid var(--line);padding:12px 16px;background:var(--surface-2)}.cart-line{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:4px 0}.cart-line .qty-btns{display:inline-flex;gap:2px}.cart-line .qty-btns button{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;display:grid;place-items:center}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.slot{border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;display:flex;flex-direction:column;gap:2px}.slot:hover,.slot[aria-pressed=true]{border-color:var(--spa);background:var(--spa-soft)}.slot[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--spa)}.slot .t{font-weight:700;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot .w{font-size:12px;color:var(--ink-2)}.tender-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.tender{border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);padding:12px 14px;cursor:pointer;text-align:left;font:inherit;display:flex;align-items:center;gap:10px;min-height:58px}.tender:hover{border-color:var(--brand)}.tender[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.tender .tender-icon{width:34px;height:34px;border-radius:9px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--ink-2);flex:none}.tender[aria-pressed=true] .tender-icon{background:var(--brand);color:#fff}.tender .tl{font-weight:600;font-size:14px}.tender .th{font-size:12px;color:var(--ink-3)}.amount-input{font-size:28px;font-weight:650;height:60px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.quick-amounts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.timeline{list-style:none;margin:0;padding:4px 16px 12px}.timeline li{display:flex;gap:10px;font-size:12.5px;padding:5px 0;color:var(--ink-2)}.timeline li .t{width:44px;flex:none;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1440px){.fd-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.fd-grid>.fd-col:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.stat-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1180px){:root{--rail-w:72px}.rail{padding:12px 8px;align-items:center}.rail-link .rail-count,.rail-link span,.rail-section,.rail-status span,.rail-user>div,.rail-venue{display:none}.rail-brand{padding:4px 0 14px}.rail-link{width:48px;height:44px;position:relative}.rail-link,.rail-user{justify-content:center;padding:0}.rail-user{border-top:none}.rail-signout{margin:0}.page{padding:16px 18px 56px}.topbar{padding:12px 18px}.stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stat{padding:12px 13px}.stat-value{font-size:21px}.visit-grid{grid-template-columns:1fr}}@media (max-width:900px){.fd-grid{grid-template-columns:1fr}.fd-grid>.fd-col:nth-child(3){display:flex}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.btn{height:42px}}@media (max-width:640px){.shell{display:block}.rail{position:fixed;bottom:0;top:auto;left:0;right:0;height:62px;flex-direction:row;z-index:40;padding:6px;overflow-x:auto}.rail-brand,.rail-foot,.rail-section{display:none}.page{padding-bottom:90px}input,select,textarea{font-size:16px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:650;letter-spacing:-.02em;margin:0}.page-sub{color:var(--ink-2);font-size:13.5px;margin:4px 0 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 10px;gap:12px}.section-title{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.card-warn{border-color:var(--warn-line)}.grid{display:grid;grid-gap:12px;gap:12px}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grid-metrics .metric-value{font-size:22px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-tables{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.grid-pos{grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.grid-kds{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-tiles{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}@media (max-width:1100px){.grid-pos{grid-template-columns:1fr}}.metric{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:12.5px;color:var(--ink-2);font-weight:550}.metric-value{white-space:nowrap;font-size:25px;font-weight:650;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-value.accent{color:var(--copper)}.metric-note{font-size:12.5px;color:var(--ink-3)}.metric-row{display:flex;gap:12px}.capacity-triplet{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.capacity-cell{flex:1 1;padding:14px 16px}.capacity-cell+.capacity-cell{border-left:1px solid var(--line)}.capacity-cell.emphasis{background:var(--brand-soft)}.table-tile{border-radius:var(--radius-sm);background:var(--surface);padding:12px;min-height:100px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-left-width:4px;text-align:left;width:100%;cursor:pointer;font:inherit}.table-tile:hover{border-color:var(--line-strong)}.table-tile.free{border-left-color:var(--ok)}.table-tile.reserved,.table-tile.reserved_soon{border-left-color:var(--warn)}.table-tile.occupied{border-left-color:var(--info)}.table-tile.maintenance,.table-tile.out_of_service{border-left-color:var(--ink-3);opacity:.6}.table-tile.overdue{border-left-color:var(--danger)}.table-code{font-weight:650;font-size:15px}.table-meta{font-size:12px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-state{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-top:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);padding:9px 12px;white-space:nowrap;background:var(--surface-2)}table.data td,table.data th{border-bottom:1px solid var(--line)}table.data td{padding:10px 12px;vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-hover)}table.data td.num,table.data th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card:has(>.table-wrap:only-child),.card:has(>table.data:only-child){padding:0;overflow:hidden}th{text-align:left}.card>table.data td:first-child,.card>table.data th:first-child,.panel table.data td:first-child,.panel table.data th:first-child{padding-left:16px}.card>table.data td:last-child,.card>table.data th:last-child,.panel table.data td:last-child,.panel table.data th:last-child{padding-right:16px}table.data td.right,table.data th.num,table.data th.right{text-align:right}table.data td.center,table.data th.center{text-align:center}table.data tr.row-link{cursor:pointer}.table-wrap{overflow-x:auto}.row-link{cursor:pointer}.table{width:100%}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tab{padding:7px 13px;border-radius:99px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font-size:13px;cursor:pointer;font-weight:550}.tab:hover{color:var(--ink);border-color:var(--ink-3)}.tab[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}.pos-tile{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 10px;min-height:76px;cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:4px;font:inherit}.pos-tile:hover,.pos-tile[aria-selected=true]{border-color:var(--brand);background:var(--brand-soft)}.pos-tile-name{font-size:13px;font-weight:600;line-height:1.25}.pos-tile-price{font-size:12.5px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-lines{display:flex;flex-direction:column}.ticket-line{display:grid;grid-template-columns:34px 1fr auto 28px;grid-gap:8px;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line);font-size:13.5px}.ticket-line .qty{color:var(--ink-3)}.ticket-line .amt,.ticket-line .qty{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-line.sent{color:var(--ink-2)}.ticket-line.void{text-decoration:line-through;color:var(--ink-3)}.course-head{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:10px 4px 4px}.modifier-line{display:block;font-size:12px;color:var(--ink-3);padding-left:10px}.totals{border-top:1px solid var(--line-strong);margin-top:10px;padding-top:10px}.total-row{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 4px}.total-row.grand{font-size:18px;font-weight:650;padding-top:8px}.total-row .v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seat-row{display:flex;gap:5px;flex-wrap:wrap}.seat-chip{min-width:38px;min-height:34px;padding:4px 10px;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.seat-chip[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}.kds-ticket{border-top-width:1px;border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-top:5px solid var(--line);box-shadow:var(--shadow-xs)}.kds-ticket.new{border-top-color:var(--info)}.kds-ticket.in_progress{border-top-color:var(--warn)}.kds-ticket.ready{border-top-color:var(--ok)}.kds-ticket.late{border-top-color:var(--danger)}.kds-head{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line)}.kds-no{font-size:21px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kds-age{font-size:13px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kds-age.late{color:var(--danger);font-weight:650}.kds-body{padding:11px 13px;display:flex;flex-direction:column;gap:7px;flex:1 1}.kds-item{font-size:15px;font-weight:550;display:flex;gap:8px}.kds-item .q{color:var(--copper);font-weight:700}.kds-note{color:var(--warn)}.kds-allergy,.kds-note{font-size:12.5px;padding-left:24px}.kds-allergy{color:var(--danger);font-weight:650}.kds-contains{display:block;font-size:12.5px;color:var(--warn);font-weight:600}.kds-foot{padding:9px 11px;border-top:1px solid var(--line);display:flex;gap:6px}.status-strip{gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:16px}.status-item,.status-strip{display:flex;align-items:center}.status-item{gap:6px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,#e3ece6 0,transparent 60%),var(--bg)}.login-card{width:100%;max-width:400px;padding:28px;box-shadow:var(--shadow)}.login-hint{margin-top:16px;padding:11px 13px;border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:12.5px;color:var(--ink-2);line-height:1.6}.err{color:var(--danger);font-size:13px;margin-bottom:12px}.brand{display:flex;align-items:baseline;gap:8px}.brand-mark{font-size:20px;font-weight:700;letter-spacing:-.02em}.brand-sub{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.sheet-backdrop{position:fixed;inset:0;background:rgba(23,22,20,.38);display:grid;place-items:center;padding:20px;z-index:80}.sheet{max-width:520px;width:100%;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.radio-row{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:6px;cursor:pointer;font-size:13.5px;color:var(--ink);font-weight:450}.radio-row:hover{border-color:var(--line-strong)}.radio-row input{margin-top:2px}.radio-row:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.bar{height:6px;background:var(--surface-sunken);overflow:hidden}.bar,.bar-fill{border-radius:99px}.bar-fill{height:100%;background:var(--brand);min-width:2px}.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;vertical-align:middle}.tag-client0{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line)}.tag-demo,.tag-warn{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.tag-live{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line)}.banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;font-size:13px}.banner-support{background:#7a3a12;color:#ffe7d4;position:-webkit-sticky;position:sticky;top:0;z-index:35}.banner-support .btn{background:rgba(255,255,255,.14);border-color:transparent;color:#fff;box-shadow:none}.banner-live{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger);border-radius:8px;margin-bottom:16px}.link-strong{font-weight:600}.link-strong:hover{text-decoration:underline}.code-inline{font-family:var(--mono);font-size:12px;background:var(--surface-sunken);padding:1px 6px;border-radius:5px}.setting-row{border-top:1px solid var(--line)}.setting-row:first-child{border-top:none}.setting-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 2px;cursor:pointer}.setting-head:hover{background:var(--surface-hover)}.setting-value{display:flex;align-items:center;gap:8px}.setting-body{padding:4px 2px 18px}.setting-body textarea{font-family:var(--mono);font-size:12px}.hist-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:18px 0 6px}.checkout{display:block}.bill{width:100%;max-width:440px;border-collapse:collapse;margin-bottom:16px}.bill td{padding:5px 0}.bill td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bill .bill-sub td{border-top:1px solid var(--line);font-weight:600}.bill .bill-total td{border-top:2px solid var(--line-strong);padding-top:9px;font-size:19px;font-weight:700}.settled-note{color:var(--ok);font-weight:600;margin:8px 0 0}.btn.tender{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;height:auto;min-height:58px;line-height:1.3}.tender-form{padding:12px 0}.calendar{display:block}.cal-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.cal-date{width:auto}.cal-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.cal-grid{position:relative}.cal-times{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--surface-2);border-bottom:1px solid var(--line)}.cal-hour{flex:none;font-size:11.5px;color:var(--ink-3);padding:7px 0 7px 6px;border-left:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-group{font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:8px 12px 5px;background:var(--surface-2);position:-webkit-sticky;position:sticky;left:0}.cal-row{display:flex;border-top:1px solid var(--line);min-height:44px}.cal-label{flex:none;width:180px;padding:6px 12px;display:flex;flex-direction:column;justify-content:center;position:-webkit-sticky;position:sticky;left:0;background:var(--surface);z-index:2;border-right:1px solid var(--line)}.cal-track{position:relative;flex:none}.cal-slot{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);opacity:.6}.cal-block{position:absolute;top:4px;bottom:4px;border-radius:7px;padding:3px 8px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;font-size:12px;line-height:1.25}a.cal-block{cursor:pointer}a.cal-block:hover{filter:brightness(.97);box-shadow:var(--shadow-sm)}.cal-block .blk-who{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-block .blk-time{opacity:.8;font-size:11px}.cal-block.confirmed{background:var(--info-soft);border:1px solid var(--info-line);color:#1f4a86}.cal-block.held{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn)}.cal-block.live{background:var(--ok-soft);border:1px solid var(--ok-line);color:#17603f}.cal-legend{display:flex;gap:16px;align-items:center;margin-top:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.swatch.confirmed{background:var(--info-line)}.swatch.held{background:var(--warn-line)}.swatch.live{background:var(--ok-line)}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.table-card{text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px 14px;box-shadow:var(--shadow-xs);position:relative;transition:border-color .12s,box-shadow .12s,transform .06s;min-height:132px}.table-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.table-card:active{transform:scale(.99)}.table-card.overdue{border-left:4px solid var(--danger)}.table-card.ending_soon{border-left:4px solid var(--warn)}.table-card.ready_to_leave{border-left:4px solid var(--ok)}.facts{display:grid;grid-gap:8px;gap:8px}.facts>div{display:flex;align-items:center;gap:10px;color:var(--ink-2)}.facts>div svg{color:var(--ink-3);flex:none}.cal-track.bookable{cursor:copy}.cal-track.bookable:hover{background:color-mix(in srgb,var(--brand) 3%,transparent)}.cal-now,.cal-slot{pointer-events:none}.cal-track.drop{background:var(--brand-soft)}.cal-ghost{position:absolute;top:4px;bottom:4px;border:1.5px dashed var(--brand);border-radius:7px;pointer-events:none;background:color-mix(in srgb,var(--brand) 8%,transparent);font-size:11.5px;color:var(--brand);padding:3px 7px;font-weight:600;white-space:nowrap;overflow:hidden}button.cal-block{text-align:left;font-family:inherit;cursor:pointer}.cal-group>span{position:-webkit-sticky;position:sticky;left:12px}a.cal-block:hover,button.cal-block:hover{filter:brightness(.97);box-shadow:var(--shadow-sm)}.cal-block[draggable=true]{cursor:-webkit-grab;cursor:grab}.cal-block.treatment{background:var(--spa-soft,#f3ecfa);border:1px solid var(--spa-line,#d9c6ee);color:#5b3a86}.cal-block .blk-size{font-weight:500;opacity:.75;margin-left:4px}.cal-now{top:0;bottom:0;width:2px;z-index:1;pointer-events:none}.cal-now,.cal-now:before{position:absolute;background:var(--danger)}.cal-now:before{content:"";top:-1px;left:-4px;width:10px;height:10px;border-radius:50%}.cal-hour.past{color:var(--ink-4,var(--ink-3))}.cal-summary{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.cal-summary strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flag-line{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;font-weight:600;color:var(--danger)}.pickup{margin-bottom:20px;background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:var(--radius);padding:12px 14px}.pickup-head{display:flex;align-items:center;gap:8px;font-weight:650;color:#17603f;margin-bottom:10px}.pickup-head .count{background:#17603f;color:#fff;border-radius:999px;padding:0 8px;font-size:12px}.pickup-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.pickup-card{flex:none;width:220px;background:var(--surface);border:1px solid var(--ok-line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pickup-card.cold{border-color:var(--warn-line);box-shadow:inset 3px 0 0 var(--warn)}.pickup-items{font-size:13.5px;font-weight:550;margin:4px 0 6px;flex:1 1}.kds-table{font-size:22px;font-weight:750;letter-spacing:-.01em}.kds-flag{display:flex;gap:8px;align-items:flex-start;background:var(--danger-soft);color:var(--danger);border-bottom:1px solid var(--danger-line);padding:8px 13px;font-size:13.5px}.kds-flag svg{flex:none;margin-top:1px}.kds-line{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:6px 8px;margin:0 -8px;font:inherit;color:inherit;cursor:pointer;min-height:44px}.kds-line:hover:not(:disabled){background:var(--surface-sunken)}.kds-line .q{color:var(--copper);font-weight:750;font-size:16px;min-width:26px}.kds-line .n{display:block;font-size:16px;font-weight:600}.kds-line.done{background:var(--ok-soft);border-color:var(--ok-line)}.kds-line.done .n{text-decoration:line-through;opacity:.6}.kds-line svg{color:var(--ok);flex:none;margin-top:2px}.kds-mod{display:block;font-size:13px;color:var(--ink-2)}.kds-line .kds-allergy,.kds-line .kds-note{display:block;padding-left:0}.kds-ticket.cold{border-top-color:var(--warn)}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_7c31c5{font-family:Inter,Inter Fallback;font-style:normal}.__variable_7c31c5{--font-inter:"Inter","Inter Fallback"}