First off, I charge $6 a doz for drop cookies, but they are medium sized-I think a 1" scoop. I would probably charge an extra $1 a doz for the nuts. I absolutely think that your price is fair, BUT, you knew that she had in her mind that it would cost about $3 per dozen, or $21. In my opinion, she should have been made aware of the price before you agreed to do it. Partly, she's at fault for agreeing to buy something without knowing the cost, and her consequence was paying for it anyway. Partly, it was your fault for not telling her, and your consequence was knowing that you have an unhappy customer.
I don't see any way around having to give quotes in this line of business. With your pricing system, you are going to have to be able to estimate how much the ingredients are going to cost, and how much time it's going to take. I would think it would be easier to develop a price list to work from, but say you get a request for something you've never made before...that's when you have to tell the customer that you'll get back to them with a quote after you checked on the cost of ingredients.
Lastly, I wondered if the customer requested that you take the time and expense to package them nicely. That is time consuming and skipping it could have kept the price down for the customer.
Bottom line, the price was fair, just outside of the customer's expectations. Live and learn! You'll get better at pricing and better at communicating it. As for clients in general, if they can't find a few hours to make simple drop cookies on their own, they need to learn it's gonna cost 'em! I'll gladly pay $6 to go through a carwash, knowing full well that I could do it at home with a hose and sponge for free! Sometimes the price isn't the only consideration!