/* Operational states share the same colors everywhere on the floor. */
:root{--seat-ink:#164b37;--seat-fill:#dceee2;--exchange-ink:#24516b;--exchange-fill:#e0edf4;--unseated-ink:#fff;--unseated-fill:#bb3e20}
.operations-workspace:has(.live-floor-map) .compact-console .console-controls{grid-template-columns:minmax(146px,.62fr) minmax(214px,.9fr) minmax(240px,1.1fr)}
.compact-console .console-left{grid-template-columns:64px minmax(76px,1fr)}
.console-clock{container-type:inline-size;grid-template-columns:60px minmax(0,1fr);padding:2px;gap:3px}
.console-clock>.console-clock-text{flex-direction:column;justify-content:center;gap:0;padding-right:2px}
.console-clock time{order:0;font-size:clamp(38px,19cqw,42px);line-height:1;letter-spacing:-.06em;font-weight:650}
.console-clock [data-clock-date]{order:1;font-size:clamp(19px,9cqw,20px);line-height:1.05;letter-spacing:-.045em;color:#d5dedd}

/* Table metrics use the tabletop, keeping the stool and seats clear. */
.room-scene.occupied .live-table-core{container-type:inline-size;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;padding:3px!important;transform:none!important;overflow:visible}
.room-scene.occupied .live-table-core .table-number-plate{transform:none!important;margin:0!important;font-size:clamp(15px,29cqw,22px)!important;line-height:1.1!important;padding:1px 3px!important}
.room-scene.occupied .live-table-core .core-counts{display:flex!important;flex-direction:column;gap:0!important;margin:0!important}
.room-scene.occupied .live-table-core .room-headcount{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.05;color:#554733}
.room-headcount .guest-count-label{font-size:12px;font-weight:700;white-space:nowrap}
.room-scene.occupied .live-table-core .room-headcount b{font-size:22px}.room-scene.occupied .live-table-core .room-headcount small{font-size:14px}
.room-scene.occupied .live-table-core .live-stay{display:flex!important;flex-direction:column;gap:0!important;margin:0!important;transform:none!important;line-height:1.1}
.room-scene .live-table-core .live-stay>.table-round-label{font:750 clamp(13px,29cqw,20px)/1.15 system-ui;color:#345a45;letter-spacing:-.06em;white-space:normal;text-wrap:balance}
.room-scene:not(.room-detail) .live-table-core .live-stay [data-stay-label]{display:none!important}
.room-scene.occupied .live-table-core .live-stay b{font:850 clamp(21px,43cqw,30px)/1.13 system-ui!important;letter-spacing:-.06em;white-space:nowrap;color:#244c38}
.room-scene.room-opposed.occupied .live-table-core{left:32%!important;width:40%!important}
.room-scene.room-banquette.occupied .live-table-core,.room-scene.room-joined.occupied .live-table-core{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important;grid-template-rows:auto auto!important;gap:2px 4px!important;padding:4px!important}
.room-banquette.occupied .live-table-core>.table-number-plate,.room-joined.occupied .live-table-core>.table-number-plate{grid-area:1/1;justify-self:center}
.room-banquette.occupied .live-table-core>.core-counts,.room-joined.occupied .live-table-core>.core-counts{grid-area:2/1}
.room-banquette.occupied .live-table-core>.live-stay,.room-joined.occupied .live-table-core>.live-stay{grid-area:1/2/3/3;min-width:0}
.room-banquette .live-table-core .live-stay>.table-round-label{font-size:17px}.room-scene.room-banquette.occupied .live-table-core .live-stay b{font-size:clamp(23px,22cqw,30px)!important}
.room-scene.room-detail.occupied .live-table-core .table-number-plate{font-size:24px!important}.room-scene.room-detail .live-table-core .live-stay>.table-round-label{font-size:20px}.room-scene.room-detail .live-table-core .live-stay b{font-size:30px!important}
.room-scene.room-detail .live-table-core .core-adjust-hint{font-size:13px;line-height:1.2}
.room-scene .live-table-core .unattended-table-alert{position:absolute;top:0;right:0;transform:translateY(-100%);font-size:12px;pointer-events:none}
.booth-finish-button{width:100%;height:44px;min-height:44px!important;background:#dceee2!important;border:2px solid #50856b!important;color:#164b37!important;font-size:18px!important;font-weight:800;padding:2px!important}
.booth-finish-button:disabled{opacity:.7}

.room-scene .floor-seat-slot>.floor-cast.name-first{background:var(--unseated-fill)!important;color:var(--unseated-ink)!important;border:2px solid #a5331c!important;gap:1px!important;justify-content:center!important;padding:1px!important}
.room-scene .floor-seat-slot>.floor-cast.name-first.serving{background:var(--seat-fill)!important;color:var(--seat-ink)!important;border-color:#82a890!important;animation:none!important}
.room-scene .floor-seat-slot>.floor-cast.name-first.changeover,.room-scene .floor-seat-slot>.floor-cast.name-first.complete{background:var(--exchange-fill)!important;color:var(--exchange-ink)!important;border-color:#96b5c6!important;animation:none!important;box-shadow:none!important}
.room-scene .floor-seat-slot>.floor-cast.name-first:is(.reserved,.waiting):not(.serving){background:var(--unseated-fill)!important;color:var(--unseated-ink)!important;border:2px solid #a5331c!important;animation:unseated-outline 1.6s ease-in-out infinite!important}
.room-scene .floor-seat-slot>.floor-cast.name-first .cast-name-large{color:inherit!important;line-height:1.1!important;max-width:100%}
.cast-time-check{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;width:100%;color:inherit}
.room-scene .floor-cast .name-seated-check{position:static!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:clamp(18px,32cqw,26px);height:clamp(18px,32cqw,26px);font-size:clamp(16px,28cqw,24px);line-height:1;font-style:normal;border-radius:4px;border:2px solid currentColor;box-sizing:border-box;background:transparent;color:inherit}
.room-scene .floor-cast .name-seated-check.checked{background:#246b49;color:#fff;border-color:#246b49}
.room-scene .floor-cast .name-seated-check.unchecked{background:transparent;border-color:currentColor}
.room-scene .floor-cast .cast-time-check>.timer{color:inherit!important;background:transparent!important;border:0!important;font-size:clamp(11px,29cqw,22px)!important;line-height:1.1!important;padding:0!important;animation:none!important}
.room-scene .floor-cast .cast-time-check>.gap-clock{font-size:clamp(9px,21cqw,17px)!important;white-space:nowrap}
.room-scene .floor-cast .cast-time-check>.timer::after{font-size:.7em}
.room-scene .floor-seat-slot>.floor-cast.name-first.cast-due.serving{animation:seated-outline 1.5s ease-in-out infinite!important}
@keyframes unseated-outline{50%{box-shadow:0 0 0 3px #ee6c36,0 0 8px #ee6c3690}}
@keyframes seated-outline{50%{box-shadow:0 0 0 3px #cb582b}}
.state-dot.reserved{background:var(--unseated-fill)!important}.state-dot.serving{background:#468463!important}.state-dot.changeover{background:#85adc2!important}

/* The selected cast follows Nomination; swatches follow the clothing field. */
#modal.quick-intake-modal.compact-intake .quick-person-main{display:flex!important;gap:8px}
#modal.quick-intake-modal.compact-intake .quick-person-heading{flex:0 0 105px!important}
#modal.quick-intake-modal.compact-intake .quick-person-main .quick-cast:not(:disabled){flex:1;min-width:130px!important;height:52px;font-size:22px!important;padding:6px!important}
#modal.quick-intake-modal.compact-intake .quick-style{flex:0 1 126px!important}
#modal.quick-intake-modal.compact-intake .quick-person-details,#modal.quick-intake-modal.compact-intake .quick-person-details:not(:has(.quick-cast:not(:disabled))){grid-template-columns:220px minmax(145px,1.6fr) minmax(78px,.7fr) minmax(92px,.8fr) minmax(95px,1fr)!important;gap:7px!important}
#modal.quick-intake-modal.compact-intake .quick-person-details .quick-colors{width:220px!important;display:flex!important;gap:0!important;margin:0!important}
#modal.quick-intake-modal.compact-intake .quick-colors-label{display:none!important}
#modal.quick-intake-modal.compact-intake .quick-feature{font-size:18px!important}

.operations-workspace:has(.live-floor-map) .compact-console .waiting-party-list{height:58px!important;max-height:58px!important}
.compact-console .waiting-party{height:54px;min-height:54px;background:#faf7ef;border:1px solid #d4cbb9}
.compact-console .waiting-party .party-heading{background:#f5e7cc;min-width:126px;padding:2px 6px}
.compact-console .party-heading strong{font-size:17px;line-height:21px}
.compact-console .waiting-party .party-heading span{gap:7px;line-height:23px}.compact-console .waiting-party .party-heading span b{font-size:15px}
.compact-console .party-people{padding:0 3px;gap:6px}
.operations-workspace:has(.live-floor-map) .compact-console .party-people .waiting-guest{background:var(--guest-fill)!important;color:var(--guest-ink)!important;border:2px solid transparent!important;box-shadow:none!important;height:48px!important;min-height:48px!important;max-width:158px!important;padding:2px 7px!important;gap:0!important}
.operations-workspace:has(.live-floor-map) .compact-console .party-people .waiting-guest.nominated{border:3px solid #ec4238!important;box-shadow:0 0 0 1px #fff!important}
.compact-console .party-people .waiting-guest strong{font-size:21px!important;line-height:24px!important;color:inherit!important}.compact-console .party-people .waiting-guest small{font-size:15px!important;line-height:18px!important;color:inherit!important;white-space:nowrap}

.undo-intro{font-size:22px;margin:0 0 14px}.undo-retention{font-size:15px;color:#52635a;margin-top:16px}
.undo-list{display:grid;gap:10px}.undo-list article{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:#f4f7f1;border:1px solid #c5d3c7;border-radius:9px;padding:12px}
.undo-list time{font-size:17px;font-variant-numeric:tabular-nums}.undo-list strong{font-size:19px;overflow-wrap:anywhere}.undo-list .btn{min-height:48px}.undo-list small{grid-column:1/-1}
.undo-preview{font-size:20px;line-height:1.6}.undo-preview time{font-size:24px;font-weight:750}.undo-preview h3{font-size:23px}.undo-preview-counts{display:flex;gap:24px;background:#edf5ed;padding:12px;border-radius:8px}.undo-preview-counts b{font-size:28px}
@media(max-width:899px) and (min-width:700px){#modal.quick-intake-modal.compact-intake .quick-person-details,#modal.quick-intake-modal.compact-intake .quick-person-details:not(:has(.quick-cast:not(:disabled))){grid-template-columns:200px minmax(125px,1.5fr) 75px 90px minmax(80px,1fr)!important;gap:4px!important}#modal.quick-intake-modal.compact-intake .quick-person-details .quick-colors{width:200px!important}#modal.quick-intake-modal.compact-intake .quick-color{width:40px!important;min-width:40px!important}}
@media(max-width:699px){
 .operations-workspace:has(.live-floor-map) .compact-console .console-controls{grid-template-columns:88px minmax(0,1fr)}
 .console-clock{grid-template-columns:48px minmax(0,1fr)}.console-clock time{font-size:35px}.console-clock [data-clock-date]{font-size:18px}
 #modal.quick-intake-modal.compact-intake .quick-person-main{display:grid!important;grid-template-columns:58px minmax(0,1fr) 40px!important;gap:6px!important}
 #modal.quick-intake-modal.compact-intake .quick-person-heading{grid-area:1/1!important}.quick-person-main .quick-type{grid-area:1/2!important}.quick-person-main .quick-remove{grid-area:1/3!important}
 #modal.quick-intake-modal.compact-intake .quick-person-main .quick-cast:not(:disabled){grid-area:2/2/3/4!important;width:100%!important;min-width:0!important;height:46px;font-size:20px!important}
 #modal.quick-intake-modal.compact-intake .quick-style{grid-area:2/1!important;min-width:0!important;width:100%!important;font-size:13px!important}
 #modal.quick-intake-modal.compact-intake .quick-person-details,#modal.quick-intake-modal.compact-intake .quick-person-details:not(:has(.quick-cast:not(:disabled))){display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:7px!important}
 #modal.quick-intake-modal.compact-intake .quick-person-details .quick-colors{grid-area:1/1!important;width:150px!important;flex-wrap:nowrap!important}#modal.quick-intake-modal.compact-intake .quick-color{width:30px!important;min-width:30px!important;padding:2px!important;height:44px!important}#modal.quick-intake-modal.compact-intake .quick-color i{width:24px;height:28px}
 #modal.quick-intake-modal.compact-intake .quick-feature{grid-area:1/2!important;font-size:16px!important}.quick-person-details .quick-label{grid-area:2/1!important}.quick-person-details .quick-customer{grid-area:2/2!important}.quick-person-details .quick-note{grid-area:3/1/4/3!important}
 .undo-list article{grid-template-columns:1fr auto}.undo-list time{grid-column:1/-1}.undo-list strong{font-size:17px}.undo-list .btn{font-size:15px;padding:6px}
}
@media(prefers-reduced-motion:reduce){.room-scene .floor-seat-slot>.floor-cast.name-first{animation:none!important}}

/* Corner sofa labels stay whole; narrow cushions read as one vertical name. */
.room-scene.room-corner .floor-seat-slot>.floor-cast.name-first .cast-name-large{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all;font-size:clamp(10px,calc((100cqw - 8px)/var(--name-chars,3)),27px)!important}
.room-scene.room-corner:not(.room-detail) .floor-seat-pair.seat-bottom{top:68%!important;height:30%!important}
@container (max-width:58px){
 .room-scene.room-corner .floor-seat-slot>.floor-cast.name-first{display:flex!important;flex-direction:column!important}
 .room-scene.room-corner .floor-seat-slot>.floor-cast.name-first .cast-name-large{writing-mode:vertical-rl;text-orientation:upright;width:1em!important;align-self:center;white-space:nowrap!important;overflow-wrap:normal!important;font-size:clamp(10px,min(calc((100cqh - 28px)/var(--name-chars,3)),calc(100cqw - 8px)),22px)!important;line-height:1!important;letter-spacing:0;flex:none}
 .room-scene.room-corner .floor-cast .cast-time-check{flex:none;gap:1px}
 .room-scene.room-corner .floor-cast .cast-time-check>.timer{font-size:clamp(10px,25cqw,17px)!important}
 .room-scene.room-corner .floor-cast .name-seated-check{width:18px;height:18px;font-size:16px}
 .room-scene.room-corner .floor-seat-slot>.floor-cast.name-first:has(.next-table-label) .cast-name-large{font-size:clamp(9px,min(calc((100cqh - 42px)/var(--name-chars,3)),calc(100cqw - 8px)),20px)!important}
}

