/* 管理后台布局变量与固定定位样式 */
:root { --nav-h: 60px; --sidebar-w: 257px; --tabs-h: 36px; }

/* 侧栏固定在头部与标签栏之下 */
#sidebar { position: fixed; top: calc(var(--nav-h) + var(--tabs-h)); left: 0; bottom: 0; width: var(--sidebar-w); overflow-y: auto; }

/* 主体区域顶端内边距包含头部与标签栏高度 */
.page-body-wrapper { padding-top: calc(var(--nav-h) + var(--tabs-h)); }
.main-panel { margin-left: var(--sidebar-w); }

/* 内容区独立滚动并扣除头部与标签栏高度 */
.content-wrapper { height: calc(100vh - var(--nav-h) - var(--tabs-h)); overflow-y: auto; padding-top: 0 !important; overflow-x: hidden; }
.content-wrapper .grid-margin { margin-top: 4px !important; margin-bottom: 4px !important; }
.content-wrapper .card { margin-top: 0 !important; margin-bottom: 0 !important; }

/* iframe 堆叠区域高度与内容区一致 */
.embed-responsive { height: calc(100vh - var(--nav-h) - var(--tabs-h)); }
.embed-responsive .embed-responsive-item { width: 100%; height: 100%; border: 0; display: none; }
.embed-responsive .embed-responsive-item.active { display: block; }

/* 头部：控制搜索区域不挤压顶部菜单，保持横向排列 */
.navbar .navbar-menu-wrapper { display: flex; align-items: center; }
.navbar .navbar-menu-wrapper #top-menu { flex: 1 1 auto; }
/* 搜索区域默认收起，仅展示图标；展开时显示输入框 */
.navbar .navbar-menu-wrapper .search-area { flex: 0 0 auto; max-width: 38vw; transition: width .2s ease; }
.navbar .navbar-menu-wrapper .search-area.collapsed { width: 0; overflow: hidden; }
.navbar .navbar-menu-wrapper .search-area .input-group { width: 360px; }
.navbar .navbar-menu-wrapper .navbar-nav-right { flex: 0 0 auto; }

/* 侧边栏二级/三级菜单紧凑样式与图标对齐 */
/* 二级菜单：加大行距、图标浅色并增大与文字间距 */
#sidebar .nav .nav-item > .nav-link {
  display: flex;
  align-items: center;
  padding: 10px 16px; /* 行距再加大一点点 */
}
#sidebar .nav .nav-item > .nav-link i {
  font-size: 16px;
  margin-right: 12px; /* 图标与文字距离再加大 */
  line-height: 1;
  color: #8a8d93; /* 浅一点的图标颜色 */
  margin-left: 2px; /* 图标左侧留白稍微增加 */
}
#sidebar .nav .nav-item.has-children > .nav-link .toggle-icon {
  margin-left: auto; /* 右侧展示伸缩图标 */
  color: #8a8d93;
  transition: transform .15s ease;
}
#sidebar .nav .nav-item.expanded > .nav-link .toggle-icon { transform: rotate(180deg); }

/* 三级菜单：增加相对二级的缩进，并强制移除圆点 */
#sidebar .nav .sub-menu {
  display: none;
  list-style: none !important;           /* 强制移除默认圆点 */
  list-style-type: none !important;      /* 双保险：移除类型 */
  list-style-image: none !important;     /* 双保险：移除图片 */
  margin: 6px 0;                          /* 三级菜单整体上下留白 */
  padding-left: 44px;                     /* 相对二级更靠右，避免文字与二级对齐或穿越 */
}
#sidebar .nav .nav-item.expanded > .sub-menu { display: block; }
#sidebar .nav .sub-menu .nav-item > .nav-link {
  display: flex;
  align-items: center;
  padding: 6px 0 6px 0; /* 由父级 ul 控制整体缩进，这里不再额外左内边距 */
  line-height: 1.4;  /* 提升可读性 */
}
/* 防止任何列表标记渲染出现在三级项上 */
#sidebar .nav .sub-menu .nav-item { list-style: none !important; margin: 2px 0; }
/* 进一步屏蔽浏览器的列表 marker（新式浏览器） */
#sidebar .nav .sub-menu li::marker { content: none !important; }
/* 防御性：一些主题可能用 ::before 输出点，统一清空 */
#sidebar .nav .sub-menu li::before { content: none !important; }