- generateGroupedTimeSlots now accepts lunchProtection map parameter - Lunch-blocked slots treated as unavailable during grouping, not after - Consecutive lunch-blocked slots merge into one unavailable button - Admin BookingCreateModal already had this fix; BookingFlow now matches