Исчезновение SVG-иконки в Safari или при переключении на тёмную тему обычно связано с тем, как задан цвет заливки иконки — через жёстко заданное значение, которое перестаёт быть видимым на определённом фоне.
Использование currentColor без явного цвета родителя
Если SVG использует fill="currentColor" для наследования цвета текста от родительского элемента, а этот родитель не имеет явно заданного цвета в определённом контексте (или Safari интерпретирует наследование иначе, чем другие браузеры в конкретной ситуации), иконка может остаться того же цвета, что и фон, становясь визуально невидимой.
Тёмная тема меняет фон, но не саму иконку
Если цвет иконки задан фиксированным значением (например, чёрным) без учёта переключения темы, а фон при этом становится тёмным, иконка сливается с фоном — CSS-переменные, реагирующие на тему, должны применяться и к цвету иконок, а не только к фону и тексту.
Решение
Явно задавайте цвет SVG через CSS с использованием переменных, которые меняются в зависимости от темы, и проверяйте отображение иконки отдельно в Safari — этот браузер иногда обрабатывает наследование стилей для SVG чуть иначе, чем Chrome или Firefox.



