Si en principio si que se puede hacer.
Los elemento de tipo texto son los más fáciles de hacer. En el caso que muestras te valdría con
box-shadow —usando inset— y
border-radius, además de
color y
background-color claro.
Para los degradados puedes usar
background: linear-gradient(...). Siempre aconsejo usar
este generador.
Para estilizar los desplegables, hay que usar JavaScript ya que los elementos
<option/> no se pueden estilizar. Creo que en Firefox si, pero es un error ya que según la especificación tienes dos o tres valores que son modificables pero nada mas.