/* 自定义侧边栏菜单样式 */
.sidebar-menu {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 100% !important;
  width: 100% !important;
  padding: 0;
  margin: 0;
  list-style: none;
  /* 隐藏滚动条但保持滚动功能 */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* 隐藏 Webkit 浏览器的滚动条 */
.sidebar-menu::-webkit-scrollbar {
  display: none;  /* Chrome, Safari and Opera */
}

/* 菜单项基础样式 */
.sidebar-menu li {
  flex-shrink: 0 !important;
  width: 100% !important;
  display: block !important;
}

/* 菜单链接样式 */
.sidebar-menu a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: inherit;
  border-radius: 0.375rem;
  margin: 0.125rem 0.5rem;
  transition: background-color 0.2s;
}

.sidebar-menu a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.sidebar-menu a.active {
  background-color: rgba(0, 0, 0, 0.2);
  font-weight: 600;
}

/* 折叠菜单样式 */
.sidebar-menu details {
  width: 100% !important;
}

.sidebar-menu details summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: 500;
  border-radius: 0.375rem;
  margin: 0.125rem 0.5rem;
  transition: background-color 0.2s;
  user-select: none;
}

.sidebar-menu details summary:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

/* 子菜单样式 */
.sidebar-menu details ul {
  width: 100% !important;
  padding: 0;
  margin: 0;
  list-style: none;
  padding-left: 1rem;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}

.sidebar-menu details[open] ul {
  max-height: 672px; /* sufficiently large to reveal content */
}

.sidebar-menu details ul li {
  width: 100% !important;
}
