Календарь (rightbar) :
• Цвет события по умолчанию (#0d6efd) + удобная палитра (input[type=color] + быстрые свотчи).
• Детали события в модале (центрирование, перенос модала в <body> при необходимости), кнопки Редактировать/Удалить.
• Редактирование: заполнение формы из деталки, PATCH по API, возврат к календарю, безопасные обработчики (навешиваются один раз).
• Еженедельная лента теперь собирает события со всех доступных календарей (компания + отделы пользователя), дедупликация по id.
• В ленте недели: учитывается цвет события, показ источника (Компания / Отдел: N), location и краткое описание (≤20 символов).
• Устранены дубли отделов в селекторе календарей; нормализованы id; аккуратные ошибки/403; безопасная работа без токена.
Список отделов:
• Поиск по названию и руководителю (data-haystack); счётчик сотрудников обновляется только по видимым строкам.
• Кнопка «Создать отдел» в стиле списка (вся строка — кликабельна), видна только при наличии прав/статуса.
• Чёткое центрирование текста и иконки без кастомных стилей (Bootstrap-утилиты), стрелка фиксирована справа.
• Прокрутка только у списка (#deptList): шапка, поиск и кнопка остаются на месте; высота как в employees_list.html.
Auth / Регистрация / Логин / Верификация email / Сброс пароля:
• Шаблоны приведены к единой теме: уважаем переключатель тем из base.html, устранён «мигание» темы.
• RegistrationForm: валидация контактов (хотя бы один из Telegram/WhatsApp/WeChat), пароли совпадают.
• Поля телефона (регистрация/логин): inputmode='numeric', pattern для E.164, подсказки; на бэке по-прежнему нормализуется.
• Регистрация: превью аватара с заглушкой, radio для пола; убраны поля навыков/должности из формы (они не нужны здесь).
• API регистрации: принимаем avatar через Base64ImageField и сохраняем user.avatar при создании; остальная логика без изменений.
• Сообщение об ошибке «нужно хотя бы одно контактное поле» возвращается в ключе detail (совместимо с тестом).
• Логин/верификация/сброс: единые заголовки, floating labels, иконки, соответствие теме.
Техническое:
• Аккуратные утилиты JS: извлечение токена, формирование URL с диапазонами дат, нормализация событий, один раз навешиваемые обработчики.
• Безопасные fallbacks для отсутствующих узлов/данных; кросс-браузерные мелочи (overflow-scrolling, aria-атрибуты).
Примечания:
• Миграций БД нет. Изменены шаблоны, фронтовый JS и вью/сериализатор регистрации.
• Если пути файлов в проекте отличаются, коммит всё равно включает все изменённые файлы (git add -A).