diff --git a/docs/site-fixes-2026-10-10/REPORT.md b/docs/site-fixes-2026-10-10/REPORT.md
new file mode 100644
index 0000000..9ee98ee
--- /dev/null
+++ b/docs/site-fixes-2026-10-10/REPORT.md
@@ -0,0 +1,75 @@
+# Исправления публичного сайта test.food-market.kz — этап 1 «Сайт и выбор тарифа»
+
+Дата: 2026-10-10/11. Источник: src/food-market.public (Astro). Деплой — только на ТЕСТ
+(`~/.fm-watchdog/deploy-public-test.sh`). Откат: образ `food-market-public:test-pre-site-fixes`
+(создан перед деплоем). Прод-сайт, gateway nginx, прод-БД — НЕ трогались.
+
+Проверка после деплоя (Playwright, десктоп 1440×900@2x и моб. 390×844@3x): **10/10** —
+см. `index.html` в этой папке (скриншоты + автопроверки).
+
+## Что исправлено (по номерам 1–10)
+
+1. **/signup читает `?plan=` и конфигурацию.** Форма на клиенте разбирает `plan`
+ (start|business|network; неизвестный → «Старт») и `shops/cashes/warehouses/employees`.
+ Выбранный тариф предвыбран; для «Бизнес» показывается конфигурация и итоговая цена.
+ Расчёт вынесен в общий модуль `src/lib/pricing.ts` (БД 10 000 + 2 000/магазин +
+ 500/касса + 500/склад) — одни и те же числа в конструкторе, форме и на /pricing.
+ Проверено: `?plan=business&shops=3&cashes=4&warehouses=1&employees=5` → «Бизнес» выбран,
+ конфигурация и **15 500 ₸** видны; `?plan=start` → «Старт»; `?plan=xyz` → «Старт».
+ Параметры конфигурации уходят в тело запроса регистрации (вперёд-совместимо). **Текущий
+ контракт `/api/auth/signup` принимает только `plan` (SignupInput.Plan), остальные поля
+ игнорирует** — см. раздел «нужно решение владельца».
+2. **Мобильная шапка (≤ lg).** Добавлены гамбургер + выезжающая панель со ВСЕМИ пунктами
+ десктоп-меню и кнопками «Войти»/«Начать бесплатно». `aria-expanded`/`aria-controls`,
+ закрытие по тапу вне и по Esc, доступно с клавиатуры; зоны нажатия ≥ 44 px. Проверено на
+ 390 px: меню открывается, тап по «Тарифы» ведёт на /pricing, горизонтальной прокрутки нет.
+3. **og/twitter-картинки** перегенерированы (`scripts/og.mjs` → `public/og/*`): из home убрано
+ «ОФД РК», в import «REST API» → «Excel, CSV, 1С, МойСклад», из for-grocery убран «ABC-анализ».
+4. **База знаний и блог — убраны обещания несуществующего** (сверено с «В разработке» на главной
+ и /integrations/): способы оплаты подписки «Kaspi Pay/Halyk/Jusan/Forte/Visa/Mastercard»
+ → «способ уточняется, свяжитесь с нами»; «стандартный REST API» в импорте → «Excel/CSV,
+ 1С, МойСклад»; «Скачать установщик/.msi/Скачать кассу для Windows» → «скоро»; «тип оплаты
+ Наличные/Kaspi/Карта» → «наличные или карта»; «Kaspi Magazin (Q3 2026)» → без даты;
+ «архитектура для будущей маркировки» — убрано; «Триал» как тариф → «Старт/Бизнес/Сеть,
+ 90 дней бесплатно»; платные консультации «5 000 тг/час» и скидки 3/6/12 мес — убраны
+ (нет на /pricing, не подтверждены). Ссылки на несуществующие /kb/users, /kb/loyalty убраны.
+5. **/import**: чужой английский HR-скриншот (`/photos/import-hero.jpg`) заменён на реальный
+ скриншот каталога продукта (`/screenshots/catalog.webp`).
+6. **Рендер /kb/***: тело статей было завёрнуто в ```` ```markdown ```` с дублирующим front-matter
+ и вторым `#`-заголовком → показывалось сырым моноширинным текстом. Развёрнуто: front-matter
+ не виден, markdown рендерится, заголовок один. Проверены все /kb/* и /blog/* (блог был чист).
+7. **Аналитика**: убраны заглушки `data-id="REPLACE_ME"` (Google/Яндекс.Метрика) — скрипты
+ подключаются только при реальных `PUBLIC_GA_ID`/`PUBLIC_YM_ID`, иначе в HTML ничего нет.
+8. **robots.txt**: `Sitemap:` → рабочий `/sitemap.xml` (был 404 `/sitemap-index.xml`).
+9. **Противоречия сведены** к оферте (она главнее): удаление данных — 30 дней (было 30/60 в KB);
+ возврат — по письменному заявлению в случаях по закону РК (убрано «14 дней без обоснования»);
+ «Старт без лимита пользователей» → «до 2 сотрудников» (как на /pricing). Дубль в футере
+ «Дорожная карта»/«Changelog» (один URL) — убран, остался «Changelog». /status «Касса
+ (Windows) — в разработке» → «Скоро» (согласовано с «Скачать · скоро»).
+10. **Мелочи**: зоны нажатия — ссылки футера `block py-2` (≈40 px), CTA в шапке `min-h-[44px]`;
+ у lazy-картинок (главная, /pos) проставлены `width`/`height` (catalog 1440×900, pos 1440×810)
+ против сдвига вёрстки.
+
+## Что НЕ сделано / частично и почему
+- **Зоны нажатия инлайновых ссылок** в предложениях (например «офертой»/«политикой» в форме,
+ отдельные «Подробнее →») не раздувал до 44 px — это текст внутри абзаца, увеличение ломает
+ поток; основные интерактивные элементы (меню, кнопки, ссылки футера) подняты до ≥ 40–44 px.
+- **«Популярный» на /pricing у «Бизнес»** не добавлял (есть на главной) — косметическая
+ рассинхронизация, не влияет на факты.
+- **Формулировка «до 10 сотрудников» (главная) vs минимум 5 в конструкторе** — оставлена
+ («до 10» — верхняя граница, не ложь).
+
+## Нужно решение владельца
+- **Способы оплаты подписки** — реальные методы не определены в продукте; в KB поставил
+ «уточняется / по счёту — свяжитесь с нами». Нужно задать фактические способы.
+- **Приём платежей конфигурации при регистрации** — сервер `/api/auth/signup` не принимает
+ shops/cashes/warehouses/employees. Нужно решение: расширять ли контракт, чтобы тариф/объём
+ фиксировались при регистрации (сейчас параметры показываются и уходят в запрос, но игнорируются).
+- **Юридические документы /legal/* и контакты** — НЕ трогались (решение владельца): видны
+ плейсхолдеры «[НАЗВАНИЕ ТОО]», «[БИН]», телефон «+7 (___)», пометка «подлежит правовой
+ экспертизе». Из формы регистрации пользователь соглашается с офертой и политикой ПДн —
+ т.е. эти документы с плейсхолдерами ему предъявляются. Нужны реквизиты/экспертиза.
+- **Налоги**: оферта 6.3 «с учётом всех налогов»; в FAQ оставлена фраза про счёт-фактуру «с НДС
+ или без» (режим налогообложения клиента) — формально не противоречит, но при желании свести.
+- **Скидки за предоплату / платные консультации** — убраны как неподтверждённые; вернуть, если
+ такие условия реально есть.
diff --git a/docs/site-fixes-2026-10-10/d-blog-quickstart.png b/docs/site-fixes-2026-10-10/d-blog-quickstart.png
new file mode 100644
index 0000000..73bb85f
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d-blog-quickstart.png differ
diff --git a/docs/site-fixes-2026-10-10/d-home.png b/docs/site-fixes-2026-10-10/d-home.png
new file mode 100644
index 0000000..deb7440
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d-home.png differ
diff --git a/docs/site-fixes-2026-10-10/d-import.png b/docs/site-fixes-2026-10-10/d-import.png
new file mode 100644
index 0000000..0c2d022
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d-import.png differ
diff --git a/docs/site-fixes-2026-10-10/d-kb-billing.png b/docs/site-fixes-2026-10-10/d-kb-billing.png
new file mode 100644
index 0000000..f85f5bb
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d-kb-billing.png differ
diff --git a/docs/site-fixes-2026-10-10/d-pricing.png b/docs/site-fixes-2026-10-10/d-pricing.png
new file mode 100644
index 0000000..37183cd
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d-pricing.png differ
diff --git a/docs/site-fixes-2026-10-10/d1-signup-business.png b/docs/site-fixes-2026-10-10/d1-signup-business.png
new file mode 100644
index 0000000..0151781
Binary files /dev/null and b/docs/site-fixes-2026-10-10/d1-signup-business.png differ
diff --git a/docs/site-fixes-2026-10-10/index.html b/docs/site-fixes-2026-10-10/index.html
new file mode 100644
index 0000000..f1180e7
--- /dev/null
+++ b/docs/site-fixes-2026-10-10/index.html
@@ -0,0 +1,28 @@
+
Исправления сайта 2026-10-10
+
+
Исправления публичного сайта test.food-market.kz — этап 1 «Сайт и выбор тарифа»
+
Проверка после деплоя (2026-10-10T19:01:19.232Z). Пройдено: 10/10.