/**
 * 深色主题覆盖（配合 html[data-theme="dark"] + theme.js）
 * 组件级覆盖；全局扫网见 theme-dark-global.css
 */

/* ---- 顶栏 ---- */
[data-theme="dark"] .navbar {
  background: var(--vh-card-bg) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 16px rgba(0, 0, 0, 0.35);
}

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

[data-theme="dark"] .navbar .nav-link {
  color: rgba(255, 255, 255, 0.88) !important;
}

[data-theme="dark"] .navbar .nav-link.active,
[data-theme="dark"] .navbar .nav-link:hover {
  color: #ffffff !important;
}

[data-theme="dark"] .navbar .nav-link::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
}

[data-theme="dark"] .navbar-toggler {
  border-color: var(--vh-border);
}

[data-theme="dark"] .navbar-toggler-icon {
  filter: invert(1);
}

/* ---- 侧栏 ---- */
[data-theme="dark"] .vh-sb {
  box-shadow: 1px 0 8px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .vh-sb__link:hover,
[data-theme="dark"] .vh-sb__childLink:hover {
  background: var(--vh-sb-hover-bg);
  border-color: var(--vh-sb-hover-border);
}

[data-theme="dark"] .vh-sb__link.is-active,
[data-theme="dark"] .vh-sb__childLink.is-active {
  background: var(--vh-sb-active-bg);
}

[data-theme="dark"] .vh-sb__bottom {
  background: var(--vh-sb-bottom-bg);
  border-top-color: var(--vh-border);
}

/* ---- Bootstrap 表单 / 弹层 ---- */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea.form-control {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] textarea.form-control:focus {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-primary-light);
  box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-control.vh-form-control-prefilled {
  background-color: var(--vh-surface);
  color: var(--vh-text-muted);
}

[data-theme="dark"] .form-label,
[data-theme="dark"] .col-form-label {
  color: var(--vh-text);
}

[data-theme="dark"] .input-group-text {
  background-color: var(--vh-surface);
  color: var(--vh-text-muted);
  border-color: var(--vh-border);
}

[data-theme="dark"] .modal-content {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  border-color: var(--vh-border);
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

[data-theme="dark"] .dropdown-menu {
  background-color: var(--vh-card-bg);
  border-color: var(--vh-border);
}

[data-theme="dark"] .dropdown-item {
  color: var(--vh-text);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--vh-surface);
  color: var(--vh-text);
}

[data-theme="dark"] .card {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .list-group-item {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

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

[data-theme="dark"] .table tbody td {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
}

[data-theme="dark"] .table tbody tr:hover td {
  background-color: var(--vh-list-table-row-hover-bg);
}

[data-theme="dark"] .table code {
  background: var(--vh-surface);
  color: var(--vh-text-muted);
  border-color: var(--vh-border);
}

/* ---- 列表页常用白底块 ---- */
[data-theme="dark"] .list-page-table-container,
[data-theme="dark"] .list-page-operations-zone,
[data-theme="dark"] .list-page-filter-panel,
[data-theme="dark"] .list-page-action-bar,
[data-theme="dark"] .list-page-actions-bar,
[data-theme="dark"] .list-page-table-wrap,
[data-theme="dark"] .list-page-card,
[data-theme="dark"] .filter-btn,
[data-theme="dark"] .list-page-scope-tabs,
[data-theme="dark"] .pm-page-header,
[data-theme="dark"] .module-content-wrapper,
[data-theme="dark"] .form-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .detail-card,
[data-theme="dark"] .create-form .form-card {
  background-color: var(--vh-card-bg) !important;
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .filter-btn {
  color: var(--vh-text-muted);
  border-color: var(--vh-border);
}

[data-theme="dark"] .filter-btn:hover,
[data-theme="dark"] .filter-btn.active {
  color: var(--vh-text);
  background-color: var(--vh-surface) !important;
}

[data-theme="dark"] .list-page-action-bar #searchFieldSelect,
[data-theme="dark"] .list-page-actions-bar #searchFieldSelect {
  background-color: var(--vh-card-bg) !important;
  color: var(--vh-text) !important;
}

[data-theme="dark"] .list-page-table-container .table thead th {
  background: var(--vh-surface);
}

[data-theme="dark"] .two-col-main::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .two-col-main::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* ---- 工作台 dashboard ---- */
[data-theme="dark"] body.dashboard-body {
  --vh-primary: #8ab4ff;
  --vh-error: #f87171;
  --vh-border: #4d4d4d;
  --vh-border-light: #404040;
  --vh-text: #f1f5f9;
  --vh-text-muted: #cbd5e1;
  --vh-text-light: #94a3b8;
  background: #1a1a1a;
  color: var(--vh-text);
}

[data-theme="dark"] .dashboard-header {
  background: var(--vh-card-bg);
  border-bottom-color: var(--vh-border);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .dashboard-main-stage,
[data-theme="dark"] .dashboard-card,
[data-theme="dark"] .dashboard-section-nav,
[data-theme="dark"] .dashboard-right-rail,
[data-theme="dark"] .dashboard-right-rail__card,
[data-theme="dark"] .dashboard-welcome__chip,
[data-theme="dark"] .dashboard-header-ticker__chip {
  background: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .dashboard-header__link {
  color: var(--vh-text-muted);
}

[data-theme="dark"] .dashboard-header__link:hover {
  color: var(--vh-text);
}

[data-theme="dark"] .dashboard-section-nav__link {
  color: var(--vh-text-muted);
}

[data-theme="dark"] .dashboard-section-nav__link.is-active,
[data-theme="dark"] .dashboard-section-nav__link:hover {
  color: var(--vh-text);
  background: var(--vh-surface);
}

/* ---- 登录页 ---- */
[data-theme="dark"] body.login-page-body,
[data-theme="dark"] .public-auth-body {
  background: var(--vh-bg);
}

[data-theme="dark"] .login-container,
[data-theme="dark"] .login-wrapper .login-container {
  background: var(--vh-card-bg);
  border-color: var(--vh-border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .login-wrapper .footer,
[data-theme="dark"] .logo-subtitle {
  color: var(--vh-text-muted);
}

/* ---- Bootstrap 工具类 / 通用白底 ---- */
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-white {
  background-color: var(--vh-surface) !important;
  color: var(--vh-text);
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
  border-color: var(--vh-border) !important;
}

[data-theme="dark"] .alert-info {
  background-color: rgba(37, 99, 235, 0.15);
  border-color: rgba(37, 99, 235, 0.35);
  color: var(--vh-text);
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(217, 119, 6, 0.18);
  border-color: rgba(217, 119, 6, 0.35);
  color: var(--vh-text);
}

[data-theme="dark"] .alert-success {
  background-color: rgba(22, 163, 74, 0.15);
  border-color: rgba(22, 163, 74, 0.35);
  color: var(--vh-text);
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(226, 61, 61, 0.15);
  border-color: rgba(226, 61, 61, 0.35);
  color: var(--vh-text);
}

/* ---- 详情 / 创建表单 ---- */
[data-theme="dark"] .detail-section,
[data-theme="dark"] .detail-panel,
[data-theme="dark"] .detail-block,
[data-theme="dark"] .vh-detail-card,
[data-theme="dark"] .create-form,
[data-theme="dark"] .vh-create-form-base,
[data-theme="dark"] .form-card-body,
[data-theme="dark"] .form-card-header,
[data-theme="dark"] .accordion-item,
[data-theme="dark"] .accordion-button {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--vh-surface);
  color: var(--vh-text);
}

[data-theme="dark"] .accordion-button::after {
  filter: invert(1);
}

/* ---- 列表布局补充白底 ---- */
[data-theme="dark"] .list-page-filter-chip,
[data-theme="dark"] .list-page-filter-tags,
[data-theme="dark"] .list-page-table-toolbar,
[data-theme="dark"] .list-page-pagination-bar,
[data-theme="dark"] .list-page-empty,
[data-theme="dark"] .list-page-column-settings,
[data-theme="dark"] .list-page-bulk-bar,
[data-theme="dark"] .msreg-master-tree-table-wrap,
[data-theme="dark"] .report-page-panel,
[data-theme="dark"] .report-stat-card {
  background-color: var(--vh-card-bg) !important;
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .list-page-table tbody td,
[data-theme="dark"] .list-page-table tbody tr {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
}

[data-theme="dark"] .list-page-table tbody tr:hover td {
  background-color: var(--vh-list-table-row-hover-bg) !important;
}

[data-theme="dark"] .page-link {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .page-item.active .page-link {
  background-color: var(--vh-surface);
  border-color: var(--vh-border);
  color: var(--vh-text);
}

[data-theme="dark"] .page-link:hover {
  background-color: var(--vh-surface);
  color: var(--vh-text);
}

[data-theme="dark"] .btn-outline-secondary {
  color: var(--vh-text-muted);
  border-color: var(--vh-border);
}

[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: var(--vh-surface);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] hr,
[data-theme="dark"] .dropdown-divider {
  border-color: var(--vh-border);
  opacity: 1;
}

/* ---- 工作台 dashboard-body（页内局部变量覆盖） ---- */
[data-theme="dark"] body.dashboard-body {
  --vh-border: #404040;
  --vh-border-light: #383838;
  --vh-text: #f1f5f9;
  --vh-text-muted: #94a3b8;
  --vh-text-light: #64748b;
  background: var(--vh-bg);
}

[data-theme="dark"] .dashboard-main,
[data-theme="dark"] .dashboard-card,
[data-theme="dark"] .dashboard-feed-card,
[data-theme="dark"] .dashboard-rail-panel,
[data-theme="dark"] .dashboard-stat-card {
  background-color: var(--vh-card-bg);
  border-color: var(--vh-border);
  color: var(--vh-text);
}

[data-theme="dark"] .dashboard-navbar {
  background-color: var(--vh-card-bg);
  border-color: var(--vh-border);
}

[data-theme="dark"] .dashboard-sidebar-rail {
  background-color: var(--vh-card-bg);
  border-color: var(--vh-border);
}

/* ---- 模块首页 module-home ---- */
[data-theme="dark"] .module-home-wrap,
[data-theme="dark"] .module-home-header,
[data-theme="dark"] .module-home-core-card,
[data-theme="dark"] .module-home-warning-card,
[data-theme="dark"] .module-home-todo-card,
[data-theme="dark"] .module-home-my-work-card,
[data-theme="dark"] .module-home-entry-grid > .card,
[data-theme="dark"] .pm-home-wrap {
  background-color: var(--vh-card-bg);
  color: var(--vh-text);
  border-color: var(--vh-border);
}

[data-theme="dark"] .module-home-header__title,
[data-theme="dark"] .module-home-core-card-label,
[data-theme="dark"] .module-home-core-card-value {
  color: var(--vh-text);
}

[data-theme="dark"] .module-home-header__desc,
[data-theme="dark"] .module-home-core-card-subvalue {
  color: var(--vh-text-muted);
}

/* ---- 业务进程设计器 ---- */
[data-theme="dark"] .module-content-wrapper--business-process-designer {
  --bp-designer-bg: var(--vh-bg);
  --bp-designer-surface: var(--vh-card-bg);
  --bp-designer-border: var(--vh-border);
  --bp-designer-text: var(--vh-text);
  --bp-designer-muted: var(--vh-text-muted);
  --bp-designer-node-stroke: var(--vh-text-muted);
}

[data-theme="dark"] .module-content-wrapper--business-process-designer .designer-shell,
[data-theme="dark"] .module-content-wrapper--business-process-designer .designer-canvas-wrap,
[data-theme="dark"] .module-content-wrapper--business-process-designer .designer-sidebar,
[data-theme="dark"] .module-content-wrapper--business-process-designer .designer-panel,
[data-theme="dark"] .module-content-wrapper--business-process-designer .designer-node {
  background: var(--bp-designer-surface);
  border-color: var(--bp-designer-border);
  color: var(--bp-designer-text);
}
