/* ============================================================
 * sidebar-nav-v2.css - 左侧导航栏新样式（V5.0重构）
 * 适配现有HTML结构，只替换视觉样式，不改变JS逻辑
 * 深色渐变背景 + 更好的交互效果
 * ============================================================ */

/* ========== 最高优先级：宽度控制（覆盖所有媒体查询） ========== */
html body #sidebarNav:not(.collapsed):not(.mini){
  width:170px !important;
}
html body #sidebarNav.collapsed,
html body #sidebarNav.mini{
  width:60px !important;
}
html body #mainPage{
  margin-left:170px !important;
  padding-top:64px !important;
  min-height:100vh !important;
}
html body.sidebar-collapsed #mainPage{
  margin-left:60px !important;
}

/* 隐藏侧边栏内部的折叠按钮（红色方框），功能已集成到顶部栏菜单按钮 */
html body #sidebarNav .sidebar-toggle{
  display:none !important;
}

/* ========== 最高优先级：展开状态下确保内容可见 ========== */
html body #sidebarNav:not(.collapsed):not(.mini) .sidebar-group-title{
  display:block !important;
}
html body #sidebarNav:not(.collapsed):not(.mini) .sidebar-item .label{
  display:inline !important;
}
html body #sidebarNav:not(.collapsed):not(.mini) .sidebar-logo span{
  display:inline !important;
}
html body #sidebarNav:not(.collapsed):not(.mini) .sidebar-footer .sidebar-user-info{
  display:block !important;
}

/* ========== 最高优先级：确保所有元素可点击 ========== */
html body #sidebarNav .sidebar-toggle,
html body #sidebarNav .sidebar-group-title,
html body #sidebarNav .sidebar-item{
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* ========== 侧边栏容器 ========== */
#sidebarNav.sidebar-nav{
  position:fixed;
  left:0;top:0;
  width:170px !important;
  height:100vh;
  background:var(--bar-grad, linear-gradient(180deg,#1e293b 0%,#0f172a 100%)) !important;
  display:flex;
  flex-direction:column;
  z-index:9999 !important;
  overflow-y:auto;
  overflow-x:hidden;
  transition:width 0.25s ease;
  box-shadow:2px 0 8px rgba(0,0,0,0.1);
}

/* 折叠状态 */
#sidebarNav.sidebar-nav.collapsed,
#sidebarNav.sidebar-nav.mini{
  width:60px !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-logo span,
#sidebarNav.sidebar-nav.collapsed .sidebar-group-title,
#sidebarNav.sidebar-nav.collapsed .sidebar-item .label,
#sidebarNav.sidebar-nav.collapsed .sidebar-item .badge,
#sidebarNav.sidebar-nav.collapsed .sidebar-footer .sidebar-user-info,
#sidebarNav.sidebar-nav.mini .sidebar-logo span,
#sidebarNav.sidebar-nav.mini .sidebar-group-title,
#sidebarNav.sidebar-nav.mini .sidebar-item .label,
#sidebarNav.sidebar-nav.mini .sidebar-item .badge,
#sidebarNav.sidebar-nav.mini .sidebar-footer .sidebar-user-info{
  display:none !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-item,
#sidebarNav.sidebar-nav.mini .sidebar-item{
  justify-content:center !important;
  padding:12px 0 !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-logo,
#sidebarNav.sidebar-nav.mini .sidebar-logo{
  justify-content:center !important;
  padding:12px 0 !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-footer .sidebar-user,
#sidebarNav.sidebar-nav.mini .sidebar-footer .sidebar-user{
  justify-content:center !important;
}

/* ========== Logo区域 ========== */
#sidebarNav .sidebar-logo{
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px;
  border-bottom:1px solid rgba(255,255,255,0.08) !important;
  flex-shrink:0;
  background:transparent !important;
}
#sidebarNav .sidebar-logo img{
  width:36px;height:36px;
  border-radius:8px;
  object-fit:cover;
  background:#fff;
  flex-shrink:0;
}
#sidebarNav .sidebar-logo span#sidebarLogoText{
  color:#f1f5f9 !important;
  font-size:15px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 折叠按钮 */
#sidebarNav .sidebar-toggle{
  margin-left:auto;
  background:rgba(255,255,255,0.08) !important;
  border:none !important;
  color:#cbd5e1 !important;
  width:30px;height:30px;
  border-radius:8px;
  cursor:pointer;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
#sidebarNav .sidebar-toggle:hover{
  background:var(--primary-light, rgba(59,130,246,0.25)) !important;
  color:var(--primary, #3b82f6) !important;
  transform:scale(1.08);
  box-shadow:0 4px 12px var(--bar-shadow, rgba(59,130,246,0.2));
}
#sidebarNav .sidebar-toggle:active{
  transform:scale(0.95);
}

/* ========== 菜单区域 ========== */
#sidebarNav .sidebar-menu{
  flex:1;
  padding:8px 0 16px;
  background:transparent !important;
}

/* 菜单分组 */
#sidebarNav .sidebar-group{
  margin-bottom:6px;
}
#sidebarNav .sidebar-group-title{
  padding:16px 16px 10px;
  font-size:13px;
  font-weight:700;
  color:#e2e8f0 !important;
  text-transform:none;
  letter-spacing:0.5px;
  white-space:nowrap;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  user-select:none;
  position:relative;
  transition:all 0.2s ease;
  margin-top:4px;
}
#sidebarNav .sidebar-group-title::after{
  content:'';
  position:absolute;
  left:16px;
  right:16px;
  bottom:4px;
  height:1px;
  background:linear-gradient(90deg, var(--primary, #3b82f6), transparent);
  opacity:0.4;
}
#sidebarNav .sidebar-group-title::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:12px;
  background:var(--btn-grad, linear-gradient(180deg, #3b82f6, #8b5cf6));
  border-radius:0 2px 2px 0;
  opacity:0.6;
  transition:opacity 0.2s ease;
}
#sidebarNav .sidebar-group-title:hover{
  color:var(--primary, #60a5fa) !important;
}
#sidebarNav .sidebar-group-title:hover::before{
  opacity:1;
}
#sidebarNav .sidebar-group-title .group-arrow{
  font-size:10px;
  transition:transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  opacity:0.7;
}
#sidebarNav .sidebar-group.collapsed .group-arrow{
  transform:rotate(-90deg);
}
#sidebarNav .sidebar-group-items{
  overflow:hidden;
  transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 菜单项 */
#sidebarNav .sidebar-item{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  padding:9px 16px 9px 16px;
  color:#cbd5e1 !important;
  text-decoration:none;
  font-size:12.5px;
  cursor:pointer;
  transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border-left:3px solid transparent;
  position:relative;
  user-select:none;
  background:transparent !important;
  margin:1px 0;
  border-radius:0 8px 8px 0;
}
#sidebarNav .sidebar-item:hover{
  background:rgba(255,255,255,0.08) !important;
  color:#f1f5f9 !important;
  border-left-color:var(--primary, rgba(96,165,250,0.5));
  transform:translateX(2px);
}
#sidebarNav .sidebar-item:active{
  background:rgba(255,255,255,0.12) !important;
  transform:translateX(1px);
}
#sidebarNav .sidebar-item.active,
#sidebarNav .sidebar-item.current{
  background:linear-gradient(90deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.05) 50%, transparent 100%) !important;
  color:#ffffff !important;
  border-left:3px solid var(--primary, #3b82f6) !important;
  box-shadow:inset 0 0 20px rgba(255,255,255,0.06);
  font-weight:600 !important;
}
#sidebarNav .sidebar-item.active::after,
#sidebarNav .sidebar-item.current::after{
  content:'';
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--primary, #3b82f6);
  box-shadow:0 0 8px var(--bar-shadow, rgba(59,130,246,0.6));
}
#sidebarNav .sidebar-item .icon{
  font-size:16px;
  flex-shrink:0;
  width:20px;
  text-align:center;
}
#sidebarNav .sidebar-item .label{
  flex:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 徽章 */
#sidebarNav .sidebar-item .badge{
  display:inline-block;
  min-width:18px;
  height:18px;
  line-height:18px;
  border-radius:9px;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  font-weight:700;
  text-align:center;
  padding:0 5px;
  flex-shrink:0;
}

/* ========== 底部用户信息 ========== */
#sidebarNav .sidebar-footer{
  border-top:1px solid rgba(255,255,255,0.08) !important;
  padding:12px 16px;
  flex-shrink:0;
  background:transparent !important;
}
#sidebarNav .sidebar-user{
  display:flex;
  align-items:center;
  gap:10px;
}
#sidebarNav .sidebar-avatar{
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,#2563eb,#7c3aed) !important;
  color:#fff !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  flex-shrink:0;
}
#sidebarNav .sidebar-user-info{
  flex:1;
  min-width:0;
}
#sidebarNav .sidebar-username{
  font-size:13px;
  font-weight:500;
  color:#f1f5f9 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#sidebarNav .sidebar-role{
  font-size:13px;
  color:#e2e8f0 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ========== 主内容区适配 ========== */
#mainPage{
  margin-left:170px !important;
  transition:margin-left 0.25s ease;
}
#sidebarNav.sidebar-nav.collapsed ~ #mainPage,
body.sidebar-collapsed #mainPage{
  margin-left:60px !important;
}

/* ========== 响应式：平板窄版（769-1024px） ========== */
@media (min-width:769px) and (max-width:1024px){
  #sidebarNav.sidebar-nav{
    width:60px !important;
  }
  #sidebarNav.sidebar-nav .sidebar-logo span,
  #sidebarNav.sidebar-nav .sidebar-group-title,
  #sidebarNav.sidebar-nav .sidebar-item .label,
  #sidebarNav.sidebar-nav .sidebar-item .badge,
  #sidebarNav.sidebar-nav .sidebar-footer .sidebar-user-info{
    display:none !important;
  }
  #sidebarNav.sidebar-nav .sidebar-item{
    justify-content:center !important;
    padding:12px 0 !important;
  }
  #sidebarNav.sidebar-nav .sidebar-logo{
    justify-content:center !important;
    padding:12px 0 !important;
  }
  #mainPage{
    margin-left:60px !important;
  }
}

/* ========== 响应式：手机端（≤768px） ========== */
@media (max-width:768px){
  /* 手机端：侧边栏抽屉式，与base.css兼容 */
  #sidebarNav.sidebar-nav{
    transform:translateX(-100%);
    transition:transform 0.3s ease;
    width:260px !important;
    max-width:82vw;
    z-index:9999 !important;
  }
  /* 手机端展开状态：使用base.css的body.sidebar-mobile-open class */
  body.sidebar-mobile-open #sidebarNav.sidebar-nav{
    transform:translateX(0);
    box-shadow:4px 0 20px rgba(0,0,0,0.3);
  }
  /* 手机端：折叠状态不生效，始终显示完整菜单 */
  #sidebarNav.sidebar-nav.collapsed{
    width:260px !important;
  }
  #sidebarNav.sidebar-nav.collapsed .sidebar-logo span,
  #sidebarNav.sidebar-nav.collapsed .sidebar-group-title,
  #sidebarNav.sidebar-nav.collapsed .sidebar-item .label,
  #sidebarNav.sidebar-nav.collapsed .sidebar-item .badge,
  #sidebarNav.sidebar-nav.collapsed .sidebar-footer .sidebar-user-info{
    display:flex !important;
  }
  #sidebarNav.sidebar-nav.collapsed .sidebar-item{
    justify-content:flex-start !important;
    padding:9px 16px !important;
  }
  #sidebarNav.sidebar-nav.collapsed .sidebar-logo{
    justify-content:flex-start !important;
    padding:16px !important;
  }
  /* 主内容区无左边距 */
  #mainPage{
    margin-left:0 !important;
  }
  /* 手机端遮罩层：与base.css的.sidebar-overlay兼容 */
  #sidebarOverlay,
  .sidebar-overlay{
    display:none;
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(0,0,0,0.5);
    z-index:9998;
  }
  body.sidebar-mobile-open #sidebarOverlay,
  body.sidebar-mobile-open .sidebar-overlay{
    display:block;
  }
  /* 手机端：折叠按钮隐藏（用顶部菜单按钮打开抽屉） */
  #sidebarNav .sidebar-toggle{
    display:none !important;
  }
}

/* ========== 滚动条美化 ========== */
#sidebarNav.sidebar-nav::-webkit-scrollbar{
  width:5px;
}
#sidebarNav.sidebar-nav::-webkit-scrollbar-track{
  background:transparent;
}
#sidebarNav.sidebar-nav::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(59,130,246,0.3), rgba(139,92,246,0.3));
  border-radius:3px;
  transition:background 0.2s ease;
}
#sidebarNav.sidebar-nav::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(59,130,246,0.5), rgba(139,92,246,0.5));
}

/* ========== UI细节优化 ========== */

/* Logo区域增加微妙渐变 */
#sidebarNav .sidebar-logo{
  background:linear-gradient(180deg, rgba(59,130,246,0.08) 0%, transparent 100%) !important;
  position:relative;
}
#sidebarNav .sidebar-logo::after{
  content:'';
  position:absolute;
  bottom:0;
  left:16px;
  right:16px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}

/* Logo图片增加阴影 */
#sidebarNav .sidebar-logo img{
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
#sidebarNav .sidebar-logo:hover img{
  transform:scale(1.05);
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
}

/* 用户信息区域优化 */
#sidebarNav .sidebar-footer{
  background:linear-gradient(0deg, rgba(59,130,246,0.05) 0%, transparent 100%) !important;
  position:relative;
}
#sidebarNav .sidebar-footer::before{
  content:'';
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}
#sidebarNav .sidebar-user{
  padding:4px 8px;
  border-radius:8px;
  transition:background 0.2s ease;
  cursor:pointer;
}
#sidebarNav .sidebar-user:hover{
  background:rgba(255,255,255,0.05);
}

/* 头像增加动画 */
#sidebarNav .sidebar-avatar{
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
#sidebarNav .sidebar-user:hover .sidebar-avatar{
  transform:scale(1.08);
  box-shadow:0 4px 12px var(--bar-shadow, rgba(59,130,246,0.3));
}

/* 徽章增加脉冲动画 */
#sidebarNav .sidebar-item .badge{
  animation:badgePulse 2s ease-in-out infinite;
}
@keyframes badgePulse{
  0%, 100%{
    box-shadow:0 0 0 0 rgba(239,68,68,0.4);
  }
  50%{
    box-shadow:0 0 0 4px rgba(239,68,68,0);
  }
}

/* 菜单项图标增加hover效果 */
#sidebarNav .sidebar-item .icon{
  transition:transform 0.2s ease, color 0.2s ease;
}
#sidebarNav .sidebar-item:hover .icon{
  transform:scale(1.15);
}
#sidebarNav .sidebar-item.active .icon{
  color:#ffffff;
  filter:drop-shadow(0 0 4px rgba(255,255,255,0.3));
}

/* 整体侧边栏增加内阴影层次感 */
#sidebarNav.sidebar-nav{
  box-shadow:
    2px 0 8px rgba(0,0,0,0.1),
    inset -1px 0 0 rgba(255,255,255,0.05);
}

/* ========== 登录模式隐藏侧边栏 ========== */
body.login-mode #sidebarNav{
  display:none !important;
}
body.login-mode .tab-wrap{
  display:none !important;
}
/* 登录模式时主内容区左边距为0 */
body.login-mode #mainPage{
  margin-left:0 !important;
  padding-left:0 !important;
}

/* 折叠状态下菜单项居中优化 */
#sidebarNav.sidebar-nav.collapsed .sidebar-item,
#sidebarNav.sidebar-nav.mini .sidebar-item{
  padding:14px 0 !important;
  border-radius:0 !important;
  margin:2px 8px;
  border-left:none !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-item:hover,
#sidebarNav.sidebar-nav.mini .sidebar-item:hover{
  transform:scale(1.05);
  background:rgba(255,255,255,0.1) !important;
  border-radius:8px !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-item.active,
#sidebarNav.sidebar-nav.mini .sidebar-item.active{
  background:rgba(59,130,246,0.2) !important;
  border-radius:8px !important;
}
#sidebarNav.sidebar-nav.collapsed .sidebar-item.active::after,
#sidebarNav.sidebar-nav.mini .sidebar-item.active::after{
  display:none;
}
