Этот момент лучше переспросить у дизайнера/постановщика задачи/тимлида/...
Чаще всего - да, это дизайнерские грешки, я обычно, например, проставляю одинаковые отступы при небольшой разнице в px между ними на макете. То же самое с округлением размеров блоков и прочими не глобальными вещами
В обработчике клика крестика делать event.stopPropagation()
Клик по строке никак не касается клика по крестику
Ну, по клику на строку бери нужные конкретной строке параметры и подставляй в модалку. В чём проблема?) Реализация зависит только от того, где эти параметры вообще берутся
Ты шаблонизатор изобретаешь? Гугли про них и layout в шаблонизаторах
Меню обычно вставляется в layout (это обёртка для всех страниц) , туда же header и footer