Puoi usare un classe.. uno stile si può applicare ad un elemento ad un classe e ad un idcon i css andrebbe bene....ma lo do all'input? cosi anche input type ="text" diventa di quelle dimensioni..e non va bene....come lo imposto solo ai bottoni?
width: auto e height: auto dovrebbero permettere alla dimensione del button di adattarsipoi non so come dire che se la scritta dentro e' piu lunga prenda la dimensione della scritta
il tuo problema reale, per come la vedo io, è quella di garantire una larghezza minima.