Is there a way to hide the browse button and only leave the text box that works in all browsers?
I have tried setting the margins but they show up different in each
You may just without making the element hidden, simply make it transparent by making its opacity to 0.
Making the input file hidden will make it STOP working. So DON'T DO THAT..
Here you can find an example for a transparent Browse operation;