/* =====================================================================
 * dark-theme.css  —  UI-P3-1 暗色模式（叠加层，最后加载）
 * 原则：亮色规则一律不改；仅在 <html data-theme="dark"> 下重映射变量并收敛表面。
 * 主品牌橙保留；侧栏深蓝在暗色下保持；登录页不挂 data-theme，故不暗化。
 * ===================================================================== */

/* ---------- 1. 令牌重映射：灰阶反转 + 语义表面/文字 + 语义浅底暗化 ---------- */
[data-theme="dark"] {
    color-scheme: dark;
    /* gray 灰阶：亮色系“越浅越当背景”，暗色下反转；文字端（700-900）转亮 */
    --gray-50: #141b24;
    --gray-100: #1a222d;
    --gray-200: #28323f;
    --gray-300: #384554;
    --gray-400: #6b7787;
    --gray-500: #8b97a7;
    --gray-600: #b3bdc9;
    --gray-700: #cfd7e2;
    --gray-800: #e2e8f0;
    --gray-900: #f1f5fa;

    /* 语义中性 */
    --app-bg: #0e131a;
    --surface: #171e28;
    --surface-2: #1d2631;
    --surface-3: #232e3a;
    --text-strong: #f3f6fb;
    --text-1: #dde4ed;
    --text-2: #a7b2c0;
    --text-3: #7c8898;
    --line: #26303c;
    --line-2: #33404f;
    --surface-hover: #222c38;
    --mask: rgba(0, 0, 0, .6);

    /* 品牌主色在暗底上略提亮，保证对比度 */
    --primary: #ff8a1f;
    --primary-hover: #ff9a3d;
    --primary-light: rgba(255, 138, 31, .16);
    /* 语义浅底转为同色相半透明深底 */
    --success-light: rgba(5, 122, 85, .26);
    --warning-light: rgba(217, 119, 6, .22);
    --danger-light: rgba(224, 36, 36, .22);
    --info-light: rgba(37, 99, 235, .24);
    --info-border: rgba(96, 165, 250, .34);
    --fin-income: #f87171;
    --fin-expense: #4ade80;
    /* 浅蓝信息提示条在暗色下转半透明同色相 */
    --info-soft-bg: rgba(37, 99, 235, .18);
    --info-soft-line: rgba(96, 165, 250, .32);
    --info-soft-fg: #a9bdd6;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
    --shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .55), 0 2px 4px -1px rgba(0, 0, 0, .4);
    --ui-shadow-pop: 0 10px 32px rgba(0, 0, 0, .6);
    --ui-skeleton: linear-gradient(90deg, #1b232e 25%, #232e3a 37%, #1b232e 63%);
}

/* ---------- 2. 全局底与文字 ---------- */
[data-theme="dark"] body { background: var(--app-bg); color: var(--gray-800); }
[data-theme="dark"] #boot-splash { background: var(--app-bg); }
[data-theme="dark"] #boot-splash div:last-child { color: var(--text-2); }
[data-theme="dark"] .main-content,
[data-theme="dark"] .content,
[data-theme="dark"] .page-container,
[data-theme="dark"] main { background: var(--app-bg); }

/* ---------- 3. 主表面（原 #fff 容器统一收敛） ---------- */
[data-theme="dark"] .header,
[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .placeholder-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .confirm-dialog,
[data-theme="dark"] .ui-confirm,
[data-theme="dark"] .breadcrumb-bar,
[data-theme="dark"] .search-results-panel,
[data-theme="dark"] .bell-dropdown,
[data-theme="dark"] .avatar-dropdown,
[data-theme="dark"] .nav-group-submenu,
[data-theme="dark"] .sidebar.sidebar-collapsed .nav-group-submenu.fixed-flyout,
[data-theme="dark"] .ai-assistant-fab,
[data-theme="dark"] .ai-assistant-panel,
[data-theme="dark"] .ui-batchbar,
[data-theme="dark"] .tk-colpanel,
[data-theme="dark"] .ui-tooltip,
[data-theme="dark"] .cmdp,
[data-theme="dark"] .command-palette,
[data-theme="dark"] #cp-drawer,
[data-theme="dark"] .cp-drawer,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .popover,
[data-theme="dark"] .ui-popover {
    background: var(--surface);
    color: var(--text-1);
    border-color: var(--line);
}
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .card-header,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .avatar-dropdown .dropdown-header { border-color: var(--line); }
[data-theme="dark"] .modal-footer { background: var(--surface); }

/* 抬升层（浮到 body 的菜单/弹窗）比普通卡片再亮一档 */
[data-theme="dark"] .search-results-panel,
[data-theme="dark"] .bell-dropdown,
[data-theme="dark"] .avatar-dropdown,
[data-theme="dark"] .nav-group-submenu.fixed-flyout,
[data-theme="dark"] .modal,
[data-theme="dark"] .confirm-dialog,
[data-theme="dark"] .ui-confirm,
[data-theme="dark"] .cmdp,
[data-theme="dark"] .command-palette,
[data-theme="dark"] #cp-drawer { background: #1c242f; }

/* ---------- 4. 表格 ---------- */
[data-theme="dark"] .data-table,
[data-theme="dark"] table.data-table { background: var(--surface); color: var(--text-1); }
[data-theme="dark"] .data-table th,
[data-theme="dark"] .data-table thead td { background: var(--surface-2); color: var(--text-2); border-color: var(--line); }
[data-theme="dark"] .data-table td { border-color: var(--line); }
[data-theme="dark"] .data-table tbody tr { background: var(--surface); }
[data-theme="dark"] .data-table tbody tr:nth-child(even) { background: var(--surface-2); }
[data-theme="dark"] .data-table tbody tr:hover,
[data-theme="dark"] .data-table tbody tr.selected { background: var(--surface-hover) !important; }
[data-theme="dark"] .data-table .actions button,
[data-theme="dark"] .data-table td.actions-cell,
[data-theme="dark"] .data-table td:last-child > button,
[data-theme="dark"] .ui-empty-row td,
[data-theme="dark"] .data-table tbody tr td[colspan].empty-state { background: inherit; color: var(--text-1); }
[data-theme="dark"] .data-table tfoot,
[data-theme="dark"] .table-summary { background: var(--surface-2); color: var(--text-1); }

/* 通用表格兜底：并非所有列表都挂 .data-table，统一收敛原生 table / 组件表，杜绝表头表体露白 */
[data-theme="dark"] table { background: var(--surface); color: var(--text-1); }
[data-theme="dark"] table th,
[data-theme="dark"] table td { border-color: var(--line); }
[data-theme="dark"] table thead th,
[data-theme="dark"] table thead td { background: var(--surface-2) !important; color: var(--text-2); }
[data-theme="dark"] table tbody td { background: transparent !important; }
[data-theme="dark"] table tbody tr { background: var(--surface); }
[data-theme="dark"] table tbody tr:nth-child(even) { background: var(--surface-2); }
[data-theme="dark"] table tbody tr:hover,
[data-theme="dark"] table tbody tr.selected { background: var(--surface-hover) !important; }
/* 统计芯片 / 知识库 FAQ / 签名展示等白底组件 */
[data-theme="dark"] .sm-chip,
[data-theme="dark"] .stat-chip,
[data-theme="dark"] .kb-tip,
[data-theme="dark"] .kb-row,
[data-theme="dark"] .kb-card,
[data-theme="dark"] .seal-card,
[data-theme="dark"] .sign-card,
[data-theme="dark"] .stamp-card { background: var(--surface-2) !important; border-color: var(--line) !important; color: var(--text-1); }
/* 二轮补漏：聚合桶卡 / 合规统计 / 档案侧栏 / 汇总行 / 幽灵按钮 / 月份输入 */
[data-theme="dark"] .ag-bucket-card,
[data-theme="dark"] .cmp-top,
[data-theme="dark"] .st,
[data-theme="dark"] .sa-side,
[data-theme="dark"] .sa-main,
[data-theme="dark"] .cmp-panel { background: var(--surface-2) !important; border-color: var(--line) !important; color: var(--text-1); }
[data-theme="dark"] tr.f-sum,
[data-theme="dark"] .f-sum,
[data-theme="dark"] table tr.f-sum td,
[data-theme="dark"] .sum-row,
[data-theme="dark"] .total-row { background: var(--surface-3) !important; color: var(--text-strong) !important; border-color: var(--line-2) !important; }
[data-theme="dark"] .sm-btn.ghost,
[data-theme="dark"] .btn.ghost,
[data-theme="dark"] button.ghost { background: var(--surface-3) !important; color: var(--text-1) !important; border-color: var(--line-2) !important; }
[data-theme="dark"] input.form-control,
[data-theme="dark"] input.m-month,
[data-theme="dark"] .form-control.m-month { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text-1) !important; }
/* 三轮补漏：到期提醒分级卡/分组Tab、对账合计行、浅色描边危险按钮 */
[data-theme="dark"] .reminder-level-card,
[data-theme="dark"] .reminder-group-tab { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text-1); }
[data-theme="dark"] .reminder-group-tab.active { background: var(--primary) !important; color: #fff !important; }
[data-theme="dark"] tr.b-sum,
[data-theme="dark"] table tr.b-sum td { background: var(--surface-3) !important; color: var(--text-strong) !important; border-color: var(--line-2) !important; }
[data-theme="dark"] .btn.btn-danger.btn-sm,
[data-theme="dark"] .btn-danger.outline,
[data-theme="dark"] .btn-outline-danger { background: rgba(224,36,36,.16) !important; color: #f87171 !important; border-color: rgba(248,113,113,.4) !important; }

/* ---------- 5. 表单控件 ---------- */
[data-theme="dark"] .form-input,
[data-theme="dark"] .form-control,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] .filter-bar input[type="text"] {
    background: var(--surface-2);
    border-color: var(--line-2);
    color: var(--text-1);
}
[data-theme="dark"] .form-input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] input::placeholder { color: var(--text-3); }
[data-theme="dark"] .form-input:focus,
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus { border-color: var(--primary); }
[data-theme="dark"] select option,
[data-theme="dark"] select optgroup { background: var(--surface-2); color: var(--text-1); }
/* 日期选择器图标在暗底下可见 */
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(.8); }

/* ---------- 6. 按钮：默认/次级（原浅灰/白底）转暗；主按钮橙保持 ---------- */
[data-theme="dark"] button,
[data-theme="dark"] input[type="button"],
[data-theme="dark"] input[type="submit"],
[data-theme="dark"] input[type="reset"] {
    background: var(--surface-3); color: var(--text-1); border-color: var(--line-2);
}
[data-theme="dark"] button:hover,
[data-theme="dark"] input[type="button"]:hover,
[data-theme="dark"] input[type="submit"]:hover { background: #2d3947; }
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] button.btn-secondary,
[data-theme="dark"] .btn.btn-secondary { background: var(--surface-3); color: var(--text-1); border-color: var(--line-2); }
/* 危险/主按钮为实心彩色，白字保留 */
[data-theme="dark"] .btn-primary,
[data-theme="dark"] button.btn-primary,
[data-theme="dark"] .btn.btn-primary,
[data-theme="dark"] .btn-danger,
[data-theme="dark"] button.btn-danger,
[data-theme="dark"] .btn.btn-danger,
[data-theme="dark"] .ui-confirm-ok.btn,
[data-theme="dark"] .ui-confirm-ok { color: #fff; }
[data-theme="dark"] .btn-danger,
[data-theme="dark"] button.btn-danger { background: var(--danger); border-color: var(--danger); }
[data-theme="dark"] button[disabled],
[data-theme="dark"] .btn[disabled] { opacity: .55; }

/* ---------- 7. 标签 / 徽章 / 芯片 / 分页 / 选项卡 ---------- */
[data-theme="dark"] .badge,
[data-theme="dark"] .tag,
[data-theme="dark"] .chip { background: var(--surface-3); color: var(--text-1); border-color: var(--line-2); }
[data-theme="dark"] .pagination-btns button { background: var(--surface); color: var(--text-2); border-color: var(--line-2); }
[data-theme="dark"] .pagination-btns button:hover { background: var(--surface-hover); }
[data-theme="dark"] .tabs,
[data-theme="dark"] .tab-bar { border-color: var(--line); }
[data-theme="dark"] .tab,
[data-theme="dark"] .tabs .tab-item { color: var(--text-2); }
[data-theme="dark"] .tab.active,
[data-theme="dark"] .tabs .tab-item.active { color: var(--primary); border-color: var(--primary); }
[data-theme="dark"] .dropdown-divider,
[data-theme="dark"] .divider { border-color: var(--line); }
[data-theme="dark"] .dropdown-item { color: var(--text-1); }
[data-theme="dark"] .dropdown-item:hover { background: var(--surface-hover); }

/* ---------- 8. 侧栏（深蓝保持），仅收敛子菜单与高亮 ---------- */
[data-theme="dark"] .sidebar { background: #0a1c44; }
[data-theme="dark"] .submenu-item.active,
[data-theme="dark"] .nav-item.active { background: rgba(255, 138, 31, .18); }
[data-theme="dark"] .nav-group-title { color: #8fa3c6; }

/* ---------- 9. 其它高频浅底块 ---------- */
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .list-toolbar,
[data-theme="dark"] .search-box,
[data-theme="dark"] .f-search,
[data-theme="dark"] .f-filter,
[data-theme="dark"] .ag-search,
[data-theme="dark"] .toolbar,
[data-theme="dark"] .sm-toolbar,
[data-theme="dark"] .recon-bar,
[data-theme="dark"] .kb-toolbar,
[data-theme="dark"] .stat-mini,
[data-theme="dark"] .sm-card,
[data-theme="dark"] .sa-card,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .aidoc-card,
[data-theme="dark"] .cmp-card,
[data-theme="dark"] .contract-section,
[data-theme="dark"] .card-body,
[data-theme="dark"] .info-box,
[data-theme="dark"] .panel,
[data-theme="dark"] .detail-grid,
[data-theme="dark"] .summary-box { background: var(--surface); border-color: var(--line); color: var(--text-1); }
[data-theme="dark"] .list-toolbar input,
[data-theme="dark"] .list-toolbar select,
[data-theme="dark"] .search-box input,
[data-theme="dark"] .f-search input,
[data-theme="dark"] .f-filter input,
[data-theme="dark"] .f-filter select { background: var(--surface-2); border-color: var(--line-2); color: var(--text-1); }
[data-theme="dark"] .section-title,
[data-theme="dark"] .card-title { color: var(--text-strong); }
/* 洞察横幅语义文字在暗色下提亮一档 */
[data-theme="dark"] .cp-ins { --danger: #f87171; --warning: #f0b429; --info: #7db0ff; --success: #34d399; }

/* ---------- 9b. 遗留高特异性白底容器强制收敛（!important 仅用于覆盖遗留内联/高特异规则） ---------- */
[data-theme="dark"] .toolbar,
[data-theme="dark"] .list-toolbar,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .search-box,
[data-theme="dark"] .f-search,
[data-theme="dark"] .f-filter,
[data-theme="dark"] .date-range,
[data-theme="dark"] .pagination,
[data-theme="dark"] .tk-pager,
[data-theme="dark"] .pagination-btns,
[data-theme="dark"] .sm-toolbar,
[data-theme="dark"] .recon-bar,
[data-theme="dark"] .kb-toolbar,
[data-theme="dark"] .unified-list-card,
[data-theme="dark"] .list-card { background: var(--surface) !important; border-color: var(--line) !important; color: var(--text-1); }
[data-theme="dark"] .date-range input,
[data-theme="dark"] .toolbar input,
[data-theme="dark"] .toolbar select,
[data-theme="dark"] .list-toolbar input,
[data-theme="dark"] .list-toolbar select,
[data-theme="dark"] .pagination input,
[data-theme="dark"] .pagination select { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text-1) !important; }
[data-theme="dark"] .data-table-wrapper,
[data-theme="dark"] .table-wrap,
[data-theme="dark"] .tk-table-wrap,
[data-theme="dark"] .unified-list-card { background: var(--surface); border-color: var(--line); color: var(--text-1); }
[data-theme="dark"] .unified-list-card .list-card-head,
[data-theme="dark"] .unified-list-card .unified-list-head,
[data-theme="dark"] .unified-list-card .card-head { background: var(--surface); border-color: var(--line); color: var(--text-1); }
/* 冻结表头/冻结列（tk-sticky）遗留硬编码浅底，强制随主题收敛 */
[data-theme="dark"] .data-table.tk-sticky thead th,
[data-theme="dark"] .data-table.tk-sticky thead td,
[data-theme="dark"] .data-table thead .tk-sticky-l,
[data-theme="dark"] .data-table thead .tk-sticky-r,
[data-theme="dark"] .data-table .tk-sticky-corner { background: var(--surface-2) !important; color: var(--text-2) !important; border-color: var(--line) !important; }
[data-theme="dark"] .data-table tbody td.tk-sticky-l,
[data-theme="dark"] .data-table tbody td.tk-sticky-r { background: var(--surface) !important; border-color: var(--line) !important; }
[data-theme="dark"] .data-table tbody tr:nth-child(even) td.tk-sticky-l,
[data-theme="dark"] .data-table tbody tr:nth-child(even) td.tk-sticky-r { background: var(--surface-2) !important; }
[data-theme="dark"] .data-table tbody tr:hover td.tk-sticky-l,
[data-theme="dark"] .data-table tbody tr:hover td.tk-sticky-r,
[data-theme="dark"] .data-table tbody tr.selected td.tk-sticky-l,
[data-theme="dark"] .data-table tbody tr.selected td.tk-sticky-r { background: var(--surface-hover) !important; }
/* 次级白底按钮（重置/搜索等） */
[data-theme="dark"] .search-btn,
[data-theme="dark"] .toolbar .search-btn,
[data-theme="dark"] .list-toolbar .search-btn,
[data-theme="dark"] .btn-reset,
[data-theme="dark"] .btn-light,
[data-theme="dark"] button.btn-reset,
[data-theme="dark"] button.btn-light { background: var(--surface-3) !important; color: var(--text-1) !important; border-color: var(--line-2) !important; }
[data-theme="dark"] .search-btn:hover,
[data-theme="dark"] .btn-reset:hover,
[data-theme="dark"] .btn-light:hover { background: #2d3947 !important; }
[data-theme="dark"] hr { border-color: var(--line); }
[data-theme="dark"] .text-muted,
[data-theme="dark"] .desc,
[data-theme="dark"] .sub-text { color: var(--text-2); }

/* ---------- 10. 滚动条 ---------- */
[data-theme="dark"] ::-webkit-scrollbar { width: 10px; height: 10px; }
[data-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #33404f; border-radius: 8px; border: 2px solid var(--app-bg); }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #43505f; }
* { scrollbar-color: #33404f transparent; }

/* ---------- 11. 主题切换动效（仅颜色过渡，避免位移） ---------- */
[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .data-table,
[data-theme="dark"] .header,
[data-theme="dark"] .form-input,
[data-theme="dark"] .form-control,
[data-theme="dark"] button { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }

/* ---------- 12. 打印时强制亮色，避免暗色打印浪费墨且不清 ---------- */
@media print {
    [data-theme="dark"] body, [data-theme="dark"] .card, [data-theme="dark"] .data-table,
    [data-theme="dark"] .modal, [data-theme="dark"] .stat-card { background: #fff !important; color: #000 !important; }
}
