/* Identidade visual do Portal Janus no painel Omnichannel. */
:root {
    --janus-ink: #020e20;
    --janus-ink-2: #061a33;
    --janus-blue: #079bea;
    --janus-blue-hover: #087fdb;
}

.page > .navbar-vertical {
    --bb-navbar-bg: var(--janus-ink);
    --bb-navbar-border-color: rgba(56, 166, 255, .25);
    background: var(--janus-ink);
    border-color: rgba(56, 166, 255, .25);
}

/* O core.css pinta a faixa do logo em cinza quando o menu usa data-bs-theme="dark". */
.page > .navbar-vertical .navbar-brand.navbar-brand-autodark {
    background: transparent !important;
}

.page > .navbar-vertical .nav-link {
    color: #c5d8ec;
}

.page > .navbar-vertical .nav-link:hover,
.page > .navbar-vertical .nav-link.active,
.page > .navbar-vertical .nav-item.active > .nav-link {
    color: #fff;
    background: rgba(7, 155, 234, .17);
}

.page > .navbar-vertical .nav-link.active::before,
.page > .navbar-vertical .nav-item.active > .nav-link::before {
    background: var(--janus-blue);
}

.page > header.navbar:not(.navbar-vertical) {
    --bb-navbar-bg: #fff;
    --bb-navbar-color: #102238;
    --bb-navbar-hover-color: var(--janus-blue-hover);
    --bb-navbar-active-color: var(--janus-blue-hover);
    background: #fff;
    border-bottom: 1px solid #dce5ee;
    color: #102238;
}

.page > header.navbar:not(.navbar-vertical) .nav-link,
.page > header.navbar:not(.navbar-vertical) .text-reset {
    color: inherit !important;
}

.page > header.navbar:not(.navbar-vertical) .nav-link:hover {
    color: var(--janus-blue-hover) !important;
}

.janus-admin-logo {
    filter: none !important;
    width: min(190px, 100%);
    height: auto;
    max-height: 64px;
    object-fit: contain;
}

.container-tight .janus-admin-logo {
    width: min(240px, 100%);
    max-height: 80px;
}

body[data-bs-theme="dark"] .page > .navbar-vertical {
    --bb-navbar-bg: #020b19;
    background: #020b19;
}

body[data-bs-theme="dark"] .page > header.navbar:not(.navbar-vertical) {
    --bb-navbar-bg: var(--janus-ink-2);
    --bb-navbar-color: #f7faff;
    --bb-navbar-hover-color: #4fc3ff;
    --bb-navbar-active-color: #4fc3ff;
    background: var(--janus-ink-2);
    border-bottom-color: rgba(56, 166, 255, .25);
    color: #f7faff;
}

body[data-bs-theme="dark"] .page > header.navbar:not(.navbar-vertical) .nav-link:hover {
    color: #4fc3ff !important;
}

.page > header.janus-horizontal-header,
body[data-bs-theme="dark"] .page > header.janus-horizontal-header {
    --bb-navbar-bg: var(--janus-ink-2);
    background: var(--janus-ink-2);
    border-bottom-color: rgba(56, 166, 255, .25);
    color: #f7faff;
}

/* Navegação vertical independente do conteúdo e grupos não exclusivos. */
@media (min-width: 992px) {
    .page > .navbar-vertical {
        position: fixed !important;
        top: 0;
        bottom: 0;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
    }
    .page > .navbar-vertical > [class*="container"] {
        height: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }
    .page > .navbar-vertical .navbar-brand {
        flex-shrink: 0;
    }
    .page > .navbar-vertical #sidebar-menu {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior-y: contain;
        scrollbar-width: thin;
        scrollbar-color: #365370 transparent;
    }
    .page > .navbar-vertical #sidebar-menu > .navbar-nav {
        flex: 0 0 auto;
        padding-bottom: 16px;
    }
}
#sidebar-menu [data-janus-menu-toggle] + .dropdown-menu {
    position: static;
    transform: none;
    float: none;
    margin: 0;
}
#sidebar-menu .dropdown-item.active,
#sidebar-menu a[aria-current="page"] {
    color: #fff;
    background: rgba(7, 155, 234, .24);
    box-shadow: inset 3px 0 var(--janus-blue);
    font-weight: 600;
}
@media (max-width: 991.98px) {
    .page > .navbar-vertical #sidebar-menu {
        max-height: calc(100vh - 80px);
        max-height: calc(100dvh - 80px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
}

/* Restaurar os grupos antes de exibir o menu; não repetir animação a cada página. */
html.janus-sidebar-loading #sidebar-menu {
    visibility: hidden;
}
#sidebar-menu .dropdown-menu {
    animation: none !important;
    transition: none !important;
}

/* Menu compacto: ícones mantêm o acesso aos módulos, subitens em painel lateral. */
.janus-sidebar-toggle{align-items:center;justify-content:center;align-self:flex-end;flex-shrink:0;width:36px;height:36px;margin:8px 8px 0;border:1px solid #365370;border-radius:7px;background:transparent;color:#c5d8ec;font-size:22px;cursor:pointer}
.janus-sidebar-toggle:hover,.janus-sidebar-toggle:focus-visible{background:#163451;color:white;outline:2px solid #079bea}
@media(min-width:992px){
 html.janus-sidebar-compact .page>.navbar-vertical{width:76px}
 html.janus-sidebar-compact .page>.navbar-vertical~.navbar,html.janus-sidebar-compact .page>.navbar-vertical~.page-wrapper{margin-left:76px}
 html.janus-sidebar-compact .page>.navbar-vertical .navbar-brand{padding:8px 0;min-height:48px}
 html.janus-sidebar-compact .page>.navbar-vertical .navbar-brand a{display:block;width:40px;height:40px;margin:auto;background:url('/images/brand/favicon-janus.png') center/contain no-repeat}
 html.janus-sidebar-compact .page>.navbar-vertical .janus-admin-logo{display:none}
 html.janus-sidebar-compact .janus-sidebar-toggle{align-self:center;margin:8px 0 0}
 html.janus-sidebar-compact #sidebar-menu>.navbar-nav>.nav-item>.nav-link{justify-content:center;padding:12px 8px;min-height:46px}
 html.janus-sidebar-compact #sidebar-menu .nav-link-title,html.janus-sidebar-compact #sidebar-menu .dropdown-toggle:after,html.janus-sidebar-compact #sidebar-menu .dropdown-menu{display:none!important}
 html.janus-sidebar-compact #sidebar-menu .nav-link-icon{margin:0;display:inline-flex!important}
 html.janus-sidebar-compact #sidebar-menu .janus-menu-no-icon:before{content:'▦';font-size:22px}
}
.janus-sidebar-flyout{position:fixed;z-index:1050;width:270px;max-width:calc(100vw - 100px);max-height:calc(100dvh - 24px);overflow:auto;background:#061a33;color:#c5d8ec;border:1px solid #365370;border-radius:10px;padding:12px;box-shadow:0 8px 24px #0004}
.janus-sidebar-flyout[hidden]{display:none}
.janus-sidebar-flyout .dropdown-menu{display:block!important;position:static!important;transform:none!important;float:none;box-shadow:none;border:0;background:transparent;padding:0;margin:0;min-width:0}
.janus-sidebar-flyout a{display:flex;align-items:center;gap:8px;color:#c5d8ec;padding:9px 8px;border-radius:5px;white-space:normal;text-decoration:none}
.janus-sidebar-flyout a:hover,.janus-sidebar-flyout a:focus-visible,.janus-sidebar-flyout a.active{background:#123b5d;color:white}
.janus-sidebar-flyout .nav-link-title{white-space:normal!important;overflow:visible}
.janus-sidebar-flyout .dropdown-toggle{font-weight:bold}
.janus-sidebar-flyout .dropdown-toggle:after{display:none}
.janus-sidebar-flyout .dropdown>.dropdown-menu{padding-left:12px}
.janus-sidebar-flyout-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #365370;margin-bottom:8px}
.janus-sidebar-flyout-heading button{background:transparent;border:0;color:inherit;font-size:22px;cursor:pointer}

/* Comando do menu no início do cabeçalho, ao lado da lateral. */
.page>header.navbar .janus-sidebar-header-toggle{align-self:center;margin:0 12px 0 0;color:inherit;border-color:#cbd5e1;background:transparent}
.page>header.navbar .janus-sidebar-header-toggle:hover,.page>header.navbar .janus-sidebar-header-toggle:focus-visible{background:rgba(7,155,234,.12);color:inherit}
html.janus-sidebar-compact .page>header.navbar .janus-sidebar-header-toggle{margin:0 12px 0 0;align-self:center}

/* Posição do hamburger como AdminLTE: imediatamente após a borda da lateral. */
@media(min-width:992px){
 .page>header.navbar>.janus-topbar-container{width:100%;max-width:none;padding-left:6px}
 .page>header.navbar .janus-sidebar-header-toggle,html.janus-sidebar-compact .page>header.navbar .janus-sidebar-header-toggle{width:44px;height:44px;flex:0 0 44px;margin:0 8px 0 0}
}
