/* Bookings Desk: layout helpers and the table timeline. Shell tokens are used, never redefined. */
.bwd-stack{display:grid;gap:18px;align-content:start}
.bwd-mt{margin-top:18px}
.bwd-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.bwd-field--inline{min-width:150px}
.bwd-field--inline select{min-height:36px;padding:6px 10px}
.bwd-hint-line{font-size:12px;color:var(--bw-ink-3)}
.bwd-panel-body form+*{margin-top:14px}
.bwd-panel-body form>*+*{margin-top:12px}

/* Table timeline: tables as rows, 15-minute columns. Column count is set by the script. */
.tl{display:grid;grid-auto-rows:minmax(44px,auto);font-size:12px;width:100%;min-width:max-content;border:1px solid var(--bw-rule);border-radius:10px}
.tl-head,.tl-table{position:sticky;left:0;z-index:2;background:var(--bw-surface)}
.tl-head{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--bw-ink-3);padding:8px;border-bottom:1px solid var(--bw-rule);border-right:1px solid var(--bw-rule);display:flex;align-items:center}
.tl-time{font-size:10.5px;color:var(--bw-ink-3);padding:8px 3px;border-bottom:1px solid var(--bw-rule);border-left:1px solid var(--bw-mineral-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:visible}
.tl-time.half{border-left-color:var(--bw-rule)}
.tl-room{grid-column:1/-1;padding:6px 8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--bw-petrol);background:var(--bw-mineral);border-bottom:1px solid var(--bw-rule)}
.tl-table{padding:6px 8px;border-bottom:1px solid var(--bw-rule);border-right:1px solid var(--bw-rule);font-weight:600;display:flex;flex-direction:column;justify-content:center;line-height:1.3}
.tl-table small{font-weight:400;color:var(--bw-ink-3)}
.tl-room span{position:sticky;left:8px;display:inline-block}
.tl-cell{border-bottom:1px solid var(--bw-rule);border-left:1px solid var(--bw-mineral-2)}
.tl-cell.half{border-left-color:var(--bw-rule)}
.tl-book{display:flex;flex-direction:column;justify-content:center;gap:1px;text-align:left;margin:4px 2px;padding:3px 8px;border-radius:8px;background:var(--bw-petrol-l);border:1px solid #cfe0e3;color:var(--bw-ink);line-height:1.25;min-height:34px;overflow:hidden;z-index:1}
.tl-book b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-book span{font-size:10.5px;color:var(--bw-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-book[data-status=seated]{background:var(--bw-ok-l);border-color:#c9e6d6}
.tl-book[data-status=offered]{background:var(--bw-warn-l);border-color:#efd8bd}
.tl-book[data-status=no-show]{background:var(--bw-bad-l);border-color:#efcaca;color:var(--bw-bad)}
.tl-book[data-status=no-show] b{text-decoration:line-through}
.tl-book[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--bw-petrol)}

/* Rule explanations, nearby times, proposal lines */
.rule-list{list-style:none;font-size:12.5px}
.rule-list li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--bw-rule);flex-wrap:wrap}
.rule-list li:last-child{border-bottom:0}
.rule-list .tid{font-weight:600;min-width:34px}
.rule-list .why{flex:1;min-width:160px;color:var(--bw-ink-2)}
.nearby{display:flex;gap:8px;flex-wrap:wrap}
.proposal-title{display:block;margin-bottom:6px}
.proposal-lines{list-style:none;font-size:13px}
.proposal-lines li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--bw-rule)}
.proposal-lines li:last-child{border-bottom:0;font-weight:700}
.wl-item{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--bw-rule)}
.wl-item:last-child{border-bottom:0}
.wl-item .wl-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
@media(max-width:700px){.bwd-inline{width:100%}.bwd-field--inline{flex:1;min-width:120px}}
