table.listTable > tbody > tr > td{ border:1px solid red; }
Add > between tr and td . Remember that this means a direct child, therefore table.listTable > tbody > tr > td describes a table cell (td), which is a direct descendant of a table row (tr), which is a direct child of a table with a listTable class. The nested table inside should not raise the style now.
There are two problems in your original style table.listTable > tr td . First, it means ANY td , which is nested in ANY APPROXIMATION under the table row, which is a direct child of the table with the listTable class. Therefore, the original style applies the red upper border to the auxiliary table. It will do the same for any <td> tag nested below the root table. Secondly, as Matt corrected me below, the browser will add the <tbody> to the table, so you need to include it in the CSS selector chain or the direct <tbody> rules will not work. (Thanks to Matt)
Hope this helps.
source share