Agreed it should outline per browser functionality but you can fix this by placing the button inside the input and highlight the entire box.
> via overlay boxes
I don't think lightboxes are bad for login especially if the user is already in the middle of a task. Different case if the site requires a login to function correctly like Facebook.
> I enter my city and hit ‘Enter’. That triggers the search, without giving me a chance to enter my dates first.
I've been thinking through this on our hotel search engine as well. We've decided to place the search box below the date inputs because dates are integral to pricing which is a major component of the shopping decision making process. For AirBnB, it looks like prices for properties are relatively fixed so it's not as big of an issue since they know the pricing even w/o dates that are right most of the time. The issue I have is availability. If I don't enter dates, would much of what I'm seeing actually be irrelevant to my actual travel itinerary if they are actually not even available?