.rank {  /* rank column */
    padding: 5px 10px 5px 0px;
    text-align: center;
}

.djicon {  /* djicon column */
    padding: 5px 10px 5px 10px;
    text-align: center;
}

.djname {  /* djname column */
    padding: 5px 20px 5px 10px;
    text-align: left;
}

.score {  /* score column */
    padding: 5px 0px 5px 20px;
    text-align: left;
}

.djs {  /* td cell containing the DJ scores table */
    padding: 0px 50px 0px 0px;
    vertical-align: top;
}

.rivals {  /* td cell containing the Rival scores table */
    padding: 0px 0px 0px 50px;
    vertical-align: top;
}

h3 img {  /* disc icons */
    width: 66px;
    height: 66px;
    vertical-align: middle;
}

table {
    table-layout: fixed;
}

.rank {  /* rank column */
    text-align: center;
    width: 50px;
}

.djicon {  /* djicon column */
    text-align: center;
    width: 75px;
}

.djname {  /* djname column */
    text-align: left;
    width: 125px;
}

.score {  /* score column */
    text-align: left;
    width: 100px;
}

.djs {  /* td cell containing the DJ scores table */
    vertical-align: top;
}

.rivals {  /* td cell containing the Rival scores table */
    vertical-align: top;
}

h3 img {  /* disc icons */
    width: 66px;
    height: 66px;
    vertical-align: middle;
}

Use width instead of padding and set table layout to fixed.
Use width instead of padding and set table layout to fixed.
