Обратимся к
стандарту:
declaration-list
: S* declaration? [ ';' S* declaration? ]*
;
Вопросительный знак после declaration обозначает необязательность этого элемента. Таким образом в CSS между определениями и в конце списка определений допускается любое количество точек с запятой, возможно разделённых любым количеством пробелов. Одновременно с этим завершать последнее определение точкой с запятой не обязательно.
Так что ни один из указанных вами вариантов ошибочным не является, применение того или иного варианта зависит от стиля, принятого вами или вашей командой разработчиков.