/* ==========================================================================
   Sidebar V2 — fixed-width flat nav, corporate design
   Overrides hover-expand from layout.css. Link AFTER layout.css.
   ========================================================================== */

/* Altura única: borda inferior do brand (sidebar) = borda da topbar */
#appScreen {
    --app-shell-rail-height: 4.375rem;
}

/* 1 — Fixed 13.75rem, remove hover-expand */
.sidebar.sidebar-v2 {
    width: 13.75rem;
    min-width: 13.75rem;
    max-width: 13.75rem;
    flex: 0 0 13.75rem;
}

.sidebar.sidebar-v2 .sidebar-panel {
    width: 13.75rem !important;
    position: relative !important;
    height: 100%;
    transition: none;
    background: #0c1424;
    border-right: 0.0625rem solid #1c2740;
    overflow: hidden;
}

.sidebar.sidebar-v2:hover .sidebar-panel {
    width: 13.75rem !important;
    box-shadow: none;
}

/* 2 — Brand */
.sidebar.sidebar-v2 .sidebar-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    height: var(--app-shell-rail-height);
    min-height: var(--app-shell-rail-height);
    max-height: var(--app-shell-rail-height);
    box-sizing: border-box;
    padding: 0 0.875rem;
    border-bottom: 0;
}

.v2-brand-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.375rem;
    height: 2.375rem;
}

.v2-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.v2-brand-name {
    font-weight: 800;
    letter-spacing: 0.09375rem;
    font-size: 1.125rem;
    color: #e6ebf5;
}

.v2-brand-sub {
    font-size: 0.5625rem;
    letter-spacing: 0.1875rem;
    color: #bfc8db;
    margin-top: 0.1875rem;
    font-weight: 600;
}

/* 3 — Section labels (removidos do markup; regra evita espaçamento residual) */
.sidebar.sidebar-v2 .v2-nav-section {
    display: none !important;
}

/* 4 — Always show labels; always bold to prevent layout shift on hover */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item {
    font-size: 0.875rem !important;
    line-height: 1.25;
}

.sidebar.sidebar-v2 .nav-label {
    opacity: 1 !important;
    max-width: 11.25rem !important;
    transition: font-weight 0.12s ease, color 0.12s ease !important;
    transition-delay: 0s !important;
    font-weight: 600 !important;
    font-size: inherit !important;
}

.sidebar.sidebar-v2 .nav-icon {
    transition: filter 0.18s ease !important;
}

.sidebar.sidebar-v2 .sidebar-title {
    opacity: 1 !important;
    max-width: 10rem !important;
}

/* 5 — LAYOUT LOCK: unconditional margin/padding/gap (hover + non-hover).
        layout.css base applies margin: 0 1rem + padding: 0.75rem 0.53125rem on hover,
        shifting items right. This override locks layout for both states. */
.sidebar.sidebar-v2 .nav-item,
.sidebar.sidebar-v2 .nav-item-parent {
    justify-content: flex-start !important;
    gap: 0.875rem !important;
    margin: 0 !important;
    padding: 0.625rem 1rem !important;
}

/* 6 — Fix collapsed-state layout overrides from layout.css */
.sidebar.sidebar-v2:not(:hover) .nav-submenu {
    display: flex !important;
}

.sidebar.sidebar-v2:not(:hover) .nav-submenu.hidden {
    display: none !important;
}

.sidebar.sidebar-v2:not(:hover) .nav-item-sub {
    display: flex !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}

.sidebar.sidebar-v2:not(:hover) .nav-item,
.sidebar.sidebar-v2:not(:hover) .nav-item-parent {
    justify-content: flex-start !important;
    gap: 0.875rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.sidebar.sidebar-v2:not(:hover) .nav-chevron {
    display: inline-block !important;
}

/* 7 — Active state: teal bg kept; ALL neon color and text-shadow removed.
        Covers both hover and non-hover (.sidebar:not(:hover)) states.
        layout.css lines 437-444 (.active .nav-icon) and
        lines 468-476 (.is-active-page .nav-icon) both set corp-accent-neon. */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent {
    background: var(--sidebar-active-bg) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label {
    color: #ffffff !important;
    text-shadow: none !important;
    font-weight: 600 !important;
}

/* Kill neon on icon — sidebar hovered state */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page .nav-icon,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent .nav-icon {
    color: #ffffff !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: var(--v2-dynamic-icon-size, 1.375rem) !important;
    height: var(--v2-dynamic-icon-size, 1.375rem) !important;
}

/* Kill neon on icon — sidebar NOT hovered (layout.css lines 468-476 culprit) */
.sidebar.sidebar-v2:not(:hover) .sidebar-nav > .nav-item.is-active-page .nav-icon,
.sidebar.sidebar-v2:not(:hover) .sidebar-nav .nav-group > .nav-item-parent.is-active-parent .nav-icon {
    color: #ffffff !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: var(--v2-dynamic-icon-size, 1.375rem) !important;
    height: var(--v2-dynamic-icon-size, 1.375rem) !important;
}

/* Kill neon on legacy .active class icon (layout.css lines 437-444) */
.sidebar.sidebar-v2:not(:hover) .sidebar-nav > .nav-item.active .nav-icon,
.sidebar.sidebar-v2:not(:hover) .sidebar-nav .nav-group > .nav-item-parent.active .nav-icon {
    color: #ffffff !important;
    width: var(--v2-dynamic-icon-size, 1.375rem) !important;
    height: var(--v2-dynamic-icon-size, 1.375rem) !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* 8 — Hover: sem sombra/glow; negrito + contraste (ativo) */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover {
    background: transparent !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover {
    background: var(--sidebar-active-bg) !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Anula layout.css (neon / troca de cor) no V2 */
.sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:hover .nav-label {
    color: inherit !important;
}

/* 9 — Sober topbar: remove neon glows */
.topbar-chats-quick-btn {
    border-color: var(--corp-border-strong) !important;
    background: var(--corp-surface-muted) !important;
}

.topbar-chats-quick-btn:hover,
.topbar-chats-quick-btn:focus-visible {
    border-color: var(--corp-focus-border) !important;
    box-shadow: none !important;
    background: var(--corp-surface-muted) !important;
}

.topbar-perfil-btn {
    border-color: var(--corp-border-strong) !important;
}

.topbar-perfil-btn:hover,
.topbar-perfil-btn:focus-visible {
    border-color: var(--corp-focus-border) !important;
    box-shadow: none !important;
}

/* 10 — Topbar: mesma altura do rail F5 DESK (linha inferior alinhada) */
.app-topbar {
    justify-content: flex-end !important;
    box-sizing: border-box;
    height: var(--app-shell-rail-height);
    min-height: var(--app-shell-rail-height);
    max-height: var(--app-shell-rail-height);
    padding: 0 1.5rem;
    align-items: center;
}

.app-topbar-left {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    flex-shrink: 0;
}

.topbar-hamburger {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted, #7e8aa3);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 0.375rem;
    flex-shrink: 0;
    padding: 0;
    transition: background 0.15s;
}

.topbar-hamburger:hover {
    background: var(--corp-surface-muted);
}

.topbar-hamburger svg {
    width: 1.25rem;
    height: 1.25rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}

.topbar-page-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text);
    letter-spacing: 0.0125rem;
    white-space: nowrap;
}

/* 11 — Nav divider */
.sidebar.sidebar-v2 .nav-divider {
    background: rgba(255, 255, 255, 0.1);
    margin: 0.625rem 0;
}

/* 12 — nav-group: no gap when open */
.sidebar.sidebar-v2 .nav-group {
    display: flex;
    flex-direction: column;
}

/* ==========================================================================
   TEMA CLARO — sidebar light variant
   Sidebar dark permanece no dark theme. Light theme = elegante slate claro.
   Selector: html:not([data-theme="dark"]):not([data-theme="cinza"]) cobre o padrão (:root) = light.
   ========================================================================== */

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-panel {
    background:
        linear-gradient(
            145deg,
            #1a4db8 0%,
            #2f6fe0 28%,
            #5aa0ff 52%,
            #2a62d4 78%,
            #163f9a 100%
        ) !important;
    border-right: 0.0625rem solid rgba(180, 210, 255, 0.35) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2:hover .sidebar-panel {
    background:
        linear-gradient(
            145deg,
            #1a4db8 0%,
            #2f6fe0 28%,
            #5aa0ff 52%,
            #2a62d4 78%,
            #163f9a 100%
        ) !important;
    border-right-color: rgba(180, 210, 255, 0.35) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-header {
    border-bottom: 0 !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .app-topbar {
    border-bottom-color: #cfd8e8 !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .v2-brand-name {
    color: #1e293b !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .v2-brand-sub {
    color: #64748b !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .v2-nav-section {
    color: #94a3b8 !important;
}

/* Nav items: texto slate escuro legível no fundo claro */
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item {
    color: #475569 !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-label {
    color: #475569 !important;
}

/* Hover tema claro — inativo: negrito + alto contraste, sem sombra */
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    color: var(--fd-text, #0d1b34) !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

/* Ícones no tema claro (estado normal) */
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-icon {
    color: #64748b !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: var(--fd-text, #0d1b34) !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent {
    background: var(--sidebar-active-bg) !important;
    color: #ffffff !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label {
    color: #ffffff !important;
    text-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2:not(:hover) .sidebar-nav > .nav-item.is-active-page .nav-icon {
    color: #ffffff !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
}

/* Tema escuro — inativo: negrito + branco forte, sem sombra */
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}
html[data-theme='cinza'] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label{
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
html[data-theme='cinza'] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon{
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Divisor no tema claro */
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-divider {
    background: rgba(0, 0, 0, 0.1) !important;
}

/* 13 — Toggle único: cicla fixada → minimizada → escondida (ícones SVG por tema) */
.sidebar.sidebar-v2 .sidebar-header {
    position: relative;
}

.sidebar-v2-rail-toggle {
    --v2-rail-glass-icon: #2a62d4;
    appearance: none;
    -webkit-appearance: none;
    margin-left: auto;
    margin-right: auto;
    flex: 0 0 var(--v2-rail-toggle-size, 1.875rem);
    flex-shrink: 0;
    min-width: var(--v2-rail-toggle-size, 1.875rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--v2-rail-toggle-size, 1.875rem);
    height: var(--v2-rail-toggle-size, 1.875rem);
    padding: 0;
    border: 0.0625rem solid rgba(255, 255, 255, 0.78);
    border-radius: 0.625rem;
    background:
        linear-gradient(
            165deg,
            rgba(255, 255, 255, 0.78) 0%,
            rgba(232, 242, 255, 0.48) 46%,
            rgba(255, 255, 255, 0.28) 100%
        );
    color: var(--v2-rail-glass-icon) !important;
    cursor: pointer;
    opacity: 1;
    overflow: visible;
    isolation: isolate;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.95),
        inset 0 -0.0625rem 0 rgba(42, 98, 212, 0.1),
        0 0.25rem 0.75rem rgba(12, 40, 90, 0.22),
        0 0 0 0.0625rem rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(0.875rem) saturate(1.35);
    -webkit-backdrop-filter: blur(0.875rem) saturate(1.35);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.sidebar-v2-rail-toggle:hover,
.sidebar-v2-rail-toggle:focus-visible {
    outline: none;
    transform: none;
    background:
        linear-gradient(
            165deg,
            rgba(255, 255, 255, 0.9) 0%,
            rgba(236, 244, 255, 0.62) 48%,
            rgba(255, 255, 255, 0.4) 100%
        ) !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    color: #1e4db8 !important;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.98),
        inset 0 -0.0625rem 0 rgba(42, 98, 212, 0.12),
        0 0.375rem 1rem rgba(12, 40, 90, 0.28),
        0 0 0 0.0625rem rgba(255, 255, 255, 0.32) !important;
    filter: none;
}

.sidebar-v2-rail-toggle-icon {
    display: grid;
    place-items: center;
    width: 1.125rem;
    height: 1.125rem;
    pointer-events: none;
    user-select: none;
}

.sidebar-v2-rail-toggle-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.sidebar-v2-rail-toggle-icon[data-mode-icon="pinned"] svg,
.sidebar-v2-rail-toggle-icon[data-mode-icon="hidden"] svg,
.sidebar-v2-rail-toggle-icon[data-mode-icon="dynamic"] svg {
    transform: none;
}

.sidebar-v2-rail-toggle-icon[hidden] {
    display: none !important;
}

.sidebar.sidebar-v2 {
    --v2-rail-toggle-size: 1.875rem;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar-v2-rail-toggle,
html[data-theme="cinza"] .sidebar-v2-rail-toggle,
html[data-theme="dark"] .sidebar-v2-rail-toggle {
    --v2-rail-glass-icon: #2a62d4;
    background:
        linear-gradient(
            165deg,
            rgba(255, 255, 255, 0.78) 0%,
            rgba(232, 242, 255, 0.48) 46%,
            rgba(255, 255, 255, 0.28) 100%
        );
    border-color: rgba(255, 255, 255, 0.78);
    color: var(--v2-rail-glass-icon) !important;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.95),
        inset 0 -0.0625rem 0 rgba(42, 98, 212, 0.1),
        0 0.25rem 0.75rem rgba(12, 40, 90, 0.22),
        0 0 0 0.0625rem rgba(255, 255, 255, 0.22);
}

html[data-theme="dark"] .sidebar-v2-rail-toggle,
html[data-theme="cinza"] .sidebar-v2-rail-toggle {
    --v2-rail-glass-icon: #3d7aed;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar-v2-rail-toggle:hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar-v2-rail-toggle:focus-visible,
html[data-theme="cinza"] .sidebar-v2-rail-toggle:hover,
html[data-theme="cinza"] .sidebar-v2-rail-toggle:focus-visible,
html[data-theme="dark"] .sidebar-v2-rail-toggle:hover,
html[data-theme="dark"] .sidebar-v2-rail-toggle:focus-visible {
    background:
        linear-gradient(
            165deg,
            rgba(255, 255, 255, 0.9) 0%,
            rgba(236, 244, 255, 0.62) 48%,
            rgba(255, 255, 255, 0.4) 100%
        ) !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    color: #1e4db8 !important;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.98),
        inset 0 -0.0625rem 0 rgba(42, 98, 212, 0.12),
        0 0.375rem 1rem rgba(12, 40, 90, 0.28),
        0 0 0 0.0625rem rgba(255, 255, 255, 0.32) !important;
}

/* Modo escondido — fora da tela; revela na margem esquerda (mesmo padrão do modo foco do Chats) */
.sidebar.sidebar-v2.sidebar-v2--hidden {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    overflow: visible;
    border: 0 !important;
    z-index: 1400;
}

.sidebar.sidebar-v2.sidebar-v2--hidden .sidebar-panel {
    position: fixed !important;
    inset: 0 auto 0 0;
    z-index: 1401;
    width: var(--v2-sidebar-expanded-w, 13.75rem) !important;
    height: 100%;
    transform: translateX(calc(-100% - 0.75rem));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0.75rem 0 1.75rem rgba(15, 23, 42, 0.18);
    /* Fecha no mesmo instante do mouseleave; abertura continua suave */
    transition:
        transform 120ms ease,
        opacity 80ms ease,
        visibility 0s linear 120ms;
}

.sidebar.sidebar-v2.sidebar-v2--hidden.is-revealed .sidebar-panel {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        transform 120ms ease,
        opacity 80ms ease,
        visibility 0s linear 0s;
}

.sidebar-v2-hide-edge {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1395;
    display: block;
    width: 0.125rem;
    background: transparent;
    pointer-events: auto;
}

.sidebar-v2-hide-edge[hidden] {
    display: none !important;
}

body.chats-focus-mode .sidebar-v2-hide-edge {
    display: none !important;
}

/* Modo dinâmico — rail 4rem, expande no hover (larguras inalteradas) */
.sidebar.sidebar-v2.sidebar-v2--dynamic {
    --v2-dynamic-rail-w: 4rem;
    --v2-dynamic-icon-size: 1.375rem;
    --v2-dynamic-icon-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-icon-size)) / 2);
    --v2-dynamic-brand-size: 2.375rem;
    --v2-dynamic-brand-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-brand-size)) / 2);
    width: 4rem;
    min-width: 4rem;
    max-width: 4rem;
    flex: 0 0 4rem;
    overflow: visible;
    z-index: 1300;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-panel {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 4rem !important;
    height: 100%;
    transition: width 0.28s ease, box-shadow 0.28s ease;
    overflow: hidden;
    z-index: 1;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel {
    width: 13.75rem !important;
    box-shadow: 0.5rem 0 1.5rem rgba(0, 0, 0, 0.22);
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-brand-text {
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    margin: 0;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-nav-section {
    display: none !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .nav-label {
    opacity: 0 !important;
    max-width: 0 !important;
    overflow: hidden;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .nav-label {
    opacity: 1 !important;
    max-width: 11.25rem !important;
}

/* Coluna de ícones fixa: mesma posição recolhida e expandida; só a barra cresce à direita */
.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-nav > .nav-item,
.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-nav > .nav-item#logoutBtn {
    justify-content: flex-start !important;
    gap: 0.875rem !important;
    margin: 0 !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: var(--v2-dynamic-icon-inset) !important;
    padding-right: var(--v2-dynamic-icon-inset) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    transition: color 0.15s ease, background 0.15s ease, text-shadow 0.15s ease !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-nav > .nav-item,
.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-nav > .nav-item#logoutBtn {
    padding-right: 1rem !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-nav .nav-group.is-open > .nav-item-parent {
    justify-content: flex-start !important;
    padding-left: var(--v2-dynamic-icon-inset) !important;
    padding-right: var(--v2-dynamic-icon-inset) !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .nav-icon {
    width: var(--v2-dynamic-icon-size) !important;
    height: var(--v2-dynamic-icon-size) !important;
    flex: 0 0 var(--v2-dynamic-icon-size) !important;
    margin: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-header {
    justify-content: center !important;
    padding-left: var(--v2-dynamic-brand-inset) !important;
    padding-right: var(--v2-dynamic-brand-inset) !important;
    gap: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-brand-logo {
    margin-inline: auto;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-v2-rail-toggle {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    margin: -0.0625rem;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    pointer-events: none;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-header {
    justify-content: flex-start !important;
    padding: 0 0.875rem !important;
    gap: 0.625rem !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-logo {
    margin-inline: 0;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-v2-rail-toggle {
    position: static;
    flex: 0 0 var(--v2-rail-toggle-size);
    width: var(--v2-rail-toggle-size);
    min-width: var(--v2-rail-toggle-size);
    height: var(--v2-rail-toggle-size);
    margin-left: auto;
    margin-right: auto;
    clip: auto;
    overflow: visible;
    pointer-events: auto;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .nav-divider {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel {
    box-shadow: 0.5rem 0 1.25rem rgba(15, 23, 42, 0.12);
}

/* ==========================================================================
   Sprint 10 — logo FiveDesk (mark fixo no rail; wordmark ao expandir)
   Contrato S13: mark → fivedesk-mark-5.png | expandida → fivedesk-logo-wordmark.png
   (fivedesk-logo-full.png reservado; não referenciado no app-shell.html)
   ========================================================================== */

.sidebar.sidebar-v2 {
    --v2-brand-mark-size: 2.375rem;
    --v2-sidebar-expanded-w: 13.75rem;
    --v2-brand-wordmark-gap: 0.625rem;
    --v2-sidebar-wordmark-edge: 0.625rem;
    --v2-rail-toggle-size: 1.875rem;
    --v2-header-toggle-gap: 0.5rem;
    --v2-dynamic-icon-size: 1.375rem;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic {
    --v2-dynamic-brand-size: calc(2.375rem * 1.4);
    --v2-brand-mark-size: calc(2.375rem * 1.4);
}

.sidebar.sidebar-v2 .v2-brand-text {
    display: none !important;
}

.sidebar.sidebar-v2 .v2-brand-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    min-width: 0;
    width: auto;
    height: auto;
    max-width: none;
    overflow: visible;
    gap: 0.875rem;
}

.sidebar.sidebar-v2 .sidebar-header {
    overflow: visible;
}

.sidebar.sidebar-v2 .v2-brand-img {
    display: block;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 0;
}

.sidebar.sidebar-v2 .v2-brand-img--mark {
    display: block;
    width: var(--v2-brand-mark-size);
    height: var(--v2-brand-mark-size);
    flex: 0 0 var(--v2-brand-mark-size);
}
.sidebar.sidebar-v2 .v2-brand-img--mark-nublado,
.sidebar.sidebar-v2 .v2-brand-img--mark-noite {
    display: none;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .v2-brand-img--mark-dia {
    display: none;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .v2-brand-img--mark-nublado {
    display: block;
    /* Compensa traço mais fino do PNG nublado frente a Dia/Noite no mesmo box. */
    transform: scale(1.08);
    transform-origin: left center;
}
html[data-theme="dark"] .sidebar.sidebar-v2 .v2-brand-img--mark-dia {
    display: none;
}
html[data-theme="dark"] .sidebar.sidebar-v2 .v2-brand-img--mark-noite {
    display: block;
}

.sidebar.sidebar-v2 .v2-brand-img--full {
    display: block;
    width: auto;
    height: var(--v2-brand-mark-size);
    max-width: 0;
    max-height: var(--v2-brand-mark-size);
    min-width: 0;
    opacity: 0;
    overflow: hidden;
    /* Não cresce: deixa espaço livre para centralizar o botão após o wordmark. */
    flex: 0 1 auto;
    margin: 0;
    object-fit: contain;
    object-position: left center;
    transition: opacity 0.2s ease, max-width 0.28s ease;
}
.sidebar.sidebar-v2 .v2-brand-img--full-nublado,
.sidebar.sidebar-v2 .v2-brand-img--full-noite {
    display: none;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .v2-brand-img--full-dia {
    display: none;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .v2-brand-img--full-nublado {
    display: block;
    transform: scale(1.08);
    transform-origin: left center;
}
html[data-theme="dark"] .sidebar.sidebar-v2 .v2-brand-img--full-dia {
    display: none;
}
html[data-theme="dark"] .sidebar.sidebar-v2 .v2-brand-img--full-noite {
    display: block;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-header {
    justify-content: flex-start !important;
    padding-left: 0 !important;
    gap: 0.625rem !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-header {
    padding-right: var(--v2-dynamic-brand-inset) !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .v2-brand-logo {
    margin-left: var(--v2-dynamic-brand-inset) !important;
    margin-right: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-header {
    padding-right: var(--v2-sidebar-wordmark-edge) !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned {
    --v2-dynamic-rail-w: 4rem;
    --v2-dynamic-icon-size: 1.375rem;
    --v2-dynamic-icon-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-icon-size)) / 2);
    --v2-dynamic-brand-size: calc(2.375rem * 1.4);
    --v2-brand-mark-size: var(--v2-dynamic-brand-size);
    --v2-dynamic-brand-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-brand-size)) / 2);
    /* Mesmo cálculo da barra expandida no hover (dinâmico) — evita “pulo” ao fixar */
    --v2-brand-wordmark-max-w: calc(
        var(--v2-sidebar-expanded-w) - var(--v2-dynamic-brand-inset) - var(--v2-brand-mark-size) -
            var(--v2-brand-wordmark-gap) - var(--v2-header-toggle-gap) - var(--v2-rail-toggle-size) -
            var(--v2-sidebar-wordmark-edge)
    );
}

/* Modo escondido (painel revelado): mesmo 5 + FiveDesk do modo fixado */
.sidebar.sidebar-v2.sidebar-v2--hidden {
    --v2-dynamic-rail-w: 4rem;
    --v2-dynamic-icon-size: 1.375rem;
    --v2-dynamic-icon-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-icon-size)) / 2);
    --v2-dynamic-brand-size: calc(2.375rem * 1.4);
    --v2-brand-mark-size: var(--v2-dynamic-brand-size);
    --v2-dynamic-brand-inset: calc((var(--v2-dynamic-rail-w) - var(--v2-dynamic-brand-size)) / 2);
    --v2-brand-wordmark-max-w: calc(
        var(--v2-sidebar-expanded-w) - var(--v2-dynamic-brand-inset) - var(--v2-brand-mark-size) -
            var(--v2-brand-wordmark-gap) - var(--v2-header-toggle-gap) - var(--v2-rail-toggle-size) -
            var(--v2-sidebar-wordmark-edge)
    );
}

.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-header,
.sidebar.sidebar-v2.sidebar-v2--hidden .sidebar-header {
    justify-content: flex-start !important;
    padding-left: 0 !important;
    padding-right: var(--v2-sidebar-wordmark-edge) !important;
    gap: 0.625rem !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .v2-brand-logo,
.sidebar.sidebar-v2.sidebar-v2--hidden .v2-brand-logo {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - var(--v2-rail-toggle-size) - var(--v2-header-toggle-gap));
    gap: var(--v2-brand-wordmark-gap);
    margin-left: var(--v2-dynamic-brand-inset) !important;
    margin-right: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .v2-brand-img--mark,
.sidebar.sidebar-v2.sidebar-v2--hidden .v2-brand-img--mark {
    width: var(--v2-brand-mark-size);
    height: var(--v2-brand-mark-size);
    flex: 0 0 var(--v2-brand-mark-size);
}

.sidebar.sidebar-v2.sidebar-v2--pinned .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--hidden .v2-brand-img--full {
    opacity: 1;
    max-width: var(--v2-brand-wordmark-max-w);
    transition: none !important;
}

/* Fixada = snapshot do expand (hover): ícones/rótulos na mesma coluna; só main-content reflow */
.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-nav > .nav-item,
.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-nav > .nav-item#logoutBtn {
    justify-content: flex-start !important;
    gap: 0.875rem !important;
    margin: 0 !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: var(--v2-dynamic-icon-inset) !important;
    padding-right: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .nav-icon {
    width: var(--v2-dynamic-icon-size) !important;
    height: var(--v2-dynamic-icon-size) !important;
    flex: 0 0 var(--v2-dynamic-icon-size) !important;
    margin: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .nav-label {
    transition: font-weight 0.12s ease, color 0.12s ease !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned:not(:hover) .nav-item,
.sidebar.sidebar-v2.sidebar-v2--pinned:not(:hover) .nav-item-parent {
    padding-left: var(--v2-dynamic-icon-inset) !important;
    padding-right: 1rem !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-v2-rail-toggle,
.sidebar.sidebar-v2.sidebar-v2--hidden .sidebar-v2-rail-toggle {
    position: static;
    flex: 0 0 var(--v2-rail-toggle-size);
    width: var(--v2-rail-toggle-size);
    min-width: var(--v2-rail-toggle-size);
    height: var(--v2-rail-toggle-size);
    /* Centro do vão entre o fim do FiveDesk e a margem direita. */
    margin-left: auto;
    margin-right: auto;
    clip: auto;
    overflow: visible;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover {
    --v2-brand-wordmark-max-w: calc(
        var(--v2-sidebar-expanded-w) - var(--v2-dynamic-brand-inset) - var(--v2-brand-mark-size) -
            var(--v2-brand-wordmark-gap) - var(--v2-header-toggle-gap) - var(--v2-rail-toggle-size) -
            var(--v2-sidebar-wordmark-edge)
    );
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-logo {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - var(--v2-rail-toggle-size) - var(--v2-header-toggle-gap));
    gap: var(--v2-brand-wordmark-gap);
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-img--full {
    opacity: 1;
    max-width: var(--v2-brand-wordmark-max-w);
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-brand-logo {
    gap: 0;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .v2-brand-img--mark {
    width: var(--v2-brand-mark-size);
    height: var(--v2-brand-mark-size);
    flex: 0 0 var(--v2-brand-mark-size);
}

/* ==========================================================================
   Sprint 9 — FiveDesk sidebar global (cor, borda, sombra, foco, fundo)
   ========================================================================== */

.sidebar.sidebar-v2 {
    --sidebar-active-bg: var(--fd-primary);
    --sidebar-submenu-bg: color-mix(in srgb, var(--fd-primary) 18%, var(--fd-shell-sidebar-bg-dark));
}

.sidebar.sidebar-v2 .sidebar-panel {
    background: var(--fd-shell-sidebar-bg-dark) !important;
    border-right-color: var(--fd-shell-sidebar-border-dark) !important;
}

.sidebar.sidebar-v2 .sidebar-header {
    border-bottom: 0 !important;
}

.sidebar.sidebar-v2 .nav-divider {
    background: color-mix(in srgb, var(--fd-sky) 8%, transparent) !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent {
    background: var(--fd-primary) !important;
    color: #ffffff !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover {
    background: var(--fd-primary-hover) !important;
}

.sidebar.sidebar-v2 .nav-item .nav-icon {
    color: rgba(230, 235, 245, 0.72) !important;
}

.sidebar.sidebar-v2 .nav-icon svg {
    width: var(--v2-dynamic-icon-size, 1.375rem);
    height: var(--v2-dynamic-icon-size, 1.375rem);
}

/* Tarefas: +10% vs ícones padrão; círculo fechado + check centralizado no SVG. */
.sidebar.sidebar-v2 .nav-item[data-page="tarefas"] .nav-icon,
.sidebar.sidebar-v2 .nav-item[data-page="tarefas"] .nav-icon svg {
    width: calc(var(--v2-dynamic-icon-size, 1.375rem) * 1.1);
    height: calc(var(--v2-dynamic-icon-size, 1.375rem) * 1.1);
}

.sidebar.sidebar-v2 .nav-item .nav-label {
    color: rgba(230, 235, 245, 0.88) !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover {
    background: color-mix(in srgb, var(--fd-primary) 10%, transparent) !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
.sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
.sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon {
    color: #ffffff !important;
    text-shadow: none !important;
    filter: none !important;
}

.sidebar-v2-rail-toggle:hover,
.sidebar-v2-rail-toggle:focus-visible {
    outline: none;
    transform: none;
    filter: none;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 {
    --sidebar-submenu-bg: color-mix(in srgb, var(--fd-primary) 12%, var(--fd-shell-sidebar-bg-light));
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2:hover .sidebar-panel {
    background:
        linear-gradient(
            145deg,
            #1a4db8 0%,
            #2f6fe0 28%,
            #5aa0ff 52%,
            #2a62d4 78%,
            #163f9a 100%
        ) !important;
    border-right-color: rgba(180, 210, 255, 0.35) !important;
    border-right-color: var(--fd-shell-sidebar-border-light) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-header {
    border-bottom: 0 !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item {
    color: var(--fd-text-muted) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-icon {
    color: var(--fd-text-muted) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover {
    background: color-mix(in srgb, var(--fd-primary) 8%, var(--fd-shell-sidebar-bg-light)) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-label {
    color: var(--fd-text) !important;
    text-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-icon {
    color: var(--fd-primary) !important;
    filter: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-divider {
    background: color-mix(in srgb, var(--fd-text) 12%, transparent) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar-v2-rail-toggle:hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar-v2-rail-toggle:focus-visible {
    filter: none;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .app-topbar {
    background: var(--fd-shell-topbar-bg) !important;
    border-bottom-color: var(--fd-shell-topbar-border) !important;
}

html[data-theme="dark"] .app-topbar {
    background: var(--fd-shell-sidebar-bg-dark) !important;
    border-bottom-color: var(--fd-shell-sidebar-border-dark) !important;
}
html[data-theme='cinza'] .app-topbar{
    background: var(--fd-shell-sidebar-bg-dark) !important;
    border-bottom-color: var(--fd-shell-sidebar-border-dark) !important;
}

.topbar-chats-quick-btn,
.topbar-perfil-btn {
    border-color: var(--fd-border) !important;
    background: color-mix(in srgb, var(--fd-primary) 6%, var(--fd-surface)) !important;
    color: var(--fd-text-muted) !important;
}

.topbar-chats-quick-btn:hover,
.topbar-chats-quick-btn:focus-visible,
.topbar-perfil-btn:hover,
.topbar-perfil-btn:focus-visible {
    border-color: color-mix(in srgb, var(--fd-primary) 35%, var(--fd-border)) !important;
    background: color-mix(in srgb, var(--fd-primary) 10%, var(--fd-surface)) !important;
    box-shadow: none !important;
    color: var(--fd-text) !important;
}

html[data-theme="dark"] .topbar-chats-quick-btn,
html[data-theme="dark"] .topbar-perfil-btn {
    background: color-mix(in srgb, var(--fd-primary) 12%, var(--fd-field)) !important;
    border-color: var(--fd-border) !important;
    color: var(--fd-text-muted) !important;
}
html[data-theme='cinza'] .topbar-chats-quick-btn,html[data-theme='cinza'] .topbar-perfil-btn{
    background: color-mix(in srgb, var(--fd-primary) 12%, var(--fd-field)) !important;
    border-color: var(--fd-border) !important;
    color: var(--fd-text-muted) !important;
}

html[data-theme="dark"] .topbar-hamburger:hover {
    background: color-mix(in srgb, var(--fd-primary) 14%, transparent) !important;
}
html[data-theme='cinza'] .topbar-hamburger:hover{
    background: color-mix(in srgb, var(--fd-primary) 14%, transparent) !important;
}

/* Sprint 11 FiveDesk: metallic topbar */

#appScreen .app-topbar,
.app-topbar {
    background: var(--fd-topbar-bg) !important;
    border-bottom-color: var(--fd-topbar-border) !important;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.12),
        0 0.375rem 1.125rem -0.5rem rgba(8, 47, 143, 0.35);
    color: var(--fd-topbar-text);
}

.app-topbar .topbar-page-title,
.app-topbar .topbar-page-subtitle,
.main-content .app-topbar .topbar-page-title {
    color: var(--fd-topbar-text) !important;
}

.app-topbar .topbar-page-subtitle {
    color: var(--fd-topbar-muted) !important;
}

.app-topbar .topbar-hamburger {
    color: var(--fd-topbar-text) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

.app-topbar .topbar-hamburger:hover,
.app-topbar .topbar-hamburger:focus-visible {
    background-color: var(--fd-topbar-control-hover) !important;
    color: var(--fd-topbar-text) !important;
    outline: none;
    box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.22);
}

.app-topbar .topbar-chats-quick-btn,
.app-topbar .topbar-perfil-btn,
.app-topbar .app-topbar-notificacoes .notificacoes-btn {
    background-color: var(--fd-topbar-control-bg) !important;
    border-color: var(--fd-topbar-control-border) !important;
    color: var(--fd-topbar-text) !important;
    box-shadow: none !important;
}

.app-topbar .topbar-chats-quick-btn:hover,
.app-topbar .topbar-chats-quick-btn:focus-visible,
.app-topbar .topbar-perfil-btn:hover,
.app-topbar .topbar-perfil-btn:focus-visible,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:hover,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:focus-visible {
    background-color: var(--fd-topbar-control-hover) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: var(--fd-topbar-text) !important;
    box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.18) !important;
    outline: none;
}

.app-topbar .notificacoes-contador {
    background-color: #ffffff;
    color: #0b4fd8;
    border-color: rgba(255, 255, 255, 0.9);
}

.app-topbar .topbar-chats-quick-btn__img {
    filter: brightness(1.05) contrast(1.05);
}

.app-topbar .analyst-avatar-topbar {
    border-color: rgba(255, 255, 255, 0.45);
    box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.2);
}

/* Sprint 12 FiveDesk: topbar dropdowns / popovers */

.app-topbar .notificacoes-painel,
.app-topbar .topbar-user-menu {
    background-color: var(--fd-topbar-menu-bg) !important;
    border-color: var(--fd-topbar-menu-border) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
    color: var(--fd-topbar-menu-text) !important;
    box-shadow: var(--fd-topbar-menu-shadow) !important;
}

.app-topbar .notificacoes-painel-header,
.app-topbar .notificacoes-filtros {
    border-bottom-color: var(--fd-topbar-menu-border) !important;
    color: var(--fd-topbar-menu-text) !important;
}

.app-topbar .notificacoes-painel-header strong {
    color: var(--fd-topbar-menu-text);
}

.app-topbar .notificacoes-filtro {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-topbar-menu-border) !important;
    color: var(--fd-topbar-menu-muted) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
}

.app-topbar .notificacoes-filtro.ativo {
    background-color: var(--fd-topbar-menu-active) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 42%, var(--fd-border)) !important;
    color: var(--fd-primary) !important;
}

.app-topbar .notificacao-item {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-topbar-menu-border) !important;
    color: var(--fd-topbar-menu-text);
    border-radius: var(--fd-radius-card, 0.25rem) !important;
}

.app-topbar .notificacao-item.nao-lida {
    background-color: color-mix(in srgb, var(--fd-primary) 9%, var(--fd-surface)) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 30%, var(--fd-border)) !important;
}

.app-topbar .notificacao-item-titulo {
    color: var(--fd-topbar-menu-text);
}

.app-topbar .notificacao-item-msg,
.app-topbar .notificacao-item-meta {
    color: var(--fd-topbar-menu-muted);
}

.app-topbar .topbar-user-menu button:not(.tum-toggle):not(.tum-secure-btn):not(.tum-status-trigger):not(.tum-row--action),
.app-topbar .topbar-status-toggle:not(.tum-status-trigger) {
    color: var(--fd-topbar-menu-text) !important;
    background-color: transparent;
}

.app-topbar .topbar-user-menu button.tum-row--action:hover,
.app-topbar .topbar-user-menu button.tum-row--action:focus-visible {
    background-color: var(--fd-topbar-menu-hover) !important;
}

.app-topbar .topbar-user-menu button.tum-row--danger .tum-title {
    color: var(--fd-danger-field) !important;
}

.app-topbar .topbar-user-menu button.tum-row--logout {
    background: #fdeced !important;
}

.app-topbar .topbar-user-menu button.tum-row--logout:hover,
.app-topbar .topbar-user-menu button.tum-row--logout:focus-visible {
    background: #fad5d8 !important;
}

.app-topbar .topbar-user-menu button:focus-visible:not(.tum-toggle):not(.tum-secure-btn):not(.tum-status-trigger),
.app-topbar .topbar-status-option:focus-visible {
    outline: none;
    box-shadow: var(--fd-topbar-menu-focus) !important;
}

.app-topbar .topbar-status-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.app-topbar .topbar-status-option {
    color: var(--fd-topbar-menu-text) !important;
}

.app-topbar .topbar-status-option:hover {
    /* Degradê da linha permanece; só leve ênfase via filter no layout.css */
    background-color: transparent !important;
}

.app-topbar .topbar-status-option.is-current {
    background-color: transparent !important;
    color: var(--fd-topbar-menu-text) !important;
}

.app-topbar .topbar-status-check {
    color: var(--fd-primary) !important;
}

.app-topbar .topbar-status-chevron {
    border-right-color: var(--fd-topbar-menu-muted);
    border-bottom-color: var(--fd-topbar-menu-muted);
}

.app-topbar .topbar-pref-row {
    border-bottom-color: var(--fd-topbar-menu-border) !important;
}

.app-topbar .topbar-pref-row-label {
    color: var(--fd-topbar-menu-text) !important;
}

.app-topbar .topbar-pref-row-hint {
    color: var(--fd-topbar-menu-muted) !important;
}

.app-topbar .topbar-segmented {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-topbar-menu-border) !important;
}

.app-topbar .topbar-segmented-btn {
    color: var(--fd-topbar-menu-muted) !important;
    background-color: transparent;
}

.app-topbar .topbar-segmented-btn:hover:not(.is-active) {
    color: var(--fd-topbar-menu-text) !important;
    background-color: var(--fd-topbar-menu-hover) !important;
}

.app-topbar .topbar-segmented-btn.is-active {
    background-color: var(--fd-surface) !important;
    color: var(--fd-primary) !important;
    box-shadow: var(--fd-shadow-1) !important;
}

.app-topbar .topbar-ticket-toast,
.app-topbar .topbar-ticket-toast-clickable {
    background-color: var(--fd-topbar-menu-bg) !important;
    border-color: var(--fd-topbar-menu-border) !important;
    color: var(--fd-topbar-menu-text) !important;
    box-shadow: var(--fd-topbar-menu-shadow) !important;
}

/* Sprint 11b FiveDesk: topbar aligned to sidebar shell (replaces S11 metallic) */

#appScreen .app-topbar,
.app-topbar {
    background: var(--fd-topbar-bg) !important;
    background-image: none !important;
    border-bottom-color: var(--fd-topbar-border) !important;
    box-shadow: var(--fd-shadow-1) !important;
    color: var(--fd-topbar-text);
}

.app-topbar .topbar-page-title,
.app-topbar .topbar-page-subtitle,
.main-content .app-topbar .topbar-page-title {
    color: var(--fd-topbar-text) !important;
}

.app-topbar .topbar-page-subtitle {
    color: var(--fd-topbar-muted) !important;
}

.app-topbar .topbar-hamburger {
    color: var(--fd-topbar-muted) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

.app-topbar .topbar-hamburger:hover,
.app-topbar .topbar-hamburger:focus-visible {
    background-color: var(--fd-topbar-control-hover) !important;
    color: var(--fd-topbar-text) !important;
    outline: none;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .topbar-chats-quick-btn,
.app-topbar .topbar-perfil-btn,
.app-topbar .app-topbar-notificacoes .notificacoes-btn {
    background-color: var(--fd-topbar-control-bg) !important;
    border-color: var(--fd-topbar-control-border) !important;
    color: var(--fd-topbar-text) !important;
    box-shadow: none !important;
}

.app-topbar .topbar-chats-quick-btn:hover,
.app-topbar .topbar-chats-quick-btn:focus-visible,
.app-topbar .topbar-perfil-btn:hover,
.app-topbar .topbar-perfil-btn:focus-visible,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:hover,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:focus-visible {
    background-color: var(--fd-topbar-control-hover) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 32%, var(--fd-border)) !important;
    color: var(--fd-topbar-text) !important;
    box-shadow: var(--fd-focus-ring) !important;
    outline: none;
}

.app-topbar .notificacoes-contador {
    background-color: var(--fd-danger-field);
    color: #ffffff;
    border-color: var(--fd-topbar-bg);
}

.app-topbar .topbar-chats-quick-btn__img {
    filter: none;
}

.app-topbar .analyst-avatar-topbar {
    border-color: var(--fd-topbar-control-border);
    box-shadow: none;
}

/* ==========================================================================
   Sprint 13b — mark fixo ao expandir; wordmark FiveDesk 3× (só imagem --full)
   ========================================================================== */

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-header {
    padding-left: 0 !important;
    padding-right: var(--v2-sidebar-wordmark-edge) !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-logo {
    margin-left: var(--v2-dynamic-brand-inset) !important;
    margin-right: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-brand-logo {
    margin-inline: 0 !important;
    margin-left: var(--v2-dynamic-brand-inset) !important;
    margin-right: 0 !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-header {
    justify-content: flex-start !important;
    padding-left: 0 !important;
}

/* ==========================================================================
   Sprint 14 — hover/active sidebar (sem sombra, neon, glow ou shift de layout)
   ========================================================================== */

.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent {
    box-shadow: none !important;
    transform: none !important;
}

.sidebar.sidebar-v2 .nav-item .nav-icon,
.sidebar.sidebar-v2 .nav-item .nav-label,
.sidebar.sidebar-v2 .nav-item-parent .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent .nav-label {
    text-shadow: none !important;
    box-shadow: none !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover {
    background: color-mix(in srgb, var(--fd-primary) 10%, transparent) !important;
    box-shadow: none !important;
    transform: none !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon {
    filter: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent {
    background: var(--fd-primary) !important;
    box-shadow: none !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover {
    background: var(--fd-primary-hover) !important;
    box-shadow: none !important;
    transform: none !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-icon {
    color: #ffffff !important;
    text-shadow: none !important;
    filter: none !important;
    box-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent),
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent) {
    color: var(--fd-text-muted) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent .nav-icon {
    color: var(--fd-text-muted) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover {
    background: color-mix(in srgb, var(--fd-primary) 8%, var(--fd-shell-sidebar-bg-light)) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon {
    color: #ffffff !important;
    text-shadow: none !important;
    filter: none !important;
}

/* Wordmark expandida/pinned — Logotipo 400% (altura 4× o mark) */
.sidebar.sidebar-v2.sidebar-v2--pinned .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--hidden .v2-brand-img--full {
    height: calc(var(--v2-brand-mark-size) * 4) !important;
    max-height: calc(var(--v2-brand-mark-size) * 4) !important;
    width: auto;
    max-width: var(--v2-brand-wordmark-max-w);
    object-fit: contain;
    object-position: left center;
}

.sidebar.sidebar-v2 .v2-brand-logo,
.sidebar.sidebar-v2 .sidebar-header {
    overflow: visible;
}

/* ==========================================================================
   Sprint 15 — topbar: ações, dropdowns, toast (micro estados; sem layout/JS)
   ========================================================================== */

#appScreen .app-topbar,
.app-topbar {
    background: var(--fd-shell-topbar-bg) !important;
    background-image: none !important;
    border-bottom: 0.0625rem solid var(--fd-shell-topbar-border) !important;
    box-shadow: none !important;
    color: var(--fd-topbar-text);
}

.app-topbar .topbar-hamburger,
.app-topbar .topbar-chats-quick-btn,
.app-topbar .topbar-perfil-btn,
.app-topbar .app-topbar-notificacoes .notificacoes-btn {
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
}

.app-topbar .topbar-hamburger {
    color: var(--fd-topbar-muted) !important;
    background-color: transparent !important;
    border: 0.0625rem solid transparent !important;
}

.app-topbar .topbar-chats-quick-btn,
.app-topbar .topbar-perfil-btn,
.app-topbar .app-topbar-notificacoes .notificacoes-btn {
    background-color: var(--fd-topbar-control-bg) !important;
    border-color: var(--fd-topbar-control-border) !important;
    color: var(--fd-topbar-text) !important;
}

.app-topbar .topbar-hamburger:hover,
.app-topbar .topbar-chats-quick-btn:hover,
.app-topbar .topbar-perfil-btn:hover,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:hover {
    background-color: var(--fd-topbar-control-hover) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 28%, var(--fd-border)) !important;
    color: var(--fd-primary) !important;
    box-shadow: none !important;
}

.app-topbar .topbar-hamburger:focus-visible,
.app-topbar .topbar-chats-quick-btn:focus-visible,
.app-topbar .topbar-perfil-btn:focus-visible,
.app-topbar .app-topbar-notificacoes .notificacoes-btn:focus-visible {
    outline: none !important;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .topbar-chats-quick-btn:focus-visible:not(:hover),
.app-topbar .topbar-perfil-btn:focus-visible:not(:hover),
.app-topbar .app-topbar-notificacoes .notificacoes-btn:focus-visible:not(:hover),
.app-topbar .topbar-hamburger:focus-visible:not(:hover) {
    background-color: var(--fd-topbar-control-bg) !important;
}

.app-topbar .notificacoes-btn[aria-expanded='true'],
.app-topbar .topbar-perfil-btn[aria-expanded='true'] {
    background-color: var(--fd-topbar-menu-active) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 38%, var(--fd-border)) !important;
    color: var(--fd-primary) !important;
    box-shadow: none !important;
}

.app-topbar .topbar-chats-quick-btn:disabled,
.app-topbar .notificacoes-btn:disabled,
.app-topbar .topbar-perfil-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

.app-topbar .notificacoes-painel,
.app-topbar .topbar-user-menu {
    background-color: var(--fd-surface) !important;
    border: 0.0625rem solid var(--fd-border) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
    color: var(--fd-text) !important;
    box-shadow: var(--fd-shadow-2) !important;
}

.app-topbar .notificacoes-painel-header,
.app-topbar .notificacoes-painel-header strong,
.app-topbar .notificacoes-filtros {
    color: var(--fd-text) !important;
    border-bottom-color: var(--fd-border) !important;
}

.app-topbar .notificacoes-filtro {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-border) !important;
    color: var(--fd-text-muted) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
    box-shadow: none !important;
}

.app-topbar .notificacoes-filtro:hover {
    background-color: var(--fd-topbar-menu-hover) !important;
    color: var(--fd-text) !important;
}

.app-topbar .notificacoes-filtro.ativo {
    background-color: var(--fd-topbar-menu-active) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 35%, var(--fd-border)) !important;
    color: var(--fd-primary) !important;
}

.app-topbar .notificacoes-filtro:focus-visible {
    outline: none !important;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .notificacao-item {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-border) !important;
    color: var(--fd-text) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
    box-shadow: none !important;
}

.app-topbar .notificacao-item:hover {
    background-color: var(--fd-topbar-menu-hover) !important;
}

.app-topbar .notificacao-item:focus-visible {
    outline: none !important;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .notificacao-item.nao-lida {
    background-color: color-mix(in srgb, var(--fd-primary) 9%, var(--fd-surface)) !important;
    border-color: color-mix(in srgb, var(--fd-primary) 28%, var(--fd-border)) !important;
}

.app-topbar .notificacao-item-titulo {
    color: var(--fd-text) !important;
}

.app-topbar .notificacao-item-msg,
.app-topbar .notificacao-item-meta {
    color: var(--fd-text-muted) !important;
}

.app-topbar .topbar-user-menu button:not(.tum-toggle):not(.tum-secure-btn):not(.tum-status-trigger):not(.tum-row--action),
.app-topbar .topbar-status-toggle:not(.tum-status-trigger) {
    color: var(--fd-text) !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.app-topbar .topbar-user-menu button.tum-row--action:hover,
.app-topbar .topbar-user-menu button.tum-row--action:focus-visible {
    background-color: var(--fd-topbar-menu-hover) !important;
    color: var(--fd-text) !important;
}

.app-topbar .topbar-user-menu button.tum-row--danger .tum-title {
    color: var(--fd-danger-field, #cf3b40) !important;
}

.app-topbar .topbar-user-menu button.tum-row--logout {
    background: #fdeced !important;
}

.app-topbar .topbar-user-menu button.tum-row--logout:hover,
.app-topbar .topbar-user-menu button.tum-row--logout:focus-visible {
    background: #fad5d8 !important;
}

.app-topbar .topbar-status-option:hover {
    background-color: transparent !important;
}

.app-topbar .topbar-status-toggle.is-open:not(.tum-status-trigger) {
    background-color: var(--fd-topbar-menu-hover) !important;
    color: var(--fd-text) !important;
}

.app-topbar .topbar-user-menu button.tum-toggle {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    height: 1.625rem !important;
    flex: none !important;
}

.app-topbar .topbar-user-menu button.tum-secure-btn,
.app-topbar .topbar-user-menu button.tum-status-trigger {
    width: auto;
}

.app-topbar .topbar-user-menu button:focus-visible:not(.tum-toggle):not(.tum-secure-btn):not(.tum-status-trigger),
.app-topbar .topbar-status-option:focus-visible {
    outline: none !important;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .topbar-user-menu button:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.app-topbar .topbar-status-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.app-topbar .topbar-status-option.is-current {
    background-color: transparent !important;
    color: inherit !important;
}

.app-topbar .topbar-pref-row-label {
    color: var(--fd-text) !important;
}

.app-topbar .topbar-pref-row-hint {
    color: var(--fd-text-muted) !important;
}

.app-topbar .topbar-segmented {
    background-color: var(--fd-field) !important;
    border-color: var(--fd-border) !important;
}

.app-topbar .topbar-segmented-btn {
    color: var(--fd-text-muted) !important;
}

.app-topbar .topbar-segmented-btn:hover:not(.is-active) {
    background-color: var(--fd-topbar-menu-hover) !important;
    color: var(--fd-text) !important;
}

.app-topbar .topbar-segmented-btn.is-active {
    background-color: var(--fd-topbar-menu-active) !important;
    color: var(--fd-primary) !important;
    box-shadow: none !important;
}

.app-topbar .topbar-ticket-toast,
.app-topbar .topbar-ticket-toast-clickable {
    background-color: var(--fd-surface) !important;
    border: 0.0625rem solid var(--fd-border) !important;
    color: var(--fd-text) !important;
    box-shadow: var(--fd-shadow-2) !important;
}

.app-topbar .topbar-ticket-toast-clickable:hover {
    background-color: var(--fd-topbar-menu-hover) !important;
    box-shadow: var(--fd-shadow-2) !important;
}

.app-topbar .topbar-ticket-toast-clickable:focus-visible {
    outline: none !important;
    box-shadow: var(--fd-focus-ring) !important;
}

.app-topbar .analyst-avatar-topbar {
    border-color: var(--fd-topbar-control-border) !important;
    box-shadow: none !important;
}

.app-topbar .notificacoes-contador {
    background-color: var(--fd-danger-field);
    color: #ffffff;
    border-color: var(--fd-shell-topbar-bg);
    box-shadow: none !important;
}

/* ==========================================================================
   Sidebar nav — hover só cursor + label negrito (sem sombra, sem ícone “apagado”)
   ========================================================================== */

.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-item-sub {
    cursor: pointer;
}

.sidebar.sidebar-v2 .nav-item .nav-label,
.sidebar.sidebar-v2 .nav-item-parent .nav-label,
.sidebar.sidebar-v2 .nav-item-sub .nav-label {
    transition: font-weight 0.12s ease !important;
    text-shadow: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-item .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent .nav-icon,
.sidebar.sidebar-v2 .nav-item-sub .nav-icon {
    transition: none !important;
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-item-sub:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover {
    background: transparent !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    color: var(--fd-text, #0d1b34) !important;
    font-weight: 700 !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: inherit !important;
    filter: none !important;
    opacity: 1 !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: var(--fd-text, #0d1b34) !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover {
    background: var(--fd-primary) !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-label {
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-label {
    color: #ffffff !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover .nav-icon {
    color: #ffffff !important;
}

.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .sidebar-nav .nav-group > .nav-item-parent:hover .nav-label,
.sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:hover .nav-label {
    text-shadow: none !important;
    filter: none !important;
}

/* Logotipo (assets/brand/fivedesk-logotipo.png) — só na sidebar expandida; rail = só mark */
.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .v2-brand-img--full {
    opacity: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    visibility: hidden !important;
}

.sidebar.sidebar-v2.sidebar-v2--pinned .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--dynamic:hover .v2-brand-img--full,
.sidebar.sidebar-v2.sidebar-v2--hidden .v2-brand-img--full {
    visibility: visible !important;
}

/* ==========================================================================
   Nav hit target — clique/cursor na linha inteira (sem mudança visual)
   Logotipo expandido pode pintar sobre os itens; imagens não capturam pointer.
   ========================================================================== */

.sidebar.sidebar-v2 .v2-brand-img,
.sidebar.sidebar-v2 .v2-brand-img--mark,
.sidebar.sidebar-v2 .v2-brand-img--full {
    pointer-events: none;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-item-sub,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item#logoutBtn {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item .nav-icon,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item .nav-label,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent .nav-icon,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent .nav-label,
.sidebar.sidebar-v2 .sidebar-nav .nav-item-sub .nav-icon,
.sidebar.sidebar-v2 .sidebar-nav .nav-item-sub .nav-label {
    pointer-events: none;
    user-select: none;
}

.sidebar.sidebar-v2 .sidebar-nav {
    position: relative;
    z-index: 2;
}

/* Hover nav — ícone mais forte (stroke), sem glow */
.sidebar.sidebar-v2 .nav-item:not(:hover) .nav-icon svg,
.sidebar.sidebar-v2 .nav-item-parent:not(:hover) .nav-icon svg,
.sidebar.sidebar-v2 .nav-item-sub:not(:hover) .nav-icon svg {
    stroke-width: 2;
}

.sidebar.sidebar-v2 .nav-item:hover .nav-icon svg,
.sidebar.sidebar-v2 .nav-item-parent:hover .nav-icon svg,
.sidebar.sidebar-v2 .nav-item-sub:hover .nav-icon svg {
    stroke-width: 2.5;
}

/* ==========================================================================
   Tema cinza — sidebar-v2 overrides
   Base rules already use var(--fd-*) so token overrides from TH-1 handle
   bg, border, active fill. These rules lock hover text/icon colors and
   dynamic shadow for cinza explicitly.
   ========================================================================== */

html[data-theme="cinza"] .sidebar.sidebar-v2 {
    --sidebar-submenu-bg: color-mix(in srgb, var(--fd-primary) 14%, #7e8794);
}

/* Borda do painel no tom Nublado (sem linha clara/branca). */
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2:hover .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-panel {
    background: var(--sidebar-bg, #7e8794) !important;
    border-right-color: var(--sidebar-line, #4a5462) !important;
}

/* Ativo: lavagem azul institucional + tinta escura (tokens Nublado). */
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent {
    background: color-mix(in srgb, var(--fd-primary, #0b63d6) 78%, #5a6573) !important;
    color: #ffffff !important;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon {
    color: #ffffff !important;
}

/* Hover inativo — label + ícone claros sobre grafite */
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Ativo: hover um tom mais profundo no Nublado */
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover {
    background: color-mix(in srgb, var(--fd-primary-hover, #0a4fad) 82%, #5a6573) !important;
}

/* Rail toggle — cores por tema definidas no bloco do botão SVG */

/* Dynamic mode — sombra ao expandir */
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel {
    box-shadow: 0.5rem 0 1.5rem rgba(0, 0, 0, 0.30);
}

/* ==========================================================================
   TH-15 — Tema escuro — sidebar-v2 (paridade com cinza; efeitos = tema claro)
   ========================================================================== */

html[data-theme="dark"] .sidebar.sidebar-v2 {
    --sidebar-submenu-bg: color-mix(in srgb, var(--fd-primary) 18%, #141d30);
}

html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    filter: none !important;
}

html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item:not(.is-active-parent):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .sidebar-nav > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar:hover .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon {
    color: #ffffff !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item.is-active-page:hover,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover {
    background: var(--fd-primary) !important;
}

/* Rail toggle — cores Noite no bloco do botão SVG */

html[data-theme="dark"] .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel {
    box-shadow: 0.5rem 0 1.5rem rgba(0, 0, 0, 0.45);
}

/* Sidebar footer: theme switcher above bottom-aligned logout */
.sidebar.sidebar-v2 .sidebar-nav {
    min-height: 0;
}

.sidebar.sidebar-v2 .sidebar-v2-bottom {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: auto;
    padding: 0.25rem 0 0.875rem;
}

.sidebar.sidebar-v2 .sidebar-v2-bottom .nav-divider {
    flex: 0 0 0.0625rem;
    margin: 0 1.25rem 0.375rem;
}

/* Compacta a etiqueta quando a sidebar dinâmica está recolhida */
.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-v2-bottom .app-version-badge:not(.hidden) {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
    overflow: hidden;
    pointer-events: none;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-panel {
    overflow: visible;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-v2-bottom > .nav-item,
.sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-v2-bottom > .nav-item {
    justify-content: flex-start !important;
    gap: 0.875rem !important;
    margin: 0 !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: var(--v2-dynamic-icon-inset) !important;
    padding-right: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-v2-bottom > .nav-item {
    padding-right: var(--v2-dynamic-icon-inset) !important;
}

.sidebar.sidebar-v2 .sidebar-logout-row {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: 0.25rem;
    margin-top: 0.25rem;
    padding-right: 0.625rem;
}

.sidebar.sidebar-v2 .sidebar-logout-row > .nav-item#logoutBtn {
    flex: 1 1 auto;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin-top: 0 !important;
}

.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item#logoutBtn {
    margin-top: 0.25rem !important;
}

.sidebar.sidebar-v2 .nav-item.access-release-locked {
    opacity: .38 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
.app-topbar .access-release-locked {
    opacity: .42 !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* Tema claro: mesma cor da topbar (azul metalizado). */
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2:hover .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-panel {
    background:
        linear-gradient(
            145deg,
            #1a4db8 0%,
            #2f6fe0 28%,
            #5aa0ff 52%,
            #2a62d4 78%,
            #163f9a 100%
        ) !important;
    border-right-color: rgba(180, 210, 255, 0.35) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-header {
    border-bottom: 0 !important;
}

.sidebar.sidebar-v2 a.nav-item {
    text-decoration: none;
    font-family: inherit;
}

/* Hover do item (linha inteira): ícone + texto no azul primário do login; sem fundo extra */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label,
.sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-label,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon,
.sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-label,
.sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-label,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-icon {
    color: var(--fd-primary) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon svg,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon svg {
    stroke: currentColor;
}


/* ============================================================
   Nublado — navegacao nao precisa de azul.
   "Voce esta aqui" e um degrau de superficie dentro do trilho,
   nao um bloco de marca. O acento fica reservado a acao primaria.
   ============================================================ */
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-parent,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent{
  background: #6b7482 !important;
  color: #ffffff !important;
  /* Preenchimento sozinho da 1,63:1 contra o trilho — o estado sumia.
     O trilho de 0.1875rem carrega a marcacao; o texto ja tem 4,72:1. */
  box-shadow: inset 0.1875rem 0 0 #ffffff !important;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-parent:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-page:hover{
  background: #79828f !important;
}
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover{
  background: rgba(255, 255, 255, 0.10) !important;
}
/* Selo de versao: informativo, nao acionavel. */
html[data-theme="cinza"] .app-version-badge{
  background: #6b7482 !important;
  border-color: #79828f !important;
  color: #ffffff !important;
}

/* Nublado — hover no menu nao acende azul: o trilho e escuro e o realce
   e um degrau de superficie, com o texto seguindo branco. */
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover .nav-icon{
  color: #ffffff !important;
}

/* ==========================================================================
   Sidebar — chrome corporativo FiveDesk (sem poeira; baixa carga visual)
   Azul institucional sóbrio; seleção e hover discretos; estrutura intacta.
   ========================================================================== */

.sidebar.sidebar-v2 .sidebar-panel {
    isolation: isolate;
    overflow: hidden;
    background: #1a448f !important;
    border-right: 0.0625rem solid rgba(255, 255, 255, 0.1) !important;
}

/* Poeira legada: nunca pintar na sidebar (mesmo se o markup voltar). */
.sidebar.sidebar-v2 .sidebar-panel > .sidebar-cosmic-dust,
.sidebar.sidebar-v2 .sidebar-cosmic-dust {
    display: none !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .v2-brand-img--mark-dia,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .v2-brand-img--full-dia {
    display: none !important;
}
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .v2-brand-img--mark-noite,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .v2-brand-img--full-noite {
    display: block !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2:hover .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-panel,
html:not([data-theme="dark"]):not([data-theme="cinza"]) #sidebar.sidebar.sidebar-v2 .sidebar-panel {
    background: #1a448f !important;
    border-right-color: rgba(255, 255, 255, 0.1) !important;
}

html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-label {
    color: rgba(236, 242, 252, 0.9) !important;
}
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item .nav-icon {
    color: rgba(236, 242, 252, 0.72) !important;
}

html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2:hover .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic:hover .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--dynamic:not(:hover) .sidebar-panel,
html[data-theme="cinza"] .sidebar.sidebar-v2.sidebar-v2--pinned .sidebar-panel {
    background: #4a5462 !important;
    border-right-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-panel,
html[data-theme="dark"] .sidebar.sidebar-v2:hover .sidebar-panel {
    background: #141d30 !important;
    border-right-color: #26334c !important;
}

/* Item ativo: faixa suave + acento lateral (sem vidro/borda brilhante) */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .nav-item-parent.is-active-parent:hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-parent,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-parent:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent.is-active-page:hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-page:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-right: 0 !important;
    border-left: 0.1875rem solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
.sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
.sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent:hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon svg,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon svg,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-page .nav-icon svg,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item.is-active-parent .nav-icon svg {
    color: #ffffff !important;
    stroke: currentColor !important;
    fill: none !important;
    text-shadow: none !important;
    filter: none !important;
}

/* Hover: leve realce, sem brilho/sombra agressiva */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover {
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    color: #ffffff !important;
}

.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
.sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
.sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon svg,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon svg,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-label,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom .nav-item#logoutBtn:hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item:not(.is-active-page):not(.is-active-parent):hover .nav-icon svg,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-label,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon,
html[data-theme="cinza"] .sidebar.sidebar-v2 .nav-item-parent:not(.is-active-parent):hover .nav-icon svg {
    color: #ffffff !important;
    stroke: currentColor !important;
    fill: none !important;
    text-shadow: none !important;
    filter: none !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   Alinhamento Painel + chips em vidro (paridade listas Relatórios/Tickets)
   Topo do primeiro item = base da topbar (--app-shell-rail-height).
   ========================================================================== */
.sidebar.sidebar-v2 .sidebar-nav {
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
    gap: 0.25rem !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item {
    margin-left: 0.625rem !important;
    margin-right: 0.625rem !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
    box-sizing: border-box !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent),
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent),
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page) {
    border: 0.0625rem solid transparent !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover {
    border-color: rgba(255, 255, 255, 0.32) !important;
    border-radius: var(--fd-radius-card, 0.25rem) !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item.is-active-page {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    box-shadow: none !important;
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
}

/* Selecionado: linhas horizontais de ponta a ponta (sem gap lateral) */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
.sidebar.sidebar-v2 .sidebar-nav .nav-group.is-open > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item.is-active-page,
.sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page:hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent:hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent.is-active-parent,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item.is-active-page {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    box-shadow: none !important;
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
}

/* ==========================================================================
   Nav: posição fixa (= selecionado) + hover em vidro um pouco mais branco
   Remove o chip com margem/borda que deslocava ícone e texto.
   ========================================================================== */
.sidebar.sidebar-v2 .sidebar-nav > .nav-item,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent),
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent),
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page) {
    border: 0.0625rem solid transparent !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

.sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
.sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover,
.sidebar.sidebar-v2 .nav-submenu .nav-item-sub:not(.is-active-page):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
html:not([data-theme="dark"]):not([data-theme="cinza"]) .sidebar.sidebar-v2 .sidebar-v2-bottom > .nav-item:not(.is-active-page):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="cinza"] .sidebar.sidebar-v2 .sidebar-nav .nav-group > .nav-item-parent:not(.is-active-page):not(.is-active-parent):hover,
html[data-theme="dark"] .sidebar.sidebar-v2 .sidebar-nav > .nav-item:not(.is-active-page):not(.is-active-parent):hover {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.55) !important;
    /* Um pouco mais branco que o selecionado (0.16), ainda transparente */
    background: rgba(255, 255, 255, 0.28) !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
    color: #ffffff !important;
}

/* Acesso somente Sala — sidebar geral inacessível; Sair na topbar */
body.acesso-somente-sala #sidebar,
body.acesso-somente-sala #sidebarHideEdge {
    display: none !important;
}

body.acesso-somente-sala #topbarChatsQuickBtn {
    display: none !important;
}

body.acesso-somente-sala #topbarSalaOnlyLogoutBtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 0.5rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    border: 0.0625rem solid rgba(148, 163, 184, 0.45);
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

body.acesso-somente-sala #topbarSalaOnlyLogoutBtn:hover {
    background: rgba(148, 163, 184, 0.12);
}

.topbar-sala-only-logout.hidden {
    display: none !important;
}
