Eine Lösung, die mir grade einfällt:
Das position: relative ist wichtig, weil sich position: absolute sonst auf das Fenster bezieht und nicht auf das Elternelement. Nicht getestet, sollte aber tun.
Tut nicht und es ist auch klar, warum: <input /> hat als standardmäßige Breite nicht 100% sondern eine feste Breite. left und right wirken sich nur auf die Positionierung, nicht aber auf die Breite festbreiter Elemente aus.