/* Shell stacking contract (фаза 3). См. docs/SHELL_CONTRACT.md, docs/UI_SHELL_PALETTE_MATRIX.md */

:root {
    --vd-z-sidebar: 1050;
    --vd-z-topbar: 1040;
    --vd-z-footer: 1045;
    --vd-z-mobile-bottom-nav: 1048;
    --vd-z-topbar-dropdown: 1065;
    --vd-z-messenger-dock: 1075;
    --vd-z-modal-backdrop: 1990;
    --vd-z-modal: 2000;
    --vd-z-cmdk: 3100;
}

.vd-sidebar {
    z-index: var(--vd-z-sidebar);
}

.vd-topbar {
    z-index: var(--vd-z-topbar);
    pointer-events: auto;
}

.footer {
    z-index: var(--vd-z-footer);
}

.modal-backdrop {
    z-index: var(--vd-z-modal-backdrop) !important;
}

.modal {
    z-index: var(--vd-z-modal) !important;
}

.vd-cmdk {
    z-index: var(--vd-z-cmdk);
}

/* Bootstrap dropdown в топбаре по умолчанию ~1000 — ниже topbar (1040) */
body.zen-body.auth-bg .vd-topbar .dropdown-menu,
body.zen-body.auth-bg .vd-topbar .zen-user-dropdown-lg .dropdown-menu {
    z-index: var(--vd-z-topbar-dropdown) !important;
}

/* Модалка открыта — клики по топбару блокирует backdrop, не сам topbar поверх */
body.modal-open .vd-topbar {
    pointer-events: none;
}

/* Залипший backdrop без .modal.show — не перехватывать клики (дополнение к vdShellHealthCheck) */
body:not(.modal-open) .modal-backdrop {
    pointer-events: none !important;
    opacity: 0 !important;
}

/* Cmd+K открыт — топбар под оверлеем палитры */
body:has(.vd-cmdk.is-open) .vd-topbar {
    pointer-events: none;
}

/* Backdrop: лёгкая подстройка под палитру */
body[data-color-palette="glass"] .modal-backdrop,
body[data-color-palette="light"] .modal-backdrop,
body[data-color-palette="light-office"] .modal-backdrop,
body[data-color-palette="sky-lake"] .modal-backdrop {
    background-color: rgba(15, 23, 42, 0.42) !important;
}

body[data-color-palette="dark"] .modal-backdrop,
body[data-color-palette="vibe"] .modal-backdrop,
body[data-color-palette="blue"] .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.58) !important;
}
