styling a file input doesn't work the same in different browsers, most of them will flat out ignore the file field css you apply.
There are several ways to work around it using javascript and jquery to hide the file field and show an overlay of your own button and a text file instead. See this thread at stack overflow for a few different methods of how to accomplish this:
http://stackoverflow.com/questions/572768/styling-an-input-type-file-button