For some odd reason, inputs seem to be having trouble interpreting flex-basis correctly. Here's a basic example showcasing how inputs don't follow the rules and extend beyond their parent block (check out this JSFiddle):
<div>
<input>
<input>
</div>
<style>
div { display: flex; width: 200px; border: 2px solid red; }
input { flex-basis: 50%; }
</style>
There's also another more detailed example.
What in the world is going on? :)