There is a discussion going on about this on this thread. It may help.
https://www.backyardchickens.com/forum/viewtopic.php?id=495232
It is more detailed in the other thread, but the basic concept is that the egg shell base color is either white or blue. The brown is added on as a coating. Look at an egg from the inside after you remove the membrane and you can see the base shell color.
Blue is dominant over white as a base for the shell color. The amount of brown the hen puts on top of the base color determines how brown or maybe green it is.
So if the hen lays a green egg, she has the base blue gene. She may be true to the blue gene, meaning both copies of that gene are blue, or she may be split and have one blue and one white. If she is split one blue and one white and the rooster is pure for white, meaning no blue genes, half the offspring will have a blue and white and half will be pure for white, at least as the base color.
There are different genes that determine how mush brown, if any, goes on the egg over the base color. These different genes can be inherited from either parent and how they combine will give you anything from a white, ivory, cream, dark chocolate brown, or anything in beteween, assuming a white base shell color. If the base shell color is blue, you can get anything from blue to many shades of green.
So the dominance is not blue versus brown but blue versus white. Brown just determines shade.
Hope that makes sense.