con 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?
Puoi usare un classe.. uno stile si può applicare ad un elemento ad un classe e ad un id

poi non so come dire che se la scritta dentro e' piu lunga prenda la dimensione della scritta
width: auto e height: auto dovrebbero permettere alla dimensione del button di adattarsi

il tuo problema reale, per come la vedo io, è quella di garantire una larghezza minima.