/* Booked guests occupy a low band; outlined squares remain available member seats. */
.booking-times-view .bk-slot-main .bk-guest-band,
.booking-times-view .bk-owned-main .bk-guest-band {
 display:flex;align-items:center;justify-content:center;align-self:center;
 width:100%;min-width:0;max-width:none;height:24px;min-height:0;aspect-ratio:auto;
 padding:0 2px;margin:0;border:0;border-radius:3px;background:transparent;color:#625a48;
 font-size:13px;font-weight:700;white-space:nowrap;line-height:1.2;gap:3px;
}
.booking-times-view .bk-slot-main .bk-pending-band,
.booking-times-view .bk-owned-main .bk-pending-band {background:#f0efeb;color:#70716b;font-size:10px}
.booking-times-view .bk-owned-main .bk-occupants {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:256px;width:100%}
.booking-times-view .bk-owned-main .bk-avatar {width:100%;height:auto;aspect-ratio:1;max-width:48px}
.booking-times-view .bk-slot-main .bk-avatar {grid-row:1}
.booking-times-view .bk-slot-main .bk-guest-band {grid-row:1}
/* A single guest uses one seat column: stack the label to keep it clear of adjacent faces. */
.booking-times-view :is(.bk-slot-main,.bk-owned-main) .bk-guest-band[data-seats="1"]:not(.bk-pending-band) {flex-direction:column;height:34px;padding:0;gap:0}
/* Reference layout: checkbox at the left edge, two wide shallow tee buttons. */
.booking-times-view .bk-slot-toolbar {height:44px;padding:0 10px 0 0;gap:12px;overflow:visible}
.booking-times-view .bk-slot-toolbar>label {margin-left:-54px;min-width:136px;font-size:15px;gap:7px;min-height:44px;cursor:pointer}
.booking-times-view .bk-slot-toolbar input {width:22px;height:22px;flex:none}
.booking-times-view .bk-sides {flex:1;min-width:0;max-width:none;border-radius:4px}
.booking-times-view .bk-sides button {flex:1;width:auto;min-height:30px;height:30px;padding:2px;font-size:14px;line-height:1.2}
.booking-times-view .bk-hours {padding-top:44px}
.bk-member-guest-option {display:flex;align-items:center;gap:8px;font-size:13px;padding:10px 0;color:#2d3538}
.bk-member-guest-option input {width:18px;height:18px;accent-color:#99865b;flex:none}
.bk-member-guest-option small {display:block;font-size:11px;line-height:1.5;color:#716d62;margin-top:3px}
@media(min-width:1000px){
 .booking-times-view .bk-slot-toolbar>label {margin-left:0;min-width:172px;font-size:16px}
 .booking-times-view .bk-slot-toolbar {padding:0 12px;gap:20px}
 .booking-times-view .bk-sides {max-width:380px}
 .booking-times-view .bk-slot-main .bk-guest-band {height:22px}
}
@media(max-width:350px){.booking-times-view .bk-slot-toolbar>label{margin-left:-54px;min-width:128px;font-size:14px}.booking-times-view .bk-slot-toolbar{gap:5px}.booking-times-view .bk-slot-main .bk-guest-band:not(.bk-pending-band){font-size:12px}}

/* Keep the introducing member separate from the guest count, within the existing row. */
.booking-times-view .bk-introduced-party {grid-column:1 / span 4;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:4px;min-width:0;width:100%}
.booking-times-view .bk-introducer {grid-column:1 / span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:4px;min-width:0;width:100%;min-height:44px;padding:0;border:0;background:none;color:#2d3538;text-align:left}
.booking-times-view .bk-introducer-avatar {display:grid;place-items:center;justify-self:center;width:100%;max-width:44px;height:auto;aspect-ratio:1;padding:6px;overflow:hidden;border:1px solid #c4c6c7;border-radius:3px;background:#f1efe9;color:#607992}
.booking-times-view .bk-introducer-avatar svg {width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}
.booking-times-view .bk-introducer-avatar:has(.member-portrait) {padding:0}
.booking-times-view .bk-introducer-avatar .member-portrait {width:100%;height:100%;border-radius:0}
.booking-times-view .bk-introducer-label {display:grid;gap:2px;min-width:0;line-height:1.3}
.booking-times-view .bk-introducer-label small {font-size:10px;color:#756440;font-weight:600}
.booking-times-view .bk-introducer-label strong {font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booking-times-view .bk-slot-main .bk-introduced-party>.bk-guest-band {grid-column:3 / span 2;width:100%;min-width:0}
@media(max-width:999px){
 .booking-times-view .bk-slot>time {flex:0 0 48px;min-width:48px}
}
@media(max-width:350px){
 .booking-times-view .bk-slot>time {flex-basis:42px;min-width:42px}
 .booking-times-view .bk-introducer-avatar {padding:4px}
 .booking-times-view .bk-introducer-label strong {font-size:10px}
}
@media(min-width:1000px){
 .booking-times-view .bk-introduced-party,.booking-times-view .bk-introducer {column-gap:12px}
 .booking-times-view .bk-introducer-avatar {width:42px;height:42px;max-width:42px}
}
