1. Внутри UL можно только LI на первом уровне
2. :last-child применяется к последнему элементу без фильтрации по тегу / классу, а у вас там последний div
Сначала кладете черный квадрат как before внутрь блока, он скроет часть зеленых бордеров. Поверх кладете after блок со своим бордером и поворачиваете after блок на 45 градусов.
Никак. Можно сделать как в бутстрапе - контейнер с оверфлоу, внутри блок строки с отрицательными margin, а у каждого блока в строке равные margin слева и справа.