Domanda: c'è un modo per unire i bordi, tipo tabella, e ridurre il padding degli elementi a?
Ci sarebbe anche modo di avvicinare i vari elementi così che i bordi risultino adiacenti; ma se vuoi che si collassino, come per una tabella, la cosa diventa più macchinosa. Non c'è alcun padding; lo spazio che vedi è dato dal fatto che quegli elementi hanno dimensione fissa proprio per fare in modo che risultino incolonnati uno sopra l'altro; non c'è modo di mantenere larghezze automatiche ma relative tra gli elementi di una stessa colonna, se non usando appunto una semplice tabella o una struttura (più macchinosa) di elementi che riproduca tali comportamenti.

Se però hai risolto con una tabella, e ottenuto quello che volevi, può andare bene così, no?