some of this CSS can probably be more generic in a class; I'm quite sure a more general "user input" element (think reusable object components) could be extracted from this :)

The positioning is of course specific to this element, but the other styles probably not.