The row already seems to have padding applied. It’s not clear what you mean by spacing exactly?
If you mean a margin from the edge of the window then add a wrapper to the table with some horizontal padding applied.
They already have padding here:
.permissionsTable td, .permissionsTable th {
vertical-align:bottom;
text-align:left;
padding:3px 5px;
}
Just apply padding as required. You may need to add classes if you have special circumstances but the padding seems ok to me.
Not all things are easily possible 
The space between sections was made using a white border so perhaps a better solution would be to use the same blue that you are using for those borders.
.column-border {
border-left:10px solid #3665C2;
}
.new-block th {
border-top:10px solid #3665C2;
}
.permissionsTable input {
margin:0;
}
.permissionsTableBorder {
border-top:10px solid #3665C2;
}
Alternatively if you still want the white space then you would need to use empty cells and empty rows for the white space and then you could colour the borders as required.
e.g. for the row you’d do this:
<tr class="new-row"><td colspan="19"> </td></tr>
Then set the background colour to white and remove the css for the 10px border-colours.
For the column space you would need to add empty cells in the right place and colour them white.
e.g.
<td class="spacer"></td>
<th scope="row" colspan="2" class="permissionHeader column-border">ID List-Subadmin</th>
css:
td.spacer{background:white}
Of course you would then need to match all rows with the correct number of items or colspans where needed but I notice you have changed design from the original example you asked for and from my codepen.
It’s really a matter of doing what’s feasible with that big table that you wanted. You would have probably been better with separate individual non nested tables rather than that one long sideways table.