Technically the correct ranges are:
Red: 0 to 3
Orange: 3 to 7
Black: 7 to 21
Blue: 21 to 28
Green 28 and above
In practice the very last point of improvement is difficult to obtain but for *newly* created recruits, you'll notice the cutoffs (ex. you can find recruits with an attribute with 97 shown in orange but none at 98 and orange).