/* 设置Ant Design v1.7.8的主题色 */

/* 设置全局变量 */
:root {
  --antd-primary-color: var(--color-text-active, #1890ff);
  --antd-wave-shadow-color: var(--color-text-active, #1890ff);
  --antd-primary-color-fade-20: rgba(24, 144, 255, 0.2); /* 默认颜色的透明度版本 */
  --antd-primary-color-active: var(--color-text-active-dark, #096dd9); /* active状态颜色 */
  --antd-primary-color-outline: #e6f7ff; /* 选中outline颜色 */
}

/* 波纹效果 */
html {
  --antd-wave-shadow-color: var(--color-text-active, #1890ff);
}

/* 按钮相关 */
.ant-btn-primary {
  background-color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
}

.ant-btn-primary:hover, 
.ant-btn-primary:focus {
  background-color: var(--color-text-active);
  border-color: var(--color-text-active);
}

.ant-btn-primary:active {
  background-color: var(--color-text-active);
  border-color: var(--color-text-active);
}

.ant-btn:hover, 
.ant-btn:focus {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

.ant-btn:active {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}
.ant-btn-link{
  color: var(--color-text-active, #1890ff) !important;
  border-color: transparent !important;
  padding: 0px 4px !important;
}
.ant-btn-link:hover {
  color: var(--color-text-active) !important;
  border-color: transparent !important;
}
.ant-btn-link:hover span,.ant-btn-link:hover i{
  color: inherit !important;
}


/* 链接相关 */
.ant-typography a,
a.ant-typography,
.ant-typography a:focus, 
a.ant-typography:focus {
  color: var(--color-text-active, #1890ff);
}

.ant-typography a:hover,
a.ant-typography:hover {
  color: var(--color-text-active);
}

.ant-typography a:active,
a.ant-typography:active {
  color: var(--antd-primary-color-active);
}

/* 复选框相关 */
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
}

.ant-checkbox-wrapper:hover .ant-checkbox-inner, 
.ant-checkbox:hover .ant-checkbox-inner, 
.ant-checkbox-input:focus + .ant-checkbox-inner {
  border-color: var(--color-text-active, #1890ff);
}

.ant-checkbox-checked:hover .ant-checkbox-inner {
  background-color: var(--color-text-active);
  border-color: var(--color-text-active);
}

/* 单选框相关 */
.ant-radio-checked .ant-radio-inner {
  border-color: var(--color-text-active, #1890ff);
}

.ant-radio-inner::after {
  background-color: var(--color-text-active, #1890ff);
}

.ant-radio-wrapper:hover .ant-radio, 
.ant-radio:hover .ant-radio-inner, 
.ant-radio-input:focus + .ant-radio-inner {
  border-color: var(--color-text-active, #1890ff);
}

.ant-radio-checked:hover .ant-radio-inner {
  border-color: var(--color-text-active);
}

/* 开关相关 */
.ant-switch-checked {
  background-color: var(--color-text-active, #1890ff);
}

.ant-switch-checked:hover {
  background-color: var(--color-text-active);
}

/* 表单相关 */
.ant-form-item-has-error .ant-input:focus, 
.ant-form-item-has-error .ant-input-affix-wrapper:focus, 
.ant-form-item-has-error .ant-input-focused, 
.ant-form-item-has-error .ant-input-affix-wrapper-focused {
  border-color: var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

/* 输入框相关 */
.ant-input:hover {
  border-color: var(--color-text-active);
}

.ant-input:focus, 
.ant-input-focused {
  border-color: var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

/* 下拉菜单相关 */
.ant-dropdown-menu-item-selected, 
.ant-dropdown-menu-submenu-title-selected, 
.ant-dropdown-menu-item-selected > a, 
.ant-dropdown-menu-submenu-title-selected > a {
  color: var(--color-text-active, #1890ff);
  background-color: var(--antd-primary-color-outline);
}

.ant-dropdown-menu-item:hover, 
.ant-dropdown-menu-submenu-title:hover {
  color: var(--color-text-active);
  background-color: var(--antd-primary-color-outline);
}

/* 选择器相关 */
.ant-select-focused .ant-select-selector,
.ant-select-selector:focus,
.ant-select-selector:active,
.ant-select-open .ant-select-selector {
  border-color: var(--color-text-active, #1890ff) !important;
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20) !important;
}

.ant-select:hover .ant-select-selector {
  border-color: var(--color-text-active) !important;
}

.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  color: rgba(0, 0, 0, 0.85);
  font-weight: 600;
  background-color: var(--antd-primary-color-outline);
}

.ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background-color: var(--antd-primary-color-outline);
}

/* 标签页相关 */
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--color-text-active, #1890ff);
}

.ant-tabs-ink-bar {
  background: var(--color-text-active, #1890ff);
}

.ant-tabs-tab:hover {
  color: var(--color-text-active);
}

/* 菜单相关 */
.ant-menu-item-selected {
  color: var(--color-text-active, #1890ff);
}

.ant-menu-item:hover, 
.ant-menu-item-active, 
.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, 
.ant-menu-submenu-active, 
.ant-menu-submenu-title:hover {
  color: var(--color-text-active, #1890ff);
}

.ant-menu-light .ant-menu-item:hover, 
.ant-menu-light .ant-menu-item-active, 
.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, 
.ant-menu-light .ant-menu-submenu-active, 
.ant-menu-light .ant-menu-submenu-title:hover {
  color: var(--color-text-active, #1890ff);
}

.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected,
.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected {
  color: var(--color-text-active, #1890ff);
  border-bottom: 2px solid var(--color-text-active, #1890ff);
}

.ant-menu-item-selected::after {
  border-right: 3px solid var(--color-text-active, #1890ff);
}

.ant-menu-item .ant-menu-item-selected,
.ant-menu-submenu-selected {
  color: var(--color-text-active, #1890ff);
}

/* 分页相关 */
.ant-pagination-item:focus, 
.ant-pagination-item:hover {
  border-color: var(--color-text-active, #1890ff);
}

.ant-pagination-item:focus a, 
.ant-pagination-item:hover a {
  color: var(--color-text-active, #1890ff);
}

.ant-pagination-item-active {
  border-color: var(--color-text-active, #1890ff);
}

.ant-pagination-item-active a {
  color: var(--color-text-active, #1890ff);
}

.ant-pagination-item-active:focus, 
.ant-pagination-item-active:hover {
  border-color: var(--color-text-active);
}

.ant-pagination-item-active:focus a, 
.ant-pagination-item-active:hover a {
  color: var(--color-text-active);
}

.ant-pagination-prev:focus .ant-pagination-item-link, 
.ant-pagination-next:focus .ant-pagination-item-link, 
.ant-pagination-prev:hover .ant-pagination-item-link, 
.ant-pagination-next:hover .ant-pagination-item-link {
  color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
}

/* 日期选择器相关 */
.ant-picker-focused {
  border-color: var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

.ant-picker:hover {
  border-color: var(--color-text-active);
}

.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner {
  background: var(--color-text-active, #1890ff);
}

.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {
  border: 1px solid var(--color-text-active, #1890ff);
}

.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, 
.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-disabled):not(.ant-picker-cell-in-range) .ant-picker-cell-inner {
  background: var(--antd-primary-color-outline);
}

/* 通知提示相关 */
.ant-notification-notice-icon-info {
  color: var(--color-text-active, #1890ff);
}

/* Tree 组件 */
.ant-tree-treenode-selected .ant-tree-node-content-wrapper {
  background-color: var(--antd-primary-color-outline) !important;
}

.ant-tree-node-content-wrapper.ant-tree-node-selected {
  background-color: var(--antd-primary-color-outline) !important;
}

.ant-tree-treenode:hover::before {
  background: var(--antd-primary-color-outline) !important;
}

/* Table 组件 */
.ant-table-thead > tr > th .ant-table-filter-selected.anticon-filter {
  color: var(--color-text-active, #1890ff);
}

.ant-table-filter-trigger:hover {
  color: var(--color-text-active);
  background: rgba(0, 0, 0, 0.04);
}

.ant-table-row-expand-icon:focus, 
.ant-table-row-expand-icon:hover {
  color: var(--color-text-active);
}

/* 全局波纹动画 */
.ant-click-animating-node,
[ant-click-animating-without-extra-node=true]:after {
  box-shadow: 0 0 0 0 var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);
}

@keyframes waveEffect {
  to {
    box-shadow: 0 0 0 6px var(--color-text-active, #1890ff);
    box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);
  }
}

/* 暗黑模式下的适配 */
:root.dark {
  /* 暗黑模式下的变量重置 */
  --antd-primary-color-outline: rgba(24, 144, 255, 0.12);
  --antd-background-color: #141414;
  --antd-component-background: #1f1f1f;
  --antd-body-background: #141414;
  --antd-text-color: rgba(255, 255, 255, 0.85);
  --antd-text-color-secondary: rgba(255, 255, 255, 0.45);
  --antd-heading-color: rgba(255, 255, 255, 0.85);
  --antd-border-color-base: #434343;
  --antd-border-color-split: #303030;
  --antd-table-header-bg: #1d1d1d;
  --antd-table-row-hover-bg: #262626;
  --antd-item-hover-bg: rgba(255, 255, 255, 0.08);
  --antd-background-color-light: #1f1f1f;
  --antd-background-color-base: rgba(255, 255, 255, 0.08);
}

/* 表格暗黑模式适配 */
:root.dark .ant-table {
  color: var(--antd-text-color);
  background-color: var(--antd-component-background);
}

:root.dark .ant-table table {
  background-color: var(--antd-component-background);
}

/* 表头样式 */
:root.dark .ant-table-thead > tr > th {
  color: var(--antd-heading-color);
  background-color: var(--antd-table-header-bg);
  border-bottom: 1px solid var(--antd-border-color-split);
}

/* 单元格样式 */
:root.dark .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--antd-border-color-split);
}

/* 表格行悬停样式 */
:root.dark .ant-table-tbody > tr:hover > td {
  background: var(--antd-table-row-hover-bg) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row:hover > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row-hover > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row) > td, 
:root.dark .ant-table-tbody > tr:hover:not(.ant-table-expanded-row) > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

/* 确保鼠标悬停在交互式行上时也应用相同的背景色 */
:root.dark .ant-table-tbody > tr.ant-table-row:hover {
  background-color: var(--antd-table-row-hover-bg) !important;
}

/* 处理带有扩展行的表格行 */
:root.dark .ant-table-tbody > tr.ant-table-expanded-row:hover > td {
  background: #272727 !important;
}

/* 修复表格行hover状态下嵌套表格的悬停样式 */
:root.dark .ant-table-nested-table .ant-table-tbody > tr:hover > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

/* 确保固定列悬停效果 */
:root.dark .ant-table-tbody > tr.ant-table-row-hover.ant-table-row-selected > td.ant-table-cell-fix-left,
:root.dark .ant-table-tbody > tr.ant-table-row-hover.ant-table-row-selected > td.ant-table-cell-fix-right,
:root.dark .ant-table-tbody > tr.ant-table-row-hover > td.ant-table-cell-fix-left,
:root.dark .ant-table-tbody > tr.ant-table-row-hover > td.ant-table-cell-fix-right,
:root.dark .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
:root.dark .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background-color: var(--antd-table-row-hover-bg) !important;
}

/* 处理选中和悬停的冲突情况 */
:root.dark .ant-table-tbody > tr.ant-table-row-selected:hover > td {
  background-color: rgba(24, 144, 255, 0.15) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row-selected.ant-table-row-hover > td {
  background-color: rgba(24, 144, 255, 0.15) !important;
}

/* 处理可展开行 */
:root.dark .ant-table-row-expand-icon-cell {
  background-color: transparent !important;
}

:root.dark .ant-table-row-indent + .ant-table-row-expand-icon {
  background-color: transparent !important;
}

/* 处理嵌套表格 */
:root.dark .ant-table.ant-table-small .ant-table-tbody > tr:hover > td {
  background-color: var(--antd-table-row-hover-bg) !important;
}

/* 处理粘性表头 */
:root.dark .ant-table-sticky-header .ant-table-thead > tr > th {
  background-color: var(--antd-table-header-bg) !important;
}

:root.dark .ant-table-sticky-scroll {
  background-color: var(--antd-component-background) !important;
  border-top: 1px solid var(--antd-border-color-split) !important;
}

/* 处理表格内的交互元素 */
:root.dark .ant-table-tbody > tr > td .ant-btn:hover,
:root.dark .ant-table-tbody > tr > td .ant-btn:focus {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-table-tbody > tr > td .ant-btn-primary:hover,
:root.dark .ant-table-tbody > tr > td .ant-btn-primary:focus {
  background-color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-table-tbody > tr > td .ant-btn-link:hover,
:root.dark .ant-table-tbody > tr > td .ant-btn-link:focus {
  color: var(--color-text-active) !important;
}

:root.dark .ant-table-tbody > tr > td a:hover {
  color: var(--color-text-active) !important;
}

/* 处理表格中的图标交互 */
:root.dark .ant-table-tbody > tr > td .anticon:hover {
  color: var(--color-text-active);
}

/* 表格中的复选框选择 */
:root.dark .ant-table-tbody > tr.ant-table-row-selected .ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
}

/* 亮色模式下表格行悬停样式 */
.ant-table-tbody > tr.ant-table-row:hover > td {
  background-color: #fafafa;
}

.ant-table-tbody > tr.ant-table-row-hover > td,
.ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
.ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row) > td, 
.ant-table-tbody > tr:hover:not(.ant-table-expanded-row) > td {
  background-color: #fafafa;
}

/* 亮色模式选中行样式 */
.ant-table-tbody > tr.ant-table-row-selected > td {
  background-color: var(--antd-primary-color-outline, #e6f7ff);
}

.ant-table-tbody > tr.ant-table-row-selected:hover > td {
  background-color: #dcf4ff;
}

/* 扩展行特殊处理 */
.ant-table-expanded-row .ant-table-wrapper:not(.ant-table-bordered) .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}

/* 奇偶行样式 */
:root.dark .ant-table-tbody > tr.ant-table-row:nth-child(odd) {
  background: var(--antd-component-background) !important;
}

:root.dark .ant-table-tbody > tr.ant-table-row:nth-child(even) {
  background: var(--antd-background-color) !important;
}

/* 表格边框 */
:root.dark .ant-table-bordered .ant-table-container {
  border: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-table-bordered .ant-table-container table > thead > tr > th,
:root.dark .ant-table-bordered .ant-table-container table > tbody > tr > td {
  border-right: 1px solid var(--antd-border-color-split);
}

/* 固定列样式 */
:root.dark .ant-table-fixed-left table,
:root.dark .ant-table-fixed-right table {
  background-color: var(--antd-component-background);
}

/* 表格分页 */
:root.dark .ant-pagination {
  color: var(--antd-text-color);
}

:root.dark .ant-pagination-item {
  background-color: transparent;
  border-color: var(--antd-border-color-base);
}

:root.dark .ant-pagination-item a {
  color: var(--antd-text-color);
}

:root.dark .ant-pagination-item-active {
  background-color: transparent;
  border-color: var(--color-text-active, #1890ff);
}

:root.dark .ant-pagination-item-active a {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-pagination-prev .ant-pagination-item-link,
:root.dark .ant-pagination-next .ant-pagination-item-link {
  color: var(--antd-text-color);
  background-color: transparent;
  border-color: var(--antd-border-color-base);
}

:root.dark .ant-pagination-disabled .ant-pagination-item-link {
  color: var(--antd-text-color-secondary);
  border-color: var(--antd-border-color-base);
}

/* 表格筛选和排序 */
:root.dark .ant-table-filter-dropdown {
  background-color: var(--antd-component-background);
  border: 1px solid var(--antd-border-color-base);
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}

:root.dark .ant-table-filter-dropdown-btns {
  border-top: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-table-filter-dropdown-link {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-table-filter-trigger-container {
  background-color: var(--antd-table-header-bg);
}

:root.dark .ant-table-filter-trigger:hover {
  color: var(--color-text-active);
  background-color: var(--antd-item-hover-bg);
}

:root.dark .ant-table-filter-trigger.active {
  color: var(--color-text-active, #1890ff);
}

/* 表格空状态 */
:root.dark .ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {
  color: var(--antd-text-color-secondary);
  background-color: var(--antd-component-background);
}

:root.dark .ant-empty-description {
  color: var(--antd-text-color-secondary);
}

/* 表格展开行 */
:root.dark .ant-table-row-expand-icon {
  color: var(--antd-text-color);
  background-color: transparent;
  border-color: var(--antd-border-color-base);
}

:root.dark .ant-table-row-expand-icon:hover {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

/* 表格选择框 */
:root.dark .ant-table-selection-column .ant-checkbox-wrapper {
  color: var(--antd-text-color);
}

/* 表格加载状态 */
:root.dark .ant-table-spinning {
  background-color: rgba(0, 0, 0, 0.4);
}

/* 表格固定头和列的阴影 */
:root.dark .ant-table-thead > tr > th.ant-table-column-has-sorters:hover {
  background-color: var(--antd-table-row-hover-bg);
}

:root.dark .ant-table-thead > tr > th.ant-table-column-sort {
  background-color: var(--antd-table-header-bg);
}

:root.dark tr.ant-table-expanded-row > td, 
:root.dark tr.ant-table-expanded-row:hover > td {
  background-color: #272727;
}

/* 表格树形数据样式 */
:root.dark .ant-table-row-indent + .ant-table-row-expand-icon {
  color: var(--antd-text-color-secondary);
}

/* 小尺寸表格样式适配 */
:root.dark .ant-table-small {
  border-color: var(--antd-border-color-split);
}

:root.dark .ant-table-small .ant-table-thead > tr > th {
  background-color: var(--antd-component-background);
}

:root.dark .ant-table-small .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--antd-border-color-split);
}

/* 可编辑单元格样式 */
:root.dark .ant-table-cell-editing {
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

:root.dark .ant-table-cell-editing form {
  background-color: var(--antd-component-background);
}

/* 可选择行样式 */
:root.dark .ant-table-tbody > tr.ant-table-row-selected > td {
  background-color: var(--antd-primary-color-outline);
}

:root.dark .ant-table-tbody > tr.ant-table-row-selected:hover > td {
  background-color: var(--antd-primary-color-outline);
}

/* 可伸缩列样式 */
:root.dark .ant-table-column-resize-handle {
  background-color: var(--color-text-active, #1890ff);
}

/* 其他暗黑模式组件样式 */

/* Modal 对话框 */
:root.dark .ant-modal-content {
  background-color: var(--antd-component-background);
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}

:root.dark .ant-modal-header {
  background-color: var(--antd-component-background);
  border-bottom: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-modal-title {
  color: var(--antd-heading-color);
}

:root.dark .ant-modal-close {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-modal-close:hover {
  color: var(--antd-text-color);
}

:root.dark .ant-modal-footer {
  border-top: 1px solid var(--antd-border-color-split);
}

/* Drawer 抽屉 */
:root.dark .ant-drawer-content {
  background-color: var(--antd-component-background);
}

:root.dark .ant-drawer-header {
  background-color: var(--antd-component-background);
  border-bottom: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-drawer-title {
  color: var(--antd-heading-color);
}

:root.dark .ant-drawer-close {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-drawer-close:hover {
  color: var(--antd-text-color);
}

:root.dark .ant-drawer-footer {
  border-top: 1px solid var(--antd-border-color-split);
}

/* Card 卡片 */
:root.dark .ant-card {
  background-color: var(--antd-component-background);
  border-color: var(--antd-border-color-split);
}

:root.dark .ant-card-head {
  color: var(--antd-heading-color);
  border-bottom: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-card-actions {
  background-color: var(--antd-background-color);
  border-top: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-card-grid {
  box-shadow: 1px 0 0 0 var(--antd-border-color-split), 0 1px 0 0 var(--antd-border-color-split), 1px 1px 0 0 var(--antd-border-color-split), 1px 0 0 0 var(--antd-border-color-split) inset, 0 1px 0 0 var(--antd-border-color-split) inset;
}

:root.dark .ant-card-meta-title {
  color: var(--antd-heading-color);
}

:root.dark .ant-card-meta-description {
  color: var(--antd-text-color-secondary);
}

/* Form 表单 */
:root.dark .ant-form-item-label > label {
  color: var(--antd-text-color);
}

:root.dark .ant-form-item-explain,
:root.dark .ant-form-item-extra {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-form-item-has-error .ant-input,
:root.dark .ant-form-item-has-error .ant-input-affix-wrapper {
  background-color: var(--antd-component-background);
  border-color: #ff4d4f;
}

:root.dark .ant-form-item-has-error .ant-input:hover,
:root.dark .ant-form-item-has-error .ant-input-affix-wrapper:hover {
  border-color: #ff4d4f;
}

/* Select 选择器 */
:root.dark .ant-select-dropdown {
  background-color: var(--antd-component-background);
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}

:root.dark .ant-select-item {
  color: var(--antd-text-color);
}

:root.dark .ant-select-item-empty {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-select-item-option-disabled {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-select-selection-placeholder {
  color: var(--antd-text-color-secondary);
}

/* Menu 菜单 */
:root.dark .ant-menu {
  background-color: var(--antd-component-background);
  color: var(--antd-text-color);
  border-right-color: var(--antd-border-color-split);
}

:root.dark .ant-menu-sub {
  background-color: var(--antd-background-color-light);
}

:root.dark .ant-menu-inline {
  border-right-color: var(--antd-border-color-split);
}

:root.dark .ant-menu-item-disabled,
:root.dark .ant-menu-submenu-disabled {
  color: var(--antd-text-color-secondary) !important;
}

:root.dark .ant-menu-item:hover, 
:root.dark .ant-menu-item-active,
:root.dark .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, 
:root.dark .ant-menu-submenu-active, 
:root.dark .ant-menu-submenu-title:hover {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-menu-item-selected {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-menu-item-selected > a,
:root.dark .ant-menu-item-selected > a:hover {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-menu-submenu-selected {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-menu-inline .ant-menu-item::after {
  border-right: 3px solid var(--color-text-active, #1890ff);
}

:root.dark .ant-menu-dark,
:root.dark .ant-menu-dark .ant-menu-sub {
  background-color: #1f1f1f;
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-menu-dark .ant-menu-item-selected {
  background-color: var(--color-text-active, #1890ff);
  color: #fff;
}

/* Popover 气泡卡片 */
:root.dark .ant-popover-inner {
  background-color: var(--antd-component-background);
}

:root.dark .ant-popover-title {
  color: var(--antd-heading-color);
  border-bottom: 1px solid var(--antd-border-color-split);
}

:root.dark .ant-popover-inner-content {
  color: var(--antd-text-color);
}

:root.dark .ant-popover-arrow {
  background-color: var(--antd-component-background);
  border-color: var(--antd-border-color-split);
  border-width: 0 0 1px 1px;
}

/* Tooltip 文字提示 */
:root.dark .ant-tooltip-inner {
  background-color: #1f1f1f;
}

:root.dark .ant-tooltip-arrow-content {
  background-color: #1f1f1f;
}

/* 输入框相关 */
:root.dark .ant-input {
  background-color: transparent;
  border-color: var(--antd-border-color-base);
  color: var(--antd-text-color);
}

:root.dark .ant-input:hover {
  border-color: var(--color-text-active);
}

:root.dark .ant-input:focus,
:root.dark .ant-input-focused {
  border-color: var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

:root.dark .ant-input-disabled {
  background-color: var(--antd-background-color-base);
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-input-affix-wrapper {
  background-color: transparent;
  border-color: var(--antd-border-color-base);
  color: var(--antd-text-color);
}

:root.dark .ant-input-affix-wrapper:hover {
  border-color: var(--color-text-active);
}

:root.dark .ant-input-affix-wrapper:focus,
:root.dark .ant-input-affix-wrapper-focused {
  border-color: var(--color-text-active, #1890ff);
  box-shadow: 0 0 0 2px var(--antd-primary-color-fade-20);
}

:root.dark .ant-input-prefix,
:root.dark .ant-input-suffix {
  color: var(--antd-text-color-secondary);
}

/* 按钮相关 */
:root.dark .ant-btn {
  background-color: transparent;
  border-color: var(--antd-border-color-base);
  color: var(--antd-text-color);
}

:root.dark .ant-btn:hover,
:root.dark .ant-btn:focus {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-btn:active {
  color: var(--antd-primary-color-active);
  border-color: var(--antd-primary-color-active);
}

:root.dark .ant-btn-primary {
  background-color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
  color: #fff;
}

:root.dark .ant-btn-primary:hover,
:root.dark .ant-btn-primary:focus {
  background-color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-btn-primary:active {
  background-color: var(--antd-primary-color-active);
  border-color: var(--antd-primary-color-active);
}

:root.dark .ant-btn-dangerous {
  color: #ff4d4f;
  border-color: #ff4d4f;
}

:root.dark .ant-btn-dangerous:hover,
:root.dark .ant-btn-dangerous:focus {
  color: #ff7875;
  border-color: #ff7875;
}

:root.dark .ant-btn-dangerous.ant-btn-primary {
  background-color: #ff4d4f;
  border-color: #ff4d4f;
  color: #fff;
}

:root.dark .ant-btn-dangerous.ant-btn-primary:hover,
:root.dark .ant-btn-dangerous.ant-btn-primary:focus {
  background-color: #ff7875;
  border-color: #ff7875;
}

:root.dark .ant-btn-link {
  color: var(--color-text-active, #1890ff) !important;
  border-color: transparent !important;
}

:root.dark .ant-btn-link:hover,
:root.dark .ant-btn-link:active,
:root.dark .ant-btn-link:focus {
  color: var(--color-text-active) !important;
}

:root.dark .ant-btn-text {
  color: var(--antd-text-color);
  border-color: transparent;
  background-color: transparent;
}

:root.dark .ant-btn-text:hover,
:root.dark .ant-btn-text:focus {
  color: var(--antd-text-color);
  background-color: rgba(255, 255, 255, 0.08);
}

:root.dark .ant-btn-text:active {
  color: var(--antd-text-color);
  background-color: rgba(255, 255, 255, 0.16);
}

:root.dark .ant-btn-ghost {
  color: var(--antd-text-color);
  border-color: var(--antd-border-color-base);
  background-color: transparent;
}

:root.dark .ant-btn-ghost:hover,
:root.dark .ant-btn-ghost:focus {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-btn-background-ghost {
  color: var(--antd-text-color);
  border-color: var(--antd-border-color-base);
  background-color: transparent;
}

:root.dark .ant-btn-background-ghost.ant-btn-primary {
  color: var(--color-text-active, #1890ff);
  border-color: var(--color-text-active, #1890ff);
}

:root.dark .ant-btn-background-ghost.ant-btn-primary:hover,
:root.dark .ant-btn-background-ghost.ant-btn-primary:focus {
  color: var(--color-text-active);
  border-color: var(--color-text-active);
}

:root.dark .ant-btn-disabled,
:root.dark .ant-btn-disabled:hover,
:root.dark .ant-btn-disabled:focus,
:root.dark .ant-btn-disabled:active {
  color: var(--antd-text-color-secondary);
  border-color: var(--antd-border-color-base);
  background-color: var(--antd-background-color-base);
  text-shadow: none;
  box-shadow: none;
}

/* Dropdown 下拉菜单 */
:root.dark .ant-dropdown-menu {
  background-color: var(--antd-component-background);
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}

:root.dark .ant-dropdown-menu-item,
:root.dark .ant-dropdown-menu-submenu-title {
  color: var(--antd-text-color);
}

:root.dark .ant-dropdown-menu-item:hover,
:root.dark .ant-dropdown-menu-submenu-title:hover,
:root.dark .ant-dropdown-menu-item.ant-dropdown-menu-item-active,
:root.dark .ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-active,
:root.dark .ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-active,
:root.dark .ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-active {
  background-color: var(--antd-item-hover-bg);
}

:root.dark .ant-dropdown-menu-item-disabled,
:root.dark .ant-dropdown-menu-submenu-title-disabled {
  color: var(--antd-text-color-secondary);
}

:root.dark .ant-dropdown-menu-item-divider,
:root.dark .ant-dropdown-menu-submenu-title-divider {
  background-color: var(--antd-border-color-split);
}

/* Tag 标签 */
:root.dark .ant-tag {
  background-color: var(--antd-background-color-base);
  border-color: var(--antd-border-color-split);
  color: var(--antd-text-color);
}

:root.dark .ant-tag-checkable {
  background-color: transparent;
  border-color: transparent;
}

:root.dark .ant-tag-checkable:hover {
  color: var(--color-text-active, #1890ff);
}

:root.dark .ant-tag-checkable:active,
:root.dark .ant-tag-checkable-checked {
  color: #fff;
  background-color: var(--color-text-active, #1890ff);
}

/* Alert 警告提示 */
:root.dark .ant-alert {
  border: 1px solid var(--antd-border-color-base);
}

:root.dark .ant-alert-success {
  background-color: rgba(82, 196, 26, 0.1);
  border-color: #274916;
}

:root.dark .ant-alert-info {
  background-color: rgba(24, 144, 255, 0.1);
  border-color: #153450;
}

:root.dark .ant-alert-warning {
  background-color: rgba(250, 173, 20, 0.1);
  border-color: #594214;
}

:root.dark .ant-alert-error {
  background-color: rgba(255, 77, 79, 0.1);
  border-color: #4d1f1f;
}

/* Rate 评分 */
:root.dark .ant-rate {
  color: #fadb14;
}

:root.dark .ant-rate-star-half .ant-rate-star-first,
:root.dark .ant-rate-star-full .ant-rate-star-second {
  color: #fadb14;
}

/* Progress 进度条 */
:root.dark .ant-progress-inner {
  background-color: var(--antd-background-color-base);
}

:root.dark .ant-progress-success-bg,
:root.dark .ant-progress-bg {
  background-color: var(--color-text-active, #1890ff);
}

:root.dark .ant-progress-text {
  color: var(--antd-text-color);
}

/* Collapse 折叠面板 */
:root.dark .ant-collapse {
  background-color: var(--antd-component-background);
  border-color: var(--antd-border-color-base);
}

:root.dark .ant-collapse-header {
  color: var(--antd-text-color);
}

:root.dark .ant-collapse-content {
  background-color: var(--antd-component-background);
  border-top-color: var(--antd-border-color-split);
}

:root.dark .ant-collapse-item {
  border-bottom-color: var(--antd-border-color-split);
}
