Shipping and payment methods in checkout are two separate, independent HTML tables. By default, the table cell widths display depending on their content, eventually both tables appearing differently and "not aligned".
So, yes, applying CSS is a way of "controlling" it. However, adding code per individual table (cell) as you did to make it appearing like the other, might work but can be fiddly - and unreliable if content changes, or even from browser to browser.
IMHO, it'd be simpler and reliable if you applied the same CSS for both tables/cells. Once done right, it's guaranteed that both tables will always display the same way (= "aligned").
Just my 2 cents... but of course, do whatever works best for you.