/* =========================================================
   MindZ Motion System 27178
   Camada global de profundidade, resposta visual e motion sutil.
   Performance-first: transform/opacity; reduced-motion respeitado.
   ========================================================= */

:root {
    --mindz-motion-fast: 120ms;
    --mindz-motion-standard: 180ms;
    --mindz-motion-panel: 220ms;
    --mindz-motion-modal: 240ms;
    --mindz-motion-chart: 540ms;
    --mindz-motion-ease: cubic-bezier(.2, 0, 0, 1);
    --mindz-motion-ease-emphasized: cubic-bezier(.2, .8, .2, 1);
    --mindz-motion-lift: -2px;
    --mindz-motion-icon-scale: 1.04;
    --mindz-floating-blur: 14px;
    --mindz-motion-row-hover: color-mix(in srgb, var(--primary) 4%, transparent);
    --mindz-motion-selection: linear-gradient(
        135deg,
        color-mix(in srgb, var(--primary) 8%, var(--surface-elevated) 92%),
        color-mix(in srgb, var(--primary) 2%, var(--surface-elevated) 98%)
    );
}

/* 1 + 2 — cards clicáveis elevam; fundo ganha glow ambiental discreto. */
body:not(.login-body) {
    background-image:
        radial-gradient(620px circle at 3% -4%, color-mix(in srgb, var(--primary) 5.5%, transparent), transparent 46%),
        radial-gradient(560px circle at 98% 96%, color-mix(in srgb, #8b7cff 3.5%, transparent), transparent 48%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

:is(#mainContent.app-content, #pageContent.content-page) {
    background-image:
        radial-gradient(620px circle at 3% -4%, color-mix(in srgb, var(--primary) 5.5%, transparent), transparent 46%),
        radial-gradient(560px circle at 98% 96%, color-mix(in srgb, #8b7cff 3.5%, transparent), transparent 48%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

:is(
    .mindz-card--interactive,
    .home-selectable-card,
    [data-mindz-interactive="true"],
    [data-clickable="true"],
    .card[role="button"],
    .app-card[role="button"],
    a.mindz-card,
    button.mindz-card
) {
    will-change: transform;
    transition:
        transform var(--mindz-motion-standard) var(--mindz-motion-ease),
        box-shadow var(--mindz-motion-standard) var(--mindz-motion-ease),
        border-color var(--mindz-motion-standard) var(--mindz-motion-ease),
        background-color var(--mindz-motion-standard) var(--mindz-motion-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
    :is(
        .mindz-card--interactive,
        .home-selectable-card,
        [data-mindz-interactive="true"],
        [data-clickable="true"],
        .card[role="button"],
        .app-card[role="button"],
        a.mindz-card,
        button.mindz-card
    ):is(:hover, :focus-visible, :focus-within) {
        transform: translateY(var(--mindz-motion-lift));
        border-color: color-mix(in srgb, var(--primary) 22%, var(--border)) !important;
        box-shadow: 0 10px 30px color-mix(in srgb, var(--shadow-color, #0f172a) 8%, transparent) !important;
    }
}

/* 3 — indicador único da navegação lateral; posição atualizada via JS. */
#appSidebar.sidebar {
    --mindz-motion-indicator-y: 0px;
    --mindz-motion-indicator-h: 36px;
}

#appSidebar.sidebar > .mindz-motion-nav-indicator {
    position: absolute;
    z-index: 8;
    top: 0;
    left: 5px;
    width: 3px;
    height: var(--mindz-motion-indicator-h);
    border-radius: 999px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 82%, #fff 18%), var(--primary));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 12%, transparent);
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, var(--mindz-motion-indicator-y), 0);
    transition:
        transform var(--mindz-motion-panel) var(--mindz-motion-ease-emphasized),
        height var(--mindz-motion-standard) var(--mindz-motion-ease),
        opacity var(--mindz-motion-fast) var(--mindz-motion-ease);
}

#appSidebar.sidebar[data-mindz-indicator-ready="true"] > .mindz-motion-nav-indicator {
    opacity: .9;
}

@media (max-width: 760px) {
    #appSidebar.sidebar > .mindz-motion-nav-indicator { display: none !important; }
}

/* 4 — microinterações de ícones. */
:is(
    button,
    a,
    [role="button"],
    .sidebar-link,
    .sidebar-submenu-trigger,
    .mindz-menu__item
) > :is(svg, .icon, [class*="__icon"]) {
    transform-origin: center;
    transition:
        transform var(--mindz-motion-standard) var(--mindz-motion-ease),
        color var(--mindz-motion-fast) var(--mindz-motion-ease),
        opacity var(--mindz-motion-fast) var(--mindz-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
    :is(button, a, [role="button"]):hover > :is(svg, .icon, [class*="__icon"]) {
        transform: translateY(-1px) scale(var(--mindz-motion-icon-scale));
    }

    :is(.search-button, [aria-label*="Buscar" i], [title*="Buscar" i]):hover > :is(svg, .icon) {
        transform: translateX(1.5px) scale(1.04);
    }

    :is(.sidebar-chevron, [class*="chevron"]) {
        transition: transform var(--mindz-motion-standard) var(--mindz-motion-ease) !important;
    }
}

[data-mindz-notification-ping="true"] :is(svg, .topbar-notification-icon) {
    animation: mindzMotionBell 520ms var(--mindz-motion-ease-emphasized) 1;
}

/* 5 — flyouts entram poucos pixels, sem “viajar” pela tela. */
:is(
    .mindz-flyout,
    .sidebar-submenu-portal,
    .solicitacoes-actions-flyout,
    .avaliacoes-actions-flyout,
    .colaborador-actions-popover,
    .mindz-menu,
    .dropdown-menu,
    .popover
):not([hidden]):not(.hidden):not(.is-hidden) {
    animation: mindzMotionPanelIn var(--mindz-motion-panel) var(--mindz-motion-ease-emphasized) both;
    transform-origin: top left;
}

/* 6 — modal scale + fade, preservando transforms de centralização legados. */
:is(
    .mindz-modal,
    [data-mindz-modal="true"],
    .app-dialog-modal,
    .app-modal,
    .modal-content,
    .feedback-modal,
    .solicitacoes-modal-content,
    .avaliacoes-modal__dialog,
    .topbar-action-modal,
    .up-modal,
    .pdi-create-modal__dialog,
    .comunicado-comments-modal-content
):not([hidden]):not(.hidden):not(.is-hidden) {
    animation: mindzMotionModalIn var(--mindz-motion-modal) var(--mindz-motion-ease-emphasized) both !important;
    transform-origin: center;
}

:is(
    .mindz-overlay,
    [data-mindz-overlay="true"],
    .app-dialog-backdrop,
    .app-modal-backdrop,
    .modal-backdrop,
    .feedback-modal-backdrop,
    .solicitacoes-modal-backdrop,
    .avaliacoes-modal,
    .topbar-action-modal-backdrop,
    [data-mindz-popup-backdrop="true"]
):not([hidden]):not(.hidden):not(.is-hidden) {
    animation: mindzMotionFadeIn var(--mindz-motion-standard) var(--mindz-motion-ease) both;
}

/* 7 — blur somente em superfícies realmente flutuantes. */
:is(
    .topbar,
    .app-topbar,
    .shell-topbar,
    .app-header.is-sticky,
    .page-header.is-sticky,
    .mindz-tooltip,
    .mindz-menu,
    .dropdown-menu,
    .popover,
    .sidebar-submenu-portal,
    .solicitacoes-actions-flyout,
    .mindz-person-selector__list,
    .feedback-dropdown,
    .topbar-action-modal,
    .mindz-toast,
    .ph-toast
) {
    -webkit-backdrop-filter: blur(var(--mindz-floating-blur)) saturate(1.06);
    backdrop-filter: blur(var(--mindz-floating-blur)) saturate(1.06);
}

/* 8 — tabelas: hover premium sem deslocamento de layout. */
:is(.mindz-table, .data-table, .app-table, table) tbody tr {
    transition:
        background-color var(--mindz-motion-fast) var(--mindz-motion-ease),
        box-shadow var(--mindz-motion-fast) var(--mindz-motion-ease),
        border-color var(--mindz-motion-fast) var(--mindz-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
    :is(.mindz-table, .data-table, .app-table, table) tbody tr:hover {
        background-color: var(--mindz-motion-row-hover) !important;
        box-shadow: inset 3px 0 0 color-mix(in srgb, var(--primary) 36%, transparent);
    }

    :is(.mindz-table, .data-table, .app-table, table) tbody tr:hover :is(.mindz-avatar, img[class*="avatar"]) {
        transform: scale(1.04);
    }

    :is(.mindz-table, .data-table, .app-table, table) tbody :is(.mindz-avatar, img[class*="avatar"]) {
        transition: transform var(--mindz-motion-fast) var(--mindz-motion-ease);
    }

    :is(.mindz-table, .data-table, .app-table, table) tbody tr:hover :is(
        .mindz-actions-toggle,
        .colaborador-actions-toggle,
        .solicitacoes-actions-toggle,
        .comemoracoes-actions-trigger,
        [data-action-menu-trigger="true"]
    ) {
        border-color: color-mix(in srgb, var(--primary) 26%, var(--border)) !important;
        background: color-mix(in srgb, var(--primary) 6%, var(--surface-elevated)) !important;
        color: var(--primary) !important;
    }
}

/* 9 — gráficos entram uma vez; barras crescem sem reflow. */
[data-mindz-chart-motion="true"] {
    opacity: 0;
    transform: scale(.992);
    transform-origin: center;
}

[data-mindz-chart-motion="true"].is-mindz-motion-visible {
    animation: mindzMotionChartIn var(--mindz-motion-chart) var(--mindz-motion-ease-emphasized) both;
}

[data-mindz-chart-motion="true"].is-mindz-motion-visible :is(
    .tn-chart-bar,
    .gv-chart-card__bar,
    .clima-chart-horizontal-fill,
    .insights-chart-bar,
    [class*="chart-bar"]
) {
    transform-origin: left bottom;
    animation: mindzMotionBarIn var(--mindz-motion-chart) var(--mindz-motion-ease-emphasized) both;
}

/* 10 — valor KPI contado pelo JS; reserva espaço e evita salto. */
[data-mindz-kpi-counting="true"] {
    font-variant-numeric: tabular-nums;
}

/* 11 — skeleton global elegante, inclusive legados. */
:is(.mindz-skeleton, .skeleton, [class*="skeleton-"]):not(.skeleton-container) {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--surface-soft) 84%, var(--border) 16%) !important;
}

:is(.skeleton, [class*="skeleton-"]):not(.mindz-skeleton):not(.skeleton-container)::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--surface-highlight, #fff) 44%, transparent) 50%, transparent 100%);
    transform: translateX(-105%);
    animation: mindzMotionSkeleton 1.45s var(--mindz-motion-ease) infinite;
}

[data-mindz-content-reveal="true"] {
    animation: mindzMotionContentIn 140ms var(--mindz-motion-ease) both;
}

/* 12 — feedback visual do botão usa estados reais, nunca finge sucesso. */
button[data-mindz-motion-state="loading"],
button[aria-busy="true"],
button.is-loading {
    cursor: wait !important;
    transform: none !important;
}

button[data-mindz-motion-state="success"],
button.is-success {
    border-color: color-mix(in srgb, var(--success) 40%, var(--border)) !important;
    background: color-mix(in srgb, var(--success) 10%, var(--surface-elevated)) !important;
    color: var(--success) !important;
    animation: mindzMotionSuccess var(--mindz-motion-panel) var(--mindz-motion-ease-emphasized) both;
}

button.mindz-motion-pressed {
    transform: scale(.985) !important;
}

/* 13 — tooltip com movimento mínimo. */
:is(.mindz-tooltip, [role="tooltip"], .tooltip):not([hidden]):not(.hidden) {
    animation: mindzMotionTooltipIn 150ms var(--mindz-motion-ease) both !important;
    will-change: opacity, transform;
}

/* 14 — combobox/dropdown sofisticado, sem alterar o layout. */
:is(
    .mindz-person-selector__list,
    .feedback-dropdown,
    .app-combobox__list,
    .mindz-combobox__listbox,
    [role="listbox"],
    .dropdown-menu
):not([hidden]):not(.hidden):not(.is-hidden) {
    transform-origin: top center;
    animation: mindzMotionComboIn var(--mindz-motion-standard) var(--mindz-motion-ease-emphasized) both !important;
}

/* 15 — seleção com gradiente muito discreto, não “pinta” o sistema inteiro. */
:is(
    .mindz-card[aria-selected="true"],
    .mindz-card[data-selected="true"],
    .mindz-card.is-selected,
    .home-selectable-card.is-active,
    [data-mindz-selection="true"],
    [role="option"][aria-selected="true"]
) {
    border-color: color-mix(in srgb, var(--primary) 42%, var(--border)) !important;
    background-image: var(--mindz-motion-selection) !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent),
        0 8px 24px color-mix(in srgb, var(--primary) 7%, transparent) !important;
}

/* Assinatura Noite Executiva — desktop, laptop e mobile. */
:root[data-theme="dark"],
:root[data-theme-mode="dark"] {
    --mindz-motion-row-hover: color-mix(in srgb, #4f8cff 9%, transparent);
    --mindz-motion-selection: linear-gradient(
        135deg,
        color-mix(in srgb, #4f8cff 14%, var(--surface-elevated) 86%),
        color-mix(in srgb, #182b4d 26%, var(--surface-elevated) 74%)
    );
}

:root[data-theme="dark"] body:not(.login-body),
:root[data-theme-mode="dark"] body:not(.login-body) {
    background-image:
        radial-gradient(760px circle at 5% -8%, rgba(49, 104, 255, .14), transparent 48%),
        radial-gradient(660px circle at 102% 102%, rgba(43, 91, 190, .10), transparent 50%) !important;
    background-attachment: fixed;
}

:root[data-theme="dark"] :is(#mainContent.app-content, #pageContent.content-page),
:root[data-theme-mode="dark"] :is(#mainContent.app-content, #pageContent.content-page) {
    background-image:
        radial-gradient(760px circle at 5% -8%, rgba(49, 104, 255, .14), transparent 48%),
        radial-gradient(660px circle at 102% 102%, rgba(43, 91, 190, .10), transparent 50%) !important;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

:root[data-theme="dark"] :is(
    .mindz-tooltip,
    .mindz-menu,
    .dropdown-menu,
    .popover,
    .sidebar-submenu-portal,
    .solicitacoes-actions-flyout,
    .mindz-person-selector__list,
    .feedback-dropdown,
    .topbar-action-modal,
    .mindz-toast,
    .ph-toast
),
:root[data-theme-mode="dark"] :is(
    .mindz-tooltip,
    .mindz-menu,
    .dropdown-menu,
    .popover,
    .sidebar-submenu-portal,
    .solicitacoes-actions-flyout,
    .mindz-person-selector__list,
    .feedback-dropdown,
    .topbar-action-modal,
    .mindz-toast,
    .ph-toast
) {
    border-color: rgba(255,255,255,.07) !important;
    background-color: color-mix(in srgb, var(--surface-elevated) 88%, transparent) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.025);
}

:root[data-theme="dark"] :is(
    .mindz-card[aria-selected="true"],
    .mindz-card[data-selected="true"],
    .mindz-card.is-selected,
    .home-selectable-card.is-active,
    [data-mindz-selection="true"],
    [role="option"][aria-selected="true"]
),
:root[data-theme-mode="dark"] :is(
    .mindz-card[aria-selected="true"],
    .mindz-card[data-selected="true"],
    .mindz-card.is-selected,
    .home-selectable-card.is-active,
    [data-mindz-selection="true"],
    [role="option"][aria-selected="true"]
) {
    box-shadow:
        0 0 0 1px rgba(79,140,255,.16),
        0 10px 30px rgba(27,79,180,.12),
        0 0 22px rgba(79,140,255,.05) !important;
}

:root[data-theme="dark"] [data-mindz-chart-motion="true"].is-mindz-motion-visible,
:root[data-theme-mode="dark"] [data-mindz-chart-motion="true"].is-mindz-motion-visible {
    filter: drop-shadow(0 8px 18px rgba(48, 107, 255, .045));
}

/* Keyframes: curtos, intencionais e sem movimento contínuo decorativo. */
@keyframes mindzMotionBell {
    0%, 100% { transform: rotate(0deg); }
    22% { transform: rotate(-7deg); }
    48% { transform: rotate(6deg); }
    72% { transform: rotate(-3deg); }
}

@keyframes mindzMotionPanelIn {
    from { opacity: 0; translate: 10px 0; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes mindzMotionModalIn {
    from { opacity: 0; scale: .985; }
    to { opacity: 1; scale: 1; }
}

@keyframes mindzMotionFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mindzMotionTooltipIn {
    from { opacity: 0; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes mindzMotionComboIn {
    from { opacity: 0; transform: translateY(-3px) scaleY(.98); }
    to { opacity: 1; transform: translateY(0) scaleY(1); }
}

@keyframes mindzMotionChartIn {
    from { opacity: 0; transform: scale(.992); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes mindzMotionBarIn {
    from { opacity: .4; transform: scaleX(.06); }
    to { opacity: 1; transform: scaleX(1); }
}

@keyframes mindzMotionSkeleton {
    to { transform: translateX(105%); }
}

@keyframes mindzMotionContentIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mindzMotionSuccess {
    0% { scale: .99; }
    100% { scale: 1; }
}

/* Reduced Motion é contrato obrigatório do sistema. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
    }

    :is(
        .mindz-motion-nav-indicator,
        [data-mindz-notification-ping="true"] *,
        [data-mindz-chart-motion="true"],
        [data-mindz-chart-motion="true"] *,
        .mindz-skeleton::after,
        .skeleton::after,
        [class*="skeleton-"]::after,
        .mindz-tooltip,
        [role="tooltip"],
        .tooltip,
        .mindz-person-selector__list,
        .feedback-dropdown,
        .app-combobox__list,
        .mindz-combobox__listbox,
        [role="listbox"],
        .dropdown-menu,
        .mindz-flyout,
        .sidebar-submenu-portal,
        .solicitacoes-actions-flyout,
        .avaliacoes-actions-flyout,
        .mindz-modal,
        .app-dialog-modal,
        .app-modal,
        .modal-content,
        .feedback-modal,
        .avaliacoes-modal__dialog
    ) {
        animation: none !important;
        transition-duration: 1ms !important;
        translate: none !important;
        scale: 1 !important;
    }

    [data-mindz-chart-motion="true"] {
        opacity: 1 !important;
        transform: none !important;
    }

    :is(
        .mindz-card--interactive,
        .home-selectable-card,
        [data-mindz-interactive="true"],
        [data-clickable="true"],
        .card[role="button"],
        .app-card[role="button"]
    ):is(:hover, :focus-visible, :focus-within),
    :is(button, a, [role="button"]):hover > :is(svg, .icon, [class*="__icon"]) {
        transform: none !important;
    }
}

@media (max-width: 760px) {
    body:not(.login-body),
    :is(#mainContent.app-content, #pageContent.content-page),
    :root[data-theme="dark"] body:not(.login-body),
    :root[data-theme-mode="dark"] body:not(.login-body),
    :root[data-theme="dark"] :is(#mainContent.app-content, #pageContent.content-page),
    :root[data-theme-mode="dark"] :is(#mainContent.app-content, #pageContent.content-page) {
        background-attachment: scroll !important;
    }
}

/* Feedback de conclusão: indicador só aparece quando há estado real de sucesso. */
button[data-mindz-motion-state="loading"]::after,
button[aria-busy="true"]::after,
button.is-loading::after {
    content: "•••";
    margin-inline-start: 7px;
    letter-spacing: 2px;
    line-height: 1;
}

button[data-mindz-motion-state="success"]::after,
button.is-success::after {
    content: "✓";
    margin-inline-start: 7px;
    font-weight: 800;
}

/* O skeleton oficial também adota o shimmer do Motion System. */
.mindz-skeleton::after {
    animation: mindzMotionSkeleton 1.45s var(--mindz-motion-ease) infinite !important;
}

/* =========================================================
   MindZ 27182 — badges de notificações + flyouts globais
   ========================================================= */
:is(
    .topbar-notification-badge,
    .ph-home-notification-badge,
    [data-mindz-notification-badge="true"],
    .topbar-notification-count-badge,
    .sidebar-notification-badge
) {
    display: inline-grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
    text-align: center !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums !important;
}

:is(
    .topbar-notification-badge,
    .ph-home-notification-badge,
    [data-mindz-notification-badge="true"]
) {
    min-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    padding-inline: 4px !important;
}

/* Flyouts operacionais: padrão único MindZ, sem alterar os submenus da sidebar. */
:is(
    .mindz-flyout,
    .solicitacoes-actions-flyout,
    .avaliacoes-actions-flyout,
    .avaliacoes-global-action-flyout,
    .avaliacoes-liderados-actions-flyout,
    .avaliacoes-results-actions-flyout,
    .descricao-cargos-actions-flyout,
    .colaborador-actions-flyout,
    .mov-actions-flyout,
    .pdi-module-actions-flyout,
    .gv2-candidate-actions-flyout,
    .gv2-vacancy-actions-flyout,
    .activities-group-actions-flyout,
    .up-actions-flyout,
    .acoes-floating-menu,
    [class*="actions-flyout"]:not(.sidebar-flyout):not(.app-sidebar-flyout),
    [class*="acoes-flyout"]:not(.sidebar-flyout):not(.app-sidebar-flyout)
) {
    border-color: color-mix(in srgb, var(--primary) 12%, var(--border)) !important;
    border-radius: var(--radius-lg, 16px) !important;
    background: var(--popover-bg, var(--surface)) !important;
    color: var(--text) !important;
    box-shadow: var(--shadow-lg, 0 18px 48px rgba(15, 23, 42, .14)) !important;
    text-align: left !important;
}

:is(
    .mindz-flyout,
    .solicitacoes-actions-flyout,
    .avaliacoes-actions-flyout,
    .avaliacoes-global-action-flyout,
    .avaliacoes-liderados-actions-flyout,
    .avaliacoes-results-actions-flyout,
    .descricao-cargos-actions-flyout,
    .colaborador-actions-flyout,
    .mov-actions-flyout,
    .pdi-module-actions-flyout,
    .gv2-candidate-actions-flyout,
    .gv2-vacancy-actions-flyout,
    .activities-group-actions-flyout,
    .up-actions-flyout,
    .acoes-floating-menu,
    [class*="actions-flyout"]:not(.sidebar-flyout):not(.app-sidebar-flyout),
    [class*="acoes-flyout"]:not(.sidebar-flyout):not(.app-sidebar-flyout)
) :is(
    button,
    a,
    [role="menuitem"],
    [class*="flyout-item"],
    [class*="action-item"]
) {
    justify-content: flex-start !important;
    justify-items: start !important;
    text-align: left !important;
}

:is(
    .mindz-flyout,
    .solicitacoes-actions-flyout,
    .avaliacoes-actions-flyout,
    .avaliacoes-global-action-flyout,
    .avaliacoes-liderados-actions-flyout,
    .avaliacoes-results-actions-flyout,
    .descricao-cargos-actions-flyout,
    .colaborador-actions-flyout,
    .mov-actions-flyout,
    .pdi-module-actions-flyout,
    .gv2-candidate-actions-flyout,
    .gv2-vacancy-actions-flyout,
    .activities-group-actions-flyout,
    .up-actions-flyout,
    .acoes-floating-menu
) :is(strong, span, small, p, .mindz-action-menu-item__copy, [class*="__copy"]) {
    text-align: left !important;
}


/* =========================================================
   MindZ 27184 — badges e ações: contrato final da Home
   ========================================================= */

/* O estado hidden precisa vencer a regra visual do badge.
   Isso impede o "0" vermelho de aparecer antes/depois da carga. */
:is(
    .topbar-notification-badge,
    .ph-home-notification-badge,
    [data-mindz-notification-badge="true"],
    [data-mindz-notification-badge]
).hidden,
:is(
    .topbar-notification-badge,
    .ph-home-notification-badge,
    [data-mindz-notification-badge="true"],
    [data-mindz-notification-badge]
)[hidden] {
    display: none !important;
}

/* Badge do sino: mesmo acabamento em todas as telas e viewports. */
:is(
    .topbar-notification-badge,
    .ph-home-notification-badge,
    [data-mindz-notification-badge="true"],
    [data-mindz-notification-badge]
):not(.hidden):not([hidden]) {
    display: inline-grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    width: auto !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 5px !important;
    border: 2px solid var(--shell-bg, var(--surface, #fff)) !important;
    border-radius: 999px !important;
    background: #e53935 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    font-variant-numeric: tabular-nums !important;
    box-shadow: 0 5px 14px rgba(229, 57, 53, .24) !important;
}

/* Menu lateral não possui badges — inclusive restos de HTML/cache antigo. */
#appSidebar :is(.sidebar-notification-badge, .sidebar-unread-badge, [data-sidebar-badge]),
.sidebar-submenu-portal :is(.sidebar-notification-badge, .sidebar-unread-badge, [data-sidebar-badge]) {
    display: none !important;
}

/* Solicitações também não expõe badge em navegação. */
#appSidebar [data-sidebar-badge="solicitacoes_pendentes"],
.sidebar-submenu-portal [data-sidebar-badge="solicitacoes_pendentes"] {
    display: none !important;
}

/* Home: botão de ações idêntico ao padrão MindZ de ellipsis. */
body.inicio-dashboard-v3 .home-card__actions-trigger,
body.inicio-premium-v2 .home-card__actions-trigger {
    display: inline-grid !important;
    place-items: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 1px solid var(--border-subtle, var(--border)) !important;
    border-radius: 10px !important;
    background: var(--surface-elevated, var(--surface)) !important;
    color: var(--text-secondary, var(--text-muted)) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .035) !important;
    cursor: pointer !important;
}

body.inicio-dashboard-v3 .home-card__actions-trigger:is(:hover, :focus-visible, [aria-expanded="true"]),
body.inicio-premium-v2 .home-card__actions-trigger:is(:hover, :focus-visible, [aria-expanded="true"]) {
    background: var(--surface-hover) !important;
    border-color: color-mix(in srgb, var(--primary) 34%, var(--border-subtle, var(--border))) !important;
    color: var(--primary) !important;
}

body.inicio-dashboard-v3 .home-card__actions-trigger svg,
body.inicio-premium-v2 .home-card__actions-trigger svg {
    width: 18px !important;
    height: 18px !important;
}

/* Home: flyout de ações segue o mesmo menu operacional global. */
.home-card-menu {
    min-width: 210px !important;
    max-width: min(300px, calc(100vw - 24px)) !important;
    padding: 7px !important;
    border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--border-subtle, var(--border))) !important;
    border-radius: var(--radius-lg, 14px) !important;
    background: var(--popover-bg, var(--surface-elevated, var(--surface))) !important;
    color: var(--text-primary, var(--text)) !important;
    box-shadow: var(--shadow-lg, 0 18px 48px rgba(15, 23, 42, .14)) !important;
    text-align: left !important;
}

.home-card-menu [role="menuitem"],
.home-card-menu .home-card-menu__item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 9px !important;
    text-align: left !important;
    white-space: normal !important;
}

.home-card-menu :is(.home-card-menu__label, span, strong, small, p) {
    text-align: left !important;
}

.home-card-menu__icon {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
}

/* Badges operacionais da Home: vermelho e sem zero visível. */
body .ph-home-page :is(
    .home-card__title-badge,
    .home-redesign-topic-badge.is-pending,
    .home-development .home-redesign-action-row > em.is-pending
) {
    background: #e53935 !important;
    border-color: #e53935 !important;
    color: #fff !important;
    font-variant-numeric: tabular-nums !important;
}

body .ph-home-page .home-development .home-redesign-action-row > em.is-pending {
    display: inline-grid !important;
    place-items: center !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    box-shadow: 0 7px 16px rgba(229, 57, 53, .22) !important;
}

/* O card Solicitações usa valores nos próprios botões, nunca badges acessórios. */
body .ph-home-page .home-requests :is(
    .home-card__title-badge,
    .home-redesign-topic-badge,
    [data-home-request-badge]
) {
    display: none !important;
}

/* =========================================================
   MindZ 27185 — centralização geométrica dos badges da rotina
   Mantém o mesmo componente em Minha rotina e Rotina da equipe.
   ========================================================= */
body .ph-home-page:is([data-home-view="minha"], [data-home-view="equipe"])
.home-redesign-routine-topic__actions .home-redesign-topic-badge.is-pending {
    display: inline-grid !important;
    place-items: center !important;
    align-items: center !important;
    justify-items: center !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e53935 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    vertical-align: middle !important;
    font-variant-numeric: tabular-nums !important;
}

@media (max-width: 760px) {
    body .ph-home-page:is([data-home-view="minha"], [data-home-view="equipe"])
    .home-redesign-routine-topic__actions .home-redesign-topic-badge.is-pending {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        font-size: 10px !important;
    }
}

/* =========================================================
   MindZ 27189 — centralização obrigatória de pop-ups/modais
   Contrato final global para desktop, laptop, mobile e PWA.
   Flyouts, dropdowns, tooltips e menus de ação não entram aqui.
   ========================================================= */
body :where(
    .mindz-overlay,
    [data-mindz-overlay="true"],
    .app-modal-backdrop,
    .modal-backdrop,
    .modal-overlay,
    .app-dialog-backdrop,
    .dialog-backdrop,
    .dialog-overlay,
    .mindz-modal-backdrop,
    .mindz-popup-backdrop,
    .popup-backdrop,
    .popup-overlay,
    .feedback-modal-backdrop,
    .feedback-colaborador-popup-backdrop,
    .solicitacoes-modal-backdrop,
    .mindz-theme-modal-backdrop,
    .comunicados-backdrop,
    .comemoracoes-search-backdrop,
    .activities-modal-backdrop,
    .pe-modal-backdrop,
    .tn-publico-department-backdrop,
    .tn-publico-item-backdrop,
    .avaliacoes-modal.is-open,
    .avaliacoes-modal-secondary.is-open,
    .mov-modal,
    #topbarActionModalBackdrop.topbar-action-modal-backdrop
):not(.hidden):not(.is-hidden):not([hidden]):not([aria-hidden="true"]) {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(12px, 2vw, 24px) !important;
    box-sizing: border-box !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    overflow: auto !important;
}

body :where(
    .mindz-overlay,
    [data-mindz-overlay="true"],
    .app-modal-backdrop,
    .modal-backdrop,
    .modal-overlay,
    .app-dialog-backdrop,
    .dialog-backdrop,
    .dialog-overlay,
    .mindz-modal-backdrop,
    .mindz-popup-backdrop,
    .popup-backdrop,
    .popup-overlay,
    .feedback-modal-backdrop,
    .feedback-colaborador-popup-backdrop,
    .solicitacoes-modal-backdrop,
    .mindz-theme-modal-backdrop,
    .comunicados-backdrop,
    .comemoracoes-search-backdrop,
    .activities-modal-backdrop,
    .pe-modal-backdrop,
    .tn-publico-department-backdrop,
    .tn-publico-item-backdrop,
    .avaliacoes-modal.is-open,
    .avaliacoes-modal-secondary.is-open,
    .mov-modal,
    #topbarActionModalBackdrop.topbar-action-modal-backdrop
) > :where(
    [role="dialog"],
    [aria-modal="true"],
    [data-mindz-modal="true"],
    .mindz-modal,
    .app-modal,
    .modal,
    .modal-content,
    .app-dialog-modal,
    .feedback-modal,
    .feedback-colaborador-popup-panel,
    .activities-modal,
    .pe-modal,
    .mov-modal-card,
    .mov-submodal-card,
    .topbar-action-modal
) {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    margin: auto !important;
    transform: none !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    box-sizing: border-box !important;
}

/* Dialogs sem backdrop próprio também ficam geometricamente centrados. */
body > :where([role="dialog"][aria-modal="true"], dialog[open]):not(.hidden):not([hidden]) {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    box-sizing: border-box !important;
}

@supports (height: 100svh) {
    body :where(
        .mindz-overlay,
        [data-mindz-overlay="true"],
        .app-modal-backdrop,
        .modal-backdrop,
        .modal-overlay,
        .app-dialog-backdrop,
        .dialog-backdrop,
        .dialog-overlay,
        .mindz-modal-backdrop,
        .mindz-popup-backdrop,
        .popup-backdrop,
        .popup-overlay,
        .feedback-modal-backdrop,
        .feedback-colaborador-popup-backdrop,
        .solicitacoes-modal-backdrop,
        .mindz-theme-modal-backdrop,
        .comunicados-backdrop,
        .comemoracoes-search-backdrop,
        .activities-modal-backdrop,
        .pe-modal-backdrop,
        .tn-publico-department-backdrop,
        .tn-publico-item-backdrop,
        .avaliacoes-modal.is-open,
        .avaliacoes-modal-secondary.is-open,
        .mov-modal,
        #topbarActionModalBackdrop.topbar-action-modal-backdrop
    ):not(.hidden):not(.is-hidden):not([hidden]):not([aria-hidden="true"]) {
        height: 100svh !important;
    }
}

/* Backdrops legados adicionais encontrados nos módulos ativos. */
body :where(
    .app-modal__backdrop,
    .clima-employees-backdrop,
    .clima-graficos-backdrop,
    .clima-resultados-backdrop,
    .comemoracao-modal-backdrop,
    .insights-modal-overlay,
    .up-modal-backdrop
):not(.hidden):not(.is-hidden):not([hidden]):not([aria-hidden="true"]) {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: clamp(12px, 2vw, 24px) !important;
    box-sizing: border-box !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    overflow: auto !important;
}

body :where(
    .app-modal__backdrop,
    .clima-employees-backdrop,
    .clima-graficos-backdrop,
    .clima-resultados-backdrop,
    .comemoracao-modal-backdrop,
    .insights-modal-overlay,
    .up-modal-backdrop
) > :where([role="dialog"], [aria-modal="true"], [class*="modal"], [class*="dialog"], [class*="popup"]) {
    position: relative !important;
    inset: auto !important;
    margin: auto !important;
    transform: none !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    box-sizing: border-box !important;
}
