/* ============================================
   CBTA 系统 深色/浅色主题切换
   ============================================ */

/* 默认深色主题变量 */
:root {
    --theme-transition: 0.4s ease;
}

/* ========== 主题切换按钮 ========== */
.theme-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.3);
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    outline: none;
}

.theme-toggle:hover {
    transform: scale(1.1);
    border-color: #00d4ff;
    box-shadow: 0 0 20px rgba(0,212,255,0.3);
}

/* ========== 浅色主题覆盖 ========== */
[data-theme="light"] {
    /* 主题切换按钮 */
    .theme-toggle {
        border-color: rgba(0,0,0,0.2);
        background: rgba(255,255,255,0.8);
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    .theme-toggle:hover {
        border-color: #667eea;
        box-shadow: 0 0 20px rgba(102,126,234,0.3);
    }
}

/* ========== index.html 浅色主题 ========== */
[data-theme="light"] {
    --bg-primary: #f0f2f5;
    --bg-surface: #ffffff;
    --bg-card: #ffffff;
    --text-primary: #1a1a2e;
    --text-secondary: #555;
    --border-color: #e0e0e0;
}

[data-theme="light"] body {
    background: #f0f2f5 !important;
    color: #1a1a2e !important;
}

[data-theme="light"] body::before,
[data-theme="light"] body::after {
    opacity: 0 !important;
}

[data-theme="light"] .particle {
    display: none !important;
}

/* 卡片 - 浅色 */
[data-theme="light"] .module-card {
    background: #ffffff !important;
    border: 1px solid #e5e6eb !important;
    color: #1a1a2e !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] .module-card h3 {
    color: #1f2329 !important;
    text-shadow: none !important;
}

[data-theme="light"] .module-card p {
    color: #4e5969 !important;
}

[data-theme="light"] .module-card .module-arrow {
    color: #8a9199 !important;
}

[data-theme="light"] .module-card:hover {
    background: #fafbfc !important;
    border-color: #d0d4da !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .module-card:hover .module-icon {
    transform: scale(1.08);
}

[data-theme="light"] .module-card:hover .module-arrow {
    color: #1f2329 !important;
}

[data-theme="light"] .card-tag {
    color: #4e5969 !important;
    background: #f2f3f5 !important;
}

/* 浅色模式下评分录入区域 - 白底深字 */
[data-theme="light"] .input-section,
[data-theme="light"] .competency {
    background: #ffffff !important;
    border-color: #e5e6eb !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] .input-section .basic-info input,
[data-theme="light"] .input-section select {
    background: #f5f6f7 !important;
    color: #1f2329 !important;
    border-color: #d0d4da !important;
}

[data-theme="light"] .input-section .basic-info input::placeholder {
    color: #8a9199 !important;
}

[data-theme="light"] .competency h3 {
    color: #1f2329 !important;
    text-shadow: none !important;
}

/* 评分单选标签（内联白色文字）在浅色下改深色 */
[data-theme="light"] .rating-radio label,
[data-theme="light"] .competency label[style*="color: #ffffff"],
[data-theme="light"] .rating-option label {
    color: #1f2329 !important;
}

/* 评语标签在浅色下加深 */
[data-theme="light"] label[style*="color: #00d4ff"],
[data-theme="light"] label[style*="color: #00f5ff"] {
    color: #1f2329 !important;
    text-shadow: none !important;
}

/* 浅色模式下评分标签文字 */
[data-theme="light"] .rating-radio input,
[data-theme="light"] .rating-radio {
    color: #1f2329 !important;
}

/* ============================================
   浅色模式下评分录入完整区域 - 全浅色底 + 深字
   ============================================ */
/* 评分列（PF/PM 两栏卡片） */
[data-theme="light"] .rating-column {
    background: #f5f6f7 !important;
    border-color: #d0d4da !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] .rating-column h4 {
    color: #3553c9 !important;
    text-shadow: none !important;
}

/* 评分单选按钮：浅灰底 + 深字 */
[data-theme="light"] .rating-radio {
    background: #ffffff !important;
    border-color: #c5cbd3 !important;
    color: #1f2329 !important;
    box-shadow: none !important;
}

[data-theme="light"] .rating-radio:hover {
    border-color: #667eea !important;
    background: #eef0ff !important;
}

/* 下拉选择器（评估类型） */
[data-theme="light"] .rating-select {
    background: #ffffff !important;
    color: #1f2329 !important;
    border-color: #c5cbd3 !important;
}

[data-theme="light"] .rating-select option {
    background: #ffffff !important;
    color: #1f2329 !important;
}

[data-theme="light"] .rating-select:focus {
    border-color: #667eea !important;
    background: #ffffff !important;
}

/* 缺失OB项容器（内联半透明白底）浅色改浅灰底 */
[data-theme="light"] .rating-dropdown div[style*="background-color: rgba(255, 255, 255, 0.1)"] {
    background: #ffffff !important;
    border-color: #d0d4da !important;
}

/* 缺失OB项标签文字（内联白字）浅色改深字 */
[data-theme="light"] .rating-dropdown label[style*="color: #ffffff"] {
    color: #1f2329 !important;
}

[data-theme="light"] .rating-dropdown label[style*="color: #00d4ff"] {
    color: #3553c9 !important;
    text-shadow: none !important;
}

/* 缺失OB项 全选/取消全选 小按钮（内联半透明底+彩色字）浅色改实底白字 */
[data-theme="light"] .rating-dropdown button[style*="background-color: rgba(0, 212, 255, 0.2)"] {
    background: #667eea !important;
    color: #ffffff !important;
    border-color: #667eea !important;
}

[data-theme="light"] .rating-dropdown button[style*="background-color: rgba(231, 76, 60, 0.2)"] {
    background: #e74c3c !important;
    color: #ffffff !important;
    border-color: #e74c3c !important;
}

/* 浅色模式下 OB 项描述区：默认白字 + 半透明白底，在浅色评分区会
   变成"白字配白底"看不清，需改为浅底 + 深字 */
[data-theme="light"] .ob-description {
    background: #f5f6f7 !important;
    color: #1f2329 !important;
    border-color: #d0d4da !important;
}

[data-theme="light"] .ob-description-item {
    background: #ffffff !important;
    color: #1f2329 !important;
    border-color: #e5e6eb !important;
}

[data-theme="light"] .ob-description-item strong {
    color: #3553c9 !important;
}

/* 浅色模式下 OB 项复选框：默认青色文字在浅底上不清晰，改为浅底深字；
   选中态保持青色底 + 深字 */
[data-theme="light"] .rating-checkbox {
    background: #f5f6f7 !important;
    color: #1f2329 !important;
    border-color: #d0d4da !important;
}

[data-theme="light"] .rating-checkbox:hover {
    background: #eef0ff !important;
    color: #3553c9 !important;
    border-color: #3553c9 !important;
}

[data-theme="light"] .rating-checkbox.selected {
    background: #00d4ff !important;
    color: #0a0e27 !important;
    border-color: #00d4ff !important;
}

[data-theme="light"] .rating-checkbox.selected:hover {
    background: #00f5ff !important;
    border-color: #00f5ff !important;
}

/* 顶部导航 */
[data-theme="light"] .header-nav {
    background: #ffffff !important;
    border-bottom: 1px solid #e5e6eb !important;
}

[data-theme="light"] .header-nav span,
[data-theme="light"] .header-nav a {
    color: #1f2329 !important;
}

/* 标题 */
[data-theme="light"] h1 {
    -webkit-text-fill-color: #1a1a2e !important;
    text-shadow: none !important;
}

[data-theme="light"] h2 {
    color: #1f2329 !important;
    border-color: #e5e6eb !important;
}

/* 快捷操作区 */
[data-theme="light"] .quick-actions {
    background: #ffffff !important;
    border: 1px solid #e5e6eb !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] .quick-actions h2 {
    color: #1f2329 !important;
}

/* 登录状态 */
[data-theme="light"] .login-status {
    background: #f5f6f7 !important;
    color: #1f2329 !important;
    border: 1px solid #e5e6eb !important;
}

/* 登录状态条（内联浅渐变背景 + 白色文字）浅色模式改深字 */
[data-theme="light"] #loginStatus {
    background: linear-gradient(135deg, rgba(102,126,234,0.08) 0%, rgba(118,75,162,0.08) 100%) !important;
    color: #1f2329 !important;
    border: 1px solid #d0d4da !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] #loginStatus #loggedInUser,
[data-theme="light"] #loginStatus #userRoleDisplay {
    color: #1f2329 !important;
    text-shadow: none !important;
}

/* 浅色模式下头像容器 */
[data-theme="light"] .user-avatar {
    background: linear-gradient(135deg, rgba(102,126,234,0.15) 0%, rgba(118,75,162,0.15) 100%) !important;
    border-color: rgba(102,126,234,0.3) !important;
    box-shadow: 0 4px 12px rgba(102,126,234,0.2) !important;
}

/* 浅色模式下头像内部图标保持彩色 */
[data-theme="light"] .user-avatar svg circle[fill="#00d4ff"] { fill: #3553c9 !important; }
[data-theme="light"] .user-avatar svg path[fill="#9d4edd"] { fill: #7b2d8e !important; }
[data-theme="light"] .user-avatar svg circle[fill="rgba(0,212,255,0.18)"] { fill: rgba(102,126,234,0.15) !important; }

/* 评分录入 PF/PM 标题，浅色下加深 */
[data-theme="light"] .competency h4 {
    color: #3553c9 !important;
}

/* ============================================
   关键：浅色模式下，仍为深色背景的强调元素，
   其内部文字必须保持浅色（白色），不能被加深
   ============================================ */
[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-danger,
[data-theme="light"] .btn-success,
[data-theme="light"] button[style*="background: #2ecc71"],
[data-theme="light"] button[style*="background: #e74c3c"],
[data-theme="light"] button[style*="background: linear-gradient"] {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

/* 深色渐变强调块内的文字保持浅色 */
[data-theme="light"] div[style*="background: linear-gradient(135deg, #00d4ff"],
[data-theme="light"] div[style*="background: linear-gradient(135deg, #9d4edd"],
[data-theme="light"] div[style*="background: linear-gradient(135deg, #667eea"] {
    color: #ffffff !important;
}

[data-theme="light"] div[style*="background: linear-gradient(135deg, #00d4ff"] h2,
[data-theme="light"] div[style*="background: linear-gradient(135deg, #9d4edd"] h2,
[data-theme="light"] div[style*="background: linear-gradient(135deg, #667eea"] h2,
[data-theme="light"] div[style*="background: linear-gradient(135deg, #00d4ff"] span,
[data-theme="light"] div[style*="background: linear-gradient(135deg, #9d4edd"] span,
[data-theme="light"] div[style*="background: linear-gradient(135deg, #667eea"] span {
    color: #ffffff !important;
}

/* 按钮 */
[data-theme="light"] .btn-primary {
    background: #667eea !important;
    color: #fff !important;
}

/* 浅色模式下 .btn-danger / .btn-success 默认是半透明浅色背景，
   若沿用深色主题的浅底+白字将无法看清，需改为实色深底+白字 */
[data-theme="light"] .btn-danger {
    background: #e74c3c !important;
    color: #fff !important;
    border-color: #e74c3c !important;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.25) !important;
}

[data-theme="light"] .btn-danger:hover {
    background: #d63a2f !important;
    border-color: #d63a2f !important;
}

[data-theme="light"] .btn-success {
    background: #2ecc71 !important;
    color: #fff !important;
    border-color: #2ecc71 !important;
    box-shadow: 0 4px 15px rgba(46, 204, 113, 0.25) !important;
}

[data-theme="light"] .btn-success:hover {
    background: #27ae60 !important;
    border-color: #27ae60 !important;
}

/* btn-info 导航按钮：浅色下改为实色深底 + 白字，避免浅底+浅色文字看不清 */
[data-theme="light"] .btn-info:nth-of-type(1) {
    background: #2ecc71 !important;
    color: #fff !important;
    border-color: #2ecc71 !important;
}

[data-theme="light"] .btn-info:nth-of-type(2) {
    background: #9d4edd !important;
    color: #fff !important;
    border-color: #9d4edd !important;
}

[data-theme="light"] .btn-info:nth-of-type(3) {
    background: #f39c12 !important;
    color: #fff !important;
    border-color: #f39c12 !important;
}

[data-theme="light"] .btn-secondary {
    background: #f0f2f5 !important;
    color: #1a1a2e !important;
    border: 1px solid #e0e0e0 !important;
}

/* 表单输入 */
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea {
    background: #ffffff !important;
    color: #1a1a2e !important;
    border-color: #d0d0d0 !important;
}

[data-theme="light"] input:focus,
[data-theme="light"] select:focus,
[data-theme="light"] textarea:focus {
    border-color: #667eea !important;
    box-shadow: 0 0 0 3px rgba(102,126,234,0.1) !important;
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
    color: #999 !important;
}

/* 表格 */
[data-theme="light"] table {
    background: #ffffff !important;
}

[data-theme="light"] th {
    background: #667eea !important;
    color: #ffffff !important;
}

[data-theme="light"] td {
    color: #1a1a2e !important;
    border-bottom-color: #e8e8e8 !important;
}

[data-theme="light"] tr:nth-child(even) td {
    background: #f8f9fa !important;
}

[data-theme="light"] tr:hover td {
    background: #eef0ff !important;
}

/* user-management 页面 */
[data-theme="light"] .top-bar {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .top-bar h1 {
    -webkit-text-fill-color: #667eea !important;
}

[data-theme="light"] .tabs {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .tab-btn {
    color: #555 !important;
}

[data-theme="light"] .tab-btn.active {
    background: rgba(102,126,234,0.1) !important;
    color: #667eea !important;
}

[data-theme="light"] .card {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .card-title {
    color: #1a1a2e !important;
}

[data-theme="light"] .card-count {
    background: #f0f2f5 !important;
    color: #555 !important;
}

[data-theme="light"] .search-input {
    background: #f0f2f5 !important;
    border-color: #d0d0d0 !important;
    color: #1a1a2e !important;
}

[data-theme="light"] .search-select {
    background: #f0f2f5 !important;
    border-color: #d0d0d0 !important;
    color: #1a1a2e !important;
}

[data-theme="light"] .modal {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .modal h2 {
    color: #667eea !important;
}

[data-theme="light"] .form-group label {
    color: #555 !important;
}

[data-theme="light"] .form-group input,
[data-theme="light"] .form-group select,
[data-theme="light"] .form-group textarea {
    background: #f0f2f5 !important;
    border-color: #d0d0d0 !important;
    color: #1a1a2e !important;
}

[data-theme="light"] .btn-outline {
    border-color: #d0d0d0 !important;
    color: #555 !important;
}

[data-theme="light"] .btn-outline:hover {
    border-color: #667eea !important;
    color: #667eea !important;
}

[data-theme="light"] .btn-back {
    border-color: #d0d0d0 !important;
    color: #555 !important;
}

[data-theme="light"] .btn-back:hover {
    border-color: #667eea !important;
    color: #667eea !important;
}

[data-theme="light"] .empty-state {
    color: #999 !important;
}

/* user-management 角色徽章：浅色模式下原为浅色半透明底 + 浅色文字，
   白底上看不清，需加深文字颜色保证可读性 */
[data-theme="light"] .role-admin {
    background: rgba(157, 78, 221, 0.12) !important;
    color: #7b2d8e !important;
}

[data-theme="light"] .role-evaluator {
    background: rgba(0, 170, 200, 0.12) !important;
    color: #0a7c8f !important;
}

[data-theme="light"] .role-user {
    background: rgba(120, 130, 145, 0.12) !important;
    color: #4a5568 !important;
}

[data-theme="light"] .table-wrapper {
    border-color: #e0e0e0 !important;
}

/* evaluator-statistics / individual-analysis / group-analysis 页面通用 */
[data-theme="light"] .analysis-container,
[data-theme="light"] .stats-container,
[data-theme="light"] .chart-container {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .section-title {
    color: #1a1a2e !important;
}

[data-theme="light"] .filter-bar,
[data-theme="light"] .toolbar {
    background: #f8f9fa !important;
    border-color: #e0e0e0 !important;
}

[data-theme="light"] .stat-card {
    background: #ffffff !important;
    border-color: #e0e0e0 !important;
    color: #1a1a2e !important;
}

[data-theme="light"] .stat-value {
    color: #667eea !important;
}

[data-theme="light"] .stat-label {
    color: #555 !important;
}

/* ai-report-generator 页面 */
[data-theme="light"] body[style*="background"] {
    background: #f0f2f5 !important;
}

[data-theme="light"] div[style*="background: white"],
[data-theme="light"] div[style*="background: #fff"] {
    background: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}

[data-theme="light"] h1[style*="color: #1a5276"] {
    color: #667eea !important;
}

[data-theme="light"] div[style*="background: linear-gradient(135deg, #667eea"] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

/* 任何浅色背景下的深色文字 */
[data-theme="light"] .text-white {
    color: #1a1a2e !important;
}

[data-theme="light"] .glass-panel {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: #e0e0e0 !important;
}

/* 评语/备注区域 */
[data-theme="light"] .comment-box,
[data-theme="light"] .note-area {
    background: #f8f9fa !important;
    color: #1a1a2e !important;
    border-color: #e0e0e0 !important;
}

/* ============================================
   针对原本浅色页面的深色模式
   使用 body class 精确匹配
   ============================================ */

/* 浅色页面深色模式 - 通用 */
[data-theme="dark"] .evaluator-page,
[data-theme="dark"] .individual-page,
[data-theme="dark"] .group-page,
[data-theme="dark"] .aireport-page {
    background: #0d1117 !important;
    color: #e6edf3 !important;
}

[data-theme="dark"] .evaluator-page .container,
[data-theme="dark"] .individual-page .container,
[data-theme="dark"] .group-page .container {
    background: #161b22 !important;
    border-color: #30363d !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
}

[data-theme="dark"] .evaluator-page header,
[data-theme="dark"] .individual-page header,
[data-theme="dark"] .group-page header {
    background: linear-gradient(135deg, #0d1117, #161b22) !important;
    border-color: #30363d !important;
    color: #e6edf3 !important;
}

[data-theme="dark"] .evaluator-page nav,
[data-theme="dark"] .individual-page nav,
[data-theme="dark"] .group-page nav {
    background: #161b22 !important;
    border-color: #30363d !important;
}

[data-theme="dark"] .evaluator-page nav a,
[data-theme="dark"] .individual-page nav a,
[data-theme="dark"] .group-page nav a {
    color: #8b949e !important;
}

[data-theme="dark"] .evaluator-page nav a:hover,
[data-theme="dark"] .individual-page nav a:hover,
[data-theme="dark"] .group-page nav a:hover,
[data-theme="dark"] .evaluator-page nav a.active,
[data-theme="dark"] .individual-page nav a.active,
[data-theme="dark"] .group-page nav a.active {
    color: #00d4ff !important;
    background: rgba(0,212,255,0.1) !important;
}

[data-theme="dark"] .evaluator-page h1,
[data-theme="dark"] .evaluator-page h2,
[data-theme="dark"] .evaluator-page h3,
[data-theme="dark"] .evaluator-page h4,
[data-theme="dark"] .individual-page h1,
[data-theme="dark"] .individual-page h2,
[data-theme="dark"] .individual-page h3,
[data-theme="dark"] .individual-page h4,
[data-theme="dark"] .group-page h1,
[data-theme="dark"] .group-page h2,
[data-theme="dark"] .group-page h3,
[data-theme="dark"] .group-page h4 {
    color: #e6edf3 !important;
}

[data-theme="dark"] .evaluator-page p,
[data-theme="dark"] .evaluator-page span,
[data-theme="dark"] .evaluator-page li,
[data-theme="dark"] .evaluator-page label,
[data-theme="dark"] .individual-page p,
[data-theme="dark"] .individual-page span,
[data-theme="dark"] .individual-page li,
[data-theme="dark"] .individual-page label,
[data-theme="dark"] .group-page p,
[data-theme="dark"] .group-page span,
[data-theme="dark"] .group-page li,
[data-theme="dark"] .group-page label {
    color: #e6edf3 !important;
}

[data-theme="dark"] .evaluator-page .card,
[data-theme="dark"] .individual-page .card,
[data-theme="dark"] .group-page .card {
    background: #161b22 !important;
    border-color: #30363d !important;
    color: #e6edf3 !important;
}

[data-theme="dark"] .evaluator-page input,
[data-theme="dark"] .evaluator-page select,
[data-theme="dark"] .evaluator-page textarea,
[data-theme="dark"] .individual-page input,
[data-theme="dark"] .individual-page select,
[data-theme="dark"] .individual-page textarea,
[data-theme="dark"] .group-page input,
[data-theme="dark"] .group-page select,
[data-theme="dark"] .group-page textarea {
    background: #0d1117 !important;
    color: #e6edf3 !important;
    border-color: #30363d !important;
}

[data-theme="dark"] .evaluator-page input:focus,
[data-theme="dark"] .evaluator-page select:focus,
[data-theme="dark"] .evaluator-page textarea:focus,
[data-theme="dark"] .individual-page input:focus,
[data-theme="dark"] .individual-page select:focus,
[data-theme="dark"] .individual-page textarea:focus,
[data-theme="dark"] .group-page input:focus,
[data-theme="dark"] .group-page select:focus,
[data-theme="dark"] .group-page textarea:focus {
    border-color: #00d4ff !important;
    box-shadow: 0 0 0 3px rgba(0,212,255,0.1) !important;
}

[data-theme="dark"] .evaluator-page table,
[data-theme="dark"] .individual-page table,
[data-theme="dark"] .group-page table {
    background: #161b22 !important;
}

[data-theme="dark"] .evaluator-page th,
[data-theme="dark"] .individual-page th,
[data-theme="dark"] .group-page th {
    background: rgba(0,212,255,0.1) !important;
    color: #00d4ff !important;
    border-color: #30363d !important;
}

[data-theme="dark"] .evaluator-page td,
[data-theme="dark"] .individual-page td,
[data-theme="dark"] .group-page td {
    color: #e6edf3 !important;
    border-color: #30363d !important;
}

[data-theme="dark"] .evaluator-page tr:nth-child(even) td,
[data-theme="dark"] .individual-page tr:nth-child(even) td,
[data-theme="dark"] .group-page tr:nth-child(even) td {
    background: rgba(255,255,255,0.02) !important;
}

[data-theme="dark"] .evaluator-page tr:hover td,
[data-theme="dark"] .individual-page tr:hover td,
[data-theme="dark"] .group-page tr:hover td {
    background: rgba(0,212,255,0.05) !important;
}

/* ai-report-generator 深色模式 */
[data-theme="dark"] .aireport-page {
    background: #0d1117 !important;
}

[data-theme="dark"] .aireport-page .container {
    background: #161b22 !important;
    color: #e6edf3 !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}

[data-theme="dark"] .aireport-page h1 {
    color: #00d4ff !important;
    border-color: #30363d !important;
}

[data-theme="dark"] .aireport-page div[style*="background: #f8f9fa"] {
    background: #0d1117 !important;
}

[data-theme="dark"] .aireport-page div[style*="background: #fff3cd"] {
    background: rgba(240,173,78,0.1) !important;
    border-color: rgba(240,173,78,0.3) !important;
}

[data-theme="dark"] .aireport-page div[style*="color: #856404"] {
    color: #f0ad4e !important;
}

[data-theme="dark"] .aireport-page div[style*="color: #856404"] a {
    color: #00d4ff !important;
}

[data-theme="dark"] .aireport-page .btn-back {
    background: #161b22 !important;
    border-color: #30363d !important;
    color: #8b949e !important;
}

[data-theme="dark"] .aireport-page .btn-back:hover {
    border-color: #00d4ff !important;
    color: #00d4ff !important;
}

[data-theme="dark"] .aireport-page .report-output {
    background: #0d1117 !important;
    color: #e6edf3 !important;
}

[data-theme="dark"] .aireport-page .no-data p {
    color: #8b949e !important;
}

/* 移除旧的通用深色模式规则 */
[data-theme="dark"] .card {
    /* 仅对 user-management 等深色原生页面 */
}

[data-theme="dark"] th,
[data-theme="dark"] td {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4 {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] p, 
[data-theme="dark"] span, 
[data-theme="dark"] li, 
[data-theme="dark"] label {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] table {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] .btn-primary {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] .btn-danger {
    /* 页面特定规则已在上方定义 */
}

[data-theme="dark"] .stat-card,
[data-theme="dark"] .stats-card {
    /* 页面特定规则已在上方定义 */
}

/* ============================================
   index.html 首页深色模式
   （首页为新版浅色设计，需补深色变体）
   ============================================ */
[data-theme="dark"] .index-page {
    background: #0d1117 !important;
    color: #e6edf3 !important;
}

[data-theme="dark"] .index-page .welcome-section h1 {
    color: #e6edf3 !important;
}

[data-theme="dark"] .index-page .welcome-subtitle {
    color: #8b949e !important;
}

/* 顶部渐变横幅在深色模式下保持彩色渐变，白字不变 */
[data-theme="dark"] .index-page .banner-title h1 {
    color: #ffffff !important;
}

[data-theme="dark"] .index-page .banner-title p {
    color: rgba(255,255,255,0.8) !important;
}

/* 模块卡片深色 */
[data-theme="dark"] .index-page .module-card {
    background: #161b22 !important;
    border-color: #30363d !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}

[data-theme="dark"] .index-page .module-card h3 {
    color: #e6edf3 !important;
    text-shadow: none !important;
}

[data-theme="dark"] .index-page .module-card p {
    color: #8b949e !important;
}

[data-theme="dark"] .index-page .module-card:hover {
    background: #1c2430 !important;
    border-color: #3d4654 !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.45) !important;
}

/* 联系我们卡片深色 */
[data-theme="dark"] .index-page .contact-card {
    background: linear-gradient(135deg, #1a1530 0%, #1c1835 30%, #161b22 70%, #151e2e 100%) !important;
    border-color: #2d2548 !important;
}

[data-theme="dark"] .index-page .contact-card:hover {
    background: linear-gradient(135deg, #1e1a38 0%, #201c3d 30%, #1c2330 70%, #1b2436 100%) !important;
    border-color: #3d3258 !important;
    box-shadow: 0 12px 36px rgba(108, 92, 231, 0.12) !important;
}

[data-theme="dark"] .index-page .contact-card::before {
    background: linear-gradient(90deg, #8b5cf6, #a78bfa, #7c8cf6) !important;
}

[data-theme="dark"] .index-page .contact-header {
    border-bottom-color: #2d2548 !important;
}

[data-theme="dark"] .index-page .contact-title-area h3 {
    color: #e0d8f8 !important;
}

[data-theme="dark"] .index-page .contact-title-area .contact-subtitle {
    color: #a098c8 !important;
}

[data-theme="dark"] .index-page .feature-item {
    background: rgba(30, 25, 50, 0.6) !important;
    border-color: #2d2548 !important;
}

[data-theme="dark"] .index-page .feature-item:hover {
    background: rgba(40, 34, 60, 0.8) !important;
    border-color: #3d3258 !important;
    box-shadow: 0 2px 10px rgba(108, 92, 231, 0.12) !important;
}

[data-theme="dark"] .index-page .feature-icon {
    background: linear-gradient(135deg, rgba(108, 92, 231, 0.2), rgba(167, 139, 250, 0.15)) !important;
}

[data-theme="dark"] .index-page .feature-text strong {
    color: #d0c8f0 !important;
}

[data-theme="dark"] .index-page .feature-text span {
    color: #8b82b8 !important;
}

[data-theme="dark"] .index-page .contact-cta {
    background: linear-gradient(135deg, rgba(108, 92, 231, 0.08), rgba(167, 139, 250, 0.05)) !important;
    border-color: #2d2548 !important;
}

[data-theme="dark"] .index-page .cta-text strong {
    color: #e0d8f8 !important;
}

[data-theme="dark"] .index-page .cta-text span {
    color: #a098c8 !important;
}

[data-theme="dark"] .index-page .cta-contact-item {
    background: rgba(30, 25, 50, 0.5) !important;
    border-color: #2d2548 !important;
    color: #b0a0d8 !important;
}

[data-theme="dark"] .index-page .cta-contact-item:hover {
    background: rgba(40, 34, 60, 0.7) !important;
    border-color: #3d3258 !important;
}

/* 联系表单深色 */
[data-theme="dark"] .index-page .cta-form-title {
    color: #b0a0d8 !important;
}

[data-theme="dark"] .index-page .cta-input {
    background: rgba(30, 25, 50, 0.5) !important;
    border-color: #2d2548 !important;
    color: #d0c8f0 !important;
}

[data-theme="dark"] .index-page .cta-input::placeholder {
    color: #6b6090 !important;
}

[data-theme="dark"] .index-page .cta-input:focus {
    border-color: #8b5cf6 !important;
    background: rgba(40, 34, 60, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15) !important;
}

/* 联系卡片左侧扩充段落深色 */
[data-theme="dark"] .index-page .contact-features-extra p {
    background: rgba(30, 25, 50, 0.5) !important;
    border-left-color: #8b5cf6 !important;
    color: #a098c8 !important;
}