.booking-shell { width: min(100% - 36px, 1050px); margin: auto; padding: 42px 0 72px; }
.guest-shell { max-width: 560px; }
.booking-shell h1 { margin: 0 0 10px; font: 400 clamp(35px, 7vw, 58px)/1.25 var(--serif); }
.booking-shell h2 { font-size: clamp(23px, 5vw, 32px); }
.eyebrow { font-size: 12px; color: var(--muted); margin: 0 0 10px; }
.booking-shell form { display: grid; gap: 19px; margin-top: 25px; }
.controls { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.booking-shell label { display: grid; gap: 4px; font-size: 14px; font-weight: 600; }
.booking-shell input, .booking-shell select, .booking-shell button { font: inherit; }
.booking-shell input, .booking-shell select { min-height: 44px; padding: 7px 9px; border: 1px solid #a59987; background: #fffcf5; color: var(--ink); max-width: 100%; }
.booking-shell fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.booking-shell legend { padding: 0; margin-bottom: 7px; font-weight: 600; }
.slots { display: grid; gap: 8px; }
.slots label { display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--line); background: #fffcf5; min-height: 48px; font-weight: 400; }
.slots label:has(:checked) { border-color: var(--ink); outline: 1px solid var(--ink); }
.action { display: inline-block; border: 1px solid var(--ink); color: #fffaf1; background: var(--ink); padding: 10px 16px; cursor: pointer; text-decoration: none; }
.action:disabled { opacity: .5; cursor: default; }
.action.secondary { background: transparent; color: var(--ink); }
.notice, .pending-item { border: 1px solid var(--line); background: #fffcf5; padding: 14px 16px; margin-block: 12px; }
.pending-item p { margin: 0 0 8px; }
.pending-item button { margin-right: 8px; }
.desk-section { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 21px; }
.total { font-weight: 700; }
.table-wrap { overflow: auto; }
.booking-shell table { border-collapse: collapse; width: 100%; }
.booking-shell th, .booking-shell td { border-bottom: 1px solid var(--line); padding: 8px 10px; text-align: left; }
.booking-shell td { min-width: 72px; }
.booking-shell td:last-child { min-width: 95px; }
.booking-footer { background: transparent; color: var(--ink); padding: 25px 0 0; text-align: left; }
.booking-shell form[hidden] { display: none; }

.editor-shell { max-width: 1200px; }
.editor-grid { display: grid; grid-template-columns: minmax(230px, 310px) minmax(0, 1fr); gap: 28px; margin-top: 28px; align-items: start; }
.editor-grid form { margin: 0; padding: 20px; border: 1px solid var(--line); }
.editor-grid textarea { font: inherit; padding: 8px 9px; resize: vertical; width: 100%; border: 1px solid #a59987; background: #fffcf5; }
.editor-preview { min-width: 0; }
.editor-preview h2 { font: 600 14px var(--sans); margin: 0 0 10px; }
.editor-preview iframe { display: block; width: 100%; height: 680px; border: 1px solid var(--line); background: var(--paper); }
.notification-preview { background: #e8eee6; border: 1px solid #b7c6b3; border-radius: 12px; padding: 15px 18px; max-width: 510px; margin: 0 0 20px; }
.notification-preview strong { display: block; margin-bottom: 5px; }
.notification-preview p { margin: 0; white-space: pre-line; }
.notification-preview small { display: block; margin-top: 7px; color: var(--muted); }
@media (max-width: 720px) {
  .editor-grid { grid-template-columns: 1fr; gap: 24px; }
  .editor-preview iframe { height: 510px; }
}

.desk-jump { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-block: 18px; }
.desk-jump a { text-decoration: underline; }
.phone-slots { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
.phone-slots label:has(:disabled) { color: var(--muted); background: transparent; }
.kitchen-brief { padding: 16px 20px; margin-block: 18px; border-left: 3px solid #83745f; background: #eee7da; }
.kitchen-brief h3 { font-size: 20px; }
.kitchen-brief pre { white-space: pre-wrap; font: inherit; }
#copy-status { display: inline-block; margin-inline-start: 10px; font-size: 13px; }
