Well this is what worked for me sometimes
Home time, I would say 30 minutes earlier than when I wanted them home, they would push for later, so we'd compromise in the middle, meant I usually got the time I wanted without them realising...so if I wanted them home at 9.30, I would say 9pm, they would push for 10 we'd compromise on 9.30, first point to me 
Money - does she get pocket money? No chores no money. If she does, maybe look at increasing it slightly, Extra jobs to earn more? (If you can afford it of course, if not then just be firm and say NO!) or could you get her a bus pass? When the money runs out, no more but at least you know she can go out/get home. Mine needed a bus pass for school, which the LA could provide but I preferred to buy one myself as there were no restrictions on when it could be used.
As for the gobbiness, honestly pick your battles, I would ignore some things, but I wouldn't tolerate, nastiness or swearing, I found laughing was good for making them storm off to their room - gave us both a bit space to calm down.
These worked, for me, most of the time but I'm sure other parents have different methods that might work better. It does get better though, eventually, my worst one was my DS, sometimes I can't believe the stroppy teen I had has turned out to be a really nice young man (he's 22 now) mind you sometimes even he's shocked by how cheeky he was 
I think what I'm trying to say is a little compromise can go a long way (from both of you) you won't win every battle, but hopefully you'll win the war!
Good luck, it's not always easy 