Preheat the oven to 350F degrees.
Line a muffin pan with muffin papers. You'll end up with about 12-14 cupcakes.
In a medium sized bowl whisk together the flour, baking powder and salt. Set aside.
In a separate large bowl using an electric mixer, beat together the butter, sugar, lemon zest & lime zest until the mixture is light and fluffy.
Add in the vanilla, egg whites and lemon juice and beat until well combined.
Turn the mixer down to low and carefully beat in about ½ of the flour mixture, followed by ½ of the milk. Turn off the mixer and scrape down the sides of the bowl using a large wooden spoon or rubber spatula.
Turn the mixer back on to medium-low speed and add in the second half of the flour, followed by the second half of the milk until the batter is smooth.
Carefully spoon the batter into the prepared muffin tin, filling each paper to about ⅔ full. Be careful not to over fill your muffin tray.
Bake in the preheated oven for 16-18 minutes, or until an inserted toothpick comes out clean.
To make the frosting, beat the butter on medium-high speed until fluffy and the color lightens.
Turn the mixture to low speed and beat in 3 cups of powdered sugar. Once the mixture gets thick, add in the salt, lime zest and lime juice.
Beat in the rest of the powdered sugar and whipping cream 1 tablespoon at a time until the desired consistency and sweetness level is reached. Beat in the food coloring (if using).
Frost cupcakes by using a piping bag, or by spreading with a flat-edge knife. Shower with sprinkles & devour.