So, IIRC "девушка" can mean both "girl" (of any age) or "girlfriend" (I'm not entirely sure of this so feel free to call me out), but what about 'подруга'? Can I safely replace 'девушка' with 'подруга'? Which of these should I use if I'm talking about a coworker of mine?
Подруга is a feminine of "a friend",
друг and can mean, depending on context, both: either just a friend or a girlfriend (though this is figurative and obsolete).
Девушка is a girl from the age of puberty to the womanhood. The other meaning is
girlfriend indeed but keep in ming that this can not be used to talk about dating someone who is in her, say, forties (which can be easily done in English) - this will sound slightly off.
Девочка is just a child girl. Sometimes woman recognize themselves as
девочки ("ну мы же девочки, нам можно плакать") but this is nothing but a figure of speech. The other meaning would be someone close to english
babe ("моя хорошая девочка").
These words have different meaning and while they are related, they are by no means interchangeable.
As a native Russian speaker, I wanted to drop a couple of comments...
Девушка means "girlfriend" if and only if it comes with a possessive (pro)noun, for example: "моя девушка", "Васина девушка", "Девушка брата".
Regarding the obsolescence of
подруга with the semantics of "girlfriend", I would rather disagree. A wise and cautious man keeps the word in his vocabulary. He would use it when he is not yet comfortable calling her "моя девушка". She will be somewhat unhappy to hear you call her "подруга", but may actually respect you more. That basically builds another barrier on her way to your resources.