If you add a vertical alignment style to your CSS it seems to fix the issue, similar to this:
#panel > input{
vertical-align: middle;
}
DEMO - Apply vertical alignment
My guess is that the browser is trying to work out the alignment itself as best as possible and as the inputs are separate elements it can't quite get it right.
By specifying a vertical-align
though you are telling the browser how you want it so the browser doesn't have to guess. I'm only guessing off course.