/* ============================================================
   轻量导航 - 后台暗黑模式全局样式
   覆盖所有后台组件，确保暗黑模式全覆盖
   ============================================================ */

/* ===== 基础 ===== */
body.dark-mode {
    background: #0f0f23;
    color: #cbd5e1;
}

/* ===== 布局 ===== */
body.dark-mode .layout-wrapper { background: #0f0f23; }
body.dark-mode .layout-main { background: #0f0f23; }
body.dark-mode .layout-page { background: #1a1a2e; border-color: #2d2d44; color: #cbd5e1; }
body.dark-mode .layout-navigation { color: #94a3b8; }
body.dark-mode .layout-navigation a { color: #60a5fa; }
body.dark-mode .layout-content { background: #0f0f23; }
body.dark-mode .layout-footer { background: #1a1a2e; border-color: #2d2d44; color: #64748b; }

/* ===== 侧边栏 ===== */
body.dark-mode .layout-menu { background: #1a1a2e; border-right-color: #2d2d44; }
body.dark-mode .menu-header { border-bottom-color: #2d2d44; }
body.dark-mode .menu-header-title { color: #e2e8f0; }
body.dark-mode .menu-toggle { background: #2d2d44; border-color: #3d3d5c; color: #94a3b8; }
body.dark-mode .menu-toggle:hover { background: #3d3d5c; color: #e2e8f0; }
body.dark-mode .menu-list::-webkit-scrollbar-thumb { background: #4a4a6a; }
body.dark-mode .menu-list::-webkit-scrollbar-track { background: transparent; }
body.dark-mode .menu-item.active .menu-link { background: rgba(22,93,255,0.15); color: #60a5fa; }
body.dark-mode .menu-link { color: #94a3b8; }
body.dark-mode .menu-link:hover { background: #2d2d44; color: #e2e8f0; }
body.dark-mode .menu-link-badge { background: #ef4444; }
body.dark-mode .menu-divider { color: #64748b; border-color: #2d2d44; }
body.dark-mode .menu-divider::before,
body.dark-mode .menu-divider::after { border-color: #2d2d44; }
body.dark-mode .menu-footer { border-top-color: #2d2d44; }
body.dark-mode .user-name { color: #e2e8f0; }
body.dark-mode .user-time { color: #64748b; }
body.dark-mode .menu-footer-toggle { background: #2d2d44; color: #94a3b8; }
body.dark-mode .menu-footer-toggle:hover { background: #3d3d5c; color: #e2e8f0; }
body.dark-mode .sidebar-overlay { background: rgba(0,0,0,0.7); }

/* ===== Header ===== */
body.dark-mode .admin-header { background: #1a1a2e; border-bottom-color: #2d2d44; }
body.dark-mode .admin-header .dropdown-toggle { color: #94a3b8; }
body.dark-mode .admin-header .dropdown-toggle:hover { background: #2d2d44; }
body.dark-mode .admin-header .dropdown-toggle .header-username { color: #e2e8f0; }
body.dark-mode .admin-header .dropdown-menu { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .admin-header .dropdown-user-info { background: #252540; }
body.dark-mode .admin-header .dropdown-user-info .dropdown-user-name { color: #e2e8f0; }
body.dark-mode .admin-header .dropdown-divider { background: #2d2d44; }
body.dark-mode .admin-header .dropdown-item { color: #94a3b8; }
body.dark-mode .admin-header .dropdown-item:hover { background: #2d2d44; color: #60a5fa; }
body.dark-mode .admin-header .dropdown-item i { color: #64748b; }
body.dark-mode .admin-header .dropdown-item:hover i { color: #60a5fa; }
body.dark-mode .admin-header .dropdown-item.text-danger { color: #f87171; }
body.dark-mode .admin-header .dropdown-item.text-danger i { color: #f87171; }
body.dark-mode .admin-header .dropdown-item.text-danger:hover { background: rgba(248,113,113,0.1); }
body.dark-mode .mobile-menu-toggle { background: #2d2d44; border-color: #3d3d5c; color: #94a3b8; }
body.dark-mode .mobile-menu-toggle:hover { background: #3d3d5c; color: #e2e8f0; }

/* ===== 卡片/盒子 ===== */
body.dark-mode .box { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .box-header { border-bottom-color: #2d2d44; }
body.dark-mode .box-header h2,
body.dark-mode .box-header h3,
body.dark-mode .box-header h4,
body.dark-mode .box-header h5 { color: #e2e8f0; }
body.dark-mode .box-body { color: #cbd5e1; }
body.dark-mode .box-title { color: #e2e8f0; }
body.dark-mode .card { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .card-body { color: #cbd5e1; }
body.dark-mode .card-header { background: #252540; border-bottom-color: #2d2d44; }
body.dark-mode .card-header h5 { color: #e2e8f0; }

/* ===== 表单 ===== */
body.dark-mode .form-label { color: #e2e8f0; }
body.dark-mode .form-input,
body.dark-mode .form-select,
body.dark-mode .form-textarea { background: #2d2d44; border-color: #3d3d5c; color: #e2e8f0; }
body.dark-mode .form-input:focus,
body.dark-mode .form-select:focus,
body.dark-mode .form-textarea:focus { border-color: #4080FF; box-shadow: 0 0 0 3px rgba(22,93,255,0.2); }
body.dark-mode .form-input::placeholder,
body.dark-mode .form-textarea::placeholder { color: #64748b; }
body.dark-mode .form-hint { color: #64748b; }
body.dark-mode .form-error { color: #f87171; }
body.dark-mode .form-checkbox,
body.dark-mode .form-radio { accent-color: #165DFF; }
body.dark-mode .form-switcher-toggler { background: #3d3d5c; }
body.dark-mode .form-switcher-control:checked + .form-switcher-toggler { background: #165DFF; }
body.dark-mode .required { color: #f87171; }

/* ===== 表格 ===== */
body.dark-mode .table { color: #cbd5e1; }
body.dark-mode .table thead th { background: #252540; color: #94a3b8; border-bottom-color: #2d2d44; }
body.dark-mode .table td { border-bottom-color: #2d2d44; color: #cbd5e1; }
body.dark-mode .table tbody tr:hover { background: rgba(22,93,255,0.05); }
body.dark-mode .table tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); }
body.dark-mode .table-container { border-color: #2d2d44; }
body.dark-mode .table-responsive { border-color: #2d2d44; }
body.dark-mode .table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,0.02); }
body.dark-mode .table-bordered { border-color: #2d2d44; }
body.dark-mode .table-bordered th,
body.dark-mode .table-bordered td { border-color: #2d2d44; }

/* ===== 按钮 ===== */
body.dark-mode .btn { color: #cbd5e1; background: #2d2d44; border-color: #3d3d5c; }
body.dark-mode .btn:hover { background: #3d3d5c; }
body.dark-mode .btn-primary { background: #165DFF; color: #fff; border-color: #165DFF; }
body.dark-mode .btn-primary:hover { background: #0e4bd8; border-color: #0e4bd8; }
body.dark-mode .btn-success { background: #059669; color: #fff; border-color: #059669; }
body.dark-mode .btn-success:hover { background: #047857; }
body.dark-mode .btn-danger { background: #dc2626; color: #fff; border-color: #dc2626; }
body.dark-mode .btn-danger:hover { background: #b91c1c; }
body.dark-mode .btn-warning { background: #d97706; color: #fff; border-color: #d97706; }
body.dark-mode .btn-outline { background: transparent; border-color: #3d3d5c; color: #94a3b8; }
body.dark-mode .btn-outline:hover { background: #2d2d44; color: #e2e8f0; }
body.dark-mode .btn-outline-primary { border-color: #165DFF; color: #60a5fa; }
body.dark-mode .btn-outline-primary:hover { background: rgba(22,93,255,0.15); }
body.dark-mode .btn-sm { background: #2d2d44; border-color: #3d3d5c; }
body.dark-mode .btn-link { color: #60a5fa; }
body.dark-mode .btn-link:hover { color: #93bbfd; }
body.dark-mode .btn-fit { background: transparent; }

/* ===== 徽章 ===== */
body.dark-mode .badge { color: #e2e8f0; }
body.dark-mode .badge-primary { background: rgba(22,93,255,0.2); color: #93bbfd; }
body.dark-mode .badge-success { background: rgba(34,197,94,0.2); color: #4ade80; }
body.dark-mode .badge-warning { background: rgba(251,191,36,0.2); color: #fbbf24; }
body.dark-mode .badge-danger { background: rgba(239,68,68,0.2); color: #f87171; }
body.dark-mode .badge-info { background: rgba(6,182,212,0.2); color: #22d3ee; }
body.dark-mode .badge-secondary { background: #2d2d44; color: #94a3b8; }

/* ===== 提示/警告 ===== */
body.dark-mode .alert { border: 1px solid; }
body.dark-mode .alert-success { background: rgba(34,197,94,0.1); border-color: rgba(34,197,94,0.3); color: #4ade80; }
body.dark-mode .alert-danger { background: rgba(239,68,68,0.1); border-color: rgba(239,68,68,0.3); color: #f87171; }
body.dark-mode .alert-warning { background: rgba(251,191,36,0.1); border-color: rgba(251,191,36,0.3); color: #fbbf24; }
body.dark-mode .alert-info { background: rgba(6,182,212,0.1); border-color: rgba(6,182,212,0.3); color: #22d3ee; }
body.dark-mode .alert-primary { background: rgba(22,93,255,0.1); border-color: rgba(22,93,255,0.3); color: #93bbfd; }

/* ===== 统计卡片 ===== */
body.dark-mode .stat-card { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .stat-card:hover { border-color: #3d3d5c; }
body.dark-mode .stat-card h3 { color: #e2e8f0; }
body.dark-mode .stat-card .stat-value { color: #e2e8f0; }
body.dark-mode .stat-card .stat-label { color: #64748b; }
body.dark-mode .stat-card .stat-icon { opacity: 0.8; }

/* ===== 欢迎横幅 ===== */
body.dark-mode .welcome-banner { background: linear-gradient(135deg, #1a1a2e, #252540); border-color: #2d2d44; }
body.dark-mode .welcome-banner h2 { color: #e2e8f0; }
body.dark-mode .welcome-banner p { color: #94a3b8; }

/* ===== 快速操作 ===== */
body.dark-mode .quick-action-btn { background: #2d2d44; border-color: #3d3d5c; color: #94a3b8; }
body.dark-mode .quick-action-btn:hover { background: #3d3d5c; color: #e2e8f0; border-color: #4a4a6a; }

/* ===== 信息行 ===== */
body.dark-mode .info-row { border-bottom-color: #2d2d44; }
body.dark-mode .info-row .label { color: #64748b; }
body.dark-mode .info-row .value { color: #e2e8f0; }
body.dark-mode .info-grid { border-color: #2d2d44; }

/* ===== 筛选区域 ===== */
body.dark-mode .filter-row { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .filter-row label { color: #94a3b8; }

/* ===== 下拉菜单 ===== */
body.dark-mode .dropdown-menu { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .dropdown-menu-item { color: #94a3b8; }
body.dark-mode .dropdown-menu-item:hover { background: #2d2d44; color: #e2e8f0; }
body.dark-mode .dropdown-menu-divider { border-color: #2d2d44; }

/* ===== 模态框 ===== */
body.dark-mode .modal-content { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .modal-header { border-bottom-color: #2d2d44; }
body.dark-mode .modal-title { color: #e2e8f0; }
body.dark-mode .modal-body { color: #cbd5e1; }
body.dark-mode .modal-footer { border-top-color: #2d2d44; }
body.dark-mode .modal-close { color: #94a3b8; }
body.dark-mode .modal-close:hover { color: #e2e8f0; }
body.dark-mode .modal-backdrop { background: rgba(0,0,0,0.7); }

/* ===== DataTables ===== */
body.dark-mode .dataTables_wrapper { color: #cbd5e1; }
body.dark-mode .dataTables_wrapper .dataTables_length label { color: #94a3b8; }
body.dark-mode .dataTables_wrapper .dataTables_filter label { color: #94a3b8; }
body.dark-mode .dataTables_wrapper .dataTables_length select,
body.dark-mode .dataTables_wrapper .dataTables_filter input { background: #2d2d44; border-color: #3d3d5c; color: #e2e8f0; }
body.dark-mode .dataTables_wrapper .dataTables_info { color: #64748b; }
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button { color: #94a3b8 !important; background: #2d2d44; border-color: #3d3d5c; }
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current { background: #165DFF !important; color: #fff !important; border-color: #165DFF !important; }
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background: #3d3d5c !important; color: #e2e8f0 !important; }
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.disabled { color: #64748b !important; background: #1a1a2e; }
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover { background: #1a1a2e !important; }
body.dark-mode .dataTables_wrapper .dataTables_processing { background: #1a1a2e; border-color: #2d2d44; color: #cbd5e1; }
body.dark-mode table.dataTable tbody tr { background: transparent; }
body.dark-mode table.dataTable tbody tr.selected { background: rgba(22,93,255,0.15); }
body.dark-mode table.dataTable.row-border tbody th,
body.dark-mode table.dataTable.row-border tbody td { border-color: #2d2d44; }
body.dark-mode table.dataTable.display tbody td { border-color: #2d2d44; }

/* ===== SweetAlert2 ===== */
body.dark-mode .swal2-popup { background: #1a1a2e; color: #cbd5e1; }
body.dark-mode .swal2-title { color: #e2e8f0; }
body.dark-mode .swal2-html-container { color: #94a3b8; }
body.dark-mode .swal2-input { background: #2d2d44; border-color: #3d3d5c; color: #e2e8f0; }
body.dark-mode .swal2-validation-message { background: #1a1a2e; color: #f87171; }

/* ===== 面包屑 ===== */
body.dark-mode .breadcrumb { color: #64748b; }
body.dark-mode .breadcrumb a { color: #60a5fa; }
body.dark-mode .breadcrumb-item + .breadcrumb-item::before { color: #64748b; }

/* ===== 页面标题 ===== */
body.dark-mode .page-title { color: #e2e8f0; }
body.dark-mode .page-subtitle { color: #94a3b8; }

/* ===== 分隔线 ===== */
body.dark-mode .divider { border-color: #2d2d44; }
body.dark-mode hr { border-color: #2d2d44; }

/* ===== 文本 ===== */
body.dark-mode .text-muted { color: #64748b !important; }
body.dark-mode .text-primary { color: #60a5fa !important; }
body.dark-mode .text-success { color: #4ade80 !important; }
body.dark-mode .text-danger { color: #f87171 !important; }
body.dark-mode .text-warning { color: #fbbf24 !important; }
body.dark-mode .text-info { color: #22d3ee !important; }
body.dark-mode a:not(.btn):not(.menu-link):not(.dropdown-item):not(.breadcrumb a) { color: #60a5fa; }
body.dark-mode a:not(.btn):not(.menu-link):not(.dropdown-item):not(.breadcrumb a):hover { color: #93bbfd; }

/* ===== 代码/预格式化 ===== */
body.dark-mode code { background: #2d2d44; color: #e2e8f0; }
body.dark-mode pre { background: #2d2d44; border-color: #3d3d5c; color: #cbd5e1; }

/* ===== 图片/Logo占位 ===== */
body.dark-mode .logo-preview { border-color: #2d2d44; background: #2d2d44; }
body.dark-mode .logo-placeholder { background: #2d2d44; color: #64748b; }

/* ===== 标签页 ===== */
body.dark-mode .stat-tabs { border-bottom-color: #2d2d44; }
body.dark-mode .stat-tab { color: #94a3b8; }
body.dark-mode .stat-tab:hover { color: #e2e8f0; }
body.dark-mode .stat-tab.active { color: #60a5fa; border-bottom-color: #165DFF; }

/* ===== 进度条 ===== */
body.dark-mode .progress { background: #2d2d44; }
body.dark-mode .progress-bar { background: #165DFF; }

/* ===== Select2/自定义选择 ===== */
body.dark-mode .select2-container .select2-selection { background: #2d2d44; border-color: #3d3d5c; color: #e2e8f0; }
body.dark-mode .select2-dropdown { background: #1a1a2e; border-color: #2d2d44; }
body.dark-mode .select2-results__option { color: #cbd5e1; }
body.dark-mode .select2-results__option--highlighted { background: #165DFF; }

/* ===== 滚动条 ===== */
body.dark-mode ::-webkit-scrollbar { width: 8px; height: 8px; }
body.dark-mode ::-webkit-scrollbar-track { background: #1a1a2e; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #3d3d5c; border-radius: 4px; }
body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #4a4a6a; }

/* ===== 移动端 ===== */
body.dark-mode .layout-menu-mobile { background: #1a1a2e; }
body.dark-mode .layout-bottom-bar { background: #1a1a2e; border-color: #2d2d44; }

/* ============================================================
   仪表盘页面（admin/index.php）暗黑模式补充样式
   修复"访客概览 / 访问统计摘要 / 系统信息"等卡片在暗黑模式下
   背景仍为白色的问题，并补全 stat-card / welcome-banner /
   quick-action-btn / progress-bar 等缺失的暗黑样式
   ============================================================ */

/* 统计卡片：补充 stat-title / stat-desc 文本颜色（原仅定义了 stat-label） */
body.dark-mode .stat-card .stat-title { color: #94a3b8; }
body.dark-mode .stat-card .stat-desc { color: #64748b; }

/* 欢迎横幅：补充 h3 标题与 welcome-meta 颜色（原仅定义了 h2） */
body.dark-mode .welcome-banner h3 { color: #60a5fa; }
body.dark-mode .welcome-banner .welcome-meta { color: #64748b; }
body.dark-mode .welcome-banner .welcome-meta strong { color: #e2e8f0; }

/* 进度条：仪表盘中 .progress-bar 为轨道、.progress-fill 为填充。
   覆盖上方第 251 行 .progress-bar 的蓝色，改为深色轨道，避免轨道与填充同色 */
body.dark-mode .progress-bar { background: #2d2d44; }
body.dark-mode .progress-fill { background: var(--color-primary, #165DFF); }

/* 信息网格项：访客概览 / 访问统计摘要 / 系统信息卡片内的子卡片
   原 background:#fff，暗黑模式下改为深色，彻底解决白底问题 */
body.dark-mode .info-item { background: #252540; border-color: #3d3d5c; }
body.dark-mode .info-item h4 { color: #e2e8f0; }
body.dark-mode .info-item p { color: #64748b; }
body.dark-mode .info-item small { color: #64748b; }

/* 系统信息定义列表（保留兼容，dl/dt/dd 写法） */
body.dark-mode .system-info dt { color: #94a3b8; border-bottom-color: #2d2d44; }
body.dark-mode .system-info dd { color: #cbd5e1; border-bottom-color: #2d2d44; }

/* 快捷操作按钮：补充各颜色变体在暗黑模式下的图标 / 文字颜色
   （基础 .quick-action-btn 已设为灰色，这里恢复变体色） */
body.dark-mode .quick-action-btn span { color: #cbd5e1; }
body.dark-mode .quick-action-btn.primary { color: #60a5fa; }
body.dark-mode .quick-action-btn.success { color: #4ade80; }
body.dark-mode .quick-action-btn.warning { color: #fbbf24; }
body.dark-mode .quick-action-btn.info { color: #22d3ee; }

/* 页面标题（兼容其他后台页面使用 .page-header 的场景） */
body.dark-mode .page-header h1 { color: #e2e8f0; }
body.dark-mode .page-header .page-subtitle { color: #64748b; }