
/* admin_sidebar.css — FULL THEME v2 (one file to keep everything in sync)
   - 顶栏：藏青渐变（覆盖 navbar-light/bg-white 等）
   - 导航：圆角胶囊高亮（无下划线）
   - 公司名：白色
   - 退出：白底实心胶囊且垂直居中
   - Sidebar：fixed + 主体宽度修复
*/

:root{
  --navbar-h: 56px;
  --sidenav-w: 220px;
  --content-gap: 20px;
  --nav-navy: #0f2540;
  --nav-navy-dark: #0b1d33;
  --nav-pill-bg: rgba(255,255,255,.10);
  --nav-pill-active-bg: rgba(255,255,255,.22);
  --logout-bg: #ffffff;
  --logout-fg: #0f2540;
  --logout-bg-hover: #f2f6ff;
  --logout-fg-hover: #0b1d33;
  --pill-h: 34px;    /* 顶栏胶囊元素统一高度 */
  --pill-px: .9rem;  /* 左右内边距 */
}

/* —— 顶部导航（不论 navbar-light / bg-white / bg-dark，一律覆盖为藏青） —— */
.navbar{
  background-color: var(--nav-navy) !important;
  background-image: linear-gradient(180deg, var(--nav-navy) 0%, var(--nav-navy-dark) 100%) !important;
  border-bottom: 1px solid rgba(0,0,0,.35);
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
  min-height: var(--navbar-h);
}
.navbar .container, .navbar .navbar-collapse, .navbar .navbar-nav{ align-items: center; }

/* 品牌/链接/公司名 颜色与胶囊态 */
.navbar .navbar-brand{ color:#fff !important; font-weight:600; }
.navbar .navbar-text{ color:#fff !important; opacity:.95; display:inline-flex; align-items:center; height: var(--pill-h); }

.navbar .navbar-nav .nav-link{
  color: rgba(255,255,255,.85) !important;
  padding: 0 var(--pill-px);
  height: var(--pill-h);
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  margin: 0 .12rem;
  transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus{ color:#fff !important; background-color: var(--nav-pill-bg) !important; }
.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link[aria-current="page"]{ color:#fff !important; background-color: var(--nav-pill-active-bg) !important; }
.navbar .navbar-nav .nav-link::after{ content:none !important; } /* 移除下划线 */

.navbar .dropdown-toggle::after{ filter: invert(1) opacity(.8); }
.navbar .navbar-toggler{ border-color: rgba(255,255,255,.35); }
.navbar .navbar-toggler-icon{ filter: invert(1) opacity(.9); }

/* 退出按钮：白底实心胶囊 + 居中 */
.navbar .btn-outline-light,
.navbar .btn-light{
  color: var(--logout-fg) !important;
  background-color: var(--logout-bg) !important;
  border-color: transparent !important;
  border-radius: 999px !important;
  height: var(--pill-h) !important;
  padding: 0 var(--pill-px) !important;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  box-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.navbar .btn-outline-light:hover, .navbar .btn-outline-light:focus,
.navbar .btn-light:hover, .navbar .btn-light:focus{
  color: var(--logout-fg-hover) !important;
  background-color: var(--logout-bg-hover) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
  text-decoration: none;
}

/* 公司名与退出之间间距 */
.navbar .navbar-text + .btn-outline-light,
.navbar .navbar-text + .btn-light{ margin-left: .5rem; }

/* —— 左侧侧栏与右侧布局 —— */
.admin-sidenav{
  position: fixed;
  top: var(--navbar-h);
  left: 0;
  width: var(--sidenav-w);
  height: calc(100vh - var(--navbar-h));
  background: #fff;
  border-right: 1px solid #e9ecef;
  padding: 16px 0;
  z-index: 1030;
  overflow-y: auto;
}
.admin-brand{ display:flex; align-items:center; font-weight:600; padding:0 20px 8px 20px; color:#2c3e50; margin-bottom:6px; }
.admin-nav{ display:flex; flex-direction:column; gap:4px; }
.admin-nav-item{ display:flex; align-items:center; gap:10px; padding:10px 20px; color:#4a5568; text-decoration:none; border-left:3px solid transparent; transition:all .15s ease; }
.admin-nav-item:hover{ background:#f7fbff; color:#1890ff; }
.admin-nav-item.active{ background:#e6f7ff; color:#1890ff; border-left-color:#1890ff; }
.admin-nav-icon{ font-size:1.05rem; }
.admin-nav-text{ font-weight:500; }

.admin-main{
  position: relative;
  margin-left: calc(var(--sidenav-w) + var(--content-gap));
  width: calc(100% - var(--sidenav-w) - var(--content-gap));
  box-sizing: border-box;
  overflow-x: hidden;
}
.admin-main .row{ --bs-gutter-x: 1.5rem; }

@media (max-width: 992px){
  .admin-sidenav{ position: static; width:100%; height:auto; border-right:none; border-bottom:1px solid #e9ecef; top:0; }
  .admin-main{ margin-left:0; width:100%; }
}
