:root {
    /* Colors - 炫酷科技风 */
    --color-primary: #00ffff;
    --color-primary-dark: #00b8ff;
    --color-primary-rgb: 0, 255, 255;
    --color-secondary: #7fb4d4;
    --color-success: #00ff88;
    --color-warning: #ffaa33;
    --color-danger: #ff5e7c;
    --color-info: #0af;
    --color-success-rgb: 0, 255, 136;
    
    /* Background colors - 深色背景（调亮版） */
    --bg-primary: rgba(30, 50, 80, 0.5);
    --bg-secondary: rgba(15, 40, 70, 0.75);
    --bg-tertiary: rgba(20, 50, 90, 0.55);
    --bg-dark: #0d1a2e;
    --bg-gradient: linear-gradient(135deg, #111e35 0%, #1e2a48 100%);
    --bg-card: #1e293b;
    --bg-card-hover: #273549;

    /* Text colors - 浅色文字 */
    --text-primary: #ffffff;
    --text-secondary: #aaddff;
    --text-tertiary: #7fb4d4;
    --text-inverse: #0f172a;
    --text-muted: #9cf;
    --text-light: #ccf;
    
    /* Border colors - 发光边框 */
    --border-light: rgba(64, 224, 255, 0.2);
    --border-medium: rgba(0, 255, 255, 0.3);
    --border-dark: #0af;
    
    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    
    /* Typography */
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    
    /* Border radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    
    /* Shadows - 发光效果 */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
    --shadow-md: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 255, 255, 0.1) inset;
    --shadow-lg: 0 20px 40px rgba(0, 255, 255, 0.2), 0 0 20px rgba(0, 255, 255, 0.3) inset;
    --shadow-xl: 0 0 30px rgba(0, 184, 255, 0.3);
    --shadow-glow: 0 0 20px #0af;
    --shadow-text: 0 0 8px cyan;
    
    /* Transitions */
    --transition-fast: 150ms ease-in-out;
    --transition-base: 200ms ease-in-out;
    --transition-slow: 300ms ease-in-out;
    
    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    
    /* Breakpoints (for reference in JS) */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;

    /* 站点详情：筛选条与指标卡（随主题覆盖） */
    --site-detail-filter-bg: rgba(0, 30, 60, 0.6);
    --site-detail-filter-color: var(--text-light);
    --site-detail-filter-border: var(--border-light);
    --site-detail-filter-placeholder: rgba(127, 180, 212, 0.5);
    --site-detail-filter-option-bg: rgba(0, 30, 60, 0.95);
    --site-detail-filter-option-color: var(--text-light);
    --site-detail-summary-wrap-bg: rgba(0, 30, 60, 0.4);
    --site-detail-summary-wrap-border: var(--border-light);
    --site-detail-summary-wrap-shadow: 0 0 20px rgba(0, 170, 255, 0.15);
    --site-detail-summary-card-bg: rgba(0, 50, 100, 0.3);
    --site-detail-summary-card-border: rgba(0, 170, 255, 0.3);
    --site-detail-summary-highlight-bg: rgba(var(--color-primary-rgb, 0, 170, 255), 0.15);
    --site-detail-summary-highlight-border: var(--color-primary);
    --site-detail-summary-label-color: var(--text-muted);
    --site-detail-summary-value-g1: #ffffff;
    --site-detail-summary-value-g2: #00ffff;
    --site-detail-multi-bg: rgba(0, 30, 60, 0.75);
    --site-detail-multi-border: var(--border-light);
    --site-detail-multi-text: var(--text-light);
}

/* ===== 浅色主题 ===== */
[data-theme="light"] {
    --color-primary: #0077cc;
    --color-primary-dark: #005fa3;
    --color-primary-rgb: 0, 119, 204;
    --color-success-rgb: 22, 163, 74;
    --color-secondary: #4a90c4;
    --color-success: #16a34a;
    --color-warning: #d97706;
    --color-danger: #dc2626;
    --color-info: #0284c7;

    --bg-primary: rgba(255, 255, 255, 0.85);
    --bg-secondary: rgba(240, 247, 255, 0.9);
    --bg-tertiary: rgba(224, 238, 255, 0.8);
    --bg-dark: #f0f6ff;
    --bg-gradient: linear-gradient(135deg, #e8f4ff 0%, #f5f9ff 100%);
    --bg-card: var(--bg-primary);
    --bg-card-hover: var(--bg-secondary);

    --text-primary: #1a2a3a;
    --text-secondary: #2c5282;
    --text-tertiary: #4a7fa5;
    --text-inverse: #ffffff;
    --text-muted: #5a8ab0;
    --text-light: #7aa8c8;

    --border-light: rgba(0, 120, 200, 0.15);
    --border-medium: rgba(0, 120, 200, 0.25);
    --border-dark: #0077cc;

    --shadow-sm: 0 1px 3px rgba(0, 80, 160, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 80, 160, 0.12);
    --shadow-lg: 0 8px 24px rgba(0, 80, 160, 0.15);
    --shadow-xl: 0 0 20px rgba(0, 120, 200, 0.2);
    --shadow-glow: 0 0 12px rgba(0, 120, 200, 0.3);
    --shadow-text: none;

    --site-detail-filter-bg: #ffffff;
    --site-detail-filter-color: #1a2a3a;
    --site-detail-filter-border: rgba(0, 100, 200, 0.2);
    --site-detail-filter-placeholder: rgba(26, 42, 58, 0.45);
    --site-detail-filter-option-bg: #ffffff;
    --site-detail-filter-option-color: #1a2a3a;
    --site-detail-summary-wrap-bg: rgba(240, 248, 255, 0.8);
    --site-detail-summary-wrap-border: rgba(0, 100, 200, 0.12);
    --site-detail-summary-wrap-shadow: none;
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.7);
    --site-detail-summary-card-border: rgba(0, 100, 200, 0.2);
    --site-detail-summary-highlight-bg: rgba(0, 100, 200, 0.08);
    --site-detail-summary-highlight-border: rgba(0, 100, 200, 0.35);
    --site-detail-summary-label-color: #5a8ab0;
    --site-detail-summary-value-g1: #0055aa;
    --site-detail-summary-value-g2: #0077cc;
    --site-detail-multi-bg: #ffffff;
    --site-detail-multi-border: rgba(0, 100, 200, 0.2);
    --site-detail-multi-text: #1a2a3a;
}

/* ===== 浅色主题：组件级覆盖 ===== */
[data-theme="light"] body {
    color: #1a2a3a;
    background-color: #f0f6ff;
    background-image:
        radial-gradient(circle at 20% 20%, rgba(0, 100, 200, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 80%, rgba(0, 80, 180, 0.06) 0%, transparent 40%),
        linear-gradient(135deg, #e8f4ff 0%, #f5f9ff 100%);
}

/* 导航栏 */
[data-theme="light"] .navigation-bar {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 2px solid #0077cc;
    box-shadow: 0 2px 12px rgba(0, 100, 200, 0.12);
}

[data-theme="light"] .nav-link {
    color: #2c5282 !important;
}

[data-theme="light"] .nav-link:hover,
[data-theme="light"] .nav-link.active {
    color: #0077cc !important;
    background: rgba(0, 120, 200, 0.08) !important;
}

[data-theme="light"] .nav-brand-name {
    color: #d97706;
    text-shadow: none;
}

/* 卡片和面板 */
[data-theme="light"] .card,
[data-theme="light"] .panel,
[data-theme="light"] .data-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 120, 200, 0.2);
    color: #1a2a3a;
}

/* 表格 */
[data-theme="light"] table thead th {
    background: rgba(0, 100, 200, 0.08) !important;
    color: #1a3a5c !important;
    border-bottom-color: rgba(0, 120, 200, 0.2) !important;
}

[data-theme="light"] table tbody tr:hover {
    background: rgba(0, 120, 200, 0.05) !important;
}

[data-theme="light"] table tbody td {
    color: #1a2a3a !important;
    border-bottom-color: rgba(0, 120, 200, 0.08) !important;
}

/* 次级导航 */
[data-theme="light"] .nav-secondary {
    background: rgba(240, 248, 255, 0.9) !important;
    border-color: rgba(0, 120, 200, 0.2) !important;
}

[data-theme="light"] .nav-secondary .nav-link {
    color: #2c5282 !important;
}

[data-theme="light"] .nav-secondary .nav-link.active {
    background: rgba(0, 120, 200, 0.12) !important;
    color: #0055aa !important;
}

/* 输入框和按钮 */
[data-theme="light"] input,
[data-theme="light"] select {
    background: #fff !important;
    border-color: rgba(0, 120, 200, 0.3) !important;
    color: #1a2a3a !important;
}

/* 考勤组件 */
[data-theme="light"] .ra-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 120, 200, 0.2);
}

[data-theme="light"] .ra-card-label {
    color: #4a7fa5;
}

[data-theme="light"] .ra-table-wrap,
[data-theme="light"] .ra-table-wrap-detail {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 120, 200, 0.15);
}

[data-theme="light"] .ra-table thead th {
    background: rgba(0, 100, 200, 0.07) !important;
    color: #1a3a5c !important;
}

[data-theme="light"] .ra-table tbody td {
    color: #1a2a3a !important;
}

/* 站点名称 span 默认白色，浅色主题下强制深色 */
[data-theme="light"] .ra-site-link {
    color: #1a2a3a !important;
    font-weight: 600;
}
[data-theme="light"] .ra-site-link:hover {
    color: #0055cc !important;
}

[data-theme="light"] .ra-date-input {
    background: #fff !important;
    color: #1a2a3a !important;
    border-color: rgba(0, 120, 200, 0.3) !important;
    color-scheme: light !important;
}

[data-theme="light"] .ra-breadcrumb {
    color: #4a7fa5;
}

[data-theme="light"] .ra-amount-neg {
    color: #c0392b !important;
}

[data-theme="light"] .ra-amount-zero {
    color: #7a9ab5 !important;
}

/* 通用文字修复 */
[data-theme="light"] .section-title,
[data-theme="light"] h1, [data-theme="light"] h2,
[data-theme="light"] h3, [data-theme="light"] h4 {
    color: #1a2a3a;
}

[data-theme="light"] .text-muted,
[data-theme="light"] .subtitle {
    color: #5a8ab0;
}

/* ===================================================
   多主题扩展  aurora / sakura / ocean / sunset
   =================================================== */

/* ── 极光 Aurora（深绿 + 青紫渐变） ── */
[data-theme="aurora"] {
    --color-primary: #00e5a0;
    --color-primary-dark: #00c080;
    --color-secondary: #7c6fff;
    --color-success: #00e5a0;
    --color-warning: #f5c842;
    --color-danger: #ff5f7e;
    --color-info: #00cfff;

    --bg-primary: rgba(0, 30, 25, 0.6);
    --bg-secondary: rgba(0, 20, 18, 0.8);
    --bg-tertiary: rgba(0, 40, 32, 0.55);
    --bg-dark: #020f0c;
    --bg-gradient: linear-gradient(135deg, #020f0c 0%, #071a14 50%, #0d1a2a 100%);

    --text-primary: #e0fff5;
    --text-secondary: #7fffcc;
    --text-tertiary: #4dd9a0;
    --text-inverse: #020f0c;
    --text-muted: #5abf96;
    --text-light: #a0f0d0;

    --border-light: rgba(0, 229, 160, 0.18);
    --border-medium: rgba(0, 229, 160, 0.32);
    --border-dark: #00e5a0;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 8px 24px rgba(0, 229, 160, 0.15);
    --shadow-lg: 0 12px 36px rgba(0, 229, 160, 0.25);
    --shadow-xl: 0 0 30px rgba(0, 229, 160, 0.3);
    --shadow-glow: 0 0 18px rgba(0, 229, 160, 0.6);
    --shadow-text: 0 0 8px rgba(0, 229, 160, 0.8);

    --bg-card: var(--bg-secondary);
    --bg-card-hover: var(--bg-primary);
}

[data-theme="aurora"] body {
    background-color: #020f0c;
    background-image: linear-gradient(160deg, #020f0c 0%, #071a14 60%, #0d1a2a 100%);
    position: relative;
    isolation: isolate;
}

/* ── 极光动效层：::before 伪元素，完全不遮挡内容 ── */
[data-theme="aurora"] body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    /* 多层极光光带 */
    background:
        /* 极光带 1：绿色主光带，顶部弧形扫过 */
        radial-gradient(ellipse 120% 35% at 30% -5%,
            rgba(0, 229, 160, 0.28) 0%,
            rgba(0, 229, 160, 0.12) 40%,
            transparent 70%),
        /* 极光带 2：青紫色，右侧弧形 */
        radial-gradient(ellipse 100% 30% at 80% 5%,
            rgba(124, 111, 255, 0.22) 0%,
            rgba(0, 207, 255, 0.10) 45%,
            transparent 70%),
        /* 极光带 3：蓝绿，中部飘动 */
        radial-gradient(ellipse 80% 25% at 55% 15%,
            rgba(0, 207, 255, 0.16) 0%,
            rgba(0, 229, 160, 0.08) 50%,
            transparent 75%),
        /* 极光带 4：深紫，左下角晕染 */
        radial-gradient(ellipse 90% 40% at -10% 60%,
            rgba(124, 111, 255, 0.14) 0%,
            transparent 60%),
        /* 极光带 5：绿色余晖，右下 */
        radial-gradient(ellipse 70% 30% at 110% 70%,
            rgba(0, 229, 160, 0.10) 0%,
            transparent 55%);
    background-size: 200% 200%;
    filter: blur(18px);
    animation:
        aurora-wave-1 14s ease-in-out infinite alternate,
        aurora-wave-2 20s ease-in-out infinite alternate-reverse;
    opacity: 0.85;
}

@keyframes aurora-wave-1 {
    0%   { background-position: 0% 0%, 100% 0%, 50% 0%, 0% 50%, 100% 80%; transform: scaleY(1) translateY(0); }
    25%  { background-position: 15% 5%, 85% 8%, 60% 3%, 5% 55%, 95% 75%; transform: scaleY(1.04) translateY(-8px); }
    50%  { background-position: 8% 12%, 92% 3%, 45% 8%, -5% 45%, 105% 85%; transform: scaleY(0.97) translateY(4px); }
    75%  { background-position: 20% 2%, 78% 10%, 55% 5%, 8% 60%, 90% 70%; transform: scaleY(1.06) translateY(-12px); }
    100% { background-position: 5% 8%, 95% 5%, 48% 10%, 2% 50%, 98% 78%; transform: scaleY(1) translateY(0); }
}

@keyframes aurora-wave-2 {
    0%   { opacity: 0.75; filter: blur(18px) hue-rotate(0deg); }
    33%  { opacity: 0.90; filter: blur(22px) hue-rotate(15deg); }
    66%  { opacity: 0.80; filter: blur(16px) hue-rotate(-10deg); }
    100% { opacity: 0.85; filter: blur(20px) hue-rotate(8deg); }
}

/* 确保内容层级高于极光背景 canvas（只针对主要内容容器，不影响 fixed 定位元素） */
[data-theme="aurora"] #navigation,
[data-theme="aurora"] #main-content,
[data-theme="aurora"] #app {
    position: relative;
    z-index: 1;
}

/* connection-status 是 fixed 定位，单独保证层级，不设 position 避免拉伸 */
[data-theme="aurora"] .connection-status {
    z-index: var(--z-fixed, 1030) !important;
}

/* 导航栏固定在最上层 */
[data-theme="aurora"] .navigation-bar {
    z-index: var(--z-sticky, 1020) !important;
}

/* logout-btn 也是 fixed，保证层级 */
[data-theme="aurora"] #logout-btn {
    z-index: 9999 !important;
}

[data-theme="aurora"] .navigation-bar {
    background: rgba(2, 15, 12, 0.92);
    border-bottom: 1.5px solid rgba(0, 229, 160, 0.4);
    box-shadow: 0 2px 20px rgba(0, 229, 160, 0.15);
}
[data-theme="aurora"] .nav-link { color: #7fffcc !important; }
[data-theme="aurora"] .nav-link:hover,
[data-theme="aurora"] .nav-link.active {
    color: #00e5a0 !important;
    background: rgba(0, 229, 160, 0.1) !important;
}
[data-theme="aurora"] .nav-brand-name { color: #00e5a0; text-shadow: 0 0 10px rgba(0,229,160,0.6); }

/* 次级导航 */
[data-theme="aurora"] .nav-secondary {
    background: rgba(2, 15, 12, 0.9) !important;
    border-color: rgba(0, 229, 160, 0.2) !important;
}
[data-theme="aurora"] .nav-secondary .nav-link { color: #4dd9a0 !important; }
[data-theme="aurora"] .nav-secondary .nav-link:hover,
[data-theme="aurora"] .nav-secondary .nav-link.active {
    color: #00e5a0 !important;
    background: rgba(0, 229, 160, 0.1) !important;
}


/* ── 樱花 Sakura（粉紫清新） ── */
[data-theme="sakura"] {
    --color-primary: #e8609a;
    --color-primary-dark: #c94880;
    --color-primary-rgb: 232, 96, 154;
    --color-success-rgb: 52, 211, 153;
    --color-secondary: #a78bfa;
    --color-success: #34d399;
    --color-warning: #fbbf24;
    --color-danger: #f87171;
    --color-info: #60a5fa;

    --bg-primary: rgba(255, 245, 250, 0.88);
    --bg-secondary: rgba(255, 235, 245, 0.92);
    --bg-tertiary: rgba(250, 220, 238, 0.8);
    --bg-dark: #fff0f7;
    --bg-gradient: linear-gradient(135deg, #fff0f7 0%, #f8f0ff 100%);

    --text-primary: #3d1a2e;
    --text-secondary: #7c3060;
    --text-tertiary: #a0507a;
    --text-inverse: #ffffff;
    --text-muted: #b07090;
    --text-light: #d0a0b8;

    --border-light: rgba(232, 96, 154, 0.15);
    --border-medium: rgba(232, 96, 154, 0.28);
    --border-dark: #e8609a;

    --shadow-sm: 0 1px 3px rgba(200, 80, 130, 0.1);
    --shadow-md: 0 4px 16px rgba(200, 80, 130, 0.14);
    --shadow-lg: 0 8px 28px rgba(200, 80, 130, 0.18);
    --shadow-xl: 0 0 24px rgba(232, 96, 154, 0.22);
    --shadow-glow: 0 0 14px rgba(232, 96, 154, 0.4);
    --shadow-text: none;

    --site-detail-filter-bg: #ffffff;
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: var(--border-medium);
    --site-detail-filter-placeholder: rgba(61, 26, 46, 0.45);
    --site-detail-filter-option-bg: #fff0f7;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(255, 255, 255, 0.72);
    --site-detail-summary-wrap-border: var(--border-light);
    --site-detail-summary-wrap-shadow: 0 4px 16px rgba(200, 80, 130, 0.1);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.88);
    --site-detail-summary-card-border: rgba(232, 96, 154, 0.22);
    --site-detail-summary-highlight-bg: rgba(232, 96, 154, 0.1);
    --site-detail-summary-highlight-border: rgba(232, 96, 154, 0.45);
    --site-detail-summary-label-color: var(--text-secondary);
    --site-detail-summary-value-g1: #e8609a;
    --site-detail-summary-value-g2: #7c3060;
    --site-detail-multi-bg: #ffffff;
    --site-detail-multi-border: rgba(232, 96, 154, 0.28);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: var(--bg-primary);
    --bg-card-hover: var(--bg-secondary);
}

[data-theme="sakura"] body {
    background-color: #fff0f7;
    background-image:
        radial-gradient(ellipse at 20% 20%, rgba(232, 96, 154, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(167, 139, 250, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 60% 10%, rgba(251, 191, 36, 0.06) 0%, transparent 35%),
        linear-gradient(135deg, #fff0f7 0%, #f8f0ff 100%);
}

[data-theme="sakura"] .navigation-bar {
    background: rgba(255, 245, 252, 0.96);
    border-bottom: 1.5px solid rgba(232, 96, 154, 0.35);
    box-shadow: 0 2px 16px rgba(232, 96, 154, 0.12);
}
[data-theme="sakura"] .nav-link { color: #7c3060 !important; }
[data-theme="sakura"] .nav-link:hover,
[data-theme="sakura"] .nav-link.active {
    color: #e8609a !important;
    background: rgba(232, 96, 154, 0.08) !important;
}
[data-theme="sakura"] .nav-brand-name { color: #e8609a; text-shadow: none; }

/* 次级导航 */
[data-theme="sakura"] .nav-secondary {
    background: rgba(255, 240, 250, 0.95) !important;
    border-color: rgba(232, 96, 154, 0.2) !important;
}
[data-theme="sakura"] .nav-secondary .nav-link {
    color: #7c3060 !important;
}
[data-theme="sakura"] .nav-secondary .nav-link:hover,
[data-theme="sakura"] .nav-secondary .nav-link.active {
    color: #e8609a !important;
    background: rgba(232, 96, 154, 0.1) !important;
}

[data-theme="sakura"] table thead th {
    background: rgba(232, 96, 154, 0.07) !important;
    color: #3d1a2e !important;
}
[data-theme="sakura"] table tbody td { color: #3d1a2e !important; }
[data-theme="sakura"] table tbody tr:hover { background: rgba(232, 96, 154, 0.05) !important; }
[data-theme="sakura"] input,
[data-theme="sakura"] select {
    background: #fff !important;
    border-color: rgba(232, 96, 154, 0.3) !important;
    color: #3d1a2e !important;
}


/* ── 深海 Ocean（深蓝 + 青色） ── */
[data-theme="ocean"] {
    --color-primary: #38bdf8;
    --color-primary-dark: #0ea5e9;
    --color-secondary: #818cf8;
    --color-success: #34d399;
    --color-warning: #fbbf24;
    --color-danger: #fb7185;
    --color-info: #38bdf8;

    --bg-primary: rgba(2, 18, 40, 0.65);
    --bg-secondary: rgba(1, 12, 30, 0.82);
    --bg-tertiary: rgba(3, 24, 52, 0.6);
    --bg-dark: #010c1e;
    --bg-gradient: linear-gradient(160deg, #010c1e 0%, #021830 60%, #031428 100%);

    --text-primary: #e0f4ff;
    --text-secondary: #7dd3fc;
    --text-tertiary: #38bdf8;
    --text-inverse: #010c1e;
    --text-muted: #4a9fc0;
    --text-light: #90cce8;

    --border-light: rgba(56, 189, 248, 0.16);
    --border-medium: rgba(56, 189, 248, 0.3);
    --border-dark: #38bdf8;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.6);
    --shadow-md: 0 8px 24px rgba(14, 165, 233, 0.18);
    --shadow-lg: 0 12px 36px rgba(14, 165, 233, 0.28);
    --shadow-xl: 0 0 32px rgba(56, 189, 248, 0.3);
    --shadow-glow: 0 0 20px rgba(56, 189, 248, 0.55);
    --shadow-text: 0 0 8px rgba(56, 189, 248, 0.7);

    --bg-card: var(--bg-secondary);
    --bg-card-hover: var(--bg-primary);
}

[data-theme="ocean"] body {
    background-color: #010c1e;
    background-image:
        radial-gradient(ellipse at 50% 100%, rgba(14, 165, 233, 0.25) 0%, transparent 55%),
        radial-gradient(ellipse at 10% 40%, rgba(56, 189, 248, 0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 90% 20%, rgba(129, 140, 248, 0.1) 0%, transparent 40%),
        linear-gradient(180deg, #010c1e 0%, #021830 50%, #010c1e 100%);
    animation: ocean-wave 10s ease-in-out infinite alternate;
}

@keyframes ocean-wave {
    0%   { background-position: 50% 100%, 10% 40%, 90% 20%; }
    100% { background-position: 50% 95%, 15% 45%, 85% 25%; }
}

[data-theme="ocean"] .navigation-bar {
    background: rgba(1, 12, 30, 0.94);
    border-bottom: 1.5px solid rgba(56, 189, 248, 0.35);
    box-shadow: 0 2px 20px rgba(14, 165, 233, 0.2);
}
[data-theme="ocean"] .nav-link { color: #7dd3fc !important; }
[data-theme="ocean"] .nav-link:hover,
[data-theme="ocean"] .nav-link.active {
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.1) !important;
}
[data-theme="ocean"] .nav-brand-name { color: #38bdf8; text-shadow: 0 0 10px rgba(56,189,248,0.5); }

/* 次级导航 */
[data-theme="ocean"] .nav-secondary {
    background: rgba(1, 12, 30, 0.92) !important;
    border-color: rgba(56, 189, 248, 0.2) !important;
}
[data-theme="ocean"] .nav-secondary .nav-link { color: #7dd3fc !important; }
[data-theme="ocean"] .nav-secondary .nav-link:hover,
[data-theme="ocean"] .nav-secondary .nav-link.active {
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.1) !important;
}


/* ── 暮光 Sunset（深紫 + 橙红渐变） ── */
[data-theme="sunset"] {
    --color-primary: #fb923c;
    --color-primary-dark: #ea580c;
    --color-secondary: #c084fc;
    --color-success: #4ade80;
    --color-warning: #facc15;
    --color-danger: #f43f5e;
    --color-info: #38bdf8;

    --bg-primary: rgba(25, 8, 30, 0.65);
    --bg-secondary: rgba(18, 5, 22, 0.82);
    --bg-tertiary: rgba(32, 10, 38, 0.6);
    --bg-dark: #100518;
    --bg-gradient: linear-gradient(135deg, #100518 0%, #1e0a10 50%, #2a0e08 100%);

    --text-primary: #fff0e8;
    --text-secondary: #fdb07a;
    --text-tertiary: #fb923c;
    --text-inverse: #100518;
    --text-muted: #c07050;
    --text-light: #e0a880;

    --border-light: rgba(251, 146, 60, 0.18);
    --border-medium: rgba(251, 146, 60, 0.32);
    --border-dark: #fb923c;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.6);
    --shadow-md: 0 8px 24px rgba(251, 146, 60, 0.18);
    --shadow-lg: 0 12px 36px rgba(251, 146, 60, 0.28);
    --shadow-xl: 0 0 32px rgba(251, 146, 60, 0.3);
    --shadow-glow: 0 0 20px rgba(251, 146, 60, 0.55);
    --shadow-text: 0 0 8px rgba(251, 146, 60, 0.7);

    --bg-card: var(--bg-secondary);
    --bg-card-hover: var(--bg-primary);
}

[data-theme="sunset"] body {
    background-color: #100518;
    background-image:
        radial-gradient(ellipse at 80% 0%, rgba(251, 146, 60, 0.28) 0%, transparent 50%),
        radial-gradient(ellipse at 20% 100%, rgba(192, 132, 252, 0.2) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(244, 63, 94, 0.1) 0%, transparent 40%),
        linear-gradient(135deg, #100518 0%, #1e0a10 50%, #2a0e08 100%);
    animation: sunset-glow 8s ease-in-out infinite alternate;
}

@keyframes sunset-glow {
    0%   { background-position: 80% 0%, 20% 100%, 50% 50%; }
    100% { background-position: 75% 5%, 25% 95%, 52% 52%; }
}

[data-theme="sunset"] .navigation-bar {
    background: rgba(16, 5, 24, 0.94);
    border-bottom: 1.5px solid rgba(251, 146, 60, 0.4);
    box-shadow: 0 2px 20px rgba(251, 146, 60, 0.18);
}
[data-theme="sunset"] .nav-link { color: #fdb07a !important; }
[data-theme="sunset"] .nav-link:hover,
[data-theme="sunset"] .nav-link.active {
    color: #fb923c !important;
    background: rgba(251, 146, 60, 0.1) !important;
}
[data-theme="sunset"] .nav-brand-name { color: #fb923c; text-shadow: 0 0 10px rgba(251,146,60,0.5); }

/* 次级导航 */
[data-theme="sunset"] .nav-secondary {
    background: rgba(16, 5, 24, 0.92) !important;
    border-color: rgba(251, 146, 60, 0.2) !important;
}
[data-theme="sunset"] .nav-secondary .nav-link { color: #fdb07a !important; }
[data-theme="sunset"] .nav-secondary .nav-link:hover,
[data-theme="sunset"] .nav-secondary .nav-link.active {
    color: #fb923c !important;
    background: rgba(251, 146, 60, 0.1) !important;
}


/* ── 梦幻 Dreamy（粉蓝渐变 · 毛玻璃） ── */
[data-theme="dreamy"] {
    --color-primary: #00d4ff;
    --color-primary-dark: #00a8d4;
    --color-primary-rgb: 0, 212, 255;
    --color-success-rgb: 168, 237, 234;
    --color-secondary: #ff6b9d;
    --color-success: #a8edea;
    --color-warning: #ffd6a5;
    --color-danger: #ff6b9d;
    --color-info: #00d4ff;

    /* 毛玻璃卡片背景 */
    --bg-primary: rgba(255, 255, 255, 0.15);
    --bg-secondary: rgba(255, 255, 255, 0.12);
    --bg-tertiary: rgba(255, 255, 255, 0.20);
    --bg-dark: #667eea;
    --bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);

    /* 深色文字保证可读性 */
    --text-primary: #1a0a2e;
    --text-secondary: #3d1a5e;
    --text-tertiary: #6b3a8a;
    --text-inverse: #ffffff;
    --text-muted: #8b5aaa;
    --text-light: #b07acc;

    /* 白色半透明边框 */
    --border-light: rgba(255, 255, 255, 0.25);
    --border-medium: rgba(255, 255, 255, 0.40);
    --border-dark: rgba(255, 255, 255, 0.60);

    /* 柔和投影 */
    --shadow-sm: 0 2px 8px rgba(102, 126, 234, 0.15);
    --shadow-md: 0 8px 32px rgba(102, 126, 234, 0.20);
    --shadow-lg: 0 12px 40px rgba(102, 126, 234, 0.28);
    --shadow-xl: 0 0 30px rgba(240, 147, 251, 0.35);
    --shadow-glow: 0 0 20px rgba(0, 212, 255, 0.5);
    --shadow-text: 0 1px 3px rgba(102, 126, 234, 0.4);

    --site-detail-filter-bg: rgba(255, 255, 255, 0.28);
    --site-detail-filter-color: #1a0a2e;
    --site-detail-filter-border: rgba(255, 255, 255, 0.45);
    --site-detail-filter-placeholder: rgba(26, 10, 46, 0.45);
    --site-detail-filter-option-bg: #e8d4f5;
    --site-detail-filter-option-color: #1a0a2e;
    --site-detail-summary-wrap-bg: rgba(255, 255, 255, 0.2);
    --site-detail-summary-wrap-border: rgba(255, 255, 255, 0.35);
    --site-detail-summary-wrap-shadow: 0 8px 24px rgba(102, 126, 234, 0.15);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.18);
    --site-detail-summary-card-border: rgba(255, 255, 255, 0.38);
    --site-detail-summary-highlight-bg: rgba(0, 212, 255, 0.12);
    --site-detail-summary-highlight-border: #00d4ff;
    --site-detail-summary-label-color: #6b3a8a;
    --site-detail-summary-value-g1: #00d4ff;
    --site-detail-summary-value-g2: #ff6b9d;
    --site-detail-multi-bg: rgba(255, 255, 255, 0.95);
    --site-detail-multi-border: rgba(255, 255, 255, 0.5);
    --site-detail-multi-text: #1a0a2e;

    --bg-card: rgba(255, 255, 255, 0.22);
    --bg-card-hover: rgba(255, 255, 255, 0.32);
}

/* ── 梦幻主题：动态渐变背景 ── */
[data-theme="dreamy"] body {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    background-size: 200% 200%;
    animation: dreamy-gradient-flow 8s ease infinite;
    min-height: 100vh;
}

@keyframes dreamy-gradient-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ── 导航栏：毛玻璃效果 ── */
[data-theme="dreamy"] .navigation-bar {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 4px 24px rgba(102, 126, 234, 0.2) !important;
}

[data-theme="dreamy"] .nav-link { color: #3d1a5e !important; font-weight: 500; }
[data-theme="dreamy"] .nav-link:hover {
    color: #1a0a2e !important;
    background: rgba(255, 255, 255, 0.25) !important;
}
[data-theme="dreamy"] .nav-link.active {
    color: #1a0a2e !important;
    background: rgba(255, 255, 255, 0.35) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 2px 12px rgba(102, 126, 234, 0.25) !important;
}
[data-theme="dreamy"] .nav-brand-name {
    color: #1a0a2e;
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.5);
}

/* ── 次级导航 ── */
[data-theme="dreamy"] .nav-secondary {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
[data-theme="dreamy"] .nav-secondary .nav-link { color: #3d1a5e !important; }
[data-theme="dreamy"] .nav-secondary .nav-link:hover,
[data-theme="dreamy"] .nav-secondary .nav-link.active {
    color: #1a0a2e !important;
    background: rgba(255, 255, 255, 0.3) !important;
}

/* ── 通用毛玻璃卡片 ── */
[data-theme="dreamy"] .card,
[data-theme="dreamy"] .panel,
[data-theme="dreamy"] .data-card,
[data-theme="dreamy"] .bg-secondary {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 8px 32px rgba(102, 126, 234, 0.15) !important;
}

/* ── 表格 ── */
[data-theme="dreamy"] table thead th {
    background: rgba(255, 255, 255, 0.20) !important;
    color: #1a0a2e !important;
    border-bottom-color: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(10px) !important;
}
[data-theme="dreamy"] table tbody td {
    color: #1a0a2e !important;
    border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}
[data-theme="dreamy"] table tbody tr:hover {
    background: rgba(255, 255, 255, 0.18) !important;
}

/* ── 输入框 ── */
[data-theme="dreamy"] input,
[data-theme="dreamy"] select,
[data-theme="dreamy"] textarea {
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: #1a0a2e !important;
}
[data-theme="dreamy"] input::placeholder,
[data-theme="dreamy"] textarea::placeholder {
    color: rgba(61, 26, 94, 0.5) !important;
}
[data-theme="dreamy"] input:focus,
[data-theme="dreamy"] select:focus,
[data-theme="dreamy"] textarea:focus {
    border-color: rgba(255, 255, 255, 0.65) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.32) !important;
}

/* ── 按钮 ── */
[data-theme="dreamy"] button:not(.nav-hamburger):not(.nav-drawer-action-btn) {
    backdrop-filter: blur(10px) !important;
}

/* ── 首页汇总卡片 ── */
[data-theme="dreamy"] .summary-card-enhanced {
    background: rgba(255, 255, 255, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 8px 32px rgba(102, 126, 234, 0.15) !important;
}
/* 消除基础样式中的 ::before 渐变叠加层，避免产生分层感 */
[data-theme="dreamy"] .summary-card-enhanced::before {
    background: none !important;
}
[data-theme="dreamy"] .summary-card-enhanced:hover {
    background: rgba(255, 255, 255, 0.26) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(102, 126, 234, 0.25) !important;
    transition: all 0.3s ease !important;
}
[data-theme="dreamy"] .summary-card-value-center {
    background: linear-gradient(135deg, #00d4ff, #ff6b9d) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="dreamy"] .summary-card-label-left { color: #3d1a5e !important; }
[data-theme="dreamy"] .summary-card-total-right { color: #6b3a8a !important; }
[data-theme="dreamy"] .summary-card-total-small { color: #6b3a8a !important; }
[data-theme="dreamy"] .summary-card-total { color: #6b3a8a !important; }

/* ── 数据表格容器 ── */
[data-theme="dreamy"] .data-table-container {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 8px 32px rgba(102, 126, 234, 0.15) !important;
}
[data-theme="dreamy"] .data-table-container:hover {
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 12px 40px rgba(102, 126, 234, 0.22) !important;
}
[data-theme="dreamy"] .table-title { color: #1a0a2e !important; text-shadow: none !important; }
[data-theme="dreamy"] .refresh-button {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #1a0a2e !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    box-shadow: none !important;
}
[data-theme="dreamy"] .refresh-button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 4px 16px rgba(102, 126, 234, 0.2) !important;
}
[data-theme="dreamy"] .data-table thead { background: rgba(255, 255, 255, 0.18) !important; }
[data-theme="dreamy"] .data-table th {
    color: #1a0a2e !important;
    border-bottom-color: rgba(255, 255, 255, 0.3) !important;
}
[data-theme="dreamy"] .data-table th:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #00d4ff !important;
}
[data-theme="dreamy"] .data-table td {
    color: #1a0a2e !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
[data-theme="dreamy"] .data-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.18) !important;
}
[data-theme="dreamy"] .data-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.06) !important;
}

/* ── 滚动条 ── */
[data-theme="dreamy"] .table-wrapper::-webkit-scrollbar-track { background: rgba(255,255,255,0.1); }
[data-theme="dreamy"] .table-wrapper::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.35); box-shadow: none; }
[data-theme="dreamy"] .table-wrapper::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.55); }

/* ── 连接状态 ── */
[data-theme="dreamy"] .connection-status {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(12px) !important;
}
[data-theme="dreamy"] .connection-status.connected {
    color: #00a86b !important;
    border-color: rgba(0, 168, 107, 0.6) !important;
}
[data-theme="dreamy"] .connection-status.loading,
[data-theme="dreamy"] .connection-status.polling {
    color: #0077aa !important;
    border-color: rgba(0, 119, 170, 0.6) !important;
}
[data-theme="dreamy"] .connection-status.disconnected {
    color: #cc2255 !important;
    border-color: rgba(204, 34, 85, 0.6) !important;
}

/* ── 站点详情 ── */
[data-theme="dreamy"] .site-detail {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
[data-theme="dreamy"] .site-detail-title { color: #1a0a2e !important; text-shadow: none !important; }
[data-theme="dreamy"] .back-button {
    background: rgba(255, 255, 255, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #1a0a2e !important;
    box-shadow: none !important;
}
[data-theme="dreamy"] .filter-group input[type="date"],
[data-theme="dreamy"] .filter-group input[type="text"],
[data-theme="dreamy"] .filter-group select {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: #1a0a2e !important;
}
[data-theme="dreamy"] .filter-group label { color: #3d1a5e !important; }
[data-theme="dreamy"] .filter-group select option { background: #9b72cf; color: #fff; }

/* ── 固定列背景 ── */
[data-theme="dreamy"] .data-table th:nth-child(1),
[data-theme="dreamy"] .data-table td:nth-child(1),
[data-theme="dreamy"] .data-table th:nth-child(2),
[data-theme="dreamy"] .data-table td:nth-child(2) {
    background: rgba(255, 255, 255, 0.12) !important;
}

/* ── 通用文字 ── */
[data-theme="dreamy"] h1, [data-theme="dreamy"] h2,
[data-theme="dreamy"] h3, [data-theme="dreamy"] h4 { color: #1a0a2e; }
[data-theme="dreamy"] .text-muted,
[data-theme="dreamy"] .subtitle { color: #6b3a8a; }

/* ── 月度汇总 ── */
[data-theme="dreamy"] .monthly-summary {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
[data-theme="dreamy"] .summary-card {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}
[data-theme="dreamy"] .summary-card-value,
[data-theme="dreamy"] .summary-card-value-main,
[data-theme="dreamy"] .summary-card-value-realtime {
    background: linear-gradient(135deg, #00d4ff, #ff6b9d) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="dreamy"] .summary-card-comparison.up { color: #00a86b !important; }
[data-theme="dreamy"] .summary-card-comparison.down { color: #cc2255 !important; }

/* ── 清新 Fresh（蓝绿渐变 · 毛玻璃） ── */
[data-theme="fresh"] {
    --color-primary: #00d9ff;
    --color-primary-dark: #00aac8;
    --color-primary-rgb: 0, 217, 255;
    --color-success-rgb: 16, 185, 129;
    --color-secondary: #10b981;
    --color-success: #10b981;
    --color-warning: #fbbf24;
    --color-danger: #f43f5e;
    --color-info: #00d9ff;

    /* 毛玻璃卡片背景 */
    --bg-primary: rgba(255, 255, 255, 0.12);
    --bg-secondary: rgba(255, 255, 255, 0.10);
    --bg-tertiary: rgba(255, 255, 255, 0.18);
    --bg-dark: #0a4a5e;
    --bg-gradient: linear-gradient(135deg, #0f2027 0%, #203a43 45%, #2c5364 100%);

    /* 深色文字保证可读性 */
    --text-primary: #e8f8ff;
    --text-secondary: #a0dff0;
    --text-tertiary: #6cc8e0;
    --text-inverse: #0f2027;
    --text-muted: #5ab8d0;
    --text-light: #80cce0;

    /* 白色半透明边框 */
    --border-light: rgba(255, 255, 255, 0.20);
    --border-medium: rgba(255, 255, 255, 0.32);
    --border-dark: rgba(255, 255, 255, 0.50);

    /* 柔和投影 */
    --shadow-sm: 0 2px 8px rgba(0, 80, 100, 0.25);
    --shadow-md: 0 8px 32px rgba(0, 100, 130, 0.22);
    --shadow-lg: 0 12px 40px rgba(0, 120, 160, 0.30);
    --shadow-xl: 0 0 30px rgba(0, 217, 255, 0.35);
    --shadow-glow: 0 0 20px rgba(0, 217, 255, 0.55);
    --shadow-text: 0 1px 4px rgba(0, 100, 130, 0.5);

    --site-detail-filter-bg: rgba(255, 255, 255, 0.1);
    --site-detail-filter-color: #e8f8ff;
    --site-detail-filter-border: rgba(0, 217, 255, 0.28);
    --site-detail-filter-placeholder: rgba(160, 223, 240, 0.45);
    --site-detail-filter-option-bg: #0f2027;
    --site-detail-filter-option-color: #e8f8ff;
    --site-detail-summary-wrap-bg: rgba(15, 32, 39, 0.55);
    --site-detail-summary-wrap-border: rgba(0, 217, 255, 0.22);
    --site-detail-summary-wrap-shadow: 0 0 24px rgba(0, 217, 255, 0.12);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.08);
    --site-detail-summary-card-border: rgba(0, 217, 255, 0.25);
    --site-detail-summary-highlight-bg: rgba(0, 217, 255, 0.12);
    --site-detail-summary-highlight-border: #00d9ff;
    --site-detail-summary-label-color: #6cc8e0;
    --site-detail-summary-value-g1: #e8f8ff;
    --site-detail-summary-value-g2: #00d9ff;
    --site-detail-multi-bg: rgba(15, 32, 39, 0.96);
    --site-detail-multi-border: rgba(0, 217, 255, 0.35);
    --site-detail-multi-text: #e8f8ff;

    --bg-card: rgba(255, 255, 255, 0.18);
    --bg-card-hover: rgba(255, 255, 255, 0.28);
}

/* ── 清新主题：动态渐变背景 ── */
[data-theme="fresh"] body {
    background: linear-gradient(135deg, #0f2027 0%, #203a43 45%, #2c5364 100%);
    background-size: 200% 200%;
    animation: fresh-gradient-flow 10s ease infinite;
    min-height: 100vh;
}

@keyframes fresh-gradient-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ── 导航栏：毛玻璃效果 ── */
[data-theme="fresh"] .navigation-bar {
    background: rgba(15, 32, 39, 0.75) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(0, 217, 255, 0.30) !important;
    box-shadow: 0 4px 24px rgba(0, 100, 130, 0.25) !important;
}

[data-theme="fresh"] .nav-link { color: #a0dff0 !important; font-weight: 500; }
[data-theme="fresh"] .nav-link:hover {
    color: #e8f8ff !important;
    background: rgba(0, 217, 255, 0.12) !important;
}
[data-theme="fresh"] .nav-link.active {
    color: #00d9ff !important;
    background: rgba(0, 217, 255, 0.18) !important;
    border-color: rgba(0, 217, 255, 0.45) !important;
    box-shadow: 0 0 12px rgba(0, 217, 255, 0.25) !important;
}
[data-theme="fresh"] .nav-brand-name {
    color: #00d9ff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
}

/* ── 次级导航 ── */
[data-theme="fresh"] .nav-secondary {
    background: rgba(15, 32, 39, 0.80) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-color: rgba(0, 217, 255, 0.22) !important;
}
[data-theme="fresh"] .nav-secondary .nav-link { color: #a0dff0 !important; }
[data-theme="fresh"] .nav-secondary .nav-link:hover,
[data-theme="fresh"] .nav-secondary .nav-link.active {
    color: #00d9ff !important;
    background: rgba(0, 217, 255, 0.15) !important;
}

/* ── 首页汇总卡片 ── */
[data-theme="fresh"] .summary-card-enhanced {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(0, 217, 255, 0.28) !important;
    box-shadow: 0 8px 32px rgba(0, 100, 130, 0.20) !important;
}
[data-theme="fresh"] .summary-card-enhanced:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(0, 120, 160, 0.30) !important;
    transition: all 0.3s ease !important;
}
[data-theme="fresh"] .summary-card-value-center {
    background: linear-gradient(135deg, #00d9ff, #10b981) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="fresh"] .summary-card-label-left { color: #a0dff0 !important; }
[data-theme="fresh"] .summary-card-total-right { color: #6cc8e0 !important; }
[data-theme="fresh"] .summary-card-total-small { color: #6cc8e0 !important; }
[data-theme="fresh"] .summary-card-total { color: #6cc8e0 !important; }
[data-theme="fresh"] .summary-card-comparison.up { color: #10b981 !important; }
[data-theme="fresh"] .summary-card-comparison.down { color: #f43f5e !important; }

/* ── 月度汇总 ── */
[data-theme="fresh"] .monthly-summary {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(20px) !important;
    border-color: rgba(0, 217, 255, 0.25) !important;
}
[data-theme="fresh"] .summary-card {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(12px) !important;
    border-color: rgba(0, 217, 255, 0.28) !important;
}
[data-theme="fresh"] .summary-card-value,
[data-theme="fresh"] .summary-card-value-main,
[data-theme="fresh"] .summary-card-value-realtime {
    background: linear-gradient(135deg, #00d9ff, #10b981) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}

/* ── 数据表格容器 ── */
[data-theme="fresh"] .data-table-container {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(0, 217, 255, 0.25) !important;
    box-shadow: 0 8px 32px rgba(0, 100, 130, 0.20) !important;
}
[data-theme="fresh"] .data-table-container:hover {
    border-color: rgba(0, 217, 255, 0.45) !important;
    box-shadow: 0 12px 40px rgba(0, 120, 160, 0.28) !important;
}
[data-theme="fresh"] .table-title { color: #e8f8ff !important; text-shadow: var(--shadow-text) !important; }
[data-theme="fresh"] .refresh-button {
    background: rgba(0, 217, 255, 0.12) !important;
    color: #00d9ff !important;
    border-color: rgba(0, 217, 255, 0.40) !important;
    box-shadow: 0 0 8px rgba(0, 217, 255, 0.2) !important;
}
[data-theme="fresh"] .refresh-button:hover:not(:disabled) {
    background: rgba(0, 217, 255, 0.22) !important;
    box-shadow: 0 0 16px rgba(0, 217, 255, 0.4) !important;
}
[data-theme="fresh"] .data-table thead { background: rgba(0, 217, 255, 0.08) !important; }
[data-theme="fresh"] .data-table th {
    color: #a0dff0 !important;
    border-bottom-color: rgba(0, 217, 255, 0.25) !important;
}
[data-theme="fresh"] .data-table th:hover {
    background: rgba(0, 217, 255, 0.14) !important;
    color: #00d9ff !important;
}
[data-theme="fresh"] .data-table td {
    color: #e8f8ff !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="fresh"] .data-table tbody tr:hover {
    background: rgba(0, 217, 255, 0.08) !important;
}
[data-theme="fresh"] .data-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* ── 表格通用 ── */
[data-theme="fresh"] table thead th {
    background: rgba(0, 217, 255, 0.08) !important;
    color: #a0dff0 !important;
    border-bottom-color: rgba(0, 217, 255, 0.22) !important;
}
[data-theme="fresh"] table tbody td {
    color: #e8f8ff !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="fresh"] table tbody tr:hover {
    background: rgba(0, 217, 255, 0.08) !important;
}

/* ── 输入框 ── */
[data-theme="fresh"] input,
[data-theme="fresh"] select,
[data-theme="fresh"] textarea {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(10px) !important;
    border-color: rgba(0, 217, 255, 0.35) !important;
    color: #e8f8ff !important;
}
[data-theme="fresh"] input::placeholder,
[data-theme="fresh"] textarea::placeholder {
    color: rgba(160, 223, 240, 0.5) !important;
}
[data-theme="fresh"] input:focus,
[data-theme="fresh"] select:focus,
[data-theme="fresh"] textarea:focus {
    border-color: rgba(0, 217, 255, 0.65) !important;
    box-shadow: 0 0 0 3px rgba(0, 217, 255, 0.15) !important;
    background: rgba(255, 255, 255, 0.16) !important;
}
[data-theme="fresh"] .filter-group select option { background: #1a3a4a; color: #e8f8ff; }

/* ── 站点详情 ── */
[data-theme="fresh"] .site-detail {
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(0, 217, 255, 0.25) !important;
}
[data-theme="fresh"] .site-detail-title { color: #e8f8ff !important; }
[data-theme="fresh"] .back-button {
    background: rgba(0, 217, 255, 0.12) !important;
    border-color: rgba(0, 217, 255, 0.40) !important;
    color: #00d9ff !important;
    box-shadow: 0 0 8px rgba(0, 217, 255, 0.2) !important;
}
[data-theme="fresh"] .filter-group label { color: #a0dff0 !important; }
[data-theme="fresh"] .filter-group input[type="date"],
[data-theme="fresh"] .filter-group input[type="text"],
[data-theme="fresh"] .filter-group select {
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(0, 217, 255, 0.35) !important;
    color: #e8f8ff !important;
}

/* ── 滚动条 ── */
[data-theme="fresh"] .table-wrapper::-webkit-scrollbar-track { background: rgba(0, 217, 255, 0.05); }
[data-theme="fresh"] .table-wrapper::-webkit-scrollbar-thumb { background: rgba(0, 217, 255, 0.30); box-shadow: none; }
[data-theme="fresh"] .table-wrapper::-webkit-scrollbar-thumb:hover { background: rgba(0, 217, 255, 0.55); }

/* ── 连接状态 ── */
[data-theme="fresh"] .connection-status {
    background: rgba(15, 32, 39, 0.75) !important;
    backdrop-filter: blur(12px) !important;
}
[data-theme="fresh"] .connection-status.connected {
    color: #10b981 !important;
    border-color: rgba(16, 185, 129, 0.6) !important;
}
[data-theme="fresh"] .connection-status.loading,
[data-theme="fresh"] .connection-status.polling {
    color: #00d9ff !important;
    border-color: rgba(0, 217, 255, 0.6) !important;
}
[data-theme="fresh"] .connection-status.disconnected {
    color: #f43f5e !important;
    border-color: rgba(244, 63, 94, 0.6) !important;
}

/* ── 固定列背景 ── */
[data-theme="fresh"] .data-table th:nth-child(1),
[data-theme="fresh"] .data-table td:nth-child(1),
[data-theme="fresh"] .data-table th:nth-child(2),
[data-theme="fresh"] .data-table td:nth-child(2) {
    background: rgba(15, 32, 39, 0.60) !important;
}

/* ── 通用文字 ── */
[data-theme="fresh"] h1, [data-theme="fresh"] h2,
[data-theme="fresh"] h3, [data-theme="fresh"] h4 { color: #e8f8ff; }
[data-theme="fresh"] .text-muted,
[data-theme="fresh"] .subtitle { color: #6cc8e0; }

/* ── 自然 Nature（自然有机 · 暖棕米绿） ── */
[data-theme="nature"] {
    --color-primary: #D4A574;
    --color-primary-dark: #B8865A;
    --color-secondary: #4A6741;
    --color-success: #4A6741;
    --color-warning: #E8B86D;
    --color-danger: #C0614A;
    --color-info: #7A9E7E;

    --bg-primary: rgba(255, 252, 247, 0.92);
    --bg-secondary: rgba(255, 248, 240, 0.95);
    --bg-tertiary: rgba(245, 230, 211, 0.85);
    --bg-dark: #F5E6D3;
    --bg-gradient: linear-gradient(135deg, #F5E6D3 0%, #EDD9BC 50%, #E8CCAA 100%);

    --text-primary: #2C1A0E;
    --text-secondary: #5C3D1E;
    --text-tertiary: #7A5230;
    --text-inverse: #ffffff;
    --text-muted: #9A7050;
    --text-light: #B89070;

    --border-light: rgba(212, 165, 116, 0.25);
    --border-medium: rgba(212, 165, 116, 0.45);
    --border-dark: #D4A574;

    --shadow-sm: 0 2px 8px rgba(90, 50, 20, 0.10);
    --shadow-md: 0 6px 24px rgba(90, 50, 20, 0.14);
    --shadow-lg: 0 10px 36px rgba(90, 50, 20, 0.18);
    --shadow-xl: 0 0 28px rgba(212, 165, 116, 0.35);
    --shadow-glow: 0 0 16px rgba(212, 165, 116, 0.50);
    --shadow-text: none;

    --color-primary-rgb: 212, 165, 116;
    --color-success-rgb: 74, 103, 65;
    --site-detail-filter-bg: rgba(255, 252, 247, 0.96);
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: var(--border-medium);
    --site-detail-filter-placeholder: rgba(44, 26, 14, 0.42);
    --site-detail-filter-option-bg: #FFF8F0;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(245, 230, 211, 0.55);
    --site-detail-summary-wrap-border: var(--border-light);
    --site-detail-summary-wrap-shadow: 0 4px 18px rgba(90, 50, 20, 0.08);
    --site-detail-summary-card-bg: rgba(255, 252, 247, 0.92);
    --site-detail-summary-card-border: rgba(212, 165, 116, 0.32);
    --site-detail-summary-highlight-bg: rgba(212, 165, 116, 0.14);
    --site-detail-summary-highlight-border: rgba(212, 165, 116, 0.48);
    --site-detail-summary-label-color: var(--text-tertiary);
    --site-detail-summary-value-g1: #5C3D1E;
    --site-detail-summary-value-g2: #4A6741;
    --site-detail-multi-bg: #FFF8F0;
    --site-detail-multi-border: rgba(212, 165, 116, 0.38);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: var(--bg-primary);
    --bg-card-hover: var(--bg-secondary);
}

[data-theme="nature"] body {
    background: linear-gradient(135deg, #F5E6D3 0%, #EDD9BC 50%, #E8CCAA 100%);
    background-size: 200% 200%;
    animation: nature-flow 12s ease infinite;
    min-height: 100vh;
}

@keyframes nature-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

[data-theme="nature"] .navigation-bar {
    background: rgba(255, 248, 240, 0.92) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(212, 165, 116, 0.40) !important;
    box-shadow: 0 2px 16px rgba(90, 50, 20, 0.10) !important;
}
[data-theme="nature"] .nav-link { color: #5C3D1E !important; }
[data-theme="nature"] .nav-link:hover { color: #2C1A0E !important; background: rgba(212, 165, 116, 0.15) !important; }
[data-theme="nature"] .nav-link.active {
    color: #2C1A0E !important;
    background: rgba(212, 165, 116, 0.25) !important;
    border-color: rgba(212, 165, 116, 0.55) !important;
}
[data-theme="nature"] .nav-brand-name { color: #4A6741; text-shadow: none; }

[data-theme="nature"] .nav-secondary {
    background: rgba(255, 248, 240, 0.95) !important;
    border-color: rgba(212, 165, 116, 0.30) !important;
}
[data-theme="nature"] .nav-secondary .nav-link { color: #5C3D1E !important; }
[data-theme="nature"] .nav-secondary .nav-link:hover,
[data-theme="nature"] .nav-secondary .nav-link.active {
    color: #2C1A0E !important;
    background: rgba(212, 165, 116, 0.20) !important;
}

[data-theme="nature"] .summary-card-enhanced {
    background: rgba(255, 252, 247, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(212, 165, 116, 0.35) !important;
    box-shadow: 0 6px 24px rgba(90, 50, 20, 0.12) !important;
}
[data-theme="nature"] .summary-card-enhanced:hover {
    background: rgba(255, 252, 247, 0.95) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 36px rgba(90, 50, 20, 0.18) !important;
    transition: all 0.3s ease !important;
}
[data-theme="nature"] .summary-card-value-center {
    background: linear-gradient(135deg, #D4A574, #4A6741) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="nature"] .summary-card-label-left { color: #7A5230 !important; }
[data-theme="nature"] .summary-card-total-right,
[data-theme="nature"] .summary-card-total-small,
[data-theme="nature"] .summary-card-total { color: #9A7050 !important; }
[data-theme="nature"] .summary-card-comparison.up { color: #4A6741 !important; }
[data-theme="nature"] .summary-card-comparison.down { color: #C0614A !important; }

[data-theme="nature"] .data-table-container {
    background: rgba(255, 252, 247, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(212, 165, 116, 0.30) !important;
    box-shadow: 0 6px 24px rgba(90, 50, 20, 0.10) !important;
}
[data-theme="nature"] .table-title { color: #2C1A0E !important; text-shadow: none !important; }
[data-theme="nature"] .refresh-button {
    background: rgba(212, 165, 116, 0.15) !important;
    color: #5C3D1E !important;
    border-color: rgba(212, 165, 116, 0.45) !important;
    box-shadow: none !important;
}
[data-theme="nature"] .data-table thead { background: rgba(245, 230, 211, 0.80) !important; }
[data-theme="nature"] .data-table th { color: #5C3D1E !important; border-bottom-color: rgba(212, 165, 116, 0.35) !important; }
[data-theme="nature"] .data-table th:hover { background: rgba(212, 165, 116, 0.20) !important; color: #2C1A0E !important; }
[data-theme="nature"] .data-table td { color: #2C1A0E !important; border-bottom-color: rgba(212, 165, 116, 0.15) !important; }
[data-theme="nature"] .data-table tbody tr:hover { background: rgba(212, 165, 116, 0.10) !important; }
[data-theme="nature"] table thead th { background: rgba(245, 230, 211, 0.80) !important; color: #5C3D1E !important; border-bottom-color: rgba(212, 165, 116, 0.30) !important; }
[data-theme="nature"] table tbody td { color: #2C1A0E !important; border-bottom-color: rgba(212, 165, 116, 0.12) !important; }
[data-theme="nature"] table tbody tr:hover { background: rgba(212, 165, 116, 0.08) !important; }
[data-theme="nature"] input, [data-theme="nature"] select, [data-theme="nature"] textarea {
    background: rgba(255, 252, 247, 0.90) !important;
    border-color: rgba(212, 165, 116, 0.40) !important;
    color: #2C1A0E !important;
}
[data-theme="nature"] .filter-group label { color: #7A5230 !important; }
[data-theme="nature"] .filter-group select option { background: #F5E6D3; color: #2C1A0E; }
[data-theme="nature"] .data-table th:nth-child(1), [data-theme="nature"] .data-table td:nth-child(1),
[data-theme="nature"] .data-table th:nth-child(2), [data-theme="nature"] .data-table td:nth-child(2) { background: rgba(255, 248, 240, 0.90) !important; }
[data-theme="nature"] h1, [data-theme="nature"] h2, [data-theme="nature"] h3, [data-theme="nature"] h4 { color: #2C1A0E; }


/* ── 多巴胺 Dopamine（活力撞色 · 亮色系） ── */
[data-theme="dopamine"] {
    --color-primary: #FF6B6B;
    --color-primary-dark: #E05555;
    --color-secondary: #4ECDC4;
    --color-success: #4ECDC4;
    --color-warning: #FFE66D;
    --color-danger: #FF6B6B;
    --color-info: #45B7D1;

    --bg-primary: rgba(255, 255, 255, 0.92);
    --bg-secondary: rgba(255, 253, 250, 0.95);
    --bg-tertiary: rgba(255, 245, 235, 0.88);
    --bg-dark: #FFF5F5;
    --bg-gradient: linear-gradient(135deg, #FFF5F5 0%, #F0FFFE 50%, #FFFDE7 100%);

    --text-primary: #1A1A2E;
    --text-secondary: #3D3D5C;
    --text-tertiary: #6B6B8A;
    --text-inverse: #ffffff;
    --text-muted: #8A8AAA;
    --text-light: #AAAAC0;

    --border-light: rgba(255, 107, 107, 0.20);
    --border-medium: rgba(255, 107, 107, 0.38);
    --border-dark: #FF6B6B;

    --shadow-sm: 0 2px 8px rgba(255, 107, 107, 0.12);
    --shadow-md: 0 6px 24px rgba(255, 107, 107, 0.16);
    --shadow-lg: 0 10px 36px rgba(255, 107, 107, 0.22);
    --shadow-xl: 0 0 28px rgba(78, 205, 196, 0.35);
    --shadow-glow: 0 0 16px rgba(255, 107, 107, 0.50);
    --shadow-text: none;

    --color-primary-rgb: 255, 107, 107;
    --color-success-rgb: 78, 205, 196;
    --site-detail-filter-bg: rgba(255, 255, 255, 0.96);
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: var(--border-medium);
    --site-detail-filter-placeholder: rgba(26, 26, 46, 0.42);
    --site-detail-filter-option-bg: #ffffff;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(255, 245, 245, 0.72);
    --site-detail-summary-wrap-border: var(--border-light);
    --site-detail-summary-wrap-shadow: 0 4px 20px rgba(255, 107, 107, 0.12);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.9);
    --site-detail-summary-card-border: rgba(255, 107, 107, 0.22);
    --site-detail-summary-highlight-bg: rgba(78, 205, 196, 0.12);
    --site-detail-summary-highlight-border: rgba(255, 107, 107, 0.42);
    --site-detail-summary-label-color: var(--text-tertiary);
    --site-detail-summary-value-g1: #FF6B6B;
    --site-detail-summary-value-g2: #4ECDC4;
    --site-detail-multi-bg: #ffffff;
    --site-detail-multi-border: rgba(255, 107, 107, 0.28);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: var(--bg-primary);
    --bg-card-hover: var(--bg-secondary);
}

[data-theme="dopamine"] body {
    background: linear-gradient(135deg, #FFF5F5 0%, #F0FFFE 50%, #FFFDE7 100%);
    background-size: 200% 200%;
    animation: dopamine-flow 8s ease infinite;
    min-height: 100vh;
}

@keyframes dopamine-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

[data-theme="dopamine"] .navigation-bar {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 2px solid #FF6B6B !important;
    box-shadow: 0 2px 16px rgba(255, 107, 107, 0.15) !important;
}
[data-theme="dopamine"] .nav-link { color: #3D3D5C !important; }
[data-theme="dopamine"] .nav-link:hover { color: #FF6B6B !important; background: rgba(255, 107, 107, 0.08) !important; }
[data-theme="dopamine"] .nav-link.active {
    color: #FF6B6B !important;
    background: rgba(255, 107, 107, 0.12) !important;
    border-color: rgba(255, 107, 107, 0.45) !important;
    box-shadow: 0 0 10px rgba(255, 107, 107, 0.20) !important;
}
[data-theme="dopamine"] .nav-brand-name { color: #FF6B6B; text-shadow: none; }

[data-theme="dopamine"] .nav-secondary {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(255, 107, 107, 0.22) !important;
}
[data-theme="dopamine"] .nav-secondary .nav-link { color: #3D3D5C !important; }
[data-theme="dopamine"] .nav-secondary .nav-link:hover,
[data-theme="dopamine"] .nav-secondary .nav-link.active {
    color: #FF6B6B !important;
    background: rgba(255, 107, 107, 0.10) !important;
}

[data-theme="dopamine"] .summary-card-enhanced {
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 107, 107, 0.28) !important;
    box-shadow: 0 6px 24px rgba(255, 107, 107, 0.12) !important;
}
[data-theme="dopamine"] .summary-card-enhanced:hover {
    background: rgba(255, 255, 255, 0.96) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 36px rgba(255, 107, 107, 0.22) !important;
    transition: all 0.3s ease !important;
}
[data-theme="dopamine"] .summary-card-value-center {
    background: linear-gradient(135deg, #FF6B6B, #4ECDC4) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="dopamine"] .summary-card-label-left { color: #6B6B8A !important; }
[data-theme="dopamine"] .summary-card-total-right,
[data-theme="dopamine"] .summary-card-total-small,
[data-theme="dopamine"] .summary-card-total { color: #8A8AAA !important; }
[data-theme="dopamine"] .summary-card-comparison.up { color: #4ECDC4 !important; }
[data-theme="dopamine"] .summary-card-comparison.down { color: #FF6B6B !important; }

[data-theme="dopamine"] .data-table-container {
    background: rgba(255, 255, 255, 0.90) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 107, 107, 0.22) !important;
    box-shadow: 0 6px 24px rgba(255, 107, 107, 0.10) !important;
}
[data-theme="dopamine"] .table-title { color: #1A1A2E !important; text-shadow: none !important; }
[data-theme="dopamine"] .refresh-button {
    background: rgba(255, 107, 107, 0.10) !important;
    color: #FF6B6B !important;
    border-color: rgba(255, 107, 107, 0.40) !important;
    box-shadow: none !important;
}
[data-theme="dopamine"] .data-table thead { background: rgba(255, 245, 245, 0.90) !important; }
[data-theme="dopamine"] .data-table th { color: #3D3D5C !important; border-bottom-color: rgba(255, 107, 107, 0.28) !important; }
[data-theme="dopamine"] .data-table th:hover { background: rgba(255, 107, 107, 0.08) !important; color: #FF6B6B !important; }
[data-theme="dopamine"] .data-table td { color: #1A1A2E !important; border-bottom-color: rgba(255, 107, 107, 0.10) !important; }
[data-theme="dopamine"] .data-table tbody tr:hover { background: rgba(255, 107, 107, 0.06) !important; }
/* 首页实时表 · 积压单量表头（避免黄底白字，与多巴胺粉灰协调） */
[data-theme="dopamine"] .data-table th[data-column="overstockOrderCount"] {
    background: rgba(255, 107, 107, 0.07) !important;
    border-left: 3px solid rgba(255, 107, 107, 0.55) !important;
    border-right: 1px solid rgba(255, 107, 107, 0.14) !important;
    color: #3d3d5c !important;
    border-bottom-color: rgba(255, 107, 107, 0.28) !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
[data-theme="dopamine"] .data-table th[data-column="overstockOrderCount"]:hover {
    background: rgba(255, 107, 107, 0.14) !important;
    color: #ff6b6b !important;
}
[data-theme="dopamine"] .data-table th.col-th-overstock .col-header-label {
    color: #3d3d5c !important;
    letter-spacing: 0.1em !important;
}
[data-theme="dopamine"] .overstock-cell-num {
    color: #8a8aaa !important;
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(255, 107, 107, 0.15) !important;
}
[data-theme="dopamine"] .overstock-cell-num--notice {
    color: #ea580c !important;
    background: rgba(255, 237, 213, 0.95) !important;
    border-color: rgba(251, 146, 60, 0.45) !important;
}
[data-theme="dopamine"] .overstock-cell-num--warn {
    color: #c2410c !important;
    background: rgba(254, 215, 170, 0.98) !important;
    border-color: rgba(234, 88, 12, 0.5) !important;
}
[data-theme="dopamine"] .overstock-cell-num--critical {
    color: #fff !important;
    background: linear-gradient(145deg, #ff6b6b, #e11d48) !important;
    border-color: rgba(255, 200, 200, 0.55) !important;
    box-shadow: 0 2px 10px rgba(255, 107, 107, 0.35) !important;
}
[data-theme="dopamine"] table thead th { background: rgba(255, 245, 245, 0.90) !important; color: #3D3D5C !important; border-bottom-color: rgba(255, 107, 107, 0.22) !important; }
[data-theme="dopamine"] table tbody td { color: #1A1A2E !important; border-bottom-color: rgba(255, 107, 107, 0.08) !important; }
[data-theme="dopamine"] table tbody tr:hover { background: rgba(255, 107, 107, 0.05) !important; }
[data-theme="dopamine"] input, [data-theme="dopamine"] select, [data-theme="dopamine"] textarea {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(255, 107, 107, 0.35) !important;
    color: #1A1A2E !important;
}
[data-theme="dopamine"] .filter-group label { color: #6B6B8A !important; }
[data-theme="dopamine"] .filter-group select option { background: #fff; color: #1A1A2E; }
[data-theme="dopamine"] .data-table th:nth-child(1), [data-theme="dopamine"] .data-table td:nth-child(1),
[data-theme="dopamine"] .data-table th:nth-child(2), [data-theme="dopamine"] .data-table td:nth-child(2) { background: rgba(255, 255, 255, 0.95) !important; }
[data-theme="dopamine"] h1, [data-theme="dopamine"] h2, [data-theme="dopamine"] h3, [data-theme="dopamine"] h4 { color: #1A1A2E; }


/* ── 治愈 Heal（清新治愈 · 蓝绿白） ── */
[data-theme="heal"] {
    --color-primary: #457B9D;
    --color-primary-dark: #2E6080;
    --color-secondary: #A8DADC;
    --color-success: #52B788;
    --color-warning: #E9C46A;
    --color-danger: #E76F51;
    --color-info: #457B9D;

    --bg-primary: rgba(241, 250, 238, 0.92);
    --bg-secondary: rgba(255, 255, 255, 0.95);
    --bg-tertiary: rgba(168, 218, 220, 0.25);
    --bg-dark: #F1FAEE;
    --bg-gradient: linear-gradient(135deg, #F1FAEE 0%, #E8F6F8 50%, #D6EEF0 100%);

    --text-primary: #1D3557;
    --text-secondary: #2E5F7A;
    --text-tertiary: #457B9D;
    --text-inverse: #ffffff;
    --text-muted: #6A9BB5;
    --text-light: #8BBDD0;

    --border-light: rgba(69, 123, 157, 0.20);
    --border-medium: rgba(69, 123, 157, 0.38);
    --border-dark: #457B9D;

    --shadow-sm: 0 2px 8px rgba(29, 53, 87, 0.10);
    --shadow-md: 0 6px 24px rgba(29, 53, 87, 0.14);
    --shadow-lg: 0 10px 36px rgba(29, 53, 87, 0.18);
    --shadow-xl: 0 0 28px rgba(168, 218, 220, 0.45);
    --shadow-glow: 0 0 16px rgba(69, 123, 157, 0.45);
    --shadow-text: none;

    --color-primary-rgb: 69, 123, 157;
    --color-success-rgb: 82, 183, 136;
    --site-detail-filter-bg: rgba(255, 255, 255, 0.94);
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: var(--border-medium);
    --site-detail-filter-placeholder: rgba(29, 53, 87, 0.4);
    --site-detail-filter-option-bg: #F1FAEE;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(168, 218, 220, 0.22);
    --site-detail-summary-wrap-border: var(--border-light);
    --site-detail-summary-wrap-shadow: 0 4px 18px rgba(29, 53, 87, 0.08);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.9);
    --site-detail-summary-card-border: rgba(69, 123, 157, 0.22);
    --site-detail-summary-highlight-bg: rgba(82, 183, 136, 0.12);
    --site-detail-summary-highlight-border: rgba(69, 123, 157, 0.4);
    --site-detail-summary-label-color: var(--text-tertiary);
    --site-detail-summary-value-g1: #457B9D;
    --site-detail-summary-value-g2: #52B788;
    --site-detail-multi-bg: #F1FAEE;
    --site-detail-multi-border: rgba(69, 123, 157, 0.28);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: var(--bg-primary);
    --bg-card-hover: var(--bg-secondary);
}

[data-theme="heal"] body {
    background: linear-gradient(135deg, #F1FAEE 0%, #E8F6F8 50%, #D6EEF0 100%);
    background-size: 200% 200%;
    animation: heal-flow 12s ease infinite;
    min-height: 100vh;
}

@keyframes heal-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

[data-theme="heal"] .navigation-bar {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(168, 218, 220, 0.60) !important;
    box-shadow: 0 2px 16px rgba(29, 53, 87, 0.10) !important;
}
[data-theme="heal"] .nav-link { color: #2E5F7A !important; }
[data-theme="heal"] .nav-link:hover { color: #1D3557 !important; background: rgba(168, 218, 220, 0.20) !important; }
[data-theme="heal"] .nav-link.active {
    color: #1D3557 !important;
    background: rgba(168, 218, 220, 0.30) !important;
    border-color: rgba(69, 123, 157, 0.45) !important;
}
[data-theme="heal"] .nav-brand-name { color: #457B9D; text-shadow: none; }

[data-theme="heal"] .nav-secondary {
    background: rgba(241, 250, 238, 0.95) !important;
    border-color: rgba(168, 218, 220, 0.40) !important;
}
[data-theme="heal"] .nav-secondary .nav-link { color: #2E5F7A !important; }
[data-theme="heal"] .nav-secondary .nav-link:hover,
[data-theme="heal"] .nav-secondary .nav-link.active {
    color: #1D3557 !important;
    background: rgba(168, 218, 220, 0.22) !important;
}

[data-theme="heal"] .summary-card-enhanced {
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(168, 218, 220, 0.50) !important;
    box-shadow: 0 6px 24px rgba(29, 53, 87, 0.10) !important;
}
[data-theme="heal"] .summary-card-enhanced:hover {
    background: rgba(255, 255, 255, 0.96) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 36px rgba(29, 53, 87, 0.16) !important;
    transition: all 0.3s ease !important;
}
[data-theme="heal"] .summary-card-value-center {
    background: linear-gradient(135deg, #457B9D, #52B788) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="heal"] .summary-card-label-left { color: #457B9D !important; }
[data-theme="heal"] .summary-card-total-right,
[data-theme="heal"] .summary-card-total-small,
[data-theme="heal"] .summary-card-total { color: #6A9BB5 !important; }
[data-theme="heal"] .summary-card-comparison.up { color: #52B788 !important; }
[data-theme="heal"] .summary-card-comparison.down { color: #E76F51 !important; }

[data-theme="heal"] .data-table-container {
    background: rgba(255, 255, 255, 0.90) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(168, 218, 220, 0.45) !important;
    box-shadow: 0 6px 24px rgba(29, 53, 87, 0.10) !important;
}
[data-theme="heal"] .table-title { color: #1D3557 !important; text-shadow: none !important; }
[data-theme="heal"] .refresh-button {
    background: rgba(168, 218, 220, 0.20) !important;
    color: #457B9D !important;
    border-color: rgba(69, 123, 157, 0.40) !important;
    box-shadow: none !important;
}
[data-theme="heal"] .data-table thead { background: rgba(168, 218, 220, 0.18) !important; }
[data-theme="heal"] .data-table th { color: #2E5F7A !important; border-bottom-color: rgba(168, 218, 220, 0.45) !important; }
[data-theme="heal"] .data-table th:hover { background: rgba(168, 218, 220, 0.28) !important; color: #1D3557 !important; }
[data-theme="heal"] .data-table td { color: #1D3557 !important; border-bottom-color: rgba(168, 218, 220, 0.18) !important; }
[data-theme="heal"] .data-table tbody tr:hover { background: rgba(168, 218, 220, 0.12) !important; }
[data-theme="heal"] table thead th { background: rgba(168, 218, 220, 0.18) !important; color: #2E5F7A !important; border-bottom-color: rgba(168, 218, 220, 0.38) !important; }
[data-theme="heal"] table tbody td { color: #1D3557 !important; border-bottom-color: rgba(168, 218, 220, 0.15) !important; }
[data-theme="heal"] table tbody tr:hover { background: rgba(168, 218, 220, 0.10) !important; }
[data-theme="heal"] input, [data-theme="heal"] select, [data-theme="heal"] textarea {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(168, 218, 220, 0.55) !important;
    color: #1D3557 !important;
}
[data-theme="heal"] .filter-group label { color: #457B9D !important; }
[data-theme="heal"] .filter-group select option { background: #F1FAEE; color: #1D3557; }
[data-theme="heal"] .data-table th:nth-child(1), [data-theme="heal"] .data-table td:nth-child(1),
[data-theme="heal"] .data-table th:nth-child(2), [data-theme="heal"] .data-table td:nth-child(2) { background: rgba(255, 255, 255, 0.95) !important; }
[data-theme="heal"] h1, [data-theme="heal"] h2, [data-theme="heal"] h3, [data-theme="heal"] h4 { color: #1D3557; }

/* ── 翠绿 Mint（薄荷翠绿 · 毛玻璃） ── */
[data-theme="mint"] {
    --color-primary: #10b981;
    --color-primary-dark: #0d9488;
    --color-primary-rgb: 16, 185, 129;
    --color-success-rgb: 16, 185, 129;
    --color-secondary: #f59e4a;
    --color-success: #10b981;
    --color-warning: #f59e4a;
    --color-danger: #f43f5e;
    --color-info: #14b8a6;

    /* 毛玻璃卡片 */
    --bg-primary: rgba(255, 255, 255, 0.18);
    --bg-secondary: rgba(255, 255, 255, 0.22);
    --bg-tertiary: rgba(255, 255, 255, 0.30);
    --bg-dark: #0d9488;
    --bg-gradient: linear-gradient(135deg, #a8edea 0%, #38ef7d 50%, #0d9488 100%);

    /* 深色文字，保证在浅色毛玻璃上可读 */
    --text-primary: #0a2e1e;
    --text-secondary: #134e35;
    --text-tertiary: #1a6b47;
    --text-inverse: #ffffff;
    --text-muted: #2d8a5e;
    --text-light: #4aaa7a;

    /* 白色半透明边框 */
    --border-light: rgba(255, 255, 255, 0.35);
    --border-medium: rgba(255, 255, 255, 0.50);
    --border-dark: rgba(255, 255, 255, 0.70);

    /* 柔和淡影 */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 6px 24px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 10px 36px rgba(0, 0, 0, 0.10);
    --shadow-xl: 0 0 28px rgba(16, 185, 129, 0.30);
    --shadow-glow: 0 0 16px rgba(16, 185, 129, 0.45);
    --shadow-text: none;

    --site-detail-filter-bg: rgba(255, 255, 255, 0.55);
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: rgba(19, 78, 53, 0.2);
    --site-detail-filter-placeholder: rgba(10, 46, 30, 0.45);
    --site-detail-filter-option-bg: #e8f8f0;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(255, 255, 255, 0.38);
    --site-detail-summary-wrap-border: rgba(19, 78, 53, 0.15);
    --site-detail-summary-wrap-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
    --site-detail-summary-card-bg: rgba(255, 255, 255, 0.5);
    --site-detail-summary-card-border: rgba(16, 185, 129, 0.28);
    --site-detail-summary-highlight-bg: rgba(16, 185, 129, 0.12);
    --site-detail-summary-highlight-border: #10b981;
    --site-detail-summary-label-color: var(--text-secondary);
    --site-detail-summary-value-g1: #0d9488;
    --site-detail-summary-value-g2: #10b981;
    --site-detail-multi-bg: #ffffff;
    --site-detail-multi-border: rgba(16, 185, 129, 0.35);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: rgba(255, 255, 255, 0.26);
    --bg-card-hover: rgba(255, 255, 255, 0.36);
}

/* ── 动态渐变背景 ── */
[data-theme="mint"] body {
    /* 加入 #FEE9C5 暖米黄，柔化刺眼的荧光绿 */
    background: linear-gradient(135deg, #c8f5e8 0%, #e8f8f0 25%, #FEE9C5 55%, #d4f5e2 80%, #b8edd8 100%);
    background-size: 200% 200%;
    animation: mint-gradient-flow 12s ease infinite;
    min-height: 100vh;
}

@keyframes mint-gradient-flow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ── 导航栏：毛玻璃 ── */
[data-theme="mint"] .navigation-bar {
    background: rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="mint"] .nav-link { color: #134e35 !important; font-weight: 500; }
[data-theme="mint"] .nav-link:hover {
    color: #0a2e1e !important;
    background: rgba(255, 255, 255, 0.30) !important;
}
[data-theme="mint"] .nav-link.active {
    color: #0a2e1e !important;
    background: rgba(255, 255, 255, 0.40) !important;
    border-color: rgba(255, 255, 255, 0.60) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="mint"] .nav-brand-name {
    color: #0a2e1e;
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.6);
}

/* ── 次级导航 ── */
[data-theme="mint"] .nav-secondary {
    background: rgba(255, 255, 255, 0.20) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}
[data-theme="mint"] .nav-secondary .nav-link { color: #134e35 !important; }
[data-theme="mint"] .nav-secondary .nav-link:hover,
[data-theme="mint"] .nav-secondary .nav-link.active {
    color: #0a2e1e !important;
    background: rgba(255, 255, 255, 0.35) !important;
}

/* ── 首页汇总卡片 ── */
[data-theme="mint"] .summary-card-enhanced {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="mint"] .summary-card-enhanced:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.10) !important;
    transition: all 0.3s ease !important;
}
[data-theme="mint"] .summary-card-value-center {
    background: linear-gradient(135deg, #10b981, #0d9488) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
[data-theme="mint"] .summary-card-label-left { color: #1a6b47 !important; }
[data-theme="mint"] .summary-card-total-right,
[data-theme="mint"] .summary-card-total-small,
[data-theme="mint"] .summary-card-total { color: #2d8a5e !important; }
[data-theme="mint"] .summary-card-comparison.up { color: #10b981 !important; }
[data-theme="mint"] .summary-card-comparison.down { color: #f43f5e !important; }

/* ── 月度汇总 ── */
[data-theme="mint"] .monthly-summary {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(20px) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}
[data-theme="mint"] .summary-card {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(12px) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}
[data-theme="mint"] .summary-card-value,
[data-theme="mint"] .summary-card-value-main,
[data-theme="mint"] .summary-card-value-realtime {
    background: linear-gradient(135deg, #10b981, #0d9488) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}

/* ── 数据表格容器 ── */
[data-theme="mint"] .data-table-container {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="mint"] .data-table-container:hover {
    border-color: rgba(255, 255, 255, 0.55) !important;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.10) !important;
}
[data-theme="mint"] .table-title { color: #0a2e1e !important; text-shadow: none !important; }
[data-theme="mint"] .refresh-button {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #0a2e1e !important;
    border-color: rgba(255, 255, 255, 0.50) !important;
    box-shadow: none !important;
}
[data-theme="mint"] .refresh-button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.38) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="mint"] .data-table thead { background: rgba(255, 255, 255, 0.22) !important; }
[data-theme="mint"] .data-table th {
    color: #0a2e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.40) !important;
}
[data-theme="mint"] .data-table th:hover {
    background: rgba(255, 255, 255, 0.30) !important;
    color: #10b981 !important;
}
[data-theme="mint"] .data-table td {
    color: #0a2e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.20) !important;
}
[data-theme="mint"] .data-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.22) !important;
}
[data-theme="mint"] .data-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* ── 表格通用 ── */
[data-theme="mint"] table thead th {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #0a2e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.38) !important;
}
[data-theme="mint"] table tbody td {
    color: #0a2e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.18) !important;
}
[data-theme="mint"] table tbody tr:hover {
    background: rgba(255, 255, 255, 0.20) !important;
}

/* ── 输入框 ── */
[data-theme="mint"] input,
[data-theme="mint"] select,
[data-theme="mint"] textarea {
    background: rgba(255, 255, 255, 0.28) !important;
    backdrop-filter: blur(10px) !important;
    border-color: rgba(255, 255, 255, 0.50) !important;
    color: #0a2e1e !important;
}
[data-theme="mint"] input::placeholder,
[data-theme="mint"] textarea::placeholder {
    color: rgba(10, 46, 30, 0.45) !important;
}
[data-theme="mint"] input:focus,
[data-theme="mint"] select:focus,
[data-theme="mint"] textarea:focus {
    border-color: rgba(255, 255, 255, 0.70) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.20) !important;
    background: rgba(255, 255, 255, 0.38) !important;
}
[data-theme="mint"] .filter-group label { color: #1a6b47 !important; }
[data-theme="mint"] .filter-group select option { background: #0d9488; color: #fff; }

/* ── 站点详情 ── */
[data-theme="mint"] .site-detail {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
}
[data-theme="mint"] .site-detail-title { color: #0a2e1e !important; text-shadow: none !important; }
[data-theme="mint"] .back-button {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.50) !important;
    color: #0a2e1e !important;
    box-shadow: none !important;
}

/* ── 滚动条 ── */
[data-theme="mint"] .table-wrapper::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.12); }
[data-theme="mint"] .table-wrapper::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.40); box-shadow: none; }
[data-theme="mint"] .table-wrapper::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.60); }

/* ── 连接状态 ── */
[data-theme="mint"] .connection-status {
    background: rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(12px) !important;
}
[data-theme="mint"] .connection-status.connected {
    color: #0a2e1e !important;
    border-color: rgba(16, 185, 129, 0.60) !important;
}
[data-theme="mint"] .connection-status.loading,
[data-theme="mint"] .connection-status.polling {
    color: #0a2e1e !important;
    border-color: rgba(20, 184, 166, 0.60) !important;
}
[data-theme="mint"] .connection-status.disconnected {
    color: #7f1d1d !important;
    border-color: rgba(244, 63, 94, 0.60) !important;
}

/* ── 固定列背景 ── */
[data-theme="mint"] .data-table th:nth-child(1),
[data-theme="mint"] .data-table td:nth-child(1),
[data-theme="mint"] .data-table th:nth-child(2),
[data-theme="mint"] .data-table td:nth-child(2) {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* ── 通用文字 ── */
[data-theme="mint"] h1, [data-theme="mint"] h2,
[data-theme="mint"] h3, [data-theme="mint"] h4 { color: #0a2e1e; }
[data-theme="mint"] .text-muted,
[data-theme="mint"] .subtitle { color: #2d8a5e; }

/* ── 毛玻璃主题：抽屉/弹窗强制不透明，保证表单可读 ── */
[data-theme="dreamy"] .hr-drawer,
[data-theme="dreamy"] .hr-dialog {
    background: #f0eaff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
[data-theme="dreamy"] .hr-drawer-header,
[data-theme="dreamy"] .hr-drawer-footer,
[data-theme="dreamy"] .hr-dialog-header {
    border-color: rgba(118, 75, 162, 0.2) !important;
    background: rgba(240, 234, 255, 0.95) !important;
}
[data-theme="dreamy"] .hr-drawer-title,
[data-theme="dreamy"] .hr-dialog-header h4 { color: #1a0a2e !important; }
[data-theme="dreamy"] .hr-drawer-body { color: #3d1a5e !important; }

[data-theme="fresh"] .hr-drawer,
[data-theme="fresh"] .hr-dialog {
    background: #0f2a38 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
[data-theme="fresh"] .hr-drawer-header,
[data-theme="fresh"] .hr-drawer-footer,
[data-theme="fresh"] .hr-dialog-header {
    border-color: rgba(0, 217, 255, 0.2) !important;
    background: rgba(15, 42, 56, 0.98) !important;
}

[data-theme="nature"] .hr-drawer,
[data-theme="nature"] .hr-dialog {
    background: #fdf6ee !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
[data-theme="nature"] .hr-drawer-header,
[data-theme="nature"] .hr-drawer-footer,
[data-theme="nature"] .hr-dialog-header {
    border-color: rgba(212, 165, 116, 0.3) !important;
    background: rgba(253, 246, 238, 0.98) !important;
}
[data-theme="nature"] .hr-drawer-title,
[data-theme="nature"] .hr-dialog-header h4 { color: #2C1A0E !important; }
[data-theme="nature"] .hr-drawer-body { color: #5C3D1E !important; }

[data-theme="dopamine"] .hr-drawer,
[data-theme="dopamine"] .hr-dialog {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: -4px 0 32px rgba(255, 107, 107, 0.20) !important;
}
[data-theme="dopamine"] .hr-drawer-header,
[data-theme="dopamine"] .hr-drawer-footer,
[data-theme="dopamine"] .hr-dialog-header {
    border-color: rgba(255, 107, 107, 0.18) !important;
    background: rgba(255, 252, 252, 0.99) !important;
}
[data-theme="dopamine"] .hr-drawer-title,
[data-theme="dopamine"] .hr-dialog-header h4 { color: #1A1A2E !important; }

[data-theme="heal"] .hr-drawer,
[data-theme="heal"] .hr-dialog {
    background: #f4fbf9 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
[data-theme="heal"] .hr-drawer-header,
[data-theme="heal"] .hr-drawer-footer,
[data-theme="heal"] .hr-dialog-header {
    border-color: rgba(168, 218, 220, 0.40) !important;
    background: rgba(244, 251, 249, 0.99) !important;
}
[data-theme="heal"] .hr-drawer-title,
[data-theme="heal"] .hr-dialog-header h4 { color: #1D3557 !important; }
[data-theme="heal"] .hr-drawer-body { color: #2E5F7A !important; }

[data-theme="mint"] .hr-drawer,
[data-theme="mint"] .hr-dialog {
    background: #f0fdf8 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: -4px 0 32px rgba(16, 185, 129, 0.15) !important;
}
[data-theme="mint"] .hr-drawer-header,
[data-theme="mint"] .hr-drawer-footer,
[data-theme="mint"] .hr-dialog-header {
    border-color: rgba(16, 185, 129, 0.20) !important;
    background: rgba(240, 253, 248, 0.99) !important;
}
[data-theme="mint"] .hr-drawer-title,
[data-theme="mint"] .hr-dialog-header h4 { color: #0a2e1e !important; }
[data-theme="mint"] .hr-drawer-body { color: #134e35 !important; }

/* ── 风险预警弹窗：各主题强制不透明背景 ── */
/* 浅色主题 */
[data-theme="light"]  { --rw-modal-bg: #ffffff; }
[data-theme="pearl"]  { --rw-modal-bg: #f5f5f4; }
[data-theme="sakura"] { --rw-modal-bg: #fff1f2; }
/* 毛玻璃主题 */
[data-theme="dreamy"] { --rw-modal-bg: #f0eaff; }
[data-theme="fresh"]  { --rw-modal-bg: #0f2a38; }
[data-theme="mint"]   { --rw-modal-bg: #f0fdf8; }
/* 深色主题（bg-dark 已是不透明实色，但显式声明更安全） */
[data-theme="night"]  { --rw-modal-bg: #1c2128; }
[data-theme="obsidian"]{ --rw-modal-bg: #0a0a0a; }
[data-theme="aurora"] { --rw-modal-bg: #05050c; }
[data-theme="cyber"]  { --rw-modal-bg: #070a12; }
[data-theme="dusk"]   { --rw-modal-bg: #090604; }

/* ── 霓虹朋克 Neon（赛博朋克 · 深黑霓虹） ── */
[data-theme="neon"] {
    --color-primary: #00f5ff;
    --color-primary-dark: #00c8d4;
    --color-primary-rgb: 0, 245, 255;
    --color-success-rgb: 57, 255, 20;
    --color-secondary: #bf5fff;
    --color-success: #39ff14;
    --color-warning: #ffcc00;
    --color-danger: #ff2d78;
    --color-info: #00f5ff;

    --bg-primary: rgba(10, 0, 20, 0.85);
    --bg-secondary: rgba(18, 0, 36, 0.90);
    --bg-tertiary: rgba(28, 0, 52, 0.75);
    --bg-dark: #050010;
    --bg-gradient: linear-gradient(135deg, #0a0010 0%, #0d0020 50%, #100028 100%);

    --text-primary: #f0e6ff;
    --text-secondary: #c8a8ff;
    --text-tertiary: #9966cc;
    --text-inverse: #0a0010;
    --text-muted: #7744aa;
    --text-light: #aa88dd;

    --border-light: rgba(0, 245, 255, 0.18);
    --border-medium: rgba(0, 245, 255, 0.35);
    --border-dark: #00f5ff;

    --shadow-sm: 0 2px 8px rgba(0, 245, 255, 0.12);
    --shadow-md: 0 6px 24px rgba(0, 245, 255, 0.18), 0 0 0 1px rgba(0, 245, 255, 0.08) inset;
    --shadow-lg: 0 0 30px rgba(0, 245, 255, 0.30), 0 0 60px rgba(191, 95, 255, 0.15);
    --shadow-xl: 0 0 40px rgba(255, 45, 120, 0.35);
    --shadow-glow: 0 0 20px #00f5ff, 0 0 40px rgba(0, 245, 255, 0.4);
    --shadow-text: 0 0 8px #00f5ff, 0 0 16px rgba(0, 245, 255, 0.6);

    --site-detail-filter-bg: rgba(18, 0, 36, 0.75);
    --site-detail-filter-color: var(--text-primary);
    --site-detail-filter-border: rgba(0, 245, 255, 0.35);
    --site-detail-filter-placeholder: rgba(200, 168, 255, 0.45);
    --site-detail-filter-option-bg: #0d0020;
    --site-detail-filter-option-color: var(--text-primary);
    --site-detail-summary-wrap-bg: rgba(10, 0, 20, 0.65);
    --site-detail-summary-wrap-border: rgba(0, 245, 255, 0.22);
    --site-detail-summary-wrap-shadow: 0 0 24px rgba(0, 245, 255, 0.15);
    --site-detail-summary-card-bg: rgba(28, 0, 52, 0.55);
    --site-detail-summary-card-border: rgba(0, 245, 255, 0.28);
    --site-detail-summary-highlight-bg: rgba(0, 245, 255, 0.1);
    --site-detail-summary-highlight-border: #00f5ff;
    --site-detail-summary-label-color: var(--text-muted);
    --site-detail-summary-value-g1: #f0e6ff;
    --site-detail-summary-value-g2: #00f5ff;
    --site-detail-multi-bg: rgba(13, 0, 32, 0.98);
    --site-detail-multi-border: rgba(0, 245, 255, 0.4);
    --site-detail-multi-text: var(--text-primary);

    --bg-card: var(--bg-secondary);
    --bg-card-hover: var(--bg-primary);
}

/* ── 背景：深黑 + 霓虹光晕 ── */
[data-theme="neon"] body {
    background-color: #050010;
    background-image:
        radial-gradient(ellipse at 20% 30%, rgba(255, 45, 120, 0.18) 0%, transparent 45%),
        radial-gradient(ellipse at 80% 70%, rgba(0, 245, 255, 0.15) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 10%, rgba(191, 95, 255, 0.12) 0%, transparent 40%),
        linear-gradient(160deg, #0a0010 0%, #0d0020 60%, #100028 100%);
    animation: neon-bg-pulse 8s ease-in-out infinite alternate;
}

@keyframes neon-bg-pulse {
    0%   { background-position: 20% 30%, 80% 70%, 50% 10%; }
    100% { background-position: 25% 35%, 75% 65%, 52% 12%; }
}

/* ── 导航栏：霓虹边框 ── */
[data-theme="neon"] .navigation-bar {
    background: rgba(8, 0, 18, 0.95) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1.5px solid #ff2d78 !important;
    box-shadow: 0 0 20px rgba(255, 45, 120, 0.30), 0 2px 0 rgba(0, 245, 255, 0.15) !important;
}
[data-theme="neon"] .nav-link { color: #c8a8ff !important; }
[data-theme="neon"] .nav-link:hover {
    color: #00f5ff !important;
    background: rgba(0, 245, 255, 0.08) !important;
    text-shadow: 0 0 8px #00f5ff !important;
}
[data-theme="neon"] .nav-link.active {
    color: #00f5ff !important;
    background: rgba(0, 245, 255, 0.12) !important;
    border-color: #00f5ff !important;
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.35), inset 0 0 8px rgba(0, 245, 255, 0.08) !important;
    text-shadow: 0 0 8px #00f5ff !important;
}
[data-theme="neon"] .nav-brand-name {
    color: #ff2d78;
    text-shadow: 0 0 10px #ff2d78, 0 0 20px rgba(255, 45, 120, 0.5);
}

/* ── 次级导航 ── */
[data-theme="neon"] .nav-secondary {
    background: rgba(8, 0, 18, 0.92) !important;
    border-color: rgba(0, 245, 255, 0.22) !important;
}
[data-theme="neon"] .nav-secondary .nav-link { color: #c8a8ff !important; }
[data-theme="neon"] .nav-secondary .nav-link:hover,
[data-theme="neon"] .nav-secondary .nav-link.active {
    color: #00f5ff !important;
    background: rgba(0, 245, 255, 0.10) !important;
    text-shadow: 0 0 6px #00f5ff !important;
}

/* ── 首页汇总卡片 ── */
[data-theme="neon"] .summary-card-enhanced {
    background: rgba(18, 0, 36, 0.88) !important;
    border: 1px solid rgba(0, 245, 255, 0.30) !important;
    box-shadow: 0 0 16px rgba(0, 245, 255, 0.12), inset 0 0 20px rgba(191, 95, 255, 0.05) !important;
}
[data-theme="neon"] .summary-card-enhanced:hover {
    border-color: #00f5ff !important;
    box-shadow: 0 0 24px rgba(0, 245, 255, 0.30), 0 0 48px rgba(191, 95, 255, 0.12) !important;
    transform: translateY(-3px) !important;
    transition: all 0.3s ease !important;
}
[data-theme="neon"] .summary-card-value-center {
    background: linear-gradient(135deg, #00f5ff, #ff2d78) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
    filter: drop-shadow(0 0 6px rgba(0, 245, 255, 0.6)) !important;
}
[data-theme="neon"] .summary-card-label-left { color: #9966cc !important; }
[data-theme="neon"] .summary-card-total-right,
[data-theme="neon"] .summary-card-total-small,
[data-theme="neon"] .summary-card-total { color: #7744aa !important; }
[data-theme="neon"] .summary-card-comparison.up { color: #39ff14 !important; text-shadow: 0 0 6px #39ff14 !important; }
[data-theme="neon"] .summary-card-comparison.down { color: #ff2d78 !important; text-shadow: 0 0 6px #ff2d78 !important; }

/* ── 月度汇总 ── */
[data-theme="neon"] .monthly-summary {
    background: rgba(18, 0, 36, 0.88) !important;
    border-color: rgba(0, 245, 255, 0.25) !important;
}
[data-theme="neon"] .summary-card {
    background: rgba(18, 0, 36, 0.88) !important;
    border-color: rgba(0, 245, 255, 0.28) !important;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.10) !important;
}
[data-theme="neon"] .summary-card-value,
[data-theme="neon"] .summary-card-value-main,
[data-theme="neon"] .summary-card-value-realtime {
    background: linear-gradient(135deg, #00f5ff, #bf5fff) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}

/* ── 数据表格容器 ── */
[data-theme="neon"] .data-table-container {
    background: rgba(10, 0, 20, 0.90) !important;
    border: 1px solid rgba(0, 245, 255, 0.22) !important;
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.10), inset 0 0 30px rgba(191, 95, 255, 0.04) !important;
}
[data-theme="neon"] .data-table-container:hover {
    border-color: rgba(0, 245, 255, 0.45) !important;
    box-shadow: 0 0 30px rgba(0, 245, 255, 0.20) !important;
}
[data-theme="neon"] .table-title {
    color: #00f5ff !important;
    text-shadow: 0 0 10px #00f5ff, 0 0 20px rgba(0, 245, 255, 0.5) !important;
}
[data-theme="neon"] .refresh-button {
    background: rgba(0, 245, 255, 0.08) !important;
    color: #00f5ff !important;
    border-color: rgba(0, 245, 255, 0.40) !important;
    box-shadow: 0 0 10px rgba(0, 245, 255, 0.20) !important;
}
[data-theme="neon"] .refresh-button:hover:not(:disabled) {
    background: rgba(0, 245, 255, 0.16) !important;
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.40) !important;
}
[data-theme="neon"] .data-table thead { background: rgba(18, 0, 36, 0.95) !important; }
[data-theme="neon"] .data-table th {
    color: #c8a8ff !important;
    border-bottom-color: rgba(0, 245, 255, 0.30) !important;
    text-shadow: 0 0 4px rgba(191, 95, 255, 0.4) !important;
}
[data-theme="neon"] .data-table th:hover {
    background: rgba(0, 245, 255, 0.08) !important;
    color: #00f5ff !important;
    text-shadow: 0 0 8px #00f5ff !important;
}
[data-theme="neon"] .data-table td {
    color: #f0e6ff !important;
    border-bottom-color: rgba(0, 245, 255, 0.08) !important;
}
[data-theme="neon"] .data-table tbody tr:hover {
    background: rgba(0, 245, 255, 0.06) !important;
    box-shadow: inset 3px 0 0 #ff2d78 !important;
}
[data-theme="neon"] .data-table tbody tr:nth-child(even) {
    background: rgba(191, 95, 255, 0.03) !important;
}

/* ── 表格通用 ── */
[data-theme="neon"] table thead th {
    background: rgba(18, 0, 36, 0.95) !important;
    color: #c8a8ff !important;
    border-bottom-color: rgba(0, 245, 255, 0.25) !important;
}
[data-theme="neon"] table tbody td {
    color: #f0e6ff !important;
    border-bottom-color: rgba(0, 245, 255, 0.07) !important;
}
[data-theme="neon"] table tbody tr:hover {
    background: rgba(0, 245, 255, 0.05) !important;
}

/* ── 输入框 ── */
[data-theme="neon"] input,
[data-theme="neon"] select,
[data-theme="neon"] textarea {
    background: rgba(18, 0, 36, 0.90) !important;
    border-color: rgba(0, 245, 255, 0.30) !important;
    color: #f0e6ff !important;
}
[data-theme="neon"] input:focus,
[data-theme="neon"] select:focus,
[data-theme="neon"] textarea:focus {
    border-color: #00f5ff !important;
    box-shadow: 0 0 0 2px rgba(0, 245, 255, 0.20), 0 0 12px rgba(0, 245, 255, 0.25) !important;
}
[data-theme="neon"] .filter-group select option { background: #0d0020; color: #f0e6ff; }

/* ── 站点详情 ── */
[data-theme="neon"] .site-detail {
    background: rgba(10, 0, 20, 0.90) !important;
    border: 1px solid rgba(0, 245, 255, 0.22) !important;
}
[data-theme="neon"] .site-detail:hover {
    border-color: #00f5ff !important;
    box-shadow: 0 0 24px rgba(0, 245, 255, 0.20) !important;
}
[data-theme="neon"] .back-button {
    background: rgba(0, 245, 255, 0.08) !important;
    border-color: rgba(0, 245, 255, 0.40) !important;
    color: #00f5ff !important;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.20) !important;
}

/* ── 滚动条 ── */
[data-theme="neon"] .table-wrapper::-webkit-scrollbar-track { background: rgba(18, 0, 36, 0.5); }
[data-theme="neon"] .table-wrapper::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ff2d78, #bf5fff);
    box-shadow: 0 0 8px rgba(255, 45, 120, 0.5);
}
[data-theme="neon"] .table-wrapper::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #00f5ff, #bf5fff);
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.6);
}

/* ── 连接状态 ── */
[data-theme="neon"] .connection-status {
    background: rgba(8, 0, 18, 0.92) !important;
    backdrop-filter: blur(12px) !important;
}
[data-theme="neon"] .connection-status.connected {
    color: #39ff14 !important;
    border-color: #39ff14 !important;
    box-shadow: 0 0 12px rgba(57, 255, 20, 0.40) !important;
}
[data-theme="neon"] .connection-status.loading,
[data-theme="neon"] .connection-status.polling {
    color: #00f5ff !important;
    border-color: #00f5ff !important;
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.40) !important;
}
[data-theme="neon"] .connection-status.disconnected {
    color: #ff2d78 !important;
    border-color: #ff2d78 !important;
    box-shadow: 0 0 12px rgba(255, 45, 120, 0.40) !important;
}

/* ── 固定列背景 ── */
[data-theme="neon"] .data-table th:nth-child(1),
[data-theme="neon"] .data-table td:nth-child(1),
[data-theme="neon"] .data-table th:nth-child(2),
[data-theme="neon"] .data-table td:nth-child(2) {
    background: rgba(10, 0, 20, 0.95) !important;
}

/* ── 通用文字 ── */
[data-theme="neon"] h1, [data-theme="neon"] h2,
[data-theme="neon"] h3, [data-theme="neon"] h4 {
    color: #f0e6ff;
    text-shadow: 0 0 6px rgba(191, 95, 255, 0.3);
}
[data-theme="neon"] .text-muted,
[data-theme="neon"] .subtitle { color: #7744aa; }

/* ── 极光 CSS 特效层：固定在最底层，不遮挡任何内容 ── */
#aurora-fx-root {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
/* 兼容旧 canvas（如有残留） */
#aurora-canvas {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* 确保极光主题下主要内容容器浮在 canvas 之上（不包含 fixed 元素，避免拉伸） */
[data-theme="aurora"] #navigation,
[data-theme="aurora"] #main-content {
    position: relative;
    z-index: 1;
}
