@charset "UTF-8";
/* =============================================================================
   深色主题（2026-10-01）
   -----------------------------------------------------------------------------
   为什么需要这个文件：
   本项目的 Sneat 模板是**编译时关掉深色模式**的构建 —— `vendor/css/core.css`
   （Bootstrap 5.3.2）整包只有一个 `[data-bs-theme=light]` 作用域、**没有
   `[data-bs-theme=dark]` 块**，`theme-default.css` 也没有深色版本，仓库里不存在
   任何官方深色资源。所以这里补齐深色所需的覆盖。

   覆盖分四层（顺序即优先级，本文件必须最后加载）：
     ① 根变量：能靠 `--bs-*` 继承生效的一律走变量（改动最小、最不易漏）
     ② 组件自带的「元素级变量」：`.card` / `.modal` / `.dropdown-menu` 等把
        `--bs-xxx-bg` **写在自己规则里**，祖先变量覆盖不到 → 必须重写同名规则
     ③ 布局硬编码：`.bg-menu-theme` / `.bg-navbar-theme` / `.layout-navbar` 的底色
        是写死的 `#fff` 且带 `!important` → 覆盖也必须带 `!important`
     ④ 工具类硬编码：`.text-muted` / `.bg-label-*` / `.bg-body` 等同样是硬编码 +
        `!important`（视图里 `text-muted` 用了 78 次、`bg-label-*` 32 次）→ 必须显式覆盖
   ============================================================================= */

/* ============================ ① 根变量 ============================ */
[data-bs-theme="dark"] {
  /* 让浏览器原生控件（滚动条/下拉/日期选择器/自动填充）也跟随深色 */
  color-scheme: dark;

  /* —— 表面与文字 —— */
  --bs-body-bg: #232333;
  --bs-body-bg-rgb: 35, 35, 51;
  --bs-body-color: #b0b2be;
  --bs-body-color-rgb: 176, 178, 190;
  --bs-heading-color: #d5d6dd;
  --bs-emphasis-color: #d5d6dd;
  --bs-emphasis-color-rgb: 213, 214, 221;
  --bs-secondary-color: #8e90a6;
  --bs-secondary-color-rgb: 142, 144, 166;
  --bs-tertiary-color: rgba(176, 178, 190, 0.5);
  --bs-tertiary-color-rgb: 176, 178, 190;
  --bs-secondary-bg: #2f3047;
  --bs-secondary-bg-rgb: 47, 48, 71;
  --bs-tertiary-bg: #2b2c40;
  --bs-tertiary-bg-rgb: 43, 44, 64;

  /* —— 边框 —— */
  --bs-border-color: #3b3c53;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.09);

  /* —— 链接 —— */
  --bs-link-color: #a5a6ff;
  --bs-link-color-rgb: 165, 166, 255;
  --bs-link-hover-color: #8f91ff;
  --bs-link-hover-color-rgb: 143, 145, 255;

  /* —— 阴影：浅色阴影在深底上会「发白」，换成更深的黑 —— */
  --bs-box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.45);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.35);
  --bs-box-shadow-lg: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.5);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.35);

  --bs-focus-ring-color: rgba(176, 178, 190, 0.5);
  --bs-highlight-color: #d5d6dd;
  --bs-highlight-bg: #4a3f1f;

  /* —— 语义色：软色档（bg-label-* 之外的 -subtle / text-emphasis 走这里）—— */
  --bs-primary-text-emphasis: #b0b1ff;
  --bs-primary-bg-subtle: rgba(105, 108, 255, 0.16);
  --bs-primary-border-subtle: rgba(105, 108, 255, 0.38);

  --bs-secondary-text-emphasis: #c3cbd6;
  --bs-secondary-bg-subtle: rgba(133, 146, 163, 0.16);
  --bs-secondary-border-subtle: rgba(133, 146, 163, 0.38);

  --bs-success-text-emphasis: #9be26d;
  --bs-success-bg-subtle: rgba(113, 221, 55, 0.16);
  --bs-success-border-subtle: rgba(113, 221, 55, 0.38);

  --bs-info-text-emphasis: #6fd8ef;
  --bs-info-bg-subtle: rgba(3, 195, 236, 0.16);
  --bs-info-border-subtle: rgba(3, 195, 236, 0.38);

  --bs-warning-text-emphasis: #ffc75e;
  --bs-warning-bg-subtle: rgba(255, 171, 0, 0.16);
  --bs-warning-border-subtle: rgba(255, 171, 0, 0.38);

  --bs-danger-text-emphasis: #ff8f79;
  --bs-danger-bg-subtle: rgba(255, 62, 29, 0.16);
  --bs-danger-border-subtle: rgba(255, 62, 29, 0.38);

  --bs-light-text-emphasis: #d5d6dd;
  --bs-light-bg-subtle: rgba(255, 255, 255, 0.06);
  --bs-light-border-subtle: rgba(255, 255, 255, 0.12);

  --bs-dark-text-emphasis: #d5d6dd;
  --bs-dark-bg-subtle: rgba(255, 255, 255, 0.09);
  --bs-dark-border-subtle: rgba(255, 255, 255, 0.16);
}

/* ==================== ② 组件自带的「元素级变量」 ====================
   这些组件的 `--bs-xxx-bg` 写在**自己的规则**里，祖先上的同名变量覆盖不到
   （CSS 变量以「元素自身声明」优先），所以必须重写同名选择器。 */
[data-bs-theme="dark"] .card {
  --bs-card-bg: #2b2c40;
  --bs-card-border-color: #3b3c53;
  --bs-card-cap-bg: transparent;
  --bs-card-color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dropdown-menu {
  --bs-dropdown-bg: #2b2c40;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.06);
  --bs-dropdown-link-hover-color: #d5d6dd;
  --bs-dropdown-divider-bg: #3b3c53;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.45);
}

[data-bs-theme="dark"] .modal {
  --bs-modal-bg: #2b2c40;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-border-color: #3b3c53;
  --bs-modal-header-border-color: #3b3c53;
  --bs-modal-footer-border-color: #3b3c53;
}

[data-bs-theme="dark"] .offcanvas {
  --bs-offcanvas-bg: #2b2c40;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-border-color: #3b3c53;
}

[data-bs-theme="dark"] .toast {
  --bs-toast-bg: #2b2c40;
  --bs-toast-color: var(--bs-body-color);
  --bs-toast-border-color: #3b3c53;
  --bs-toast-header-bg: #2b2c40;
  --bs-toast-header-color: #d5d6dd;
  --bs-toast-header-border-color: #3b3c53;
}

[data-bs-theme="dark"] .popover {
  --bs-popover-bg: #2b2c40;
  --bs-popover-border-color: #3b3c53;
  --bs-popover-header-bg: #31324a;
  --bs-popover-header-color: #d5d6dd;
  --bs-popover-body-color: var(--bs-body-color);
}

[data-bs-theme="dark"] .accordion {
  --bs-accordion-bg: #2b2c40;
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-border-color: #3b3c53;
  --bs-accordion-btn-color: #d5d6dd;
  --bs-accordion-active-bg: rgba(105, 108, 255, 0.12);
  --bs-accordion-active-color: #b0b1ff;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.15rem rgba(105, 108, 255, 0.35);
}

[data-bs-theme="dark"] .nav-tabs {
  --bs-nav-tabs-border-color: #3b3c53;
  --bs-nav-tabs-link-active-bg: #2b2c40;
  --bs-nav-tabs-link-active-color: #d5d6dd;
  --bs-nav-tabs-link-active-border-color: #3b3c53 #3b3c53 #2b2c40;
  --bs-nav-tabs-link-hover-border-color: #3b3c53 #3b3c53 #3b3c53;
}

[data-bs-theme="dark"] .form-check-input {
  --bs-form-check-bg: #2b2c40;
  border-color: #4a4c66;
}

[data-bs-theme="dark"] .pagination {
  --bs-pagination-color: var(--bs-body-color);
  --bs-pagination-bg: #2b2c40;
  --bs-pagination-border-color: #3b3c53;
  --bs-pagination-hover-bg: #34354c;
  --bs-pagination-hover-color: #d5d6dd;
  --bs-pagination-hover-border-color: #3b3c53;
  --bs-pagination-disabled-bg: #26273a;
  --bs-pagination-disabled-color: #6c6e83;
  --bs-pagination-disabled-border-color: #3b3c53;
}

[data-bs-theme="dark"] .list-group {
  --bs-list-group-bg: transparent;
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-border-color: #3b3c53;
  --bs-list-group-action-hover-bg: rgba(255, 255, 255, 0.06);
  --bs-list-group-action-hover-color: #d5d6dd;
}

/* 表格：底纹/悬停是浅色 rgba，深底上会发白 */
[data-bs-theme="dark"] .table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-border-color: #3b3c53;
  --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.055);
  --bs-table-hover-color: #d5d6dd;
  --bs-table-active-bg: rgba(255, 255, 255, 0.08);
  --bs-table-active-color: #d5d6dd;
}

/* 表单控件：`.form-control` 的背景是写死的 #fff（无 !important），同选择器后写即可覆盖 */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] .form-control-plaintext {
  background-color: #2b2c40;
  border-color: #3b3c53;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: #2b2c40;
  border-color: #696cff;
  color: #d5d6dd;
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: #6f7189;
  opacity: 1;
}

[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled {
  background-color: #26273a;
  color: #6c6e83;
}

/* 下拉/选项在原生渲染时的底色（部分浏览器） */
[data-bs-theme="dark"] option {
  background-color: #2b2c40;
  color: var(--bs-body-color);
}

/* ======================= ③ Sneat 布局硬编码 =======================
   `.bg-menu-theme` / `.bg-navbar-theme` / `.layout-navbar` 的底色是写死的 #fff
   且带 `!important`（theme-default.css），所以这里的覆盖也必须 `!important`。 */
[data-bs-theme="dark"] .bg-menu-theme {
  background-color: #2b2c40 !important;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .bg-navbar-theme {
  background-color: #2b2c40 !important;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .layout-navbar {
  background-color: rgba(43, 44, 64, 0.95) !important;
}

/* 侧边菜单：滚动遮罩是白色渐隐，深色下会糊成一块白 */
[data-bs-theme="dark"] .bg-menu-theme .menu-inner-shadow {
  background: linear-gradient(#2b2c40 41%, rgba(43, 44, 64, 0.11) 95%, rgba(43, 44, 64, 0));
}

/* 菜单项悬停 / 展开 / 激活 */
[data-bs-theme="dark"] html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover,
[data-bs-theme="dark"] .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover,
[data-bs-theme="dark"] html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item.open > .menu-link,
[data-bs-theme="dark"] .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item.open > .menu-link {
  background-color: rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .bg-menu-theme .menu-inner .menu-sub > .menu-item.active > .menu-link.menu-toggle,
[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link {
  background-color: rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before,
[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before,
[data-bs-theme="dark"] .bg-menu-theme.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub,
[data-bs-theme="dark"] .bg-menu-theme.menu-horizontal .menu-inner .menu-item.open > .menu-toggle {
  background-color: #34354c;
}

/* 顶部导航的汉堡图标原本是深色线条，深色下看不见 */
[data-bs-theme="dark"] .bg-navbar-theme .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28213,214,221,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* .light-style 专属的浅色硬编码（换到 dark-style 后仍可能被其他规则覆盖，这里兜底） */
[data-bs-theme="dark"] .ui-bordered,
.dark-style .ui-bordered {
  border-color: #3b3c53;
}

/* 卡片/固定页脚的浅色阴影太重，深色下压一档 */
[data-bs-theme="dark"] .navbar-detached,
[data-bs-theme="dark"] .layout-footer-fixed .content-footer {
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4);
}

/* ==================== ④ 硬编码工具类（带 !important） ====================
   下面这些在 core.css 里是**写死颜色 + `!important`**，不覆盖就会在深色下
   出现「浅灰字压深底」或「浅底块」——视图里 text-muted 用了 78 次。 */
[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-muted[href]:hover,
[data-bs-theme="dark"] .text-muted[href]:focus {
  color: #8e90a6 !important;
}

[data-bs-theme="dark"] .text-body {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .text-heading {
  color: #d5d6dd !important;
}

/* `.text-dark` 用的是 --bs-dark-rgb（#233446），深底上等于隐形 */
[data-bs-theme="dark"] .text-dark {
  color: #d5d6dd !important;
}

[data-bs-theme="dark"] .text-black,
[data-bs-theme="dark"] .text-black-50 {
  color: #d5d6dd !important;
}

[data-bs-theme="dark"] .text-light,
[data-bs-theme="dark"] .text-lighter,
[data-bs-theme="dark"] .text-lightest {
  color: #b0b2be !important;
}

/* 软色标签（bg-label-*）：原来一律是「浅色底 + 重色字」，深色下改为「半透明底 + 亮字」 */
[data-bs-theme="dark"] .bg-label-primary { background-color: rgba(105, 108, 255, 0.16) !important; color: #b0b1ff !important; }
[data-bs-theme="dark"] .bg-label-secondary { background-color: rgba(133, 146, 163, 0.16) !important; color: #c3cbd6 !important; }
[data-bs-theme="dark"] .bg-label-success { background-color: rgba(113, 221, 55, 0.16) !important; color: #9be26d !important; }
[data-bs-theme="dark"] .bg-label-info { background-color: rgba(3, 195, 236, 0.16) !important; color: #6fd8ef !important; }
[data-bs-theme="dark"] .bg-label-warning { background-color: rgba(255, 171, 0, 0.16) !important; color: #ffc75e !important; }
[data-bs-theme="dark"] .bg-label-danger { background-color: rgba(255, 62, 29, 0.16) !important; color: #ff8f79 !important; }
[data-bs-theme="dark"] .bg-label-dark { background-color: rgba(255, 255, 255, 0.1) !important; color: #d5d6dd !important; }
[data-bs-theme="dark"] .bg-label-light { background-color: rgba(255, 255, 255, 0.08) !important; color: #d5d6dd !important; }

/* 浅色底工具类 */
[data-bs-theme="dark"] .bg-body { background-color: var(--bs-body-bg) !important; }
[data-bs-theme="dark"] .bg-white { background-color: #2b2c40 !important; }
[data-bs-theme="dark"] .bg-lighter { background-color: rgba(255, 255, 255, 0.05) !important; }
[data-bs-theme="dark"] .bg-lightest { background-color: rgba(255, 255, 255, 0.025) !important; }

/* 浅色描边 */
[data-bs-theme="dark"] .border-light,
[data-bs-theme="dark"] .border-gray {
  border-color: #3b3c53 !important;
}

/* ============================ 补丁：其他细节 ============================ */
/* 代码块 / kbd / pre */
[data-bs-theme="dark"] code {
  color: #ff9db1;
}

[data-bs-theme="dark"] pre {
  color: var(--bs-body-color);
}

/* 分隔线与水平线 */
[data-bs-theme="dark"] hr {
  border-color: #3b3c53;
  opacity: 1;
}

/* 滚动条（Webkit）跟随深色 */
[data-bs-theme="dark"] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-track {
  background: #1d1d2b;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #43455c;
  border-radius: 6px;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #545770;
}

/* 头像/图片上的浅色描边 */
[data-bs-theme="dark"] .avatar img,
[data-bs-theme="dark"] .img-thumbnail {
  border-color: #3b3c53;
  background-color: #2b2c40;
}

/* 面包屑/空态等次要文字 */
[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: #6f7189;
}

/* Rich-text（TinyMCE）编辑器容器在深色下不要留白底 */
[data-bs-theme="dark"] .tox-tinymce {
  border-color: #3b3c53;
}

/* ==================== ⑤ 把深色「画进图片」的控件 ====================
   有两类控件的颜色不是 CSS 变量而是**烘焙在 SVG data-URI 里**的，只改颜色变量
   没有用，必须整条背景图换掉 —— 这是深色主题最容易漏的一类。 */

/* 下拉框右侧的箭头：原 SVG 描边是 rgba(67,89,113,.6)（深色），深底上看不见 */
[data-bs-theme="dark"] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28213,214,221,0.7%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* 弹窗/提示里的关闭「×」：原 SVG 是深色，深色下同样看不见 → 反相为浅色 */
[data-bs-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* 本就是给深色底用的白色叉，别再反一次 */
[data-bs-theme="dark"] .btn-close-white {
  filter: none;
}

/* 侧边菜单用的是 perfect-scrollbar，滚动条滑块原为深灰，深底上对比太低 */
[data-bs-theme="dark"] .ps__thumb-y {
  background-color: #4a4c66;
}

[data-bs-theme="dark"] .ps__rail-y:hover > .ps__thumb-y,
[data-bs-theme="dark"] .ps__rail-y:focus > .ps__thumb-y,
[data-bs-theme="dark"] .ps__rail-y.ps--clicking > .ps__thumb-y {
  background-color: #5b5e7d;
}

/* ============ ⑥ `*-theme` 类的**子元素**颜色（首轮遗漏，2026-10-01 补） ============
   只改容器底色不够：Sneat 把 `.bg-menu-theme` / `.bg-navbar-theme` / `.bg-footer-theme`
   的**子元素文字色与激活底色**也写死了（#697a8d / #566a7f / #fff），深色下会出现
   「深灰字压深底」，顶栏搜索框更是直接强制白底。 */

/* —— 页脚 —— */
[data-bs-theme="dark"] .bg-footer-theme {
  background-color: #2b2c40 !important;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .bg-footer-theme .footer-link { color: var(--bs-body-color); }
[data-bs-theme="dark"] .bg-footer-theme .footer-link:hover,
[data-bs-theme="dark"] .bg-footer-theme .footer-link:focus { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-footer-theme .footer-link.disabled { color: #6f7189 !important; }
[data-bs-theme="dark"] .bg-footer-theme .footer-text { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-footer-theme .show > .footer-link,
[data-bs-theme="dark"] .bg-footer-theme .active > .footer-link,
[data-bs-theme="dark"] .bg-footer-theme .footer-link.show,
[data-bs-theme="dark"] .bg-footer-theme .footer-link.active { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-footer-theme hr { border-color: #3b3c53; }

/* —— 顶部导航 —— */
[data-bs-theme="dark"] .bg-navbar-theme .navbar-brand,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-brand a,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-brand:hover,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-brand a:hover { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-link,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-item > .nav-link,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-text { color: var(--bs-body-color); }
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-link:hover,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-link:focus,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-item > .nav-link:hover,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav > .nav-item > .nav-link:focus { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav .show > .nav-link,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav .active > .nav-link,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav .nav-link.show,
[data-bs-theme="dark"] .bg-navbar-theme .navbar-nav .nav-link.active { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-navbar-theme .navbar-toggler { color: var(--bs-body-color); border-color: #3b3c53; }
[data-bs-theme="dark"] .bg-navbar-theme hr { border-color: #3b3c53; }

/* 顶栏搜索框原本被强制成白底，深色下最扎眼 */
[data-bs-theme="dark"] .bg-navbar-theme .search-input-wrapper .search-input,
[data-bs-theme="dark"] .bg-navbar-theme .search-input-wrapper .search-toggler {
  background-color: #2f3047 !important;
  color: var(--bs-body-color);
}

/* —— 侧边菜单 —— */
[data-bs-theme="dark"] .bg-menu-theme .menu-link,
[data-bs-theme="dark"] .bg-menu-theme .menu-horizontal-prev,
[data-bs-theme="dark"] .bg-menu-theme .menu-horizontal-next { color: var(--bs-body-color); }
[data-bs-theme="dark"] .bg-menu-theme .menu-link:hover,
[data-bs-theme="dark"] .bg-menu-theme .menu-link:focus { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-menu-theme .menu-text { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-menu-theme .menu-link.active,
[data-bs-theme="dark"] .bg-menu-theme .menu-item.open:not(.menu-item-closing) > .menu-toggle,
[data-bs-theme="dark"] .bg-menu-theme .menu-item.active > .menu-link { color: #d5d6dd; }
[data-bs-theme="dark"] .bg-menu-theme .menu-header { color: #8e90a6; }
[data-bs-theme="dark"] .bg-menu-theme .menu-header:before { background-color: #8e90a6 !important; }

/* 激活的叶子项原为整块白底 */
[data-bs-theme="dark"] .bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) {
  background-color: rgba(105, 108, 255, 0.16);
  color: #b0b1ff;
}

[data-bs-theme="dark"] .bg-menu-theme.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle),
[data-bs-theme="dark"] .bg-menu-theme.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub,
[data-bs-theme="dark"] .bg-menu-theme.menu-horizontal .menu-inner .menu-item.open > .menu-toggle {
  background: #2b2c40;
}

/* 子项小圆点：原为 #b4bdc6（`!important`），深底上偏亮，压暗一档 */
[data-bs-theme="dark"] .bg-menu-theme .menu-sub > .menu-item > .menu-link:before {
  background-color: #5b5e7d !important;
}

[data-bs-theme="dark"] .bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
  background-color: #696cff !important;
  border-color: #3b3c6e !important;
}

[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
  background-color: #a5a6ff;
}

[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before,
[data-bs-theme="dark"] .bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
  box-shadow: 0 0 0 2px #2b2c40;
}

/* 菜单滚动条：theme-default.css 里带 `!important`，这里必须同样带才盖得住 */
[data-bs-theme="dark"] .bg-menu-theme .ps__thumb-y,
[data-bs-theme="dark"] .bg-menu-theme .ps__rail-y.ps--clicking > .ps__thumb-y {
  background: rgba(255, 255, 255, 0.22) !important;
}

/* 菜单/页脚的浅色投影，深色下压一档 */
[data-bs-theme="dark"] .bg-menu-theme.menu-vertical {
  box-shadow: 0 0.125rem 0.375rem 0 rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .content-footer {
  box-shadow: 0 0 0.375rem 0.25rem rgba(0, 0, 0, 0.25);
}
