/* Scrim global — acima da sidebar (1300) e topbar (1100); abaixo de modais típicos (2100+) */
:root {
    --app-layer-scrim: 2040;
    --app-layer-drawer: 2051;
    --app-layer-modal: 2100;
    /* Referência: Relatórios → Clientes → drawer (dd-overlay) — escurecido sem blur */
    --app-scrim-bg: rgba(8, 16, 38, 0.38);
}

.app-focus-scrim {
    position: fixed;
    inset: 0;
    z-index: var(--app-layer-scrim);
    background: var(--app-scrim-bg);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.26s, visibility 0.26s;
}

.app-focus-scrim.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.app-focus-locked #appScreen .sidebar,
body.app-focus-locked #appScreen .main-content,
body.app-focus-locked #appScreen .app-topbar {
    pointer-events: none;
    user-select: none;
}

/* Menu de perfil / notificações abertos: topbar volta a receber clique acima do drawer */
body.app-focus-locked #appScreen .app-topbar:has(.topbar-user-menu:not(.hidden)),
body.app-focus-locked #appScreen .app-topbar:has(.notificacoes-painel:not(.hidden)),
body.app-focus-locked #appScreen .app-topbar:has(.notificacoes-painel.open) {
    pointer-events: auto;
    user-select: auto;
}

body.app-focus-locked #acompModal:not(.hidden),
body.app-focus-locked .acomp-modal:not(.hidden),
body.app-focus-locked .modal.ativo,
body.app-focus-locked .modal.active:not(.hidden),
body.app-focus-locked #clienteV2Modal:not(.hidden),
body.app-focus-locked .chats-media-lightbox.open,
body.app-focus-locked .chats-media-lightbox:not(.hidden),
body.app-focus-locked .contato-gestao-edit-overlay.ativo,
body.app-focus-locked .pp-drawer.open,
body.app-focus-locked .pp-scrim.open,
body.app-focus-locked #conexoesDrawerRoot:not(.hidden),
body.app-focus-locked .conexoes-cx2-wizard-overlay:not(.hidden),
body.app-focus-locked .conexoes-cx2-confirm-root:not(.hidden),
body.app-focus-locked .ct-hist-drawer.open,
body.app-focus-locked .ct-hist-dd-overlay.open,
body.app-focus-locked #eqCadModal.open,
body.app-focus-locked #eqCadScrim.open,
body.app-focus-locked .cad-modal.open,
body.app-focus-locked .cad-scrim.open,
body.app-focus-locked #page-relatorios .relatorios-fd .dd-overlay.open,
body.app-focus-locked #page-relatorios .relatorios-fd .drawer.open,
body.app-focus-locked #page-relatorios .relatorios-fd .anl-scrim.open,
body.app-focus-locked #page-relatorios .relatorios-fd .anl-drawer.open {
    pointer-events: auto;
}

body.app-focus-locked {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .app-focus-scrim {
        transition: none;
    }
}

/*
 * Contorno preto nativo do browser (:focus / :focus-visible / :active)
 * em botões de drawers — removido em todos os drawers do app.
 */
#conexoesDrawerRoot :is(button, [role='button'], .btn, .mini-btn, .dwr-tab, .dwr-x, .dwr-ext, .sw, a.btn):is(:focus, :focus-visible, :active),
.pp-drawer :is(button, [role='button'], .btn, .mini-btn, .pp-dwr-close, a.btn):is(:focus, :focus-visible, :active),
.chats-contatos-drawer-root :is(button, [role='button'], .btn, .mini-btn, .dwr-x, a.btn):is(:focus, :focus-visible, :active),
.chats-panel-contato-edit-drawer-root :is(button, [role='button'], .btn, .mini-btn, .dwr-x, a.btn):is(:focus, :focus-visible, :active),
#page-relatorios .relatorios-fd .drawer :is(button, [role='button'], .btn, a.btn):is(:focus, :focus-visible, :active),
#page-relatorios .relatorios-fd .anl-drawer :is(button, [role='button'], .btn, a.btn):is(:focus, :focus-visible, :active),
.contato-gestao-edit-overlay :is(button, [role='button'], .btn, .dwr-x, a.btn):is(:focus, :focus-visible, :active),
.conexoes-cx2-wizard-overlay :is(button, [role='button'], .btn, .dwr-x, a.btn):is(:focus, :focus-visible, :active),
.conexoes-cx2-confirm-modal :is(button, [role='button'], .btn, a.btn):is(:focus, :focus-visible, :active) {
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/* Padrão único de fundo: Relatórios → Clientes (escurecido, sem blur) */
.app-focus-scrim,
.app-dialog.modal,
.modal,
.modal.ativo,
.pp-scrim,
.pp-scrim.open,
.cad-scrim,
.cad-scrim.open,
.fav-scrim,
.drawer-scrim,
.drawer-scrim.open,
.cliente-v2-backdrop,
.clientes-cadastro-backdrop,
.clientes-cadastro-overlay,
.contato-gestao-edit-scrim,
.conexoes-cx2-wizard-scrim,
.conexoes-cx2-confirm-scrim,
.acomp-modal-backdrop,
.chats-msg-edit-modal-backdrop,
.chats-forward-modal.ativo,
.chats-panel-contato-edit-discard-scrim,
.ct-hist-dd-overlay,
.ct-hist-dd-overlay.open,
#page-relatorios .relatorios-fd .dd-overlay,
#page-relatorios .relatorios-fd .anl-scrim {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
