Two thoughts....She is in the crate too long and HAS to go, obviously she has no place to go but in the crate (no, dogs generally do not like to mess their den). I've done housetraining two different ways on two seperate dogs..Remember, nothing is written in stone, and all dogs react differently and have different time frames..3months is very young to be housetrained or hold it very long, especially if she is tiny.
#1. When I crate trained one of my Yorkies who was 3lbs. I set my alarm clock and got up in the middle of the night to take her outside (or in your case if you are using a peepad. Don't make a big deal, just take her out of the crate and set her on the grass or pad or whatever, give her time to see if she has to pee/poo. Then with no fanfare put her back in the crate and go back to bed. Next, if you are home on weekends try to work with the whole crate thing. Put her in there after play time and set a timeer for 1hr and take her out to go, continue doing this throughout the day. Maybe rent yourself some movies and make a day of it!
#2. My next Yorkie, I did something unconventional, but it worked. He was so tiny so I decided I would try the litter box training, only the actual litter didnt work (He didn't want to step on it or he ate it) so I got a small cat box and shaved down the one side so he could step into it. The I cut the peepad to fit into the box. I bought a little larger kennel to where I could fit the littlerbox in the back of the kennel. For me, it worked like a charm, he would do his business in the litterbox. I did not get up in the middle of the night, this also helped when I was at work and he didn't have to hold it. Eventually, I started giving him run of the kitchen with the litterbox and he used it faithfully 99% of the time. Sometimes the poo would hit the outside of the box, but I think thats because most dogs move around when they want to poo, but generally he hit the mark. After about 7months we went on Vacation and I took the litterbox with. On Vac. the dogs could be outside alot (the door was open so they could run in/out). Suddenly he would not touch that litterbox. When we got home, I tried to get him to use his box and he would just jump out of it and from then on he would only go outside with the other dogs to do his stuff. It was like he said..Done with the box. He has only had 2 accidents in my house over the past year and those were my fault.
These are just suggestions that did work for me. Sometimes you have to be creative and find what works for both of you. If you have a tiny yorkie and he/she is fully housetrained consider it lucky, they are difficult little buggers to train, but with persistance, patience it can be done. You also have to make sacrifices (ie: getting up in the middle of the night, trying to get home at lunch time etc). Remember, she isn't messing in the house to peeve you off, she is like a young toddler trying to learn to use the potty. Just like human babies some catch on immediately, some seem to take forever..then one day....wella..