/* =========================================================
   CENTRI - Menú lateral profesional
   Ajuste visual final del sidebar. No toca rutas, permisos ni lógica.
   ========================================================= */
:root{
  --centri-menu-navy:#061A46;
  --centri-menu-navy-2:#082B70;
  --centri-menu-navy-3:#0B3A8F;
  --centri-menu-mint:#54D2BB;
  --centri-menu-mint-dark:#109984;
  --centri-menu-white:#FFFFFF;
  --centri-menu-text:rgba(255,255,255,.86);
  --centri-menu-muted:rgba(255,255,255,.58);
  --centri-menu-line:rgba(255,255,255,.13);
  --centri-menu-glass:rgba(255,255,255,.075);
  --centri-menu-glass-2:rgba(255,255,255,.115);
  --centri-menu-shadow:0 22px 58px rgba(3,13,36,.30);
}

/* Contenedor general */
body .side-bar.crenti-sidebar,
body aside.side-bar.crenti-sidebar,
body .crenti-sidebar{
  width:306px!important;
  min-width:306px!important;
  max-width:306px!important;
  height:calc(100vh - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  margin:12px 0 12px 12px!important;
  padding:14px 12px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:32px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  color:var(--centri-menu-white)!important;
  background:
    radial-gradient(circle at 24% 0%, rgba(84,210,187,.20) 0, transparent 26%),
    radial-gradient(circle at 92% 72%, rgba(10,91,255,.28) 0, transparent 34%),
    linear-gradient(180deg,var(--centri-menu-navy-3) 0%,var(--centri-menu-navy-2) 42%,var(--centri-menu-navy) 100%)!important;
  box-shadow:var(--centri-menu-shadow)!important;
}
body .crenti-sidebar::before,
body .crenti-sidebar::after{
  pointer-events:none!important;
}
body .crenti-sidebar::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,rgba(255,255,255,.035))!important;
  opacity:1!important;
}
body .crenti-sidebar > *{
  position:relative!important;
  z-index:1!important;
}

/* Marca superior */
body .crenti-sidebar-brand{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 12px 0!important;
  padding:12px!important;
  border:1px solid var(--centri-menu-line)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.065))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(14px)!important;
}
body .crenti-sidebar-brand__home{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
  color:#fff!important;
  text-decoration:none!important;
}
body .crenti-sidebar-brand__logo{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:#fff!important;
  box-shadow:0 14px 28px rgba(0,0,0,.22)!important;
}
body .crenti-sidebar-brand__logo img{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
}
body .crenti-sidebar-brand__copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  line-height:1.05!important;
}
body .crenti-sidebar-brand__eyebrow{
  display:block!important;
  color:var(--centri-menu-mint)!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
  margin-bottom:4px!important;
}
body .crenti-sidebar-brand__copy strong{
  display:block!important;
  max-width:168px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
body .crenti-sidebar-brand__copy small{
  display:block!important;
  margin-top:4px!important;
  color:var(--centri-menu-muted)!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
}
body .crenti-sidebar-brand__toggle{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  margin:0!important;
  border-radius:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body .crenti-sidebar-brand__toggle:hover{
  background:rgba(84,210,187,.22)!important;
  border-color:rgba(84,210,187,.42)!important;
}

/* Panel de navegación: elimina el bloque blanco de AdminLTE/EVA */
body .crenti-sidebar-menu-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 8px 14px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-radius:26px!important;
  border:1px solid var(--centri-menu-line)!important;
  background:rgba(3,15,42,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(84,210,187,.78) transparent!important;
}
body .crenti-sidebar-menu-wrap::-webkit-scrollbar{width:5px!important;height:5px!important;}
body .crenti-sidebar-menu-wrap::-webkit-scrollbar-track{background:transparent!important;}
body .crenti-sidebar-menu-wrap::-webkit-scrollbar-thumb{background:rgba(84,210,187,.72)!important;border-radius:999px!important;}
body .crenti-sidebar-menu-wrap::-webkit-scrollbar-thumb:hover{background:var(--centri-menu-mint)!important;}

/* Reset navegación */
body .crenti-sidebar .sis-nav,
body .crenti-sidebar #side-bar,
body .crenti-sidebar .sidebar,
body .crenti-sidebar .sidebar-menu,
body .crenti-sidebar .nav{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .crenti-sidebar .sis-nav-cluster,
body .crenti-sidebar .sis-nav-cluster__body,
body .crenti-sidebar .sis-nav-group,
body .crenti-sidebar .treeview,
body .crenti-sidebar .treeview-menu,
body .crenti-sidebar .sidebar-menu > li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  list-style:none!important;
}
body .crenti-sidebar .sis-nav-cluster{
  margin-bottom:8px!important;
}
body .crenti-sidebar .sis-nav-cluster + .sis-nav-cluster{
  padding-top:8px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
body .crenti-sidebar .sis-nav-section,
body .crenti-sidebar .menu-header,
body .crenti-sidebar .sidebar-menu li.header{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:9px 4px 7px!important;
  padding:0 7px!important;
  color:rgba(255,255,255,.48)!important;
  background:transparent!important;
  border:0!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.19em!important;
}
body .crenti-sidebar .sis-nav-section::before{
  content:""!important;
  width:6px!important;
  height:6px!important;
  min-width:6px!important;
  border-radius:999px!important;
  background:var(--centri-menu-mint)!important;
  box-shadow:0 0 0 4px rgba(84,210,187,.10)!important;
}

/* Items principales */
body .crenti-sidebar .sis-nav-item,
body .crenti-sidebar .sis-nav-group-toggle,
body .crenti-sidebar .sidebar-menu > li > a,
body .crenti-sidebar .treeview-menu > li > a{
  position:relative!important;
  min-height:46px!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:5px 0!important;
  padding:10px 11px!important;
  border-radius:17px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:var(--centri-menu-text)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
  overflow:hidden!important;
}
body .crenti-sidebar .sis-nav-item > span,
body .crenti-sidebar .sis-nav-subitem > span,
body .crenti-sidebar .sis-nav-group-toggle > span,
body .crenti-sidebar .sidebar-menu > li > a > span{
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
body .crenti-sidebar .sis-nav-item:hover,
body .crenti-sidebar .sis-nav-group-toggle:hover,
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-item,
body .crenti-sidebar .sidebar-menu > li > a:hover{
  transform:translateX(2px)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.105)!important;
}
body .crenti-sidebar .sis-nav-item.is-active,
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-item.is-active,
body .crenti-sidebar .sidebar-menu > li.active > a,
body .crenti-sidebar .sidebar-menu > li.menu-open > a{
  color:#052D29!important;
  background:linear-gradient(135deg,#66E5CF 0%,var(--centri-menu-mint) 60%,#36BDA7 100%)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 15px 31px rgba(84,210,187,.26), inset 0 1px 0 rgba(255,255,255,.36)!important;
  font-weight:900!important;
  transform:none!important;
}
body .crenti-sidebar .sis-nav-item.is-active::after,
body .crenti-sidebar .sidebar-menu > li.active > a::after{
  content:""!important;
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:#fff!important;
  opacity:.92!important;
  transform:translateY(-50%)!important;
}

/* Iconos principales */
body .crenti-sidebar .sis-nav-item > i,
body .crenti-sidebar .sis-nav-item > svg:not(.sis-nav-caret),
body .crenti-sidebar .sis-nav-subitem > i,
body .crenti-sidebar .sis-nav-subitem > svg,
body .crenti-sidebar .sidebar-menu > li > a > i,
body .crenti-sidebar .treeview-menu > li > a > i{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  padding:0!important;
  margin:0!important;
  color:#BFF5EB!important;
  stroke:#BFF5EB!important;
  background:rgba(255,255,255,.115)!important;
  font-size:13px!important;
  line-height:26px!important;
  overflow:hidden!important;
}
body .crenti-sidebar .sis-nav-item:hover > i,
body .crenti-sidebar .sis-nav-item:hover > svg:not(.sis-nav-caret),
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-item > i,
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-item > svg:not(.sis-nav-caret){
  color:#fff!important;
  stroke:#fff!important;
  background:rgba(255,255,255,.18)!important;
}
body .crenti-sidebar .sis-nav-item.is-active > i,
body .crenti-sidebar .sis-nav-item.is-active > svg:not(.sis-nav-caret),
body .crenti-sidebar .sidebar-menu > li.active > a > i,
body .crenti-sidebar .sidebar-menu > li.menu-open > a > i{
  color:#052D29!important;
  stroke:#052D29!important;
  background:rgba(255,255,255,.56)!important;
}

/* Carets / flechas */
body .crenti-sidebar .sis-nav-caret,
body .crenti-sidebar .pull-right-container,
body .crenti-sidebar .fa-angle-left,
body .crenti-sidebar .fa-angle-down{
  margin-left:auto!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(255,255,255,.54)!important;
  stroke:rgba(255,255,255,.54)!important;
  background:rgba(255,255,255,.08)!important;
  border-radius:10px!important;
}
body .crenti-sidebar .sis-nav-item.is-active .sis-nav-caret,
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-item .sis-nav-caret{
  color:#052D29!important;
  stroke:#052D29!important;
  background:rgba(255,255,255,.46)!important;
}

/* Submenús */
body .crenti-sidebar .sis-nav-children,
body .crenti-sidebar .treeview-menu{
  position:relative!important;
  display:none;
  margin:6px 0 10px 23px!important;
  padding:3px 0 3px 12px!important;
  border-left:1px solid rgba(84,210,187,.40)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .crenti-sidebar .sis-nav-group.is-open > .sis-nav-children,
body .crenti-sidebar .menu-open > .treeview-menu,
body .crenti-sidebar .active > .treeview-menu{
  display:block!important;
}
body .crenti-sidebar .sis-nav-children::before,
body .crenti-sidebar .treeview-menu::before{
  content:""!important;
  position:absolute!important;
  left:-4px!important;
  top:12px!important;
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:var(--centri-menu-mint)!important;
}
body .crenti-sidebar .sis-nav-children-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
body .crenti-sidebar .sis-nav-subitem,
body .crenti-sidebar .treeview-menu > li > a{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  color:rgba(255,255,255,.68)!important;
  font-size:12px!important;
  font-weight:750!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body .crenti-sidebar .sis-nav-subitem:hover,
body .crenti-sidebar .treeview-menu > li > a:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
body .crenti-sidebar .sis-nav-subitem.is-active,
body .crenti-sidebar .treeview-menu > li.active > a{
  background:rgba(84,210,187,.18)!important;
  border-color:rgba(84,210,187,.26)!important;
  color:#CFFFF6!important;
  font-weight:900!important;
}
body .crenti-sidebar .sis-nav-subitem > i,
body .crenti-sidebar .sis-nav-subitem > svg,
body .crenti-sidebar .treeview-menu > li > a > i{
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  border-radius:50%!important;
  background:rgba(84,210,187,.72)!important;
  color:transparent!important;
  stroke:transparent!important;
}
body .crenti-sidebar .sis-nav-subheading{
  color:rgba(255,255,255,.46)!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  margin:8px 0 3px!important;
}

/* Footer */
body .crenti-sidebar-footer{
  flex:0 0 auto!important;
  margin:12px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body .crenti-sidebar-footer__card{
  position:relative!important;
  overflow:hidden!important;
  padding:13px 14px!important;
  margin:0 0 9px 0!important;
  border-radius:21px!important;
  border:1px solid rgba(84,210,187,.28)!important;
  background:linear-gradient(135deg,rgba(84,210,187,.22),rgba(255,255,255,.075))!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body .crenti-sidebar-footer__card::after{
  content:""!important;
  position:absolute!important;
  width:92px!important;
  height:92px!important;
  right:-38px!important;
  bottom:-46px!important;
  border-radius:999px!important;
  background:rgba(84,210,187,.20)!important;
}
body .crenti-sidebar-footer__card span{
  display:block!important;
  margin-bottom:4px!important;
  color:var(--centri-menu-mint)!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
}
body .crenti-sidebar-footer__card strong{
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.18!important;
  font-weight:900!important;
}
body .crenti-sidebar-footer__card small{
  display:block!important;
  max-width:210px!important;
  margin-top:5px!important;
  color:rgba(255,255,255,.68)!important;
  font-size:11px!important;
  line-height:1.32!important;
}
body .crenti-sidebar-logout{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:9px 11px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  text-decoration:none!important;
}
body .crenti-sidebar-logout:hover{
  color:#fff!important;
  border-color:rgba(240,68,56,.34)!important;
  background:rgba(240,68,56,.20)!important;
  text-decoration:none!important;
}

/* Colapsado */
body.sidebar-collapse .side-bar.crenti-sidebar,
body.sidebar-collapse aside.side-bar.crenti-sidebar,
body.sidebar-collapse .crenti-sidebar{
  width:94px!important;
  min-width:94px!important;
  max-width:94px!important;
  padding:14px 10px!important;
}
body.sidebar-collapse .crenti-sidebar-brand{
  justify-content:center!important;
  padding:10px 8px!important;
}
body.sidebar-collapse .crenti-sidebar-brand__copy,
body.sidebar-collapse .crenti-sidebar-brand__toggle,
body.sidebar-collapse .crenti-sidebar .sis-nav-section,
body.sidebar-collapse .crenti-sidebar .sis-nav-item > span,
body.sidebar-collapse .crenti-sidebar .sis-nav-caret,
body.sidebar-collapse .crenti-sidebar .sis-nav-children,
body.sidebar-collapse .crenti-sidebar-footer__card,
body.sidebar-collapse .crenti-sidebar-logout span{
  display:none!important;
}
body.sidebar-collapse .crenti-sidebar-brand__logo{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:20px!important;
}
body.sidebar-collapse .crenti-sidebar-menu-wrap{
  padding:9px 6px 12px!important;
  border-radius:24px!important;
}
body.sidebar-collapse .crenti-sidebar .sis-nav-item,
body.sidebar-collapse .crenti-sidebar .sis-nav-group-toggle{
  width:54px!important;
  height:54px!important;
  min-height:54px!important;
  margin:7px auto!important;
  padding:0!important;
  justify-content:center!important;
  border-radius:19px!important;
}
body.sidebar-collapse .crenti-sidebar .sis-nav-item > i,
body.sidebar-collapse .crenti-sidebar .sis-nav-item > svg:not(.sis-nav-caret){
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
}
body.sidebar-collapse .crenti-sidebar-logout{
  width:54px!important;
  height:46px!important;
  margin:0 auto!important;
  padding:0!important;
}

/* Ajustes para pantallas pequeñas o bajas */
@media (max-height:760px){
  body .crenti-sidebar-footer__card{display:none!important;}
  body .crenti-sidebar-footer{margin-top:8px!important;}
  body .crenti-sidebar-brand{margin-bottom:8px!important;}
}
@media (max-width:1199px){
  body .side-bar.crenti-sidebar,
  body aside.side-bar.crenti-sidebar,
  body .crenti-sidebar{
    margin:10px!important;
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }
}
@media (max-width:991px){
  body .side-bar.crenti-sidebar,
  body aside.side-bar.crenti-sidebar,
  body .crenti-sidebar{
    border-radius:0 28px 28px 0!important;
    margin:0!important;
    height:100vh!important;
    max-height:100vh!important;
  }
}
