@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@500;600&display=swap";:root{--bg:#f6f7f8;--surface:#fff;--surface-2:#f1f3f5;--surface-3:#e6eaef;--ink-1:#0f172a;--ink-2:#1f2a3d;--ink-3:#475569;--ink-4:#8a94a4;--ink-5:#c7cdd6;--line:#dde1e6;--line-strong:#c0c7d1;--line-faint:#e8ebee;--accent:oklch(48% .08 195);--accent-strong:oklch(43% .09 195);--accent-soft:oklch(88% .04 195);--accent-tint:oklch(96% .025 195);--accent-ink:oklch(40% .08 195);--ok:oklch(50% .1 158);--ok-soft:oklch(92% .045 160);--ok-ink:oklch(40% .1 158);--warn:oklch(55% .06 70);--warn-soft:oklch(93% .03 75);--warn-ink:oklch(40% .07 70);--danger:oklch(52% .13 28);--danger-soft:oklch(93% .04 28);--danger-ink:oklch(42% .13 28);--info:oklch(50% .1 245);--info-soft:oklch(93% .035 245);--info-ink:oklch(40% .1 245);--vip:oklch(45% .11 285);--vip-soft:oklch(93% .04 285);--vip-ink:oklch(40% .11 285);--bar-low:oklch(92% .02 240);--bar-med:oklch(78% .07 200);--bar-high:oklch(62% .1 195);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--sh-xs:0 1px 2px #0f172a0a;--sh-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--sh-md:0 2px 4px #0f172a0d, 0 8px 24px #0f172a12;--sh-lg:0 4px 8px #0f172a0d, 0 24px 56px #0f172a24;--sh-focus:0 0 0 3px #2d8c872e;--font-ui:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--space-7:36px;--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-lg);--text-primary:var(--ink-1);--text-secondary:var(--ink-3);--text-muted:var(--ink-4);--op-active:var(--accent);--op-seated:var(--ok);--op-warning:var(--warn);--op-blocked:var(--danger);font-family:var(--font-ui);color:var(--ink-2);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink-2);margin:0;font-size:13px;line-height:1.45}button,input,select,textarea,code{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,dl{margin-top:0}code,.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-2)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill)}.label,.card-eyebrow,.metric-label,.detail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin:0;font-size:10.5px;font-weight:700}.section-title{letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:14px;font-weight:700}.body-sm{color:var(--ink-3);margin:0;font-size:12px}.body-xs{color:var(--ink-4);margin:0;font-size:11px}.muted{color:var(--ink-4)}.ink{color:var(--ink-1)}input,select,textarea{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);width:100%;min-height:34px;color:var(--ink-1);box-shadow:var(--sh-xs);outline:none;padding:7px 10px;transition:border-color .12s,box-shadow .12s,background .12s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--sh-focus)}input::placeholder,textarea::placeholder{color:var(--ink-4)}.btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink-2);letter-spacing:-.005em;cursor:pointer;box-shadow:var(--sh-xs);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:650;transition:background .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.52;cursor:default}.btn-primary{background:var(--ink-1);border-color:var(--ink-1);color:#fff}.btn-primary:hover:not(:disabled){background:#1f2937}.btn-confirm{background:var(--ok);color:#fff;border-color:#0000}.btn-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:#0000}.btn-ghost{background:var(--surface);color:var(--ink-3)}.btn-sm{min-height:28px;padding:0 9px;font-size:11.5px}.link-button{color:var(--ink-4);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:650}.link-button:hover{color:var(--ink-1)}.badge,.chip,.pill{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.badge{letter-spacing:.035em;text-transform:uppercase;min-height:22px;padding:0 8px;font-size:10.5px;font-weight:700}.chip{background:var(--surface);border:1px solid var(--line);min-height:26px;color:var(--ink-3);padding:0 9px;font-size:11.5px;font-weight:650}.chip.on,.chip.accent{background:var(--accent-tint);color:var(--accent-ink);border-color:#0000}.chip.warn{background:var(--warn-soft);color:var(--warn-ink);border-color:#0000}.chip.info{background:var(--info-soft);color:var(--info-ink);border-color:#0000}.chip.vip{background:var(--vip-soft);color:var(--vip-ink);border-color:#0000}.chip.danger{background:var(--danger-soft);color:var(--danger-ink);border-color:#0000}.chip.ghost{background:0 0}.badge-muted{color:var(--ink-3);background:var(--surface-2)}.badge-active,.badge-reserved{color:var(--accent-ink);background:var(--accent-tint)}.badge-seated{color:var(--ok-ink);background:var(--ok-soft)}.badge-warning{color:var(--warn-ink);background:var(--warn-soft)}.badge-blocked,.badge-danger{color:var(--danger-ink);background:var(--danger-soft)}.badge-available{color:var(--ink-3);background:var(--surface-2)}:root{--booking-ink:#1f2c24;--booking-paper:#f4efe5;--booking-accent:#b8622e;--booking-accent-deep:#6a2f18;--booking-panel:#fffcf7eb;--booking-line:#1f2c2424}.public-booking-shell{min-height:100vh;color:var(--booking-ink);background:radial-gradient(circle at top left, #b8622e38, transparent 32%), radial-gradient(circle at bottom right, #466d5629, transparent 28%), linear-gradient(135deg, #efe4d0 0%, var(--booking-paper) 46%, #e9deca 100%);padding:32px}.public-booking-hero{max-width:920px;margin:0 auto 24px}.public-booking-hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,7vw,5rem);line-height:.95}.eyebrow{text-transform:uppercase;letter-spacing:.28em;margin:0 0 8px;font-size:.72rem}.lede{max-width:42rem;font-size:1.05rem}.public-message{border:1px solid var(--booking-line);background:#ffffff8f;max-width:920px;margin:0 auto 20px;padding:12px 16px}.public-booking-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:920px;margin:0 auto;display:grid}.public-panel{border:1px solid var(--booking-line);background:var(--booking-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px;box-shadow:0 20px 45px #1f2c2414}.public-panel h2,.reservation-card h3{margin-top:0;font-family:Georgia,Times New Roman,serif}.public-panel label{gap:6px;margin-bottom:12px;display:grid}.public-panel input,.public-panel select,.public-panel textarea,.action-button,.slot-strip button{font:inherit}.public-panel input,.public-panel select,.public-panel textarea{border:1px solid var(--booking-line);background:#ffffffb8;padding:10px 12px}.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.slot-strip{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.slot-strip button,.action-button{border:1px solid var(--booking-ink);color:var(--booking-ink);cursor:pointer;background:0 0;padding:10px 14px}.slot-strip button.selected,.action-button.solid{background:var(--booking-accent);color:#fff8f1;border-color:var(--booking-accent)}.action-button{margin-bottom:10px;margin-right:10px}.action-button.danger{border-color:var(--booking-accent-deep);color:var(--booking-accent-deep)}.reservation-card{border-top:1px solid var(--booking-line);margin-top:18px;padding-top:18px}.capability-copy{color:#1f2c24b8}.manage-actions{margin-top:16px}@media (width<=640px){.public-booking-shell{padding:20px}.guest-grid{grid-template-columns:1fr}}.ops-shell{background:var(--bg);min-height:100vh}.shell-header{z-index:40;border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:0 12px;display:grid;position:relative;top:0}.shell-brand{border-right:1px solid var(--line);align-items:center;gap:8px;min-width:0;padding-right:10px;display:inline-flex}.shell-brand h1{color:var(--ink-1);letter-spacing:-.01em;margin:0;font-size:13px;font-weight:750}.shell-mark{border-radius:var(--r-sm);background:var(--ink-1);color:#fff;width:26px;height:26px;font-family:var(--font-mono);letter-spacing:.03em;place-items:center;font-size:10px;font-weight:700;display:grid}.shell-context{align-items:center;gap:8px;min-width:0;display:flex}.context-field{gap:3px;display:grid}.context-field .label,.context-summary .label,.shell-brand .label,.shell-brand .body-xs{display:none}.context-field select,.context-field input{min-width:150px;min-height:34px}.context-summary{min-width:0}.row-wrap,.detail-actions,.toolbar-inline,.inline-field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row,.row-between{align-items:center;gap:8px;display:flex}.col{flex-direction:column;display:flex}.row-between,.between{justify-content:space-between}.middle{align-items:center}.gap-2{gap:6px}.gap-3{gap:10px}.grow{flex:1 1 0}.spacer{flex:auto}.sm{font-size:11px}.md{font-size:12px}.lg{font-size:15px}.bold{font-weight:750}.accent{color:var(--accent-ink)}.shell-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.realtime-pill{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--ink-3);box-shadow:var(--sh-xs);align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.sidebar-status-dot{border-radius:var(--r-pill);background:var(--ink-4);width:7px;height:7px}.sidebar-status-dot[data-state=connected]{background:var(--ok)}.sidebar-status-dot[data-state=connecting],.sidebar-status-dot[data-state=reconnecting]{background:var(--warn)}.sidebar-status-dot[data-state=error]{background:var(--danger)}.iconbtn{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:34px;height:34px;color:var(--ink-2);cursor:pointer;box-shadow:var(--sh-xs);place-items:center;display:inline-grid}.search{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);min-width:300px;min-height:34px;color:var(--ink-4);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.kbd{border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);min-width:20px;height:20px;color:var(--ink-4);font-family:var(--font-mono);justify-content:center;align-items:center;margin-left:auto;font-size:10px;display:inline-flex}.kbd-dark{color:#ffffffb8;background:#ffffff1a;border-color:#ffffff2e}.group-strip{padding:14px 18px 0}.group-strip .section-header{display:none}.group-strip-scroll{grid-auto-columns:minmax(188px,1fr);grid-auto-flow:column;gap:8px;padding-bottom:8px;display:grid;overflow-x:auto}.group-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-height:66px;color:inherit;text-align:left;cursor:pointer;box-shadow:var(--sh-xs);padding:10px 12px}.group-card[data-active=true]{border-color:var(--accent);background:var(--accent-tint)}.group-card-name{color:var(--ink-1);font-weight:700;display:block}.workspace-nav{border-radius:var(--r-md);background:var(--surface-3);gap:2px;width:fit-content;max-width:100%;margin:0;padding:3px;display:flex;overflow-x:auto}.workspace-nav-item{border-radius:var(--r-sm);min-height:30px;color:var(--ink-3);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.workspace-nav-item:hover{color:var(--ink-1)}.workspace-nav-item[data-active=true]{background:var(--surface);color:var(--ink-1);box-shadow:var(--sh-xs)}.workspace-nav-item-manager{margin-left:8px}.workspace-shell{padding:0}.system-banner{border-radius:var(--r-md);margin:10px 12px;padding:9px 12px}.system-banner p{margin:0;font-size:12px}.system-banner-warning{background:var(--warn-soft);color:var(--warn-ink);border:1px solid color-mix(in oklab, var(--warn) 22%, transparent)}.system-banner-error{background:var(--danger-soft);color:var(--danger-ink);border:1px solid color-mix(in oklab, var(--danger) 22%, transparent)}.workspace-stack{flex-direction:column;gap:12px;display:flex}.stand-today{background:var(--surface);grid-template-columns:minmax(720px,64fr) minmax(360px,36fr);height:calc(100vh - 57px);display:grid;overflow:hidden}.stand-list{border-right:1px solid var(--line);background:var(--surface);min-width:0;overflow:auto}.stand-sidebar{background:var(--surface-2);flex-direction:column;gap:14px;min-width:0;padding:18px 20px;display:flex;overflow:auto}.filterbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:12px 20px;display:flex}.sort-row{background:var(--surface);align-items:center;min-height:38px;padding:0 20px 10px;display:flex}.stand-empty{border-bottom:1px solid var(--line-faint);min-height:330px;color:var(--ink-4);text-align:center;justify-content:center;align-items:center;display:flex}.tag-cell,.stat-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stat-row{align-items:stretch}.card--accent{border-color:var(--accent-soft);background:var(--accent-tint)}.card-eyebrow.accent,.card-stat.accent{color:var(--accent-ink)}.bar-chart{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-xs);padding:14px 16px 12px}.bars{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:9px;height:126px;margin-top:18px;display:grid}.bar{justify-content:center;align-items:end;height:100%;display:flex;position:relative}.bar .fill{border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--bar-low);width:100%;min-height:2px}.bar.med .fill{background:var(--bar-med)}.bar.high .fill{background:var(--bar-high)}.bar.peak .fill{background:var(--accent-strong)}.bar.now{outline:1px solid var(--ink-1);outline-offset:3px;border-radius:var(--r-xs)}.pct{color:var(--ink-4);font-family:var(--font-mono);font-size:10px;position:absolute;top:-16px}.hours{color:var(--ink-4);font-family:var(--font-mono);text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;margin-top:8px;font-size:10.5px;display:grid}.hours .now{color:var(--ink-1);font-weight:700}.dot,.att-icon{border-radius:var(--r-pill);background:var(--ink-5);flex:none;width:8px;height:8px}.dot.warn,.att-row.warn .att-icon{background:var(--warn)}.dot.accent,.att-row.accent .att-icon{background:var(--accent)}.dot.faint{background:var(--ink-5)}.att-list{flex-direction:column;gap:12px;display:flex}.att-row{color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.avatar{border-radius:var(--r-pill);background:var(--ink-1);color:#fff;width:24px;height:24px;font-family:var(--font-mono);flex:none;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.avatar.accent{background:var(--accent)}.selected-strip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-3);flex-direction:column;gap:4px;padding:12px;display:flex}.selected-strip strong{color:var(--ink-1)}.workspace-grid{align-items:stretch;gap:12px;display:grid}.workspace-grid-command{grid-template-columns:minmax(680px,1fr) minmax(330px,420px)}.workspace-grid-two{grid-template-columns:minmax(650px,1fr) minmax(320px,380px)}.surface-panel,.card,.hero-panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-sm)}.surface-panel,.card{padding:14px}.loading-panel{flex-direction:column;justify-content:center;min-height:180px;display:flex}.hero-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.hero-copy h1{color:var(--ink-1);letter-spacing:-.02em;margin:0 0 4px;font-size:20px;line-height:1.12}.eyebrow{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:10.5px;font-weight:750}.hero-stats,.metrics-strip{grid-auto-columns:minmax(110px,1fr);grid-auto-flow:column;gap:8px;display:grid}.hero-stats-wide{grid-auto-columns:minmax(104px,1fr)}.hero-stat,.metric-chip{border:1px solid var(--line-faint);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;justify-content:space-between;min-height:70px;padding:10px;display:flex}.hero-stat-value,.metric-value,.card-stat{color:var(--ink-1);font-family:var(--font-mono);letter-spacing:-.03em;font-size:24px;font-weight:650;line-height:1}.hero-stat-label{color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}.stack,.action-rail,.detail-stack,.stack-tight,.stack-xs{flex-direction:column;display:flex}.stack,.action-rail{gap:12px}.detail-stack,.stack-tight{gap:10px}.stack-xs{gap:5px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-divider{background:var(--line-faint);height:1px}.toolbar-inline input{width:220px}.list-stack{flex-direction:column;gap:8px;display:flex}.list-stack-compact{gap:6px}.reservation-table{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.list-head,.res-row{grid-template-columns:92px minmax(170px,1.4fr) 54px minmax(110px,.75fr) minmax(150px,1fr) 116px;align-items:center;gap:12px;display:grid}.list-head{border-bottom:1px solid var(--line);background:var(--surface-2);min-height:34px;color:var(--ink-4);letter-spacing:.05em;text-transform:uppercase;padding:0 14px;font-size:10px;font-weight:800}.res-row{border:0;border-bottom:1px solid var(--line-faint);background:var(--surface);width:100%;min-height:64px;color:inherit;text-align:left;cursor:pointer;padding:10px 14px}.res-row:last-child{border-bottom:0}.res-row:hover,.res-row[data-selected=true]{background:var(--accent-tint)}.res-row.urgent{box-shadow:inset 3px 0 0 var(--danger)}.time-cell{color:var(--ink-1);font-family:var(--font-mono);font-size:12px;font-weight:650}.time-cell .end{color:var(--ink-4);margin-top:2px;font-size:10.5px;font-weight:500;display:block}.name{color:var(--ink-1);letter-spacing:-.01em;font-weight:750}.name-sub,.tables,.ops-list-meta{color:var(--ink-4);margin:2px 0 0;font-size:11.5px}.pax{color:var(--ink-1);font-family:var(--font-mono);font-size:14px;font-weight:650}.tables.empty{color:var(--danger-ink)}.pill{border:1px solid #0000;min-height:24px;padding:0 8px;font-size:11px;font-weight:750}.swatch{border-radius:var(--r-pill);background:currentColor;width:7px;height:7px}.pill--confirmed,.pill--active{color:var(--accent-ink);background:var(--accent-tint)}.pill--place,.pill--pending{color:var(--warn-ink);background:var(--warn-soft)}.pill--seated{color:var(--ok-ink);background:var(--ok-soft)}.pill--urgent,.pill--blocked{color:var(--danger-ink);background:var(--danger-soft)}.ops-list-card{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);width:100%;color:inherit;text-align:left;cursor:pointer;box-shadow:var(--sh-xs);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.ops-list-card[data-selected=true]{border-color:var(--accent);background:var(--accent-tint)}.ops-list-card-compact,.ops-list-card-static{padding:9px}.ops-list-card-static{cursor:default}.ops-list-primary{min-width:0}.ops-list-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ops-list-title{color:var(--ink-1);font-size:12.5px;font-weight:750}.ops-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.detail-panel{position:sticky;top:74px}.detail-head h2{color:var(--ink-1);letter-spacing:-.02em;margin:0 0 8px;font-size:22px;line-height:1.1}.detail-block,.micro-card{border:1px solid var(--line-faint);border-radius:var(--r-md);background:var(--surface-2);padding:10px}.detail-block-accent{border-color:var(--accent-soft);background:var(--accent-tint)}.detail-value{color:var(--ink-1);margin:4px 0 0}.detail-actions-grid{grid-template-columns:1fr;align-items:stretch;display:grid}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;justify-content:center;gap:6px;min-height:116px;padding:14px;display:flex}.card{box-shadow:var(--sh-xs)}.party-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.party-btn{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-height:28px;color:var(--ink-3);cursor:pointer;font-size:12px;font-weight:700}.party-btn[data-active=true]{background:var(--ink-1);border-color:var(--ink-1);color:#fff}.day-picker{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:6px;display:grid}.day-btn,.slot-chip{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;box-shadow:var(--sh-xs)}.day-btn{flex-direction:column;justify-content:center;gap:2px;min-height:42px;padding:6px;font-size:11.5px;font-weight:750;display:flex}.day-btn-label{color:var(--ink-4);font-family:var(--font-mono);font-size:10px;font-weight:500}.day-btn[data-active=true],.slot-chip[data-active=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.slot-grid-prominent,.slot-grid-compact{gap:6px;display:grid}.slot-grid-prominent{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.slot-grid-compact{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.slot-chip{min-height:34px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}.slot-chip:disabled{opacity:.45;cursor:default}.slot-dot{border-radius:var(--r-pill);background:var(--ok);width:6px;height:6px}.flash-confirm{animation:.9s flash-confirm}@keyframes flash-confirm{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--ok) 38%, transparent)}45%{box-shadow:0 0 0 4px color-mix(in oklab, var(--ok) 18%, transparent)}to{box-shadow:var(--sh-xs)}}.zone-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.zone-card,.zone-surface,.micro-card{border-radius:var(--r-md)}.zone-card,.zone-surface{border:1px solid var(--line);background:var(--surface);padding:12px}.zone-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.zone-card-head h3,.timeline-area-title h3{color:var(--ink-1);margin:0;font-size:13px}.zone-card-metrics{color:var(--ink-4);flex-wrap:wrap;gap:7px;margin-top:8px;font-size:11.5px;display:flex}.floor-workbench{grid-template-columns:288px minmax(420px,1fr) 320px;min-height:640px;padding:0;display:grid;overflow:hidden}.floor-side,.floor-detail{background:var(--surface);min-width:0;padding:14px}.floor-side{border-right:1px solid var(--line)}.floor-detail{border-left:1px solid var(--line)}.floor-canvas-shell{min-width:0;display:contents}.floor-canvas-wrap{background:var(--surface-2);flex-direction:column;min-width:0;display:flex}.floor-toolbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 14px;display:flex}.rooms,.sidetab,.seg{border-radius:var(--r-md);background:var(--surface-3);gap:2px;padding:3px;display:inline-flex}.rooms span,.rooms button,.sidetab>div,.seg>div{border-radius:var(--r-sm);min-height:28px;color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:700;display:inline-flex}.rooms button{appearance:none;cursor:pointer;font-family:var(--font-ui);background:0 0;border:0}.rooms .on,.sidetab .on,.seg .on{background:var(--surface);color:var(--ink-1);box-shadow:var(--sh-xs)}.count{color:var(--ink-4);font-family:var(--font-mono);font-size:10px}.floor-grid{background:linear-gradient(var(--line-faint) 1px, transparent 1px), linear-gradient(90deg, var(--line-faint) 1px, transparent 1px), var(--surface-2);background-size:28px 28px;flex:1;min-height:560px;position:relative;overflow:hidden}.floor-grid-svg{background:radial-gradient(circle at 1px 1px, var(--line-faint) 1px, transparent 0), var(--surface-2);background-size:24px 24px;justify-content:stretch;align-items:stretch;min-height:620px;display:flex}.floor-svg{width:100%;height:100%;min-height:620px}.floor-svg-grid{fill:#0000}#floorplan-dot-grid circle{fill:color-mix(in oklab, var(--line-strong) 70%, transparent)}.floor-svg-table{cursor:pointer;outline:none}.floor-svg-shape{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.4px;filter:drop-shadow(0 2px 4px #0f172a0f)}.floor-svg-table[data-state=reserved] .floor-svg-shape{fill:var(--accent-tint);stroke:color-mix(in oklab, var(--accent) 44%, var(--line))}.floor-svg-table[data-state=seated] .floor-svg-shape{fill:var(--ok-soft);stroke:color-mix(in oklab, var(--ok) 48%, var(--line))}.floor-svg-table[data-state=blocked] .floor-svg-shape{fill:var(--danger-soft);stroke:color-mix(in oklab, var(--danger) 46%, var(--line));stroke-dasharray:5 4}.floor-svg-table[data-selected=true] .floor-svg-shape,.floor-svg-table:focus-visible .floor-svg-shape{stroke:var(--ink-1);stroke-width:2.2px}.floor-svg-table[data-recommended=true] .floor-svg-shape{stroke:var(--accent);stroke-dasharray:5 4;stroke-width:2px}.floor-svg-name{fill:var(--ink-1);font-family:var(--font-mono);pointer-events:none;font-size:13px;font-weight:700}.floor-svg-capacity{fill:var(--ink-4);font-family:var(--font-ui);pointer-events:none;font-size:10.5px;font-weight:600}.floor-warning,.floor-legend{z-index:2;border:1px solid var(--line);border-radius:var(--r-pill);background:color-mix(in oklab, var(--surface) 92%, transparent);box-shadow:var(--sh-xs);color:var(--ink-3);font-size:11px;position:absolute}.floor-warning{padding:6px 10px;top:12px;right:12px}.floor-legend{align-items:center;gap:10px;padding:6px 10px;display:inline-flex;bottom:14px;left:14px}.floor-legend span{align-items:center;gap:5px;display:inline-flex}.floor-legend i{border:1px solid var(--line-strong);background:var(--surface);border-radius:3px;width:10px;height:10px}.floor-legend i[data-state=reserved]{background:var(--accent-tint);border-color:color-mix(in oklab, var(--accent) 44%, var(--line))}.floor-legend i[data-state=seated]{background:var(--ok-soft);border-color:color-mix(in oklab, var(--ok) 48%, var(--line))}.floor-legend i[data-state=blocked]{background:var(--danger-soft);border-color:color-mix(in oklab, var(--danger) 46%, var(--line))}.tbl{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink-1);box-shadow:var(--sh-sm);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute}.tbl.round{border-radius:var(--r-pill)}.tbl.occ,.tbl[data-state=seated]{border-color:color-mix(in oklab, var(--ok) 40%, var(--line));background:var(--ok-soft)}.tbl.res,.tbl[data-state=reserved]{border-color:color-mix(in oklab, var(--accent) 40%, var(--line));background:var(--accent-tint)}.tbl.blocked,.tbl[data-state=blocked]{border-color:color-mix(in oklab, var(--danger) 40%, var(--line));background:var(--danger-soft)}.tbl[data-selected=true]{outline:3px solid color-mix(in oklab, var(--accent) 24%, transparent)}.tbl .num{font-family:var(--font-mono);font-size:15px;font-weight:700}.tbl .sub{max-width:90%;color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.table-chip-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px;margin-top:10px;display:grid}.table-chip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:58px;padding:8px;display:flex}.placement-workbench{grid-template-columns:270px minmax(520px,1fr);min-height:680px;padding:0;display:grid;overflow:hidden}.placement-queue{border-right:1px solid var(--line);background:var(--surface);min-width:0;padding:14px}.placement-main{background:var(--surface-2);flex-direction:column;min-width:0;display:flex}.placement-command{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 16px;display:flex}.placement-assign{align-items:flex-end;gap:8px;display:flex}.placement-assign .context-field{min-width:220px}.placement-body{flex:1;grid-template-columns:minmax(360px,1fr) 290px;min-height:0;display:grid}.placement-canvas{min-width:0;display:contents}.placement-suggestions{border-left:1px solid var(--line);background:var(--surface);min-width:0;padding:14px}.ops-list-card.selected,.ops-list-card[data-selected=true]{border-color:var(--ink-1);box-shadow:var(--sh-focus)}.table-chip[data-selected=true]{border-color:var(--accent);background:var(--accent-tint)}.table-chip[data-state=reserved]{background:var(--accent-tint)}.table-chip[data-state=seated]{background:var(--ok-soft)}.table-chip[data-state=blocked]{background:var(--danger-soft)}.table-chip-name{color:var(--ink-1);font-weight:750}.table-chip-state{color:var(--ink-4);text-transform:capitalize;font-size:11px}.timeline-scroll,.timeline-lane-board,.timeline-row-card,.timeline-scale-board,.timeline-board-outer,.timeline-area-group{min-width:0}.drawer-backdrop{z-index:70;background:#f6f7f894;position:fixed;inset:56px 0 0}.app-drawer{z-index:80;border-left:1px solid var(--line);background:var(--surface);flex-direction:column;width:min(540px,100vw);display:flex;position:fixed;top:56px;bottom:0;right:0;overflow:auto;box-shadow:-16px 0 32px #0f172a14}.drawer-header{border-bottom:1px solid var(--line);padding:18px 20px}.drawer-header h2{color:var(--ink-1);letter-spacing:-.015em;margin:0;font-size:18px}.drawer-summary-strip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.drawer-divider{background:var(--line-strong);width:1px;height:16px}.drawer-actions,.drawer-footer{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;gap:8px;padding:12px 20px;display:flex}.drawer-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;align-items:center;margin-top:auto}.drawer-footer-note{color:var(--ink-4);margin-right:auto;font-size:11px}.drawer-section{border-bottom:1px solid var(--line-faint);padding:16px 20px}.drawer-section h4{color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}.kv{justify-content:space-between;gap:18px;padding:5px 0;font-size:13px;display:flex}.kv .k{color:var(--ink-4)}.kv .v{color:var(--ink-1);text-align:right;font-weight:650}.kv-compact{border-top:1px solid color-mix(in oklab, var(--accent) 22%, var(--line));margin-top:8px;padding-top:8px;font-size:12px}.note-box{border:1px solid color-mix(in oklab, var(--warn) 18%, transparent);border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn-ink);padding:10px 12px}.activity-list{flex-direction:column;gap:7px;display:flex}.activity-row{grid-template-columns:126px 1fr;gap:10px;font-size:12px;display:grid}.modal-layer{z-index:90;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#0f172a57;border:0;position:absolute;inset:0}.app-modal{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(680px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--sh-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-header,.modal-footer{align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.modal-title{color:var(--ink-1);letter-spacing:-.01em;font-size:16px;font-weight:750}.modal-close{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-4);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.modal-close:hover{background:var(--surface-2);color:var(--ink-1)}.modal-body{padding:4px 20px 20px;overflow:auto}.modal-footer{border-top:1px solid var(--line);background:var(--surface-2)}.choice-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip.big{min-height:32px;padding:0 14px;font-size:13px}.chip.xbig{border-radius:var(--r-md);justify-content:center;min-width:50px;min-height:40px;font-size:14px;font-weight:750}.chip[data-active=true],.chip.xbig[data-active=true],.chip.big[data-active=true]{border-color:var(--ink-1);background:var(--ink-1);color:#fff}.qin{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);align-items:center;gap:12px;min-height:42px;padding:10px 12px;display:flex}.qin.focused{border-color:var(--ink-1);box-shadow:0 0 0 3px #0f172a0f}.qin .lbl{min-width:56px;color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:750}.qin .val{color:var(--ink-1);font-weight:650}.qin input{min-width:0;color:var(--ink-1);font:inherit;background:0 0;border:0;outline:none;flex:1;font-weight:650}.qin input::placeholder,.intake-textarea::placeholder{color:var(--ink-4);font-weight:500}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.guest-match-panel{flex-direction:column;gap:8px;margin-top:10px;display:flex}.guest-match-card{border:1px solid var(--accent-soft);border-radius:var(--r-md);background:var(--accent-tint);align-items:center;gap:10px;padding:10px 12px;display:flex}.guest-match-card strong{color:var(--ink-1)}.intake-textarea{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:78px;color:var(--ink-1);font:inherit;resize:vertical;outline:none;margin-top:10px;padding:10px 12px}.intake-textarea:focus{border-color:var(--ink-1);box-shadow:0 0 0 3px #0f172a0f}.step-eyebrow{color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.step-num{border-radius:var(--r-pill);background:var(--ink-1);color:#fff;width:18px;height:18px;font-family:var(--font-mono);place-items:center;font-size:10px;display:inline-grid}.callout{border-radius:var(--r-md);gap:10px;padding:10px 12px;display:flex}.callout--accent{border:1px solid var(--accent-soft);background:var(--accent-tint);color:var(--accent-ink)}.callout--warning{border:1px solid color-mix(in oklab, var(--warn) 25%, var(--line));background:var(--warn-soft);color:var(--warn-ink)}.callout .icon{border-radius:var(--r-pill);background:currentColor;flex:none;place-items:center;width:18px;height:18px;display:inline-grid}.callout .icon:before{content:"!";color:#fff;font-size:11px;font-weight:800}.walkin-field-note{margin-top:10px}.walkin-time-row{align-items:flex-start}.walkin-input{gap:6px;display:grid}.candidate-list{flex-direction:column;gap:10px;display:flex}.plan-summary{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:3px;margin-bottom:10px;padding:10px 12px;display:flex}.plan-summary strong{color:var(--ink-1)}.plan-summary span{color:var(--ink-4);font-family:var(--font-mono);font-size:11px}.candidate-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:12px}.candidate-card.selected{border-color:var(--accent-soft);background:var(--accent-tint)}@media (width<=1180px){.shell-header,.shell-context,.workspace-grid-command,.workspace-grid-two,.floor-workbench{grid-template-columns:1fr}.shell-brand{border-right:0;padding-right:0}.shell-actions{flex-wrap:wrap;justify-content:flex-start}.detail-panel{position:static}.floor-side,.floor-detail{border:0}}@media (width<=760px){.workspace-shell,.shell-header,.group-strip{padding-left:10px;padding-right:10px}.workspace-nav{max-width:calc(100% - 20px);margin-left:10px;margin-right:10px}.hero-panel,.hero-stats,.metrics-strip{grid-template-columns:1fr;grid-auto-flow:row}.reservation-table{overflow-x:auto}.list-head,.res-row{min-width:780px}}
