The border on the right hand side is losing out. To be precise, I am exactly 2 pixel out.
By using a border box, "The width and height properties (and min/max properties) includes content, padding and border, but not the margin". Which is exactly what I needed as I want the 1 pixel border included in the width. My css now looks like this.
.input-full {
width: 100%;
box-sizing: border-box;
}
And now by input text box and bottons are happily aligned together.

