Bot: упрощён до одного шага — /start показывает 2 reply-кнопки
[👤 Я менеджер] [🏠 Я клиент], обе уже WebApp — открывают кабинет
сразу с нужным role= в query. Никаких промежуточных меню.
MiniApp: новый брендированный загрузочный экран с логотипом ZOV
(inline SVG, fill = walnut #6B4A2B), дыхательной анимацией 2.2s,
тонкой полоской прогресса и подписью «Открываем кабинет · ZOV».
Splash прячется (350мс минимум + fade-out) после рендера главного
экрана или маунта подэкрана (Podbor/Clients/Measurements).
Cache bust v=20260513c.
/start теперь показывает только две reply-кнопки внизу:
[👤 Я менеджер] [🏠 Я клиент]
Тап «Я менеджер» → меню менеджера (4 ряда):
🤖 Подбор техники | 📐 Новый замер ← WebApp
👥 Мои клиенты | 🏠 Кабинет ← WebApp
ℹ️ Что умеет бот?| 📞 Куратор ← текст
📋 Чек-лист встречи | ⬅️ Сменить роль ← текст
Тап «Я клиент» → меню клиента (3 ряда):
🏠 Мой кабинет | 📐 Мой замер ← WebApp
📞 Связь с менеджером | ℹ️ О сервисе ← текст
⬅️ Сменить роль
«⬅️ Сменить роль» в любом меню → возврат к выбору роли.
Заменён inline-keyboard на reply-keyboard (постоянная панель снизу).
Now after /start, manager sees a bottom keyboard (4 rows) for fast access:
Row 1: 🤖 Подбор техники | 📐 Новый замер ← WebApp
Row 2: 👥 Мои клиенты | 🏠 Кабинет ← WebApp
Row 3: ℹ️ Что умеет бот? | 📞 Куратор ← text
Row 4: 📋 Чек-лист встречи ← text
WebApp buttons jump straight to a MiniApp screen via ?go=<podbor|measure|clients>;
app.js parses ?go on load and pre-sets location.hash so the right module mounts.
Added /menu (re-show keyboard) and /hide (remove). Text buttons trigger
in-chat info responses (bot description, contact, meeting checklist).
Cache bust v=20260513b.