Connect the grid to the dataset to change the background of the grid

data = Dataset[{[{[{[{<|"userId" -> 5346, "A3Grades" -> 56.25`,
"ColorCode" -> "Red", "totalpointsA3" -> 36,
"Passingpoints" -> 38.4`, "Average points" -> 47.285714285714285`,
"Pointsreqdforpassing" -> 2.39999999999999998`,
"pointsforabvavg" -> 0.` |>, <|"userId" -> 5347
"A3Grades" -> 78.125`, "ColorCode" -> "Green",
"totalpointsA3" -> 50, "Waypoints" -> 38.4`,
"AveragePoints" -> 47.285714285714285`,
"Pointsreqdforpassing" -> 0.`,
"pointsforabvavg" -> 0.` |>, <|"userId" -> 5349,
"A3Grades" -> 73.4375`, "ColorCode" -> "Yellow",
"totalpointsA3" -> 47, "Waypoints" -> 38.4`,
"AveragePoints" -> 47.285714285714285`,
"Pointsreqdforpassing" -> 0.`,
"pointsforabvavg" -> 0.2857142857142847` |>}];

I want to create a grid, such that the color of its background changes according to the ColorCode data column. I've tried the following solution and some other workarounds, but I did not know how to make the exact association:

Grid[{{"Color", SpanFromLeft, SpanFromLeft}, {"Code", SpanFromLeft, SpanFromLeft}}, Frame -> All, Background -> {{}, data[If[#ColorCode == "Red", Red, LightGray] &]}]

Can someone help?