/* ============================================================
 * AppSDK 黑色简洁版皮肤 (skin-black)
 * 基于框架内置 data-theme=dark 变量体系，将深蓝灰改为中性黑灰
 * ============================================================ */

html[data-theme="dark"] {
  /* ---- 黑色简洁色板 ---- */
  --sk-bg-page: #0e0e10;        /* 页面底色 */
  --sk-black: #000000;          /* 侧边栏 / 顶栏纯黑 */
  --sk-black-2: #0b0b0d;        /* 次黑：分栏菜单 */
  --sk-panel: #161618;          /* 卡片 / 容器 */
  --sk-panel-2: #1d1d20;        /* 表头 / 弹出面板 */
  --sk-panel-3: #232327;        /* hover 面板 */
  --sk-hover: rgba(255, 255, 255, .06);
  --sk-border: #2c2c31;
  --sk-border-2: #3a3a41;
  --sk-text: #e9e9ec;
  --sk-text-2: #a8a8b0;
  --sk-text-3: #6f6f78;
  --sk-primary: #4f8cff;

  /* ---- 覆盖框架 --next 变量 ---- */
  --next-bg-main: #0e0e10;
  --next-color-white: #e9e9ec;
  --next-text-color: #e9e9ec;
  --next-color-disabled: #161618;
  --next-color-bar: #e9e9ec;
  --next-color-primary: #1d1d20;
  --next-border-color: #2c2c31;
  --next-border-black: #26262b;
  --next-border-columns: #2c2c31;
  --next-color-seting: #161618;
  --next-text-color-regular: #a8a8b0;
  --next-text-color-placeholder: #6f6f78;
  --next-color-hover: #232327;
  --next-color-hover-rgba: rgba(255, 255, 255, .06);
  --next-bg-main-color: #0e0e10 !important;
  --next-bg-color-page: #0e0e10 !important;
  --next-bg-color: #161618 !important;
  --next-bg-topBar: #000000 !important;
  --next-bg-topBarColor: #e9e9ec !important;
  --next-bg-menuBar: #000000 !important;
  --next-bg-menuBar-light-1: #0b0b0d !important;
  --next-bg-menuBarColor: #c6c6cc !important;
  --next-bg-menuBarActiveColor: rgba(255, 255, 255, .08) !important;
  --next-bg-columnsMenuBar: #0b0b0d !important;
  --next-bg-columnsMenuBarColor: #c6c6cc !important;
  --next-border-color-light: #26262b !important;
  --next-color-primary-lighter: #1d1d20 !important;
  --next-color-success-lighter: #1d1d20 !important;
  --next-color-warning-lighter: #1d1d20 !important;
  --next-color-danger-lighter: #1d1d20 !important;
  --next-color-dark-hover: #232327 !important;
  --next-color-menu-hover: rgba(255, 255, 255, .06) !important;
  --next-color-user-hover: rgba(255, 255, 255, .06) !important;
  --next-color-seting-main: #161618 !important;
  --next-color-seting-aside: #1d1d20 !important;
  --next-color-seting-header: #1d1d20 !important;

  /* ---- Element Plus 变量 ---- */
  --el-color-primary: #4f8cff;
  --el-color-primary-rgb: 79, 140, 255;
  --el-color-primary-light-3: #74a6ff;
  --el-color-primary-light-5: #97beff;
  --el-color-primary-light-7: #bdd5ff;
  --el-color-primary-light-8: #d3e3ff;
  --el-color-primary-light-9: #1b2738;
  --el-color-primary-dark-2: #3d76dc;
  --el-color-white: #161618;
  --el-color-black: #000000;
  --el-bg-color: #161618;
  --el-bg-color-page: #0e0e10;
  --el-bg-color-overlay: #1d1d20;
  --el-text-color-primary: #e9e9ec;
  --el-text-color-regular: #a8a8b0;
  --el-text-color-secondary: #8a8a92;
  --el-text-color-placeholder: #6f6f78;
  --el-text-color-disabled: #56565d;
  --el-border-color: #2c2c31;
  --el-border-color-light: #2c2c31;
  --el-border-color-lighter: #28282d;
  --el-border-color-extra-light: #232327;
  --el-border-color-dark: #3a3a41;
  --el-fill-color: #202024;
  --el-fill-color-light: #1c1c20;
  --el-fill-color-lighter: #1a1a1e;
  --el-fill-color-extra-light: #18181b;
  --el-fill-color-blank: #161618;
  --el-fill-color-dark: #26262b;
  --el-disabled-bg-color: #1d1d20;
  --el-disabled-text-color: #56565d;
  --el-disabled-border-color: #2a2a2e;
  --el-mask-color: rgba(0, 0, 0, .72);
  --el-mask-color-extra-light: rgba(0, 0, 0, .45);
  --el-menu-bg-color: #000000;
  --el-menu-hover-bg-color: rgba(255, 255, 255, .06);
  --el-menu-active-color: #ffffff;
  --el-menu-text-color: #c6c6cc;
  --el-menu-hover-text-color: #ffffff;
  --el-menu-border-color: #1d1d20;
  --el-box-shadow: 0 12px 32px rgba(0, 0, 0, .55);
  --el-box-shadow-light: 0 6px 20px rgba(0, 0, 0, .45);
  --el-box-shadow-lighter: 0 4px 14px rgba(0, 0, 0, .4);
  --el-box-shadow-dark: 0 16px 48px rgba(0, 0, 0, .65);
}

/* ---- 全局基础 ---- */
html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] #app {
  background-color: #0e0e10 !important;
  color: #e9e9ec;
}
html[data-theme="dark"] body {
  color-scheme: dark;
}
html[data-theme="dark"] ::selection {
  background: rgba(79, 140, 255, .32);
  color: #fff;
}
/* 滚动条 */
html[data-theme="dark"] ::-webkit-scrollbar,
html[data-theme="dark"] .el-scrollbar__bar {
  width: 8px;
  height: 8px;
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background-color: #3a3a41 !important;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background-color: #4a4a52 !important;
  background-clip: content-box;
}
html[data-theme="dark"] ::-webkit-scrollbar-track {
  background-color: transparent;
}

/* ============================================================
 * 主布局
 * ============================================================ */
html[data-theme="dark"] .layout-container {
  background: #0e0e10;
}
/* 侧边栏 */
html[data-theme="dark"] .layout-container .layout-aside,
html[data-theme="dark"] .layout-container .el-aside {
  background: #000 !important;
  border-right: 1px solid #1d1d20;
  box-shadow: none !important;
}
html[data-theme="dark"] .layout-container .layout-columns-aside {
  background: #0b0b0d !important;
  border-right: 1px solid #1d1d20;
}
/* 顶栏整体 */
html[data-theme="dark"] .layout-header,
html[data-theme="dark"] .layout-navbars-container,
html[data-theme="dark"] .layout-navbars-breadcrumb {
  background: #000 !important;
  border-bottom: 1px solid #1d1d20;
  box-shadow: none !important;
}
html[data-theme="dark"] .layout-navbars-tagsview {
  background: #0b0b0d !important;
  border-bottom: 1px solid #1d1d20;
  box-shadow: none !important;
}
html[data-theme="dark"] .layout-navbars-tagsview-shadow {
  box-shadow: 0 6px 12px -10px rgba(0, 0, 0, .8) !important;
}
/* 内容区 */
html[data-theme="dark"] .layout-main,
html[data-theme="dark"] .layout-main-scroll,
html[data-theme="dark"] .layout-parent,
html[data-theme="dark"] .layout-padding,
html[data-theme="dark"] .layout-padding-auto,
html[data-theme="dark"] .layout-padding-view,
html[data-theme="dark"] .layout-container-view {
  background: #0e0e10;
}
/* logo 区 */
html[data-theme="dark"] .layout-logo {
  background: #000;
  border-bottom: 1px solid #161618;
}

/* ---- 侧边菜单 ---- */
html[data-theme="dark"] .el-menu {
  background-color: #000 !important;
  border-right-color: #1d1d20 !important;
}
html[data-theme="dark"] .el-menu .el-menu-item,
html[data-theme="dark"] .el-menu .el-sub-menu__title {
  color: #c6c6cc !important;
  background-color: transparent !important;
}
html[data-theme="dark"] .el-menu .el-menu-item:hover,
html[data-theme="dark"] .el-menu .el-sub-menu__title:hover {
  background-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}
html[data-theme="dark"] .el-menu .el-menu-item.is-active {
  color: #fff !important;
  background-color: rgba(79, 140, 255, .18) !important;
  border-right: 3px solid #4f8cff;
  font-weight: 600;
}
html[data-theme="dark"] .el-menu .el-menu-item.is-active .menu-icon,
html[data-theme="dark"] .el-menu .el-menu-item.is-active [class*="icon"] {
  color: #4f8cff !important;
}
html[data-theme="dark"] .el-menu--collapse .el-menu .el-sub-menu {
  background-color: #000;
}
/* 弹出子菜单（teleport 到 body） */
html[data-theme="dark"] .el-menu--popup {
  background-color: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
}
html[data-theme="dark"] .el-menu--popup .el-menu-item {
  color: #c6c6cc !important;
}
html[data-theme="dark"] .el-menu--popup .el-menu-item:hover {
  background-color: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

/* ---- 标签页 tags-view ---- */
html[data-theme="dark"] .layout-navbars-tagsview-ul li,
html[data-theme="dark"] .layout-navbars-tagsview-ul .tags-view-item {
  background: #161618 !important;
  border-color: #2c2c31 !important;
  color: #a8a8b0 !important;
}
html[data-theme="dark"] .layout-navbars-tagsview-ul li:hover {
  background: #232327 !important;
  color: #fff !important;
}
html[data-theme="dark"] .layout-navbars-tagsview-ul li.is-active {
  background: #1b2738 !important;
  border-color: #2f5a99 !important;
  color: #7db0ff !important;
}

/* ============================================================
 * Element Plus 通用组件
 * ============================================================ */

/* 卡片 */
html[data-theme="dark"] .el-card {
  background-color: #161618 !important;
  border-color: #2c2c31 !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-card__header {
  border-bottom-color: #26262b !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-card__footer {
  border-top-color: #26262b !important;
}

/* 表格 */
html[data-theme="dark"] .el-table,
html[data-theme="dark"] .el-table tr,
html[data-theme="dark"] .el-table td.el-table__cell,
html[data-theme="dark"] .el-table th.el-table__cell.is-leaf {
  background-color: #161618 !important;
  color: #e9e9ec !important;
  border-bottom-color: #26262b !important;
}
html[data-theme="dark"] .el-table th.el-table__cell {
  background-color: #1d1d20 !important;
  color: #e9e9ec !important;
  border-bottom-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-table--border,
html[data-theme="dark"] .el-table--border .el-table__cell {
  border-color: #26262b !important;
}
html[data-theme="dark"] .el-table--border .el-table__inner-wrapper::before,
html[data-theme="dark"] .el-table__border-left-patch {
  background-color: #26262b !important;
}
html[data-theme="dark"] .el-table__body tr:hover > td.el-table__cell,
html[data-theme="dark"] .el-table__body tr.hover-row > td.el-table__cell {
  background-color: #1f1f23 !important;
}
html[data-theme="dark"] .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
  background-color: #19191c !important;
}
html[data-theme="dark"] .el-table__expand-icon,
html[data-theme="dark"] .el-table__sort-icon,
html[data-theme="dark"] .el-table__filter-icon {
  color: #6f6f78;
}
html[data-theme="dark"] .el-table__empty-block {
  background-color: #161618;
}
html[data-theme="dark"] .el-table__fixed::before,
html[data-theme="dark"] .el-table__fixed-right::before {
  background-color: transparent;
}
/* 表格内的浅色背景（统计列、标签等） */
html[data-theme="dark"] .el-table .el-input__wrapper {
  background-color: #1d1d20;
}

/* 输入框 / 文本域 */
html[data-theme="dark"] .el-input__wrapper,
html[data-theme="dark"] .el-textarea__inner,
html[data-theme="dark"] .el-input-number {
  background-color: #1d1d20 !important;
  box-shadow: 0 0 0 1px #2c2c31 inset !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-input__wrapper:hover,
html[data-theme="dark"] .el-textarea__inner:hover {
  box-shadow: 0 0 0 1px #4a4a52 inset !important;
}
html[data-theme="dark"] .el-input__wrapper.is-focus,
html[data-theme="dark"] .el-textarea__inner:focus,
html[data-theme="dark"] .el-input__wrapper.is-focus:hover {
  box-shadow: 0 0 0 1px #4f8cff inset !important;
}
html[data-theme="dark"] .el-input__inner,
html[data-theme="dark"] .el-textarea__inner,
html[data-theme="dark"] .el-input__inner::placeholder {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-input__inner::placeholder,
html[data-theme="dark"] .el-textarea__inner::placeholder {
  color: #6f6f78 !important;
}
html[data-theme="dark"] .el-input.is-disabled .el-input__wrapper,
html[data-theme="dark"] .el-textarea.is-disabled .el-textarea__inner,
html[data-theme="dark"] .el-input-number.is-disabled .el-input__wrapper {
  background-color: #18181b !important;
  box-shadow: 0 0 0 1px #232327 inset !important;
}
html[data-theme="dark"] .el-input-group__append,
html[data-theme="dark"] .el-input-group__prepend {
  background-color: #1d1d20 !important;
  color: #a8a8b0 !important;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-input__suffix-inner,
html[data-theme="dark"] .el-input__prefix-inner {
  color: #6f6f78;
}

/* 按钮 */
html[data-theme="dark"] .el-button {
  --el-button-bg-color: #1d1d20;
  --el-button-border-color: #3a3a41;
  --el-button-hover-bg-color: #252529;
  --el-button-hover-border-color: #4f8cff;
  --el-button-hover-text-color: #4f8cff;
  --el-button-active-bg-color: #232327;
  --el-button-active-border-color: #3d76dc;
  --el-button-active-text-color: #4f8cff;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-button--primary {
  --el-button-bg-color: #4f8cff;
  --el-button-border-color: #4f8cff;
  --el-button-text-color: #fff;
  --el-button-hover-bg-color: #6b9fff;
  --el-button-hover-border-color: #6b9fff;
  --el-button-hover-text-color: #fff;
  --el-button-active-bg-color: #3d76dc;
  --el-button-active-border-color: #3d76dc;
}
html[data-theme="dark"] .el-button.is-text,
html[data-theme="dark"] .el-button.is-link {
  --el-button-bg-color: transparent !important;
  --el-button-border-color: transparent !important;
  --el-button-hover-bg-color: rgba(255, 255, 255, .06) !important;
  --el-button-hover-border-color: transparent !important;
  --el-button-active-bg-color: rgba(255, 255, 255, .1) !important;
  --el-button-active-border-color: transparent !important;
  background: transparent !important;
  border-color: transparent !important;
  height: auto;
  padding: 2px 4px;
}
html[data-theme="dark"] .el-button.is-link {
  --el-button-hover-bg-color: transparent !important;
}
html[data-theme="dark"] .el-button.is-link.el-button--primary {
  color: #4f8cff;
  --el-button-hover-text-color: #74a6ff;
}
html[data-theme="dark"] .el-button.is-link.el-button--danger {
  color: #f57a7a;
  --el-button-hover-text-color: #ff9898;
}
html[data-theme="dark"] .el-button--info {
  --el-button-bg-color: #2a2a2e;
  --el-button-border-color: #3a3a41;
  --el-button-text-color: #e9e9ec;
  --el-button-hover-bg-color: #3a3a41;
  --el-button-hover-border-color: #4a4a52;
  --el-button-hover-text-color: #fff;
}

/* 表单 */
html[data-theme="dark"] .el-form-item__label,
html[data-theme="dark"] .el-form-item__label .el-form-item__asterisk {
  color: #c6c6cc;
}
html[data-theme="dark"] .el-form-item__error {
  color: #f56c6c;
}
html[data-theme="dark"] .el-form-item__content {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-divider {
  --el-border-color: #2c2c31;
}
html[data-theme="dark"] .el-divider__text {
  background-color: #161618;
  color: #a8a8b0;
}

/* 选择器 / 下拉 / 联想 */
html[data-theme="dark"] .el-select__wrapper,
html[data-theme="dark"] .el-select__popper .el-select-dropdown,
html[data-theme="dark"] .el-select-dropdown,
html[data-theme="dark"] .el-dropdown,
html[data-theme="dark"] .el-cascader__dropdown,
html[data-theme="dark"] .el-color-picker__panel,
html[data-theme="dark"] .el-color-picker__trigger {
  background-color: #1d1d20 !important;
}
html[data-theme="dark"] .el-select__wrapper {
  box-shadow: 0 0 0 1px #2c2c31 inset !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-select__wrapper.is-focused {
  box-shadow: 0 0 0 1px #4f8cff inset !important;
}
html[data-theme="dark"] .el-select__wrapper.is-hovering {
  box-shadow: 0 0 0 1px #4a4a52 inset !important;
}
html[data-theme="dark"] .el-select-dropdown {
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-select-dropdown__item {
  color: #c6c6cc !important;
}
html[data-theme="dark"] .el-select-dropdown__item.is-hovering,
html[data-theme="dark"] .el-select-dropdown__item:hover {
  background-color: #232327 !important;
  color: #fff !important;
}
html[data-theme="dark"] .el-select-dropdown__item.is-selected,
html[data-theme="dark"] .el-select-dropdown__item.selected {
  color: #4f8cff !important;
  font-weight: 600;
}
html[data-theme="dark"] .el-select-dropdown__empty,
html[data-theme="dark"] .el-select-dropdown__header {
  color: #6f6f78;
}
html[data-theme="dark"] .el-select-dropdown__tags .el-tag {
  background-color: #232327;
  border-color: #3a3a41;
  color: #e9e9ec;
}

/* 弹层通用（popper / dropdown / tooltip / popover） */
html[data-theme="dark"] .el-popper,
html[data-theme="dark"] .el-dropdown__popper,
html[data-theme="dark"] .el-cascader__dropdown,
html[data-theme="dark"] .el-autocomplete-suggestion,
html[data-theme="dark"] .el-picker-panel,
html[data-theme="dark"] .el-date-editor,
html[data-theme="dark"] .el-time-panel {
  background-color: #1d1d20 !important;
  border-color: #2c2c31 !important;
  color: #e9e9ec !important;
}
html[data-theme="dark"] .el-popper.is-light {
  background: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
}
html[data-theme="dark"] .el-popper.is-light .el-popper__arrow::before {
  background: #1d1d20 !important;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-popper.is-dark,
html[data-theme="dark"] .el-popper.is-dark .el-popper__arrow::before {
  background: #000 !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-dropdown-menu {
  background: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
  padding: 6px;
}
html[data-theme="dark"] .el-dropdown-menu__item {
  color: #c6c6cc !important;
  border-radius: 6px;
}
html[data-theme="dark"] .el-dropdown-menu__item:not(.is-disabled):hover,
html[data-theme="dark"] .el-dropdown-menu__item:focus {
  background-color: #232327 !important;
  color: #fff !important;
}
html[data-theme="dark"] .el-dropdown-menu__item--divided {
  border-top-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-popover.el-popper {
  background: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
  color: #e9e9ec !important;
  padding: 14px;
}
html[data-theme="dark"] .el-popover.el-popper .el-popper__arrow::before {
  background: #1d1d20 !important;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-popover__title {
  color: #e9e9ec;
}

/* 对话框 / 抽屉 */
html[data-theme="dark"] .el-dialog,
html[data-theme="dark"] .el-drawer {
  background: #161618 !important;
  border: 1px solid #2c2c31;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .7) !important;
}
html[data-theme="dark"] .el-dialog {
  border-radius: 12px;
}
html[data-theme="dark"] .el-dialog__header,
html[data-theme="dark"] .el-drawer__header {
  color: #e9e9ec;
  border-bottom: 1px solid #232327;
  padding-bottom: 14px;
}
html[data-theme="dark"] .el-dialog__title,
html[data-theme="dark"] .el-drawer__title {
  color: #fff !important;
}
html[data-theme="dark"] .el-dialog__body,
html[data-theme="dark"] .el-drawer__body {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-dialog__footer,
html[data-theme="dark"] .el-drawer__footer {
  border-top: 1px solid #232327;
}
html[data-theme="dark"] .el-dialog__headerbtn .el-dialog__close,
html[data-theme="dark"] .el-drawer__close-btn,
html[data-theme="dark"] .el-drawer__close-btn .el-icon {
  color: #8a8a92;
}
html[data-theme="dark"] .el-dialog__headerbtn:hover .el-dialog__close,
html[data-theme="dark"] .el-drawer__close-btn:hover {
  color: #fff;
}
html[data-theme="dark"] .el-drawer {
  border-right: 1px solid #2c2c31;
}

/* 标签 tag / 徽章 */
html[data-theme="dark"] .el-tag {
  border-color: #3a3a41;
  background-color: #232327;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-tag--info {
  background-color: #1d1d20;
  border-color: #3a3a41;
  color: #c6c6cc;
}
html[data-theme="dark"] .el-tag .el-tag__close {
  color: #a8a8b0;
}
html[data-theme="dark"] .el-tag .el-tag__close:hover {
  background-color: #3a3a41;
  color: #fff;
}
html[data-theme="dark"] .el-badge__content {
  border-color: #161618;
}

/* 选项卡 tabs */
html[data-theme="dark"] .el-tabs__item {
  color: #a8a8b0;
}
html[data-theme="dark"] .el-tabs__item.is-active,
html[data-theme="dark"] .el-tabs__item:hover {
  color: #4f8cff;
}
html[data-theme="dark"] .el-tabs__nav-wrap::after,
html[data-theme="dark"] .el-tabs__header.is-bottom .el-tabs__nav-wrap::after,
html[data-theme="dark"] .el-tabs__active-bar {
  background-color: #2c2c31;
}
html[data-theme="dark"] .el-tabs__active-bar {
  background-color: #4f8cff !important;
}
html[data-theme="dark"] .el-tabs__content {
  color: #e9e9ec;
}

/* 分页 */
html[data-theme="dark"] .el-pagination {
  color: #a8a8b0;
}
html[data-theme="dark"] .el-pagination button,
html[data-theme="dark"] .el-pagination .el-pager li {
  background-color: #1d1d20 !important;
  color: #c6c6cc !important;
  border: 1px solid #2c2c31;
}
html[data-theme="dark"] .el-pagination button:hover,
html[data-theme="dark"] .el-pagination .el-pager li:hover {
  color: #4f8cff !important;
  border-color: #4f8cff;
}
html[data-theme="dark"] .el-pagination .el-pager li.is-active {
  background-color: #4f8cff !important;
  border-color: #4f8cff !important;
  color: #fff !important;
}
html[data-theme="dark"] .el-pagination .el-pagination__total,
html[data-theme="dark"] .el-pagination .el-pagination__jump {
  color: #a8a8b0;
}
html[data-theme="dark"] .el-pagination .el-input__wrapper {
  background-color: #1d1d20;
}

/* 单选 / 多选 / 开关 / 滑块 */
html[data-theme="dark"] .el-radio,
html[data-theme="dark"] .el-checkbox,
html[data-theme="dark"] .el-radio__label,
html[data-theme="dark"] .el-checkbox__label {
  color: #c6c6cc;
}
html[data-theme="dark"] .el-radio__input.is-checked .el-radio__inner,
html[data-theme="dark"] .el-radio__input.is-checked + .el-radio__label {
  border-color: #4f8cff;
  background-color: #4f8cff;
  color: #4f8cff;
}
html[data-theme="dark"] .el-checkbox__input.is-checked .el-checkbox__inner {
  background-color: #4f8cff;
  border-color: #4f8cff;
}
html[data-theme="dark"] .el-radio__inner,
html[data-theme="dark"] .el-checkbox__inner {
  background-color: #1d1d20;
  border-color: #3a3a41;
}
html[data-theme="dark"] .el-switch.is-checked .el-switch__core {
  background-color: #4f8cff !important;
  border-color: #4f8cff !important;
}
html[data-theme="dark"] .el-switch__core {
  background-color: #3a3a41 !important;
  border-color: #3a3a41 !important;
}

/* 日期 / 时间面板 */
html[data-theme="dark"] .el-picker-panel,
html[data-theme="dark"] .el-time-panel {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-picker-panel__content,
html[data-theme="dark"] .el-date-picker,
html[data-theme="dark"] .el-date-range-picker {
  background-color: #1d1d20;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-date-table th,
html[data-theme="dark"] .el-date-picker__header-label,
html[data-theme="dark"] .el-picker-panel__icon-btn {
  color: #a8a8b0 !important;
}
html[data-theme="dark"] .el-date-table td .el-date-table-cell__text {
  color: #c6c6cc;
}
html[data-theme="dark"] .el-date-table td.today .el-date-table-cell__text {
  color: #4f8cff;
  font-weight: 700;
}
html[data-theme="dark"] .el-date-table td.current:not(.disabled) .el-date-table-cell__text,
html[data-theme="dark"] .el-date-table td.start-date .el-date-table-cell__text,
html[data-theme="dark"] .el-date-table td.end-date .el-date-table-cell__text {
  background-color: #4f8cff !important;
  color: #fff !important;
}
html[data-theme="dark"] .el-date-table td.in-range .el-date-table-cell {
  background-color: rgba(79, 140, 255, .15) !important;
}
html[data-theme="dark"] .el-picker-panel__footer,
html[data-theme="dark"] .el-picker-panel__sidebar {
  background-color: #18181b;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-time-spinner__item:hover {
  background-color: #232327;
}
html[data-theme="dark"] .el-time-spinner__item.active {
  color: #4f8cff;
}

/* 面包屑 */
html[data-theme="dark"] .el-breadcrumb__inner {
  color: #a8a8b0 !important;
}
html[data-theme="dark"] .el-breadcrumb__item:last-child .el-breadcrumb__inner {
  color: #e9e9ec !important;
}
html[data-theme="dark"] .el-breadcrumb__separator {
  color: #56565d;
}

/* 描述列表 / 统计数值 */
html[data-theme="dark"] .el-descriptions {
  --el-descriptions-item-bordered-label-background: #1d1d20;
}
html[data-theme="dark"] .el-descriptions__label,
html[data-theme="dark"] .el-descriptions__cell {
  color: #c6c6cc;
  border-color: #26262b !important;
}
html[data-theme="dark"] .el-descriptions__body {
  background-color: transparent;
}

/* 折叠面板 */
html[data-theme="dark"] .el-collapse,
html[data-theme="dark"] .el-collapse-item__header,
html[data-theme="dark"] .el-collapse-item__wrap {
  border-color: #2c2c31 !important;
  background: #161618;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-collapse-item__header {
  background-color: #161618;
}
html[data-theme="dark"] .el-collapse-item__wrap {
  background-color: #161618;
}

/* 树 */
html[data-theme="dark"] .el-tree {
  background-color: transparent;
  color: #c6c6cc;
}
html[data-theme="dark"] .el-tree-node__content:hover {
  background-color: rgba(255, 255, 255, .06);
}
html[data-theme="dark"] .el-tree-node.is-current > .el-tree-node__content {
  background-color: rgba(79, 140, 255, .15);
}

/* 警告提示 */
html[data-theme="dark"] .el-alert {
  --el-alert-bg-color: #1d1d20;
  --el-alert-padding: 8px 16px;
}
html[data-theme="dark"] .el-alert--info {
  background: #1d1d20;
  border: 1px solid #2c2c31;
}
html[data-theme="dark"] .el-alert__title {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-alert__description {
  color: #a8a8b0;
}

/* 空状态 / 加载 */
html[data-theme="dark"] .el-empty__description p,
html[data-theme="dark"] .el-empty__description {
  color: #6f6f78;
}

/* 进度条 */
html[data-theme="dark"] .el-progress-bar__outer {
  background-color: #232327;
}

/* 消息提示（body 下） */
html[data-theme="dark"] .el-message,
.el-message {
  background-color: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
  color: #e9e9ec !important;
}
html[data-theme="dark"] .el-message__content,
.el-message .el-message__content {
  color: #e9e9ec !important;
}
html[data-theme="dark"] .el-notification,
.el-notification {
  background-color: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
}
html[data-theme="dark"] .el-notification__title,
html[data-theme="dark"] .el-notification__content {
  color: #e9e9ec !important;
}
html[data-theme="dark"] .el-message-box,
.el-message-box {
  background-color: #1d1d20 !important;
  border: 1px solid #2c2c31 !important;
  border-radius: 12px;
}
html[data-theme="dark"] .el-message-box__title,
html[data-theme="dark"] .el-message-box__content,
html[data-theme="dark"] .el-message-box__message p {
  color: #e9e9ec !important;
}

/* 上传 */
html[data-theme="dark"] .el-upload-dragger,
html[data-theme="dark"] .el-upload-list__item {
  background-color: #1d1d20;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .el-upload-list__item {
  background-color: #161618;
}

/* 滑块/穿梭框 */
html[data-theme="dark"] .el-transfer-panel {
  background-color: #161618;
  border-color: #2c2c31;
}
html[data-theme="dark"] .el-transfer-panel__body {
  background-color: #161618;
}
html[data-theme="dark"] .el-transfer-panel__header {
  background-color: #1d1d20;
  border-bottom-color: #2c2c31;
}

/* 颜色选择器 */
html[data-theme="dark"] .el-color-picker__panel {
  background-color: #1d1d20 !important;
}

/* 骨架屏 */
html[data-theme="dark"] .el-skeleton__item {
  background: #232327;
}

/* 卡片化容器（统计/首页常用） */
html[data-theme="dark"] .box-card,
html[data-theme="dark"] .boxPadding,
html[data-theme="dark"] .layout-padding .el-card {
  background-color: #161618;
}

/* 全局搜索弹窗 */
html[data-theme="dark"] .layout-search-dialog .el-dialog,
html[data-theme="dark"] .layout-search-dialog .el-dialog__body {
  background-color: #1d1d20 !important;
}
html[data-theme="dark"] .layout-search-dialog .el-input__wrapper {
  background-color: #161618 !important;
}

/* 回到顶部 */
html[data-theme="dark"] .layout-backtop {
  background-color: #1d1d20 !important;
  border: 1px solid #2c2c31;
  color: #c6c6cc !important;
}
html[data-theme="dark"] .layout-backtop:hover {
  background-color: #232327 !important;
  color: #fff !important;
}

/* ============================================================
 * 登录页
 * ============================================================ */
html[data-theme="dark"] .login-page {
  background: #000;
  font-family: PingFang SC, Microsoft YaHei, Noto Sans SC, sans-serif;
}
html[data-theme="dark"] .login-page__veil {
  background:
    radial-gradient(circle at 50% 30%, rgba(79, 140, 255, .08) 0, rgba(255, 255, 255, .02) 32%, transparent 60%),
    linear-gradient(180deg, #050506 0%, #0e0e10 100%) !important;
}
html[data-theme="dark"] .login-panel {
  border: 1px solid #26262b !important;
  background: #101012 !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .75), inset 0 1px rgba(255, 255, 255, .04) !important;
}
/* 左侧品牌区：纯黑简洁 */
html[data-theme="dark"] .login-panel__brand {
  background: linear-gradient(160deg, #000 0%, #14141a 100%) !important;
  color: #fff !important;
}
html[data-theme="dark"] .login-panel__brand::before {
  border-color: rgba(255, 255, 255, .07) !important;
}
html[data-theme="dark"] .login-panel__brand::after {
  border-color: rgba(255, 255, 255, .05) !important;
}
html[data-theme="dark"] .brand-copy__badge {
  color: #7a8796 !important;
}
html[data-theme="dark"] .brand-copy__name {
  color: #fff !important;
}
html[data-theme="dark"] .brand-mark {
  background: #1d1d20 !important;
  border-color: rgba(255, 255, 255, .08) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .45) !important;
}
html[data-theme="dark"] .login-panel__intro h1 {
  color: #fff !important;
}
html[data-theme="dark"] .login-panel__intro p {
  color: #8a929c !important;
}
/* 右侧认证区 */
html[data-theme="dark"] .login-panel__auth {
  background: #101012;
}
html[data-theme="dark"] .login-panel__auth-heading > span {
  color: #4f8cff !important;
}
html[data-theme="dark"] .login-panel__auth-heading h2 {
  color: #f0f0f2 !important;
}
html[data-theme="dark"] .login-panel__auth-heading p {
  color: #8a8a92 !important;
}
html[data-theme="dark"] .login-panel__mode-switch {
  color: #4f8cff !important;
}
html[data-theme="dark"] .login-panel__notice {
  color: #6f6f78 !important;
}
html[data-theme="dark"] .login-panel__notice svg {
  stroke: #6f6f78 !important;
}
/* 登录方式卡片 */
html[data-theme="dark"] .identity-option {
  border: 1px solid #2c2c31 !important;
  background: #161618 !important;
  color: #e9e9ec !important;
}
html[data-theme="dark"] .identity-option:hover {
  border-color: rgba(79, 140, 255, .55) !important;
  background: #1b2738 !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .5) !important;
}
html[data-theme="dark"] .identity-option--dingtalk:hover {
  border-color: rgba(63, 146, 239, .55) !important;
  background: rgba(28, 58, 94, .55) !important;
}
html[data-theme="dark"] .identity-option--wechat:hover {
  border-color: rgba(55, 194, 105, .5) !important;
  background: rgba(25, 67, 49, .5) !important;
}
html[data-theme="dark"] .identity-option__icon--dingtalk {
  background: rgba(44, 136, 232, .16) !important;
}
html[data-theme="dark"] .identity-option__icon--wechat {
  background: rgba(34, 181, 83, .16) !important;
}
html[data-theme="dark"] .identity-option__copy small {
  color: #8a8a92 !important;
}
html[data-theme="dark"] .identity-option__arrow {
  stroke: #6f6f78 !important;
}
/* 登录页右上角控制按钮 */
html[data-theme="dark"] .login-page__control .el-button,
html[data-theme="dark"] .login-page__control button {
  background: #161618 !important;
  border-color: #2c2c31 !important;
  color: #c6c6cc !important;
}
html[data-theme="dark"] .login-page__control .el-button:hover,
html[data-theme="dark"] .login-page__control button:hover {
  background: #232327 !important;
  color: #fff !important;
}

/* 账号密码 / 租户表单（登录切换到表单时） */
html[data-theme="dark"] .login-panel__tenant .el-input__wrapper {
  background-color: #1d1d20 !important;
}

/* ============================================================
 * 兜底：浅色硬编码背景（按需页面 chunk）
 * ============================================================ */
html[data-theme="dark"] .el-card,
html[data-theme="dark"] .el-descriptions,
html[data-theme="dark"] .el-collapse,
html[data-theme="dark"] .el-statistic,
html[data-theme="dark"] .el-result,
html[data-theme="dark"] .el-calendar {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-calendar {
  background-color: #161618;
}
html[data-theme="dark"] .el-calendar__header {
  background-color: #161618;
  border-bottom-color: #2c2c31;
  color: #e9e9ec;
}
html[data-theme="dark"] .el-calendar-table .el-calendar-day {
  background-color: #161618;
}
html[data-theme="dark"] .el-calendar-table td.is-selected .el-calendar-day {
  background-color: rgba(79, 140, 255, .2);
}
html[data-theme="dark"] .el-step__title,
html[data-theme="dark"] .el-step__description {
  color: #a8a8b0;
}
html[data-theme="dark"] .el-step__title.is-process,
html[data-theme="dark"] .el-step__title.is-finish {
  color: #e9e9ec;
}
html[data-theme="dark"] .el-segmented {
  background-color: #1d1d20;
  border: 1px solid #2c2c31;
}
html[data-theme="dark"] .el-segmented__item.is-selected {
  background-color: #2c2c31;
}
html[data-theme="dark"] .el-segmented__item-label {
  color: #c6c6cc;
}
html[data-theme="dark"] .el-segmented__item.is-selected .el-segmented__item-label {
  color: #fff;
}

/* ============================================================
 * 业务页面 / 框架自定义类（硬编码浅色背景的类）
 * ============================================================ */

/* Tailwind 白色工具类（.bg-white/90 等） */
html[data-theme="dark"] .bg-white\/10,
html[data-theme="dark"] .bg-white\/80,
html[data-theme="dark"] .bg-white\/90,
html[data-theme="dark"] .bg-white\/95,
html[data-theme="dark"] .bg-white {
  background-color: #161618 !important;
}
html[data-theme="dark"] .hover\:bg-white\/20:hover,
html[data-theme="dark"] .dark\:hover\:bg-white\/\[0\.06\]:hover,
html[data-theme="dark"] .bg-white\/10 {
  background-color: rgba(255, 255, 255, .06) !important;
}

/* 报表 / 数据页面卡片（data-v 变体，用属性选择器统一） */
html[data-theme="dark"] [class*="report-table-card"],
html[data-theme="dark"] [class*="report-filter-card"],
html[data-theme="dark"] [class*="report-summary-card"],
html[data-theme="dark"] [class*="report-chart-card"] {
  background-color: #161618 !important;
  border-color: #2c2c31 !important;
  color: #e9e9ec !important;
}
html[data-theme="dark"] [class*="mediation-tabs"] .el-tabs__header {
  background-color: #161618 !important;
}
html[data-theme="dark"] [class*="date-presets"] .el-button {
  background-color: #1d1d20 !important;
  border-color: #2c2c31 !important;
  color: #c6c6cc !important;
}
html[data-theme="dark"] [class*="date-presets"] .el-button:hover,
html[data-theme="dark"] [class*="date-presets"] .el-button.is-active {
  background-color: rgba(79, 140, 255, .15) !important;
  border-color: #4f8cff !important;
  color: #7db0ff !important;
}
/* 导入文件 chip / 上传提示 */
html[data-theme="dark"] [class*="import-file-chip"] {
  background-color: #2a2418 !important;
  border-color: #5a4a28 !important;
  color: #e0b870 !important;
}
html[data-theme="dark"] .upload-tip {
  background-color: #1d1d20 !important;
  color: #a8a8b0 !important;
}
/* 投放抽屉 */
html[data-theme="dark"] .putin-api-drawer,
html[data-theme="dark"] .customize-overlay {
  background-color: #161618 !important;
  color: #e9e9ec;
}
html[data-theme="dark"] .customize-overlay label {
  color: #c6c6cc !important;
}

/* 登录页表单输入框 / 社交按钮 */
html[data-theme="dark"] .login-input .el-input__wrapper {
  background-color: rgba(255, 255, 255, .05) !important;
  box-shadow: 0 0 0 1px #2c2c31 inset !important;
}
html[data-theme="dark"] .login-input .el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px #4f8cff inset !important;
}
html[data-theme="dark"] .social-btn {
  background-color: #1d1d20 !important;
  border-color: #2c2c31 !important;
  color: #c6c6cc !important;
}
html[data-theme="dark"] .social-btn:hover {
  background-color: #232327 !important;
  color: #fff !important;
}

/* 组织树 / 右键菜单 */
html[data-theme="dark"] .zm-tree-org,
html[data-theme="dark"] .zm-tree-contextmenu,
html[data-theme="dark"] .tree-org-node__expand,
html[data-theme="dark"] .zm-tree-handle .zm-tree-handle-item {
  background-color: #1d1d20 !important;
  color: #c6c6cc !important;
  border-color: #2c2c31 !important;
}
html[data-theme="dark"] .zm-tree-contextmenu {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .6) !important;
}
html[data-theme="dark"] .zm-tree-handle .zm-tree-handle-item:hover {
  background-color: #232327 !important;
}

/* 分栏分割条 */
html[data-theme="dark"] .splitpanes.default-theme .splitpanes__splitter {
  background-color: #1d1d20 !important;
  border-color: #2c2c31 !important;
}

/* 旧版布局：回到顶部 / 内嵌 tabs */
html[data-theme="dark"] .t_layout_page .back_to_top {
  background-color: #1d1d20 !important;
  color: #c6c6cc !important;
  border: 1px solid #2c2c31;
}
html[data-theme="dark"] .t_layout_page .back_to_top:hover {
  background-color: #232327 !important;
  color: #fff !important;
}
html[data-theme="dark"] .t_tabs .tabs .el-tabs .el-tabs__header {
  background-color: #161618 !important;
}

/* ============================================================
 * 通用兜底：内容区常见硬编码深色文字（黑底下提亮）
 * 仅作用于框架内容容器，不影响需要保留品牌色的图标/按钮
 * ============================================================ */
html[data-theme="dark"] .layout-parent,
html[data-theme="dark"] .layout-padding,
html[data-theme="dark"] .el-drawer,
html[data-theme="dark"] .el-dialog {
  --el-text-color-primary: #e9e9ec;
}
html[data-theme="dark"] .layout-parent .el-card,
html[data-theme="dark"] .layout-padding .el-card {
  color: #e9e9ec;
}

/* 文本级浅色（浅灰描边在黑底下统一为深色边框） */
html[data-theme="dark"] .el-divider--horizontal,
html[data-theme="dark"] .el-divider--vertical {
  border-color: #2c2c31;
}

