#guest-plan{display:block;min-height:0;max-height:none;padding:0;overflow:visible}
.seating-level{padding:12px 16px;background:var(--pp-bg,#131116);min-width:0;overflow:visible}
.seating-level+.seating-level{border-top:1px solid var(--pp-line,#39323e)}
.seating-level header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 10px}
.seating-level h3{font-family:inherit;font-size:16px;line-height:1.4;margin:0;color:var(--pp-text,#fff)}
.seating-level header span{font-size:14px;color:var(--pp-muted,#b7adbb)}
.seating-map{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.seating-landmarks path,.seating-landmarks rect{fill:var(--pp-surface,#27242d);stroke:var(--pp-line,#524956);stroke-width:3}
.seating-landmarks path:first-child{fill:none;stroke-width:4}
.seating-landmarks text{fill:var(--pp-muted,#b7adbb);text-anchor:middle;font:500 20px sans-serif}
.seating-table{cursor:pointer;outline:none}
.seating-table rect,.seating-table polygon{fill:var(--pp-surface,#211b25);stroke:var(--pp-accent,#ea5d81);stroke-width:2.5}
.seating-table text{fill:var(--pp-text,#fff);font:700 24px sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.seating-table .seating-status{font-size:16px}
.seating-table.selected rect,.seating-table.selected polygon{fill:var(--pp-accent,#ea5d81);stroke:var(--pp-text,#fff);stroke-width:4}
.seating-table.selected text{fill:var(--pp-on-accent,#1b0a13)}
.seating-table:focus-visible rect,.seating-table:focus-visible polygon{stroke:var(--pp-text,#fff);stroke-width:6}
.seating-table.unavailable{cursor:default;opacity:.65}
.seating-table.unavailable rect,.seating-table.unavailable polygon{stroke-dasharray:5 4;stroke:var(--pp-muted,#988a9e)}
.seating-table.booked rect,.seating-table.booked polygon{fill:#594414;stroke:#efca77}
.seating-table.arrived rect,.seating-table.arrived polygon{fill:#174c3a;stroke:#92d7b6}
.seating-table.booked text,.seating-table.arrived text{fill:#fff}
.space-schematic{position:absolute;inset:0;overflow:auto;overscroll-behavior-y:contain;background:var(--pp-bg,#131116)}
.space-schematic .seating-level{max-width:780px;margin:auto}
.plan-touch-hint{font-size:14px;line-height:1.5}
.space-tables button{min-height:44px!important;font-size:14px!important}
@media(max-width:1050px){body.refined-booking .reservation-layout{grid-template-columns:minmax(0,1fr)}body.refined-booking .reservation-summary{position:static;max-width:none}.reservation-summary .summary-image{display:none}}
@media(max-width:600px){.seating-level{padding:10px 6px}.seating-level h3{font-size:14px}.seating-level header span{font-size:12px}.table-choice{min-height:76px}.guest-plan-key{font-size:13px;gap:10px}}
.phone-entry{display:flex;gap:8px;min-width:0}.phone-entry select{width:112px;flex:none}.phone-entry input{min-width:0;flex:1}.optional-contact{padding:16px 0}.optional-contact summary{cursor:pointer;margin-bottom:12px}

.schematic-mode #space-view{height:auto!important;min-height:0;overflow:visible}.schematic-mode .space-schematic{position:relative;inset:auto;height:auto;overflow:visible}.schematic-mode [data-level]{display:none}.schematic-mode .space-legend{padding-top:12px}.schematic-mode .space-selection{position:sticky;bottom:0;z-index:5;background:var(--pp-surface,#211b25)}
@media(max-width:600px){.seating-table text{font-size:44px}.seating-table[data-seat="Stage1"] text,.seating-table[data-seat="Stage2"] text{font-size:36px}.seating-table .seating-status{font-size:24px;transform:translateY(12px)}}

body.embed.schematic-mode{min-height:0;height:auto}html:has(body.embed.schematic-mode){height:auto;min-height:0}
/* Keep native date inputs and assignment cards inside narrow viewports. */
.refined-booking .reservation-workspace,.refined-booking .reservation-panel,.refined-booking .reservation-summary,.refined-booking .guest-plan-shell{min-width:0;max-width:100%;box-sizing:border-box}.arrival-fields>.field{min-width:0}.arrival-fields input,.arrival-fields select{width:100%;min-width:0}@media(max-width:1050px){.arrival-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
