En principio no se puede. Realmente es una parte del navegador. Puedes por ejemplo ocultarlo en WebKit:
Código CSS:
Ver originalinput::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
Pero por CSS no puedes realmente estilizarlo, ya que, como digo es una cuestión de cada navegador y no forma parte de ninguna especificación HTML. Si necesitas algo más personalizado, no te quedará otra que usar JavaScript. Es el prácticamente el mismo problema de estilizar los campos desplegables.