My Punto is a '51 and it leaked on the drivers side only. The source of the leak was a gap between 2 panels near the drivers side bonnet hinge allowing water to capillary in and find its way into the top of the footwell.
There was a round 6mm hole just inboard of where the bonnet hinge attatches to the inner wing. The hole went through 2 panels and the water I think went in the gap between the panels. I put a stainless 6mm bolt in the hole with a nut on the bottom, then sealed all around it.
I also removed the drivers side wing and sealed every seam / joint / gap I could find using a combination of Sikaflex and brushable seam sealant from Halfords. I also used brushable seam sealant on some spot welds in the scuttle panel below the windscreen. These can be seen if you remove the wipers and grill below the windscreen. I then allowed all the sealant to dry, water tested with a hose and painted the areas sealed with a rover racing green aerosol (all they had in halfords and close enough to the colour of my car - 'tis an old fiat after all!!)
Put the wing back on and the jobs a guddun!
Let me know if you want any more info or pics (pics of the car obv - not me!!)
It seems daunting to go ripping your car to bits but it is just nuts and bolts. Take your time, use some common sense and you will be fine.
Oh yeah, after I was sure the car was water tight, I removed the sound proofing under the carpet and dried it out before refitting it. If you don't do this, there is a good chance the car will resemble Fred Flintstones as the floor rots out. It doesn't need much encouragement!!
Rich