/* Two adjoining pairs of four-seat booths, with a separate six-seat area. */
.live-map.seat-map.booth-map{min-width:1120px;height:760px;background:#f5f4f0}
.live-map.seat-map.booth-map.has-occupancy{height:1240px}.live-map.seat-map.booth-map.has-occupancy.has-guest-notes{height:1360px}.live-map.seat-map.booth-map.has-occupancy.has-next-reservations{height:1480px}
.booth-map .map-zone{top:5%;height:90%;padding:0;background:#ecebe533;border:1px solid #e0e0d7;border-radius:26px}
.booth-map .zone-a{left:1%;width:59%}.booth-map .zone-b{left:66%;width:33%}.booth-map .map-zone>span{display:block;margin:12px 18px;font-size:13px;font-weight:500;color:#8d9187;letter-spacing:.06em}
.booth-map .map-aisle{position:absolute;left:61%;width:4%;top:50%;text-align:center;writing-mode:vertical-rl;letter-spacing:.7em;color:#b3b5ab;font-size:13px;padding-left:8px}.booth-map .map-entry{left:61%;bottom:10px;font-size:13px;color:#90978b}.booth-map .map-caption{font-size:13px}
.table-setting.booth-table{grid-template-columns:repeat(var(--seat-columns),minmax(0,1fr))}
.live-map .map-setting.booth-table{gap:8px 6px;padding:13px 10px;background:transparent;border:1px solid transparent;box-shadow:none;isolation:isolate;border-radius:24px;align-content:normal}
.live-map .map-setting.booth-table:before,.live-map .map-setting.booth-table:after{content:'';position:absolute;z-index:-1;left:0;right:0;height:88px;border:8px solid #c8cbc4;background:#e1e3dc;border-radius:23px 23px 7px 7px;pointer-events:none}
.live-map .map-setting.booth-table:before{top:0;border-bottom:0}.live-map .map-setting.booth-table:after{bottom:0;border-top:0;border-radius:7px 7px 23px 23px}
.live-map .map-setting.booth-table.is-empty .seat-station{display:block}.live-map .map-setting.booth-table.is-empty{min-height:0}
.booth-table .chair-pair{gap:7px}.map-setting.booth-table .customer-chair{border-radius:10px;border:1px solid var(--guest-edge);border-top:5px solid var(--guest-edge);border-bottom:2px solid var(--guest-edge);min-height:80px;box-shadow:0 3px 0 #bac7d255;padding:7px}
.map-setting.booth-table .bottom-seat .customer-chair{border-top-width:2px;border-bottom-width:5px}.map-setting.booth-table .cast-chair{min-height:74px;border-radius:14px 14px 6px 6px;border-bottom-width:4px;box-shadow:0 3px 0 #c9bdd733}
.map-setting.booth-table .customer-chair.vacant{min-height:48px;background:#e5e7df;border-color:#c8cdc1;box-shadow:0 3px 0 #c6cbbe35;opacity:1;color:#a3ab9b;border-style:solid;border-top-width:5px}
.map-setting.booth-table .customer-chair.vacant>span{color:#a3ab9b;font-size:15px;font-weight:400;letter-spacing:.1em}
.map-setting.booth-table .cast-chair.empty{min-height:23px;height:23px;width:70%;justify-self:center;align-self:center;background:#eceee7;border:1px solid #d2d7cb;border-bottom:3px solid #cfd4c7;border-radius:10px 10px 4px 4px;opacity:.6;box-shadow:none;padding:0}
.live-map .map-setting.booth-table.is-empty:before,.live-map .map-setting.booth-table.is-empty:after{background:#eaebe5;border-color:#d7dad1;height:67px}
.live-map .map-setting.booth-table.is-empty>.furniture-table.map-table{background:#efeee8!important;border:2px solid #d9d7cc!important;border-bottom:5px solid #d1cfc3!important;border-radius:23px;min-height:102px;padding:14px 16px;box-shadow:0 3px 0 #d2d0c320;color:#91958b!important}
.booth-table .table-topline{display:flex!important;justify-content:space-between!important}
.booth-table .table-number-plate,.live-map .booth-table.is-empty .table-topline>.table-number-plate{display:inline-grid;place-items:center;min-width:48px;min-height:42px;border:1.5px solid currentColor;border-radius:8px;padding:4px 8px;font-size:25px;line-height:1;font-weight:700;letter-spacing:.01em;background:#ffffff35}
.live-map .booth-table.is-empty .table-topline>.table-number-plate{font-size:23px;font-weight:500;color:#94968d;border-color:#b9bbae;background:#f5f5ef}
.booth-table .empty-table-state{font-size:15px!important;letter-spacing:.12em;color:#aaaD9f!important;font-weight:400}
.live-map .map-setting.booth-table.is-empty.selected>.furniture-table.map-table{outline:none}.live-map .map-setting.booth-table.is-empty.selected{border-color:#c6ccbf}
.live-map .map-setting.booth-table.is-occupied.selected{border-color:#a0a89a;box-shadow:0 0 0 2px #bcc1b42a}
.live-map .map-setting.booth-table.stay-due{border:3px solid var(--extension-edge);background:#fae9e240;box-shadow:0 0 0 4px #b94c3720}
.live-map .map-setting.booth-table.drag-over{outline:3px solid var(--guest-ink);outline-offset:4px}
.live-map .map-setting.booth-table.is-empty.drag-over>.furniture-table.map-table{background:var(--guest-bg)!important;border-color:var(--guest-edge)!important;color:var(--guest-ink)!important}
.detail-setting.booth-table .customer-chair.vacant{background:#f0f1eb;border-color:#d4d8cd;color:#9ca592;opacity:.6}.detail-setting.booth-table .cast-chair.empty{background:#f0f1eb;border-color:#d4d8cd;opacity:.4}
/* Six-person intake stays fixed in place as each person is added. */
.quick-intake-rows{grid-template-rows:repeat(6,62px);gap:6px}.quick-person{padding:7px 10px}.quick-intake-caption{margin-bottom:8px}.quick-intake-add{margin-top:8px}
@media(max-width:700px){
 #modal.quick-intake-modal{max-height:calc(100dvh - 12px);max-width:calc(100vw - 16px)}
 .quick-intake-modal .modal-heading{padding:9px 12px}.quick-intake-modal .modal-heading h2{font-size:22px}.quick-intake-modal .modal-body{padding:8px 12px}.quick-intake-modal .modal-footer{padding:8px 12px}
 .quick-intake-rows{grid-template-rows:repeat(6,78px);gap:5px}.quick-person{grid-template-rows:38px 28px;gap:4px 6px;padding:4px 8px}.quick-type button{min-height:38px;padding:4px}.quick-remove{min-height:38px}.quick-cast,.quick-detail{min-height:28px;height:28px;padding:2px 6px;font-size:14px}.quick-intake-caption{font-size:14px;line-height:1.4;margin-bottom:7px}.quick-intake-add{height:42px;margin-top:7px}.quick-intake-add .btn{min-height:40px}.quick-intake-add>span{font-size:12px}
 .detail-setting.booth-table.seats-6{padding:12px 8px;gap:8px 5px}.detail-setting.seats-6 .seat-station{padding:5px}.detail-setting.seats-6 .cast-identity{flex-wrap:wrap}.detail-setting.seats-6 .customer-heading{gap:3px}.detail-setting.seats-6 .customer-identity b{font-size:15px}.detail-setting.seats-6 .person-symbol{width:20px;height:28px}.detail-setting.seats-6 .seat-actions{flex-wrap:wrap}.detail-setting.seats-6 .seat-actions .btn,.detail-setting.seats-6 .seat-customer-info .btn{padding:6px;font-size:14px}.detail-setting.seats-6 .chair-points{font-size:12px}
}

.booth-map .map-caption{display:none}.booth-map .map-zone>span{position:absolute;top:-21px;left:14px;margin:0;padding:0 5px;background:#f5f4f0;font-size:13px}

.reception-mini-map [data-table=T01]{grid-column:1;grid-row:1}.reception-mini-map [data-table=T02]{grid-column:2;grid-row:1}.reception-mini-map [data-table=T03]{grid-column:1;grid-row:2}.reception-mini-map [data-table=T04]{grid-column:2;grid-row:2}.reception-mini-map [data-table=T05]{grid-column:3;grid-row:1;margin-left:10px}.reception-mini-map [data-table=T06]{grid-column:3;grid-row:2;margin-left:10px}.reception-mini-map strong{border:1px solid currentColor;border-radius:6px;padding:3px 5px;justify-self:center}

/* v0.14: reception is one form; controls stay in the footer as people are added. */
#modal.quick-intake-modal[open]{display:flex;flex-direction:column;width:1100px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 24px);overflow:hidden}
.quick-intake-modal .modal-heading{padding:10px 18px;flex-shrink:0;position:static}
.quick-intake-modal .modal-heading h2{font-size:26px;margin:0}
.quick-intake-modal .modal-body{padding:10px 16px;overflow:auto;min-height:0;overscroll-behavior:contain}
.quick-intake-modal .quick-intake-caption{font-size:16px;margin:0 0 10px;color:#5c6570;line-height:1.5}
.quick-intake-modal .quick-intake-rows{display:grid;grid-template-rows:repeat(6,92px);gap:6px;margin:0}
.quick-intake-modal .quick-intake-rows.is-editing{grid-template-rows:92px}
.quick-intake-modal .quick-person{display:grid;grid-template-columns:36px 138px 148px minmax(155px,1fr) minmax(170px,1fr) 38px;grid-template-rows:40px 34px;gap:6px 8px;padding:5px 8px;align-items:stretch;background:#f8fbfd;border-color:#ccdbe6}
.quick-intake-modal .quick-person-number{grid-column:1;grid-row:1/3;align-self:center;font-size:20px;color:var(--guest-ink)}
.quick-intake-modal .quick-type{grid-column:2;grid-row:1;gap:4px}
.quick-intake-modal .quick-type button{min-height:40px;font-size:17px;padding:4px;border-radius:7px;color:var(--guest-ink);border-color:#b6cbd9}
.quick-intake-modal .quick-type .selected{background:var(--guest-bg);border:2px solid var(--guest-ink)}
.quick-intake-modal .quick-cast{grid-column:3;grid-row:1;width:100%;max-width:none;height:40px;min-height:40px;font-size:16px;padding:5px 7px}
.quick-intake-modal .quick-feature{grid-column:4;grid-row:1}
.quick-intake-modal .quick-note{grid-column:5;grid-row:1}
.quick-intake-modal .quick-remove{grid-column:6;grid-row:1;min-width:38px;min-height:40px;height:40px;background:#eef1f3;color:#596672}
.quick-intake-modal .quick-feature,.quick-intake-modal .quick-note,.quick-intake-modal .quick-label{min-width:0;width:100%;height:40px;min-height:40px;font-size:16px;padding:7px 9px;border:1px solid #bdcdd9;border-radius:7px;background:#fff;color:#263f54}
.quick-intake-modal input::placeholder{color:#697988;opacity:1}
.quick-intake-modal .quick-colors{grid-column:2/4;grid-row:2;display:flex;gap:5px}
.quick-intake-modal .quick-color{display:flex;justify-content:center;align-items:center;flex:1;gap:5px;border:1px solid #bdcdd9;border-radius:7px;padding:3px 5px;min-height:34px;background:#fff;font-size:15px;color:#3a4b5b}
.quick-intake-modal .quick-color i{height:16px;width:16px;flex-shrink:0;border:1px solid #8393a4;border-radius:50%}
.quick-intake-modal .quick-color[aria-pressed=true]{border:2px solid var(--guest-ink);background:var(--guest-bg);font-weight:750;box-shadow:0 0 0 1px #426d8b22}
.quick-intake-modal .quick-customer{grid-column:4;grid-row:2;min-width:0;width:100%;height:34px;min-height:34px;font-size:15px;padding:4px 7px;color:#4d5f70}
.quick-intake-modal .quick-label{grid-column:5;grid-row:2;height:34px;min-height:34px;font-size:15px;padding:4px 9px}
.quick-intake-modal .modal-footer{position:static;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}
.quick-intake-modal .quick-intake-add{height:auto;margin:0;gap:12px}
.quick-intake-modal .quick-intake-add>strong{font-size:26px;width:60px;white-space:nowrap}
.quick-intake-modal .quick-intake-add strong small{font-size:16px}
.quick-intake-modal .quick-intake-add .btn{min-width:144px;font-size:18px;min-height:46px;padding:8px 12px;background:var(--guest-bg);color:var(--guest-ink);border-color:var(--guest-edge)}
.quick-submit-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.quick-intake-modal .quick-submit-actions .btn{min-height:46px;font-size:18px;padding:8px 14px}
.quick-intake-modal .quick-submit-actions .primary{min-width:170px;background:var(--guest-ink);border-color:var(--guest-ink)}
.quick-intake-modal input:focus-visible,.quick-intake-modal select:focus-visible{outline:3px solid #3979b8;outline-offset:1px}
.dispatch-panel .roster-arrival{width:100%;min-height:58px;font-size:24px;font-weight:750;background:var(--guest-ink);border-color:var(--guest-ink);margin:0 0 14px}

/* Counts have distinct guest/cast colors and remain readable when the floor is empty. */
.floor-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.floor-summary .floor-count{display:grid;grid-template-columns:auto auto;column-gap:18px;align-items:center;min-width:172px;border:1px solid var(--cast-edge);border-radius:12px;padding:10px 14px;background:var(--cast-bg);color:var(--cast-ink)}
.floor-summary .floor-count>span{font-size:16px;font-weight:650}
.floor-summary .floor-count>strong{display:block;font-size:44px;font-weight:780;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.floor-summary .floor-count>strong small{font-size:18px;margin-left:5px;font-weight:500;letter-spacing:0}
.floor-summary .floor-count.guest-count{background:var(--guest-bg);color:var(--guest-ink);border-color:var(--guest-edge)}
.floor-summary .pending-count{grid-column:1/-1;font-size:14px;margin-top:3px}
.floor-summary .serving-count{font-size:16px;color:#657168;white-space:nowrap}
.floor-summary .serving-count b{font-size:23px;color:#49544c}
.booth-table .table-number-plate,.live-map .booth-table.is-empty .table-topline>.table-number-plate{font-size:31px;line-height:1.1;font-weight:750;min-width:94px;min-height:49px;padding:6px 10px;white-space:nowrap;color:#514c40;border-color:#928a76;background:#faf8f0}
.live-map .booth-table.is-empty .table-topline>.table-number-plate{font-size:30px;color:#666b60;border-color:#aeb3a6;background:#f3f3eb}
.booth-table .furniture-table .table-score,.booth-table .furniture-table .table-timing>span{font-size:17px;line-height:1.4}
.booth-table .furniture-table .table-score b{font-size:24px}
.booth-table .furniture-table .occupancy-state{font-size:19px;font-weight:700}
.booth-table .furniture-table .table-headcount b{font-size:30px}
.booth-table .furniture-table .table-timing b{font-size:25px}
.detail-heading h2{font-size:30px}
@media(max-width:1100px){
 .operations-heading{flex-wrap:wrap;gap:16px}.operations-heading .title-actions{max-width:none;margin-left:auto}
 #modal.quick-intake-modal[open]{max-width:calc(100vw - 20px)}
 .quick-intake-modal .quick-person{grid-template-columns:32px 116px 130px minmax(140px,1fr) minmax(140px,1fr) 36px;column-gap:6px}
 .quick-intake-modal .quick-type button{font-size:16px}
}
@media(max-width:800px){
 #modal.quick-intake-modal[open]{max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px)}
 .quick-intake-modal .modal-heading{padding:8px 12px}.quick-intake-modal .modal-body{padding:8px 10px}
 .quick-intake-modal .quick-intake-rows{grid-template-rows:repeat(6,232px);gap:8px}
 .quick-intake-modal .quick-intake-rows.is-editing{grid-template-rows:232px}
 .quick-intake-modal .quick-person{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 36px;grid-template-rows:40px 40px 34px 40px 34px;gap:6px;padding:6px}
 .quick-intake-modal .quick-person-number{grid-column:1;grid-row:1;font-size:18px}
 .quick-intake-modal .quick-type{grid-column:2/4;grid-row:1}
 .quick-intake-modal .quick-remove{grid-column:4;grid-row:1}
 .quick-intake-modal .quick-cast{grid-column:1/3;grid-row:2}
 .quick-intake-modal .quick-feature{grid-column:3/5;grid-row:2}
 .quick-intake-modal .quick-colors{grid-column:1/5;grid-row:3}
 .quick-intake-modal .quick-note{grid-column:1/3;grid-row:4}
 .quick-intake-modal .quick-customer{grid-column:3/5;grid-row:4;height:40px;font-size:14px}
 .quick-intake-modal .quick-label{grid-column:1/5;grid-row:5;display:block;height:34px;min-height:34px}
 .quick-intake-modal .modal-footer{padding:8px 10px;flex-wrap:wrap;gap:8px}
 .quick-intake-modal .quick-intake-add{width:100%;justify-content:space-between}
 .quick-intake-modal .quick-intake-add .btn{min-height:44px;flex:1}
 .quick-intake-modal .quick-submit-actions{width:100%}.quick-intake-modal .quick-submit-actions .btn{flex:1;min-width:0;font-size:17px;min-height:46px}
 .floor-summary{gap:8px}.floor-summary .floor-count{min-width:0;flex:1;padding:10px;column-gap:8px;grid-template-columns:1fr}.floor-summary .floor-count>strong{font-size:42px}.floor-summary .floor-count>span{font-size:16px}.floor-summary .serving-count{flex-basis:100%;font-size:15px}
 .dispatch-panel.customer-mode{max-height:410px}.dispatch-panel .roster-arrival{min-height:54px;font-size:23px;margin-bottom:10px}
 .customer-mode .reception-roster{max-height:215px}
}
