I have this fairly simple form:
If you keep the default submit button styles its width will vary from one browser to the next. This also means that the text field's width you seek is a variable.
There is no elegant way to do it, but you have the following options: