/* NEXEI v3.6.5 - sidebar realmente estatica.
   Base visual: centralizacao da v3.6.3.
   Correcao: nenhum recalculo geometrico no hover e nenhum border/padding capaz de deslocar o icone. */
:root{--nexei-sidebar-v365:104px}

@media (min-width:901px){
  html body:not(.page-login) .sidebar,
  html body:not(.page-login) .sidebar:hover,
  html body:not(.page-login) .sidebar:focus,
  html body:not(.page-login) .sidebar:focus-within{
    width:var(--nexei-sidebar-v365)!important;
    min-width:var(--nexei-sidebar-v365)!important;
    max-width:var(--nexei-sidebar-v365)!important;
    padding:0!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }

  /* Logo: referencia visual da centralizacao. */
  html body:not(.page-login) .sidebar .brand,
  html body:not(.page-login) .sidebar .brand:hover,
  html body:not(.page-login) .sidebar:hover .brand{
    position:absolute!important;
    left:0!important;
    top:8px!important;
    width:var(--nexei-sidebar-v365)!important;
    height:58px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }
  html body:not(.page-login) .sidebar .brand-mark,
  html body:not(.page-login) .sidebar .brand-mark img{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    flex:0 0 50px!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }

  /* Nav centralizado pela propria sidebar. Nada usa left fixo. */
  html body:not(.page-login) .sidebar nav,
  html body:not(.page-login) .sidebar:hover nav{
    position:absolute!important;
    left:0!important;
    top:72px!important;
    width:var(--nexei-sidebar-v365)!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
    transition:none!important;
    animation:none!important;
  }

  /* Botao sempre tem a mesma caixa em normal/hover/focus/active. */
  html body:not(.page-login) .sidebar nav>a,
  html body:not(.page-login) .sidebar nav>a:hover,
  html body:not(.page-login) .sidebar nav>a:focus,
  html body:not(.page-login) .sidebar nav>a:focus-visible,
  html body:not(.page-login) .sidebar nav>a:active,
  html body:not(.page-login) .sidebar:hover nav>a{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    inset:auto!important;
    align-self:center!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    flex:0 0 44px!important;
    margin:0 auto!important;
    padding:0!important;
    border-width:0!important;
    border-style:solid!important;
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }

  /* Icone fica no fluxo do grid centralizado; sem absolute e sem coordenada que possa variar com borda. */
  html body:not(.page-login) .sidebar nav>a .nav-icon,
  html body:not(.page-login) .sidebar nav>a:hover .nav-icon,
  html body:not(.page-login) .sidebar nav>a:focus .nav-icon,
  html body:not(.page-login) .sidebar nav>a:active .nav-icon{
    position:relative!important;
    inset:auto!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:grid!important;
    place-items:center!important;
    line-height:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
    pointer-events:none!important;
  }

  html body:not(.page-login) .sidebar nav>a .nav-icon-img,
  html body:not(.page-login) .sidebar nav>a .nav-icon-fallback,
  html body:not(.page-login) .sidebar nav>a .nav-icon img,
  html body:not(.page-login) .sidebar nav>a .nav-icon svg,
  html body:not(.page-login) .sidebar nav>a:hover .nav-icon-img,
  html body:not(.page-login) .sidebar nav>a:hover .nav-icon-fallback,
  html body:not(.page-login) .sidebar nav>a:hover .nav-icon img,
  html body:not(.page-login) .sidebar nav>a:hover .nav-icon svg{
    position:static!important;
    inset:auto!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
    pointer-events:none!important;
  }

  /* Pseudo-elementos nao podem empurrar o conteudo. */
  html body:not(.page-login) .sidebar nav>a::before,
  html body:not(.page-login) .sidebar nav>a::after{
    box-sizing:border-box!important;
    pointer-events:none!important;
  }

  /* Perfil inferior: mesma filosofia, caixa fixa e conteudo centralizado. */
  html body:not(.page-login) .sidebar .user-card-v351,
  html body:not(.page-login) .sidebar .user-card-v351:hover,
  html body:not(.page-login) .sidebar:hover .user-card-v351{
    position:absolute!important;
    left:21px!important;
    right:auto!important;
    bottom:12px!important;
    width:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    height:82px!important;
    min-height:82px!important;
    max-height:82px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:block!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }
  html body:not(.page-login) .sidebar .sidebar-profile-v351,
  html body:not(.page-login) .sidebar .sidebar-profile-v351:hover,
  html body:not(.page-login) .sidebar .sidebar-profile-v351:focus,
  html body:not(.page-login) .sidebar .sidebar-profile-v351:active{
    position:absolute!important;
    left:9px!important;
    top:0!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    background:transparent!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }
  html body:not(.page-login) .sidebar .sidebar-avatar,
  html body:not(.page-login) .sidebar .sidebar-avatar:hover,
  html body:not(.page-login) .sidebar .sidebar-profile-v351:hover .sidebar-avatar{
    position:static!important;
    inset:auto!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }
  html body:not(.page-login) .sidebar .sidebar-avatar img{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    object-fit:cover!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    transition:none!important;
    animation:none!important;
  }

  html body:not(.page-login) main.main{margin-left:var(--nexei-sidebar-v365)!important}
  html body.page-admin_workflow_canvas main.main{margin:0!important;padding:0!important}
  html body.page-admin_workflow_canvas .bpmn-page-v359{left:var(--nexei-sidebar-v365)!important}
}
