There are 2 mains reasons
1. Shift is Pending
A shift needs to in booked state and pending shifts cannot be invoiced. Read pending reasons here
2. Price is missing for given Shift
A shift will marked as red in client report if no price is found for selected Price Book. This can happen if you price is available for given time period. For example, shift finishes at 10pm but there is no price specified for Monday to Friday for that time. Fixing Pricebook and prices will fix this issue.
Note! Shift can also be red if there is nothing to invoice i.e. hours in shift is 0 as well as cost along with mileage.