# BRD — ET-014: Панель «Фильтры» открывается позади панели слоёв (z-index)

**Work Item:** ET-014
**Тип:** Bug / UX-fix
**Фаза:** PH-5 Redesign (затрагивает PH-8 / ET-008 — публичные GPS-треки)
**Приоритет:** High (блокирует функциональность фильтров публичных треков)
**Среды:** dev, test (https://openclaw.mva154.duckdns.org/enduro/)

---

## 1. Бизнес-контекст

В рамках PH-8 / ET-008 реализованы публичные GPS-треки с фильтрами по
активности, источнику и цвету линий. Доступ к фильтрам — через ссылку
«Фильтры…» внутри панели слоёв (terrain-popup, кнопка-гора справа).

Сейчас на устройствах в реальной эксплуатации (mobile, viewport ~360–414 px,
а также desktop) панель «Фильтры публичных треков» (`#sheet-gps-filters`)
открывается **позади** панели слоёв (`#terrain-popup`). Пользователь видит
только левую кромку sheet'а — основная часть с чекбоксами и сегментными
переключателями полностью перекрыта панелью слоёв.

В итоге **фильтрами публичных треков пользоваться невозможно**, хотя они
заявлены как готовая функция.

## 2. Проблема (как видит пользователь)

1. Пользователь открывает карту → жмёт кнопку «Рельеф» (иконка горы справа).
2. Открывается панель слоёв (Подложка / Эндуро / Публичные треки / POI).
3. Включает чекбокс «Публичные треки» → появляется ссылка «Фильтры…».
4. Жмёт «Фильтры…» → ожидает увидеть панель фильтров.
5. **Факт:** панель фильтров появляется снизу, но **скрыта за** панелью
   слоёв. На мобильном видна узкая левая полоска, на desktop — частично
   видно содержимое слева, основной блок недоступен.
6. Кликнуть по чекбоксам/кнопкам фильтра нельзя — клики ловит панель слоёв.

Подтверждение: скриншот мобильного браузера в зоне Москвы, zoom 12.

## 3. Бизнес-цель

Сделать фильтры публичных треков **реально доступными** для пользователя
с обеих сред (мобильной и десктопной), без визуальных артефактов при
открытии и закрытии.

## 4. Бизнес-требования

| ID    | Требование |
|-------|------------|
| BR-01 | При нажатии «Фильтры…» панель фильтров должна быть полностью видна и интерактивна на mobile и desktop. |
| BR-02 | Панель слоёв (terrain-popup) не должна визуально перекрывать панель фильтров. |
| BR-03 | Закрытие фильтров (кнопкой «✕», свайпом или кликом по backdrop на mobile) возвращает пользователя к карте без артефактов наложения. |
| BR-04 | Поведение остальных bottom-sheets (маршрут, разведка, связка, красивый, GPX) **не должно регрессировать**. |
| BR-05 | Поведение `terrain-popup` для остальных кейсов (открытие/закрытие, чекбоксы рельефа, переключатели подложки/единиц) **не должно регрессировать**. |
| BR-06 | Решение должно одинаково работать в светлой и тёмной теме. |

## 5. Не входит в scope

- Редизайн панели слоёв или панели фильтров.
- Изменение состава фильтров или логики `gps_tracks.js`.
- Изменение позиционирования `terrain-popup` относительно кнопки «Рельеф».
- Добавление новых способов открытия фильтров (например, отдельной кнопки
  на toolbar).

## 6. Стейкхолдеры

- Owner / PM проекта enduro-trails — приёмка.
- Конечные пользователи (райдеры) — пользуются фильтрами публичных треков
  с мобильных устройств.

## 7. Метрики успеха

- Ручная проверка на mobile (viewport 360–414) и desktop (≥1024) — фильтры
  открываются полностью видимыми и кликабельными.
- UI e2e тест-кейсы из 04b-ui-test-cases.md проходят на обеих средах.
- Сценарий «открыть слои → включить публичные треки → открыть фильтры →
  изменить активность → закрыть» выполняется без визуальных дефектов.

## 8. Допущения

- Используется текущая HTML-структура: `#terrain-popup` (position:fixed,
  z-index:500) и `#sheet-gps-filters` (`.bottom-sheet`, z-index:400),
  `#sheet-backdrop` (z-index:390).
- Открытие фильтров инициируется только из `togglePublicTracksFiltersSheet()`
  (gps_tracks.js); других точек входа сейчас нет.

## 9. Риски

| ID  | Риск | Митигация |
|-----|------|-----------|
| R1  | Изменение z-index может задеть другие оверлеи (marker-dialog z=500, search-panel/ruler-info z=600). | В тест-плане отдельно проверить эти оверлеи. |
| R2  | Закрытие terrain-popup при открытии фильтров может удивить пользователя — потеряет состояние «панель слоёв открыта». | Допустимо: панель слоёв — точка входа в фильтры, после закрытия фильтров пользователь возвращается к карте, а не к панели слоёв. Решение архитектора. |
| R3  | На desktop sheet-backdrop скрыт (`display:none` в media-query); если решение опирается на backdrop — нужна проверка desktop отдельно. | Тест-кейс на desktop обязателен. |
