Таблицы. Испытание: 23/23. Как вставить верхние и нижние линии

Помогите пожалуйста. Немного запутался. Пошел очень сложным путем. Осталось вставить только верхние и нижние линии и подогнать размер, когда начинаю вставлять свойства border-bottom и border-top, в td или th, то все сбивается, пропадает цвет и фона и размеры таблицы.

Испытание: итоговая таблица

Итоговая таблица

    <table cellpadding = "11">
        <tr>
            <th class="row-1">Город</th>
            <th class="row-2">Посещений</th>
            <th class="row-3">%</th>
        </tr>
        <tr>
            <td class="row-4">СПб</td>
            <td class="row-5">199</td>
            <td class="row-6">65.12</td>
        </tr>
            <td class="row-7">Москва</td>
            <td class="row-8">69</td>
            <td class="row-9">21.3</td>
        </tr>
        <tr>
            <td class="row-4">Киев</td>
            <td class="row-5">5</td>
            <td class="row-6">8</td>
        </tr>
        <tr>
            <td colspan ="2"; class="row-7">Посещений за весь период</td>
            <td class="row-9">273</td>
        </tr>
    </table>

</body>

body {
width: 350px;
margin: 0;
padding: 0 10px;
font-size: 14px;
font-family: Arial, sans-serif;
}
table {
border-collapse: collapse;

}

td {
width: 33%;
border-top: 1 px solid lightgray;

}

.row-1 {
text-align: left;
background-color: darkcyan;
color: white;
}

.row-2 {
text-align: center;
background-color: lightblue;
color: white;
}

.row-3 {
text-align: right;
background-color: darkcyan;
color: white;
}
.row-7 {
background-color: lightyellow;

}
.row-8 {
background-color: lightyellow;
}
.row-9 {
background-color: lightyellow;
text-align: right;
}
.row-6 {
text-align: right;
}
.row-5 {
text-align: center;
}
.row-8 {
text-align: center;
}

Пробел между 1 и px не ставится.
Вместо атрибута cellpadding в html воспользуйтесь свойством padding в css для td. Помните, что размеры отступов должны быть кратны пяти.