You know what, I ran into exactly this issue about a week ago.
Technically browsers can choose whether or not to support CSS attributes on FORM ELEMENTS - HOWEVER - Mozilla and Opera currently do not do so consistently.
BOTH make the following claim:
"Form elements are just that - form elements, and you cannot make them look like anything else besides form elements."
This is the reasoning behind their currenly (sparse) support for styling form elements.
However, both say that in their next versions they will be providing full support for this, simply because the W3 specs do not explicitly prohibit styles on those elements (they don't provide FOR them, either, by the way, which is why they are not currently consistenly supported).
Edited to add:
I should mention that what they DON'T support are things like text and background colors on the elements. For example, Opera doesn't support background colors in <option> tags in a <select> list. They DO however, support things like defining the box-model behavior of the element; it's padding, margins, borders, etc.