I'd say, there should be no hard coded colors at all in the css. If every color is picked from one of the color palette, you do not have to change one single template if you just want to change colors, which would be good for usability.
I'd say all the colored elements should be available for adjustment in style properties. But that will increase it's size and complexity for 150%. I've always said that there should be 'Simple' and 'Advanced' mode in style properties. Beginners won't need all of the style properties, but developers will significantly benefit from vastly exposed settings and options. Especially if we could tweak JS variables.