15/28, Говнокод или хорошая практика?

Друзья, терзают сомнения, нужно ли было делать маргины в подменю и можно ли было сделать по другому? Какие объективные стандарты есть для таких вещей? В комментариях люди пишут, что используют :last-child, я сделал без него, это правильно или нет?

html, body {
margin: 0;
padding: 0;
}

body {
width: 280px;
min-height: 280px;
padding: 10px;
font-family: Arial, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

/*меню*/

.main-menu {
list-style:none;
padding: 0;
margin: 0;
width: 200px;
}

.main-menu > li{
padding: 10px 15px;
background: #2980B9;
border-bottom: #2C3E50 2px solid;
}

.main-menu > li > a {
color: white;
text-decoration: none;
}

.main-menu > .active {
background-color: #1ABC9C;
}

/*подменю*/

.main-menu > .active > ul{
list-style:none;
padding: 10px 0px;
margin: 10px 0px -10px -15px;
background-color: white;
width: 200px;
border-top: #2C3E50 2px solid;
}

.main-menu li li {
padding: 5px 15px;
}

.main-menu li li a{
color: #2980B9;
}

.main-menu li ul {
padding: 10px

Хорошая практика в коде этого задания «Вертикальное меню с выпадающим подменю [21/28]»

margin: 10px 0px -10px -15px;

отрицательные маргины вроде плохая практика

Хорошая практика писать уточнения в background. Если цвет background-color: #2980B9;

Также вкладывать не более двух элементов в селекторе

Не знаю возможно это не стандарт но: border-bottom: #2C3E50 2px solid; как то не смотрится. Я бы записал border-bottom: 2px solid #2C3E50

font записать в одну строку