Du setzt nur für 2 von 3 Eigenschaften, die die Gesamthöhe beeinflussen, explizit Werte.
Welches ist denn die dritte Eigenschaft, für die ich vergessen habe, einen Wert für die Höhe zu setzen?
Padding läßt Du auf Browserdefault.
OK, alles klar. Das werde ich korrigieren.
Und dann gehst Du davon aus, daß bei dem Textfeld 4 Pixel weniger Padding vorhanden sind als bei dem Button (oder wie erklärst Du sonst die unterschiedlichen height-Angaben, obwohl du gleich hohe Elemente haben willst?).
OK stimmt.
Auch das wrde ich nochmal ändern.