/* ===== Happen AI Agentic CRM · 统一侧边栏样式（强制覆盖） =====
 * 目标：8 页侧栏字体/颜色/间距/交互/宽度完全一致
 * 用 !important 覆盖各页原有零散样式
 */
:root{
  --hp-side-w: 236px;
  --hp-side-bg: linear-gradient(148deg,#071c33,#162e4c);
  --hp-side-bg2: #091f38;
}

/* 侧栏容器统一 */
aside, .side{
  width: var(--hp-side-w) !important;
  min-width: var(--hp-side-w) !important;
  max-width: var(--hp-side-w) !important;
  flex: 0 0 var(--hp-side-w) !important;
  background: var(--hp-side-bg) !important;
  color: #fff !important;
  padding: 26px 14px 20px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  font-family: 'Microsoft YaHei','PingFang SC',Arial,sans-serif !important;
}

/* 品牌区统一 */
aside .brand, .side .brand{
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 6px 30px !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #fff !important;
}
aside .brand .logo, .side .brand .logo, aside .brand i, .side .brand i{
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(120deg,#65b5ff,#2166e8) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 20px !important;
  font-style: normal !important;
  line-height: 1 !important;
  padding: 0 !important;
  color: #fff !important;
}
aside .brand small, .side .brand small{
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #a9c6e6 !important;
  margin-top: 2px !important;
  letter-spacing: .3px !important;
}

/* 导航容器统一 */
aside nav, .side nav, aside .nav, .side .nav{
  display: block !important;
  flex: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 导航项统一（a 链接） */
aside nav a, .side nav a{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  height: 42px !important;
  padding: 0 14px !important;
  margin: 0 0 3px !important;
  border-radius: 6px !important;
  border-left: 3px solid transparent !important;
  color: #e8f1fb !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
  cursor: pointer !important;
}
aside nav a b, .side nav a b{
  display: inline-block !important;
  width: 20px !important;
  min-width: 20px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-align: center !important;
  line-height: 1 !important;
  color: inherit !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
}
aside nav a:hover, .side nav a:hover{
  background: #22405f !important;
  color: #ffffff !important;
}
aside nav a.active, .side nav a.active,
aside nav a.hp-active, .side nav a.hp-active{
  background: #2b5e9b !important;
  color: #ffffff !important;
  border-left: 3px solid #75b9ff !important;
}

/* 旧 button 导航也统一 */
aside nav button, .side nav button{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 42px !important;
  padding: 0 14px !important;
  margin: 0 0 3px !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 6px !important;
  background: none !important;
  color: #e8f1fb !important;
  font: 600 13.5px 'Microsoft YaHei','PingFang SC',Arial,sans-serif !important;
  text-align: left !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background .16s ease !important;
}
aside nav button:hover, .side nav button:hover{ background: #22405f !important; }
aside nav button.active, .side nav button.active{
  background: #2b5e9b !important;
  border-left: 3px solid #75b9ff !important;
  color: #fff !important;
}

/* 分隔线统一 */
aside nav hr, .side nav hr{
  border: 0 !important;
  border-top: 1px solid #35526f !important;
  margin: 12px 6px !important;
  height: 0 !important;
}

/* 主内容区宽度补偿：让 8 页内容起点一致 */
main, .main{
  min-width: 0 !important;
}

/* 主内容区宽度统一 */
.app{
  max-width: 1600px !important;
  margin: 0 auto !important;
  min-height: 100vh !important;
  display: flex !important;
}
@media (max-width: 1250px){
  .app{ min-width: 1200px !important; }
  body{ overflow-x: auto; }
}
