CSS does work, period. You never wrote the property
background-color (
http://www.w3schools.com/cssref/pr_background-color.asp[
^]), that's it. If some other styles are missing, this is because you did not define it, too.
Note that such use of CSS is not very fruitful; you can define the styles for only one HTML element. But more typically, such an element with so rich content has inner HTML which also need styling, so the only constructive approach would be using the
<style>
HTTP element with CSS defining styles for several target, HTML elements and/or classes.
—SA