Now being the unforgiving soul I can be, I would have contacted management and gone right up the line of seniority until I had that woman's job or I was satisfied she had been raked over the coals severely enough that she would NEVER make that mistake again.
You made me think of a situation involving my son which was very unfortunate, and had strong repercussions for him. A kid he knew from school, but not other than to see him, came up to him and commented on the situation in a snide manner. My son, who was watching his developmentally delayed sister so I could just run into a shop without the wheelchair, says he looked at the kid, frowned and said "Who the F**K are you". The kid turned red and beat it out of there quick smart. Not big on the f word, I was still impressed that he had very calmly turned around a situation which could have been really awful, no one hurt and yet that kid will probably think twice before trying to humiliate anyone again.
Don't let the ignorant B get away with it, but also, don't give her a second more power over your feelings - your hair may be short and grey but it will grow and there is hair dye. She is ignorant and ain't nothing on the chemist's shelf to fix that!