Страница admin/email_settings приведена к общему стилю админки и исправлена.
* Подтверждение рассылки теперь пишет, что именно уйдёт (письмо / ЛС / оба),
* неактивные поля приглушаются по выбранному каналу, счётчик шаблонов обновляется без перезагрузки, вкладка сохраняется в URL-хэше.
* «Отправить тестовое письмо» сама переключает на вкладку, подставляет тему и текст, включает подробный debug и ставит фокус в поле получателя.
* Пресеты Gmail / Яндекс / Mail.ru / SendGrid — заполняют сервер, порт, кодировку в один клик.
* Фатал при пустой таблице config__email — $email_conf->use_email на false. Добавлен guard с дефолтами.
* $pact/$pact2 не определялись, если use_email не строго 1 или 2 → PHP notice и сломанный переключатель. Теперь через get_active().
admin/payments
* Добавлен автоматический пересчёт курса через сторонний API вместо ручного ввода.
* Источник курса — выпадающий список: Не использовать (вручную) / НБУ / Monobank. У каждого варианта живая подсказка под полем.
* В каждом методе (и в форме создания, и в списке) рядом с полем «Курс» — чекбокс «Авто».
* Синхронизация происходит сама при заходе на /purse и при запросе расчёта суммы — с проверкой TTL, так что лишних запросов нет. Отдельный cron не нужен.
* Валидация rate > 0 теперь не блокирует сохранение метода с включённым «Авто» (курс подставится сам), но требует, чтобы источник был выбран — иначе понятная ошибка.
* Если источник не отдаёт курс по экзотической валюте — метод пропускается, его прежний курс сохраняется, а в статусе перечисляются пропущенные методы.