Giving girls boys' names

Why is it acceptable to give a girl a boy's name, but not the reverse?

I know girls named Michael, Nathan and Luca, but no boys named Elisabeth or Julia.

Every unisex name I've looked up - including Ashley, Jamie, Riley, Jordan, Leslie, Taylor, Charlie, Rowan, Ryan, Courtney, Leigh, Frances - originated as a boy's name.

And 'feminine' boys' names like Kelly and Stacey started as boys' names but became so widespread as girls' names that most people are unaware of their origins.

Why the double standard? Why do girls co-opt boys' names, but not the other way around? My theory is that people generally prefer the connotations of boy names over girl names, because society values masculinity over femininity. Subconsciously, people assume that giving a girl a boy's name confers an advantage. It's understood that a daughter named Michael will be strong and successful, but a son named Melissa will be soft and embarrassing.

I wonder if the current trend of girls named Ryan, cute though it may be, is evidence of society's underlying sexism. It's not the parents I'm calling sexist, it's the subconscious cultural underpinnings of why I'd sooner name my daughter Pete than my son Martina.