Hey Ian,
style="left-margin:20" isn't correct syntax and would be ignored. Proper syntax would be style="margin-left: 20px;" however, margin is not the way to go, it is spotty in acceptance when it comes to cross compatibility, if it'd even work at all. As Amit mentions above, you'd want style="padding-left: 10px; padding-right:10px;" That said though, the way you are coding this, padding may not even work on all blocks compatibility speaking. Padding is most reliable only on the <td> tag. So I would rewrite this into one table like so...
<table border=0 cellpadding=0 cellspacing=0 width=230>
<tr>
<td valign=top style="font-weight: bold; font-family: Arial, sans-serif; padding-left: 10px; padding-right: 10px;padding-top: 3px; padding-bottom: 3px; background-color: #c8e2ea; color:rgb(0, 105, 170); width: 210px;">National Economic Outlook</td>
</tr>
<tr>
<td valign=top style="font-size: 16px; font-weight: bold; font-family: Arial, sans-serif; padding-left: 10px; padding-right: 10px;">Analysis and Forecasts of Key U.S. Economic Variables</td>
</tr>
<tr>
<td valign=top style="font-family: Arial, sans-serif; padding-left: 10px; padding-right: 10px;margin-bottom: 1em;">Published early each month, PNC's National Economic Outlook provides analysis and forecasts of key U.S. data, such as real GDP, interest rates, inflation, income, employment, industrial production and housing prices.</td>
</tr>
<tr>
<td valign=top style="font-family: Arial, sans-serif; padding-left: 10px; padding-right: 10px;;color:rgb(0, 105, 170);">Learn More</td>
</tr>
..... onward with the rest of your code.
You may need a tweak here and there as it is hard to script from an excerpt, but the basis above should resolve you issues.
Hope that helps!