Существует несколько способов изменения цвета иконок в формате SVG. Один из них - использование CSS для изменения цвета заполнения и обводки иконки. Вы уже используете этот метод, но хотите найти более простой способ или примеры из других UI-фреймворков.
Еще один способ - использование встроенных стилей внутри SVG элемента. Вы можете добавить атрибут `style` к элементу SVG и указать желаемый цвет заполнения или обводки. Например:
```html
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M12 4C6.48 4 2 8.48 2 14c0 2.97 1.5 5.55 3.78 7.07.29.2.71.2 1 0C9.51 19.55 11 17.97 11 16h2c0 1.97 1.49 3.55 3.22 3.93.29.1.62.1.91 0C20.51 19.55 22 17.97 22 16c0-5.52-4.48-10-10-10zm-2 16v2h4v-2h-4zm0-12v8h4v-8h-4zm1-9.91l8.59 8.59-1.41 1.41L12 5.42 5.82 11.6 4.4 10.19 12 2.59zM16 14h2v2h-2v-2z" style="fill: #FF0000"/>
</svg>
```
В этом примере я добавил атрибут `style="fill: #FF0000"` внутри `<path>`, чтобы задать красный цвет заполнения иконки.
Если вы используете конкретный UI-фреймворк, такой как React или Angular, есть возможность использовать компоненты, которые позволяют динамически изменять цвета SVG. Например, в React можно использовать пакеты, такие как `react-svg` или `react-icons`, которые предоставляют компоненты SVG с возможностью изменения цвета через пропсы.
Оценивайте эти методы и примеры из других фреймворков, и выбирайте тот, который лучше всего соответствует вашим потребностям и синтаксису вашего фреймворка.