Non ho visto la formattazione del tag <table>.
Credo comunque che ti manchi l'attributo empty-cells.

E ti mancano i tag <th> dentro il tbody (la colonna delle ore deve essere <th>, altrimenti ti perdi parte della semantica della tabella)

E poi c'e` formattazione realizzata mediante attributi HTML, che puo` andare in conflitto con il CSS, e browser diversi risolvono i conflitti in modo diverso: togli il cellspacing="0" e mettici invece margin:0; padding:0; nel CSS di td e tr