/* ================================================================
   ui-layers.css — каноническая шкала z-index (этап 0)
   Документация: docs/UI_LAYERS.md
   Новые overlay: только var(--z-*), не «ещё один 99999».
   ================================================================ */

:root {
  /* map */
  --z-map: 1;
  --z-map-ui: 10;
  --z-map-hud: 100;

  /* soft floats / tips */
  --z-float-soft: 1600;
  --z-float-tip: 2000;
  --z-badge: 3000;

  /* docks under toolbar */
  --z-dock-side: 5000;
  --z-chat: 5500;
  --z-demo: 5900;
  --z-acp-backdrop: 5980;
  --z-acp: 5990;

  /* map chrome — always above ACP rail */
  --z-toolbar: 6000;

  /* tools & modals */
  --z-cache: 7000;
  --z-admin-legacy: 9000;
  --z-panel-tool: 9500;
  --z-profile-modal: 9500;
  --z-acp-modal: 9501;
  --z-dropdown: 10000;
  --z-dropdown-high: 10001;
  --z-property: 10002;
  --z-property-high: 10003;
  --z-modal: 20000;
  --z-poster: 25000;
  --z-context: 50000;
  --z-toast: 80000;
  --z-system: 99999;
  --z-splash: 999999;
  /* --z-escape (2147483647) запрещён в новом коде */

  /* layout tokens used by ACP / toolbar (responsive.css may override --acp-tabs) */
  --acp-rail: 50px;
  --acp-tabs: 64px;

  /* ── Этап 3: docks + bottom sheets ── */
  --dock-right-width: min(360px, calc(100vw - 50px));
  --dock-params-width: 290px;
  --status-bar-h: 24px; /* #status-bar height — docks не перекрывают */
  --ui-sheet-radius: 14px 14px 0 0;
  --ui-sheet-bottom: 56px;
  --ui-sheet-max-h: 75vh;
  --ui-sheet-z: var(--z-panel-tool);
}

/* ── Привязка ключевых слоёв (миграционный якорь этапа 0) ──
   Остальные элементы переводятся на var(--z-*) постепенно (этапы 3, 6). */

#toolbar-panel {
  z-index: var(--z-toolbar) !important;
}

#admin-cp {
  z-index: var(--z-acp);
}

#acp-backdrop {
  z-index: var(--z-acp-backdrop);
  /* hit-test: не перекрывать map-toolbar (left задаётся в responsive.css) */
  left: var(--acp-rail);
}

#demo-banner {
  z-index: var(--z-demo);
}

#splash-screen {
  z-index: var(--z-splash);
}

/* ── Этап 3: dock z-bands ── */
#left-sidebar {
  z-index: var(--z-dock-side);
}

.chat-panel,
#chat-panel {
  z-index: var(--z-chat);
}

/* Desktop: фильтр = правый dock (тот же side-slot, что и чат) */
#filter-panel {
  z-index: var(--z-chat);
}

@media (min-width: 769px) {
  /* Как .chat-panel: не накрывать #status-bar (24px снизу) */
  #filter-panel {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: var(--status-bar-h, 24px) !important;
    width: var(--dock-right-width) !important;
    max-height: calc(100dvh - var(--status-bar-h, 24px)) !important;
    height: calc(100dvh - var(--status-bar-h, 24px)) !important;
    border-radius: 0 !important;
    border: none !important;
    border-left: 2px solid #3d5a3d !important;
    box-shadow: -6px 0 32px rgba(0, 0, 0, 0.55) !important;
  }

  #filter-panel > div:first-child {
    border-radius: 0 !important;
  }
}

/* Общий каркас bottom-sheet (pointer: coarse / mobile) — класс .ui-sheet */
.ui-sheet {
  border-radius: var(--ui-sheet-radius);
  z-index: var(--ui-sheet-z);
}
