How can I make it look better?

How do I get rid of the giant space between the labels and input fields?

How do I make the labels align with the input?

You can give your labels
justify-self: right;
align-self: center;
Which will move them to the right end of the current column and center them vertically.

I suggest you take a tutorial on css grids.