/* ========================= */
/* SIDEBAR MODERNO PRO */
/* ========================= */

.sidebar{
  position: fixed;
  top:60px;
  left:0;
  height:calc(100vh - 60px);
  width:64px;
  background:#1e3c72;
  color:#fff;
  overflow:hidden;
  overflow-y:auto;
  transition:width .25s ease;
  z-index:900;
}

/* abierto */
.sidebar.open{
  width:220px;
}

/* scrollbar */
.sidebar::-webkit-scrollbar{
  width:5px;
}

.sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.25);
  border-radius:20px;
}

/* menu */
.menu{
  list-style:none;
  padding:10px 0;
  margin:0;
}

/* item */
.menu-item{
  width:100%;
}

.menu-item a{
  display:flex;
  align-items:center;
  gap:8px;
  height:34px;
  padding:0 14px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  font-size:12px;
  font-weight:400;
  transition:.2s;
}

/* iconos */
.menu-item i{
  width:16px;
  min-width:16px;
  font-size:13px;
  text-align:center;
}

/* texto oculto cerrado */
.menu-item span{
  opacity:0;
  visibility:hidden;
  transition:.15s;
}

/* mostrar texto abierto */
.sidebar.open .menu-item span{
  opacity:1;
  visibility:visible;
}

/* hover */
.menu-item a:hover{
  background:rgba(255,255,255,.12);
}

/* activo */
.menu-item.active a{
  background:rgba(255,255,255,.18);
}

/* secciones */
.menu-section{
  display:none;
}

.sidebar.open .menu-section{
  display:block;
  font-size:9px;
  font-weight:600;
  letter-spacing:1px;
  color:rgba(255,255,255,.45);
  padding:6px 14px 3px;
  margin-top:4px;
  line-height:1;
}

/* contenido principal */
.content{
  margin-top:60px;
  margin-left:64px;
  width:calc(100% - 64px);
  min-height:calc(100vh - 60px);
  transition:all .25s ease;
}

/* abierto empuja contenido */
.sidebar.open ~ .content{
  margin-left:220px;
  width:calc(100% - 220px);
}

/* botón topbar */
.menu-toggle{
  background:none;
  border:none;
  color:white;
  font-size:20px;
  cursor:pointer;
  margin-right:15px;
}