This way, styling can be controlled controlled from the CMS. Is there something wrong with this idea?

Is there a more elegant way to control style from the CMS? Ideally, I would have a CSS widget where I could input styles directly, and the content would be rendered as an external style sheet. I'm not sure how to do that though.

I have been doing this by creating an html widget and putting my styles in that, but the problem is that the CSS isn't rendered as an external document in the head, which bothers me.