/**
 * 智慧物业 — 32 套版面主题
 * 通过 html[data-theme] 切换，配合 theme.js 持久化
 */

:root,
[data-theme="midnight"] {
  --primary-rgb: 99, 102, 241;
  --accent-rgb: 34, 211, 238;
  --bg: #0f0f12;
  --surface: #18181f;
  --surface2: #22222c;
  --border: #2a2a36;
  --text: #f4f4f5;
  --text-muted: #a1a1aa;
  --primary: #6366f1;
  --primary-hover: #818cf8;
  --primary-deep: #4f46e5;
  --accent: #22d3ee;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  --glow-1: rgba(99, 102, 241, 0.15);
  --glow-2: rgba(34, 211, 238, 0.1);
  --row-hover: rgba(255, 255, 255, 0.02);
  --btn-text: #fff;
  --sidebar-accent: rgba(99, 102, 241, 0.15);
  --focus-ring: rgba(99, 102, 241, 0.25);
  --leasing-accent: rgba(59, 130, 246, 0.08);
  --leasing-accent-border: rgba(59, 130, 246, 0.22);
  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

[data-theme="youth"] {
  --primary-rgb: 255, 107, 157;
  --accent-rgb: 110, 231, 183;
  --bg: #fff5f8;
  --surface: #ffffff;
  --surface2: #fce7ef;
  --border: #fbcfe8;
  --text: #374151;
  --text-muted: #9ca3af;
  --primary: #ff6b9d;
  --primary-hover: #ff85ad;
  --primary-deep: #f43f7a;
  --accent: #6ee7b7;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 8px 28px rgba(255, 107, 157, 0.12);
  --glow-1: rgba(255, 107, 157, 0.18);
  --glow-2: rgba(110, 231, 183, 0.15);
  --row-hover: rgba(255, 107, 157, 0.04);
  --btn-text: #fff;
  --sidebar-accent: rgba(255, 107, 157, 0.12);
  --focus-ring: rgba(255, 107, 157, 0.28);
  --leasing-accent: rgba(255, 107, 157, 0.08);
  --leasing-accent-border: rgba(255, 107, 157, 0.22);
  --font: 'Inter', 'PingFang SC', sans-serif;
}

[data-theme="moonlight"] {
  --primary-rgb: 167, 139, 250;
  --accent-rgb: 196, 181, 253;
  --bg: #14121c;
  --surface: #1e1a2a;
  --surface2: #2a2438;
  --border: #3d3550;
  --text: #ede9fe;
  --text-muted: #a8a3b8;
  --primary: #a78bfa;
  --primary-hover: #c4b5fd;
  --primary-deep: #7c3aed;
  --accent: #c4b5fd;
  --success: #6ee7b7;
  --warning: #fcd34d;
  --danger: #fca5a5;
  --shadow: 0 8px 32px rgba(124, 58, 237, 0.2);
  --glow-1: rgba(167, 139, 250, 0.2);
  --glow-2: rgba(196, 181, 253, 0.12);
  --row-hover: rgba(167, 139, 250, 0.06);
  --btn-text: #fff;
  --sidebar-accent: rgba(167, 139, 250, 0.18);
  --focus-ring: rgba(167, 139, 250, 0.3);
  --leasing-accent: rgba(167, 139, 250, 0.1);
  --leasing-accent-border: rgba(167, 139, 250, 0.25);
}

[data-theme="classical"] {
  --primary-rgb: 139, 105, 20;
  --accent-rgb: 160, 82, 45;
  --bg: #f5f0e8;
  --surface: #faf6ef;
  --surface2: #efe6d8;
  --border: #d4c4a8;
  --text: #3d2914;
  --text-muted: #7c6344;
  --primary: #8b6914;
  --primary-hover: #a67c1a;
  --primary-deep: #6b4f0f;
  --accent: #a0522d;
  --success: #5a8f4a;
  --warning: #c9922a;
  --danger: #b54a4a;
  --shadow: 0 8px 24px rgba(61, 41, 20, 0.1);
  --glow-1: rgba(139, 105, 20, 0.12);
  --glow-2: rgba(160, 82, 45, 0.08);
  --row-hover: rgba(139, 105, 20, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(139, 105, 20, 0.12);
  --focus-ring: rgba(139, 105, 20, 0.25);
  --leasing-accent: rgba(139, 105, 20, 0.08);
  --leasing-accent-border: rgba(139, 105, 20, 0.2);
  --font: Georgia, 'Songti SC', serif;
}

[data-theme="classic"] {
  --primary-rgb: 37, 99, 235;
  --accent-rgb: 100, 116, 139;
  --bg: #f0f4f8;
  --surface: #ffffff;
  --surface2: #e8eef4;
  --border: #cbd5e1;
  --text: #1e293b;
  --text-muted: #64748b;
  --primary: #2563eb;
  --primary-hover: #3b82f6;
  --primary-deep: #1d4ed8;
  --accent: #64748b;
  --success: #059669;
  --warning: #d97706;
  --danger: #dc2626;
  --shadow: 0 8px 24px rgba(30, 41, 59, 0.08);
  --glow-1: rgba(37, 99, 235, 0.1);
  --glow-2: rgba(100, 116, 139, 0.08);
  --row-hover: rgba(37, 99, 235, 0.04);
  --btn-text: #fff;
  --sidebar-accent: rgba(37, 99, 235, 0.1);
  --focus-ring: rgba(37, 99, 235, 0.22);
  --leasing-accent: rgba(37, 99, 235, 0.06);
  --leasing-accent-border: rgba(37, 99, 235, 0.18);
}

[data-theme="fashion"] {
  --primary-rgb: 236, 72, 153;
  --accent-rgb: 244, 114, 182;
  --bg: #1a1118;
  --surface: #261820;
  --surface2: #322028;
  --border: #4a3040;
  --text: #fce7f3;
  --text-muted: #c4a0b0;
  --primary: #ec4899;
  --primary-hover: #f472b6;
  --primary-deep: #db2777;
  --accent: #f472b6;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #fb7185;
  --shadow: 0 8px 32px rgba(236, 72, 153, 0.2);
  --glow-1: rgba(236, 72, 153, 0.2);
  --glow-2: rgba(244, 114, 182, 0.12);
  --row-hover: rgba(236, 72, 153, 0.06);
  --btn-text: #fff;
  --sidebar-accent: rgba(236, 72, 153, 0.16);
  --focus-ring: rgba(236, 72, 153, 0.28);
  --leasing-accent: rgba(236, 72, 153, 0.1);
  --leasing-accent-border: rgba(236, 72, 153, 0.24);
}

[data-theme="tech"] {
  --primary-rgb: 6, 182, 212;
  --accent-rgb: 16, 185, 129;
  --bg: #0a1214;
  --surface: #111b1e;
  --surface2: #172428;
  --border: #1e3a40;
  --text: #e0f2fe;
  --text-muted: #7dd3fc;
  --primary: #06b6d4;
  --primary-hover: #22d3ee;
  --primary-deep: #0891b2;
  --accent: #10b981;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(6, 182, 212, 0.18);
  --glow-1: rgba(6, 182, 212, 0.18);
  --glow-2: rgba(16, 185, 129, 0.1);
  --row-hover: rgba(6, 182, 212, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(6, 182, 212, 0.15);
  --focus-ring: rgba(6, 182, 212, 0.28);
  --leasing-accent: rgba(6, 182, 212, 0.08);
  --leasing-accent-border: rgba(6, 182, 212, 0.22);
  --font: 'Inter', 'Consolas', monospace;
}

[data-theme="space"] {
  --primary-rgb: 129, 140, 248;
  --accent-rgb: 99, 102, 241;
  --bg: #0b0b1a;
  --surface: #12122a;
  --surface2: #1a1a38;
  --border: #2d2d5a;
  --text: #e0e7ff;
  --text-muted: #9498c8;
  --primary: #818cf8;
  --primary-hover: #a5b4fc;
  --primary-deep: #6366f1;
  --accent: #6366f1;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 36px rgba(99, 102, 241, 0.22);
  --glow-1: rgba(129, 140, 248, 0.22);
  --glow-2: rgba(99, 102, 241, 0.14);
  --row-hover: rgba(129, 140, 248, 0.06);
  --btn-text: #fff;
  --sidebar-accent: rgba(129, 140, 248, 0.16);
  --focus-ring: rgba(129, 140, 248, 0.3);
  --leasing-accent: rgba(129, 140, 248, 0.1);
  --leasing-accent-border: rgba(129, 140, 248, 0.24);
}

[data-theme="ocean"] {
  --primary-rgb: 8, 145, 178;
  --accent-rgb: 34, 211, 238;
  --bg: #0a1628;
  --surface: #0f2137;
  --surface2: #152a45;
  --border: #1e4976;
  --text: #e0f2fe;
  --text-muted: #7dd3fc;
  --primary: #0891b2;
  --primary-hover: #06b6d4;
  --primary-deep: #0e7490;
  --accent: #22d3ee;
  --success: #2dd4bf;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(8, 145, 178, 0.2);
  --glow-1: rgba(8, 145, 178, 0.2);
  --glow-2: rgba(34, 211, 238, 0.12);
  --row-hover: rgba(34, 211, 238, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(8, 145, 178, 0.16);
  --focus-ring: rgba(8, 145, 178, 0.28);
  --leasing-accent: rgba(8, 145, 178, 0.1);
  --leasing-accent-border: rgba(8, 145, 178, 0.22);
}

[data-theme="sky"] {
  --primary-rgb: 14, 165, 233;
  --accent-rgb: 56, 189, 248;
  --bg: #e8f4fc;
  --surface: #ffffff;
  --surface2: #dbeafe;
  --border: #bae6fd;
  --text: #0c4a6e;
  --text-muted: #64748b;
  --primary: #0ea5e9;
  --primary-hover: #38bdf8;
  --primary-deep: #0284c7;
  --accent: #38bdf8;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 8px 28px rgba(14, 165, 233, 0.12);
  --glow-1: rgba(14, 165, 233, 0.15);
  --glow-2: rgba(56, 189, 248, 0.12);
  --row-hover: rgba(14, 165, 233, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(14, 165, 233, 0.12);
  --focus-ring: rgba(14, 165, 233, 0.25);
  --leasing-accent: rgba(14, 165, 233, 0.08);
  --leasing-accent-border: rgba(14, 165, 233, 0.2);
}

[data-theme="forest"] {
  --primary-rgb: 34, 197, 94;
  --accent-rgb: 134, 239, 172;
  --bg: #0f1a14;
  --surface: #162119;
  --surface2: #1c2b21;
  --border: #2d4a38;
  --text: #ecfdf5;
  --text-muted: #86efac;
  --primary: #22c55e;
  --primary-hover: #4ade80;
  --primary-deep: #16a34a;
  --accent: #86efac;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(34, 197, 94, 0.15);
  --glow-1: rgba(34, 197, 94, 0.16);
  --glow-2: rgba(134, 239, 172, 0.1);
  --row-hover: rgba(34, 197, 94, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(34, 197, 94, 0.14);
  --focus-ring: rgba(34, 197, 94, 0.26);
  --leasing-accent: rgba(34, 197, 94, 0.08);
  --leasing-accent-border: rgba(34, 197, 94, 0.2);
}

[data-theme="golden"] {
  --primary-rgb: 212, 160, 23;
  --accent-rgb: 251, 191, 36;
  --bg: #1a1608;
  --surface: #252012;
  --surface2: #302818;
  --border: #4a3d18;
  --text: #fef3c7;
  --text-muted: #d4b86a;
  --primary: #d4a017;
  --primary-hover: #fbbf24;
  --primary-deep: #b8860b;
  --accent: #fbbf24;
  --success: #34d399;
  --warning: #fcd34d;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(212, 160, 23, 0.18);
  --glow-1: rgba(212, 160, 23, 0.18);
  --glow-2: rgba(251, 191, 36, 0.12);
  --row-hover: rgba(212, 160, 23, 0.06);
  --btn-text: #1a1608;
  --sidebar-accent: rgba(212, 160, 23, 0.16);
  --focus-ring: rgba(212, 160, 23, 0.28);
  --leasing-accent: rgba(212, 160, 23, 0.1);
  --leasing-accent-border: rgba(212, 160, 23, 0.22);
}

/* ── daisyUI / 组件库风格 ── */

[data-theme="dawn"] {
  --primary-rgb: 59, 130, 246;
  --accent-rgb: 251, 191, 36;
  --bg: #fafafa;
  --surface: #ffffff;
  --surface2: #f4f4f5;
  --border: #e4e4e7;
  --text: #18181b;
  --text-muted: #71717a;
  --primary: #3b82f6;
  --primary-hover: #60a5fa;
  --primary-deep: #2563eb;
  --accent: #fbbf24;
  --success: #22c55e;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 8px 24px rgba(24, 24, 27, 0.06);
  --glow-1: rgba(59, 130, 246, 0.12);
  --glow-2: rgba(251, 191, 36, 0.1);
  --row-hover: rgba(59, 130, 246, 0.04);
  --btn-text: #fff;
  --sidebar-accent: rgba(59, 130, 246, 0.1);
  --focus-ring: rgba(59, 130, 246, 0.22);
  --leasing-accent: rgba(59, 130, 246, 0.06);
  --leasing-accent-border: rgba(59, 130, 246, 0.16);
}

[data-theme="obsidian"] {
  --primary-rgb: 148, 163, 184;
  --accent-rgb: 100, 116, 139;
  --bg: #09090b;
  --surface: #18181b;
  --surface2: #27272a;
  --border: #3f3f46;
  --text: #fafafa;
  --text-muted: #a1a1aa;
  --primary: #94a3b8;
  --primary-hover: #cbd5e1;
  --primary-deep: #64748b;
  --accent: #64748b;
  --success: #4ade80;
  --warning: #fbbf24;
  --danger: #f87171;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  --glow-1: rgba(148, 163, 184, 0.12);
  --glow-2: rgba(100, 116, 139, 0.08);
  --row-hover: rgba(255, 255, 255, 0.03);
  --btn-text: #09090b;
  --sidebar-accent: rgba(148, 163, 184, 0.12);
  --focus-ring: rgba(148, 163, 184, 0.25);
  --leasing-accent: rgba(148, 163, 184, 0.08);
  --leasing-accent-border: rgba(148, 163, 184, 0.18);
}

[data-theme="pastel"] {
  --primary-rgb: 101, 195, 200;
  --accent-rgb: 240, 214, 214;
  --bg: #faf7f5;
  --surface: #ffffff;
  --surface2: #f5ebe8;
  --border: #ebd5d5;
  --text: #4a4039;
  --text-muted: #9a8a82;
  --primary: #65c3c8;
  --primary-hover: #7dd3d8;
  --primary-deep: #4fb3b8;
  --accent: #f0d6d6;
  --success: #86efac;
  --warning: #fcd34d;
  --danger: #fca5a5;
  --shadow: 0 8px 28px rgba(101, 195, 200, 0.12);
  --glow-1: rgba(101, 195, 200, 0.16);
  --glow-2: rgba(240, 214, 214, 0.2);
  --row-hover: rgba(101, 195, 200, 0.06);
  --btn-text: #fff;
  --sidebar-accent: rgba(101, 195, 200, 0.14);
  --focus-ring: rgba(101, 195, 200, 0.26);
  --leasing-accent: rgba(101, 195, 200, 0.08);
  --leasing-accent-border: rgba(101, 195, 200, 0.2);
}

[data-theme="neon"] {
  --primary-rgb: 255, 126, 219;
  --accent-rgb: 1, 205, 254;
  --bg: #1a1033;
  --surface: #2d1b69;
  --surface2: #3d2580;
  --border: #5a3a9e;
  --text: #f0e6ff;
  --text-muted: #c4a8e8;
  --primary: #ff7edb;
  --primary-hover: #ffa3e8;
  --primary-deep: #e056c0;
  --accent: #01cdfe;
  --success: #72f1b8;
  --warning: #fede5d;
  --danger: #ff6b9d;
  --shadow: 0 8px 36px rgba(255, 126, 219, 0.25);
  --glow-1: rgba(255, 126, 219, 0.22);
  --glow-2: rgba(1, 205, 254, 0.14);
  --row-hover: rgba(255, 126, 219, 0.08);
  --btn-text: #1a1033;
  --sidebar-accent: rgba(255, 126, 219, 0.18);
  --focus-ring: rgba(255, 126, 219, 0.32);
  --leasing-accent: rgba(255, 126, 219, 0.1);
  --leasing-accent-border: rgba(255, 126, 219, 0.24);
}

[data-theme="cyber"] {
  --primary-rgb: 243, 238, 0;
  --accent-rgb: 117, 209, 240;
  --bg: #0d0d12;
  --surface: #14141c;
  --surface2: #1c1c28;
  --border: #2a2a3a;
  --text: #f0f0f5;
  --text-muted: #9898a8;
  --primary: #f3ee00;
  --primary-hover: #fff44d;
  --primary-deep: #d4cf00;
  --accent: #75d1f0;
  --success: #72f1b8;
  --warning: #ff7598;
  --danger: #ff4757;
  --shadow: 0 8px 32px rgba(243, 238, 0, 0.12);
  --glow-1: rgba(243, 238, 0, 0.14);
  --glow-2: rgba(117, 209, 240, 0.12);
  --row-hover: rgba(243, 238, 0, 0.05);
  --btn-text: #0d0d12;
  --sidebar-accent: rgba(243, 238, 0, 0.12);
  --focus-ring: rgba(243, 238, 0, 0.28);
  --leasing-accent: rgba(117, 209, 240, 0.08);
  --leasing-accent-border: rgba(117, 209, 240, 0.2);
}

[data-theme="romance"] {
  --primary-rgb: 233, 109, 123;
  --accent-rgb: 250, 231, 233;
  --bg: #fff5f6;
  --surface: #ffffff;
  --surface2: #fae7e9;
  --border: #f5c6cb;
  --text: #5c2a32;
  --text-muted: #a86b75;
  --primary: #e96d7b;
  --primary-hover: #f08a96;
  --primary-deep: #d44d5e;
  --accent: #fae7e9;
  --success: #86efac;
  --warning: #fcd34d;
  --danger: #ef4444;
  --shadow: 0 8px 28px rgba(233, 109, 123, 0.14);
  --glow-1: rgba(233, 109, 123, 0.16);
  --glow-2: rgba(250, 231, 233, 0.3);
  --row-hover: rgba(233, 109, 123, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(233, 109, 123, 0.12);
  --focus-ring: rgba(233, 109, 123, 0.26);
  --leasing-accent: rgba(233, 109, 123, 0.08);
  --leasing-accent-border: rgba(233, 109, 123, 0.2);
}

[data-theme="corporate"] {
  --primary-rgb: 22, 119, 255;
  --accent-rgb: 64, 150, 255;
  --bg: #f5f5f5;
  --surface: #ffffff;
  --surface2: #fafafa;
  --border: #d9d9d9;
  --text: #141414;
  --text-muted: #8c8c8c;
  --primary: #1677ff;
  --primary-hover: #4096ff;
  --primary-deep: #0958d9;
  --accent: #4096ff;
  --success: #52c41a;
  --warning: #faad14;
  --danger: #ff4d4f;
  --shadow: 0 6px 20px rgba(22, 119, 255, 0.08);
  --glow-1: rgba(22, 119, 255, 0.1);
  --glow-2: rgba(64, 150, 255, 0.08);
  --row-hover: rgba(22, 119, 255, 0.04);
  --btn-text: #fff;
  --sidebar-accent: rgba(22, 119, 255, 0.1);
  --focus-ring: rgba(22, 119, 255, 0.22);
  --leasing-accent: rgba(22, 119, 255, 0.06);
  --leasing-accent-border: rgba(22, 119, 255, 0.16);
}

[data-theme="aqua"] {
  --primary-rgb: 9, 182, 159;
  --accent-rgb: 45, 212, 191;
  --bg: #ecfdf8;
  --surface: #ffffff;
  --surface2: #d1fae5;
  --border: #99f6e4;
  --text: #134e4a;
  --text-muted: #5b8a82;
  --primary: #09b69f;
  --primary-hover: #2dd4bf;
  --primary-deep: #0d9488;
  --accent: #2dd4bf;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 8px 28px rgba(9, 182, 159, 0.12);
  --glow-1: rgba(9, 182, 159, 0.14);
  --glow-2: rgba(45, 212, 191, 0.12);
  --row-hover: rgba(9, 182, 159, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(9, 182, 159, 0.12);
  --focus-ring: rgba(9, 182, 159, 0.24);
  --leasing-accent: rgba(9, 182, 159, 0.08);
  --leasing-accent-border: rgba(9, 182, 159, 0.18);
}

/* ── Bootswatch / 框架皮肤 ── */

[data-theme="mint"] {
  --primary-rgb: 120, 194, 173;
  --accent-rgb: 152, 216, 200;
  --bg: #f0faf7;
  --surface: #ffffff;
  --surface2: #e0f5ef;
  --border: #b8e6d5;
  --text: #2d4a42;
  --text-muted: #6b9080;
  --primary: #78c2ad;
  --primary-hover: #98d8c8;
  --primary-deep: #5aab94;
  --accent: #98d8c8;
  --success: #52c41a;
  --warning: #faad14;
  --danger: #ff4d4f;
  --shadow: 0 8px 24px rgba(120, 194, 173, 0.12);
  --glow-1: rgba(120, 194, 173, 0.14);
  --glow-2: rgba(152, 216, 200, 0.12);
  --row-hover: rgba(120, 194, 173, 0.05);
  --btn-text: #fff;
  --sidebar-accent: rgba(120, 194, 173, 0.12);
  --focus-ring: rgba(120, 194, 173, 0.24);
  --leasing-accent: rgba(120, 194, 173, 0.08);
  --leasing-accent-border: rgba(120, 194, 173, 0.18);
}

[data-theme="slate"] {
  --primary-rgb: 82, 168, 236;
  --accent-rgb: 62, 142, 208;
  --bg: #272b30;
  --surface: #3a3f44;
  --surface2: #484e53;
  --border: #5a6268;
  --text: #c8c8c8;
  --text-muted: #999999;
  --primary: #52a8ec;
  --primary-hover: #7bc0f5;
  --primary-deep: #3e8ed0;
  --accent: #3e8ed0;
  --success: #62c462;
  --warning: #f89406;
  --danger: #ee5f5b;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  --glow-1: rgba(82, 168, 236, 0.16);
  --glow-2: rgba(62, 142, 208, 0.1);
  --row-hover: rgba(255, 255, 255, 0.03);
  --btn-text: #fff;
  --sidebar-accent: rgba(82, 168, 236, 0.14);
  --focus-ring: rgba(82, 168, 236, 0.26);
  --leasing-accent: rgba(82, 168, 236, 0.08);
  --leasing-accent-border: rgba(82, 168, 236, 0.2);
}

/* ── 独立流行配色 ── */

[data-theme="nordic"] {
  --primary-rgb: 136, 192, 208;
  --accent-rgb: 129, 161, 193;
  --bg: #2e3440;
  --surface: #3b4252;
  --surface2: #434c5e;
  --border: #4c566a;
  --text: #eceff4;
  --text-muted: #d8dee9;
  --primary: #88c0d0;
  --primary-hover: #8fbcbb;
  --primary-deep: #5e81ac;
  --accent: #81a1c1;
  --success: #a3be8c;
  --warning: #ebcb8b;
  --danger: #bf616a;
  --shadow: 0 8px 32px rgba(46, 52, 64, 0.4);
  --glow-1: rgba(136, 192, 208, 0.16);
  --glow-2: rgba(129, 161, 193, 0.1);
  --row-hover: rgba(136, 192, 208, 0.06);
  --btn-text: #2e3440;
  --sidebar-accent: rgba(136, 192, 208, 0.14);
  --focus-ring: rgba(136, 192, 208, 0.26);
  --leasing-accent: rgba(136, 192, 208, 0.08);
  --leasing-accent-border: rgba(136, 192, 208, 0.2);
}

[data-theme="vampire"] {
  --primary-rgb: 189, 147, 249;
  --accent-rgb: 139, 233, 253;
  --bg: #282a36;
  --surface: #343746;
  --surface2: #44475a;
  --border: #6272a4;
  --text: #f8f8f2;
  --text-muted: #bfbfbf;
  --primary: #bd93f9;
  --primary-hover: #d4b4ff;
  --primary-deep: #9b59d0;
  --accent: #8be9fd;
  --success: #50fa7b;
  --warning: #f1fa8c;
  --danger: #ff5555;
  --shadow: 0 8px 32px rgba(189, 147, 249, 0.2);
  --glow-1: rgba(189, 147, 249, 0.18);
  --glow-2: rgba(139, 233, 253, 0.1);
  --row-hover: rgba(189, 147, 249, 0.06);
  --btn-text: #282a36;
  --sidebar-accent: rgba(189, 147, 249, 0.16);
  --focus-ring: rgba(189, 147, 249, 0.28);
  --leasing-accent: rgba(189, 147, 249, 0.1);
  --leasing-accent-border: rgba(189, 147, 249, 0.22);
}

[data-theme="solstice"] {
  --primary-rgb: 38, 139, 210;
  --accent-rgb: 42, 161, 152;
  --bg: #002b36;
  --surface: #073642;
  --surface2: #0a4050;
  --border: #094656;
  --text: #839496;
  --text-muted: #657b83;
  --primary: #268bd2;
  --primary-hover: #42a5e8;
  --primary-deep: #1a6fa8;
  --accent: #2aa198;
  --success: #859900;
  --warning: #b58900;
  --danger: #dc322f;
  --shadow: 0 8px 32px rgba(0, 43, 54, 0.45);
  --glow-1: rgba(38, 139, 210, 0.16);
  --glow-2: rgba(42, 161, 152, 0.1);
  --row-hover: rgba(38, 139, 210, 0.05);
  --btn-text: #fdf6e3;
  --sidebar-accent: rgba(38, 139, 210, 0.14);
  --focus-ring: rgba(38, 139, 210, 0.26);
  --leasing-accent: rgba(38, 139, 210, 0.08);
  --leasing-accent-border: rgba(38, 139, 210, 0.2);
}

[data-theme="tokyo"] {
  --primary-rgb: 122, 162, 247;
  --accent-rgb: 125, 207, 255;
  --bg: #1a1b26;
  --surface: #24283b;
  --surface2: #292e42;
  --border: #414868;
  --text: #c0caf5;
  --text-muted: #565f89;
  --primary: #7aa2f7;
  --primary-hover: #9ab0f8;
  --primary-deep: #5a7fd4;
  --accent: #7dcfff;
  --success: #9ece6a;
  --warning: #e0af68;
  --danger: #f7768e;
  --shadow: 0 8px 32px rgba(122, 162, 247, 0.18);
  --glow-1: rgba(122, 162, 247, 0.18);
  --glow-2: rgba(125, 207, 255, 0.1);
  --row-hover: rgba(122, 162, 247, 0.06);
  --btn-text: #1a1b26;
  --sidebar-accent: rgba(122, 162, 247, 0.14);
  --focus-ring: rgba(122, 162, 247, 0.26);
  --leasing-accent: rgba(122, 162, 247, 0.08);
  --leasing-accent-border: rgba(122, 162, 247, 0.2);
}

[data-theme="retro"] {
  --primary-rgb: 251, 73, 52;
  --accent-rgb: 184, 187, 38;
  --bg: #282828;
  --surface: #32302f;
  --surface2: #3c3836;
  --border: #504945;
  --text: #ebdbb2;
  --text-muted: #a89984;
  --primary: #fb4934;
  --primary-hover: #fe8019;
  --primary-deep: #cc241d;
  --accent: #b8bb26;
  --success: #b8bb26;
  --warning: #fabd2f;
  --danger: #fb4934;
  --shadow: 0 8px 32px rgba(40, 40, 40, 0.4);
  --glow-1: rgba(251, 73, 52, 0.14);
  --glow-2: rgba(184, 187, 38, 0.1);
  --row-hover: rgba(251, 73, 52, 0.05);
  --btn-text: #282828;
  --sidebar-accent: rgba(251, 73, 52, 0.12);
  --focus-ring: rgba(251, 73, 52, 0.24);
  --leasing-accent: rgba(184, 187, 38, 0.08);
  --leasing-accent-border: rgba(184, 187, 38, 0.18);
}

[data-theme="rosy"] {
  --primary-rgb: 235, 111, 146;
  --accent-rgb: 49, 116, 143;
  --bg: #191724;
  --surface: #1f1d2e;
  --surface2: #26233a;
  --border: #403d52;
  --text: #e0def4;
  --text-muted: #908caa;
  --primary: #eb6f92;
  --primary-hover: #f084a8;
  --primary-deep: #c45d7a;
  --accent: #31748f;
  --success: #9ccfd8;
  --warning: #f6c177;
  --danger: #eb6f92;
  --shadow: 0 8px 32px rgba(235, 111, 146, 0.15);
  --glow-1: rgba(235, 111, 146, 0.16);
  --glow-2: rgba(49, 116, 143, 0.12);
  --row-hover: rgba(235, 111, 146, 0.06);
  --btn-text: #191724;
  --sidebar-accent: rgba(235, 111, 146, 0.14);
  --focus-ring: rgba(235, 111, 146, 0.26);
  --leasing-accent: rgba(49, 116, 143, 0.1);
  --leasing-accent-border: rgba(49, 116, 143, 0.22);
}

[data-theme="github"] {
  --primary-rgb: 88, 166, 255;
  --accent-rgb: 121, 192, 255;
  --bg: #0d1117;
  --surface: #161b22;
  --surface2: #21262d;
  --border: #30363d;
  --text: #c9d1d9;
  --text-muted: #8b949e;
  --primary: #58a6ff;
  --primary-hover: #79c0ff;
  --primary-deep: #388bfd;
  --accent: #79c0ff;
  --success: #3fb950;
  --warning: #d29922;
  --danger: #f85149;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  --glow-1: rgba(88, 166, 255, 0.14);
  --glow-2: rgba(121, 192, 255, 0.08);
  --row-hover: rgba(88, 166, 255, 0.05);
  --btn-text: #0d1117;
  --sidebar-accent: rgba(88, 166, 255, 0.12);
  --focus-ring: rgba(88, 166, 255, 0.24);
  --leasing-accent: rgba(88, 166, 255, 0.08);
  --leasing-accent-border: rgba(88, 166, 255, 0.18);
}

[data-theme="latte"] {
  --primary-rgb: 30, 102, 245;
  --accent-rgb: 136, 57, 239;
  --bg: #eff1f5;
  --surface: #ffffff;
  --surface2: #e6e9ef;
  --border: #ccd0da;
  --text: #4c4f69;
  --text-muted: #7c7f93;
  --primary: #1e66f5;
  --primary-hover: #4578f5;
  --primary-deep: #1e56c8;
  --accent: #8839ef;
  --success: #40a02b;
  --warning: #df8e1d;
  --danger: #d20f39;
  --shadow: 0 8px 24px rgba(76, 79, 105, 0.08);
  --glow-1: rgba(30, 102, 245, 0.1);
  --glow-2: rgba(136, 57, 239, 0.08);
  --row-hover: rgba(30, 102, 245, 0.04);
  --btn-text: #fff;
  --sidebar-accent: rgba(30, 102, 245, 0.1);
  --focus-ring: rgba(30, 102, 245, 0.22);
  --leasing-accent: rgba(30, 102, 245, 0.06);
  --leasing-accent-border: rgba(30, 102, 245, 0.16);
}

[data-theme="mocha"] {
  --primary-rgb: 137, 180, 250;
  --accent-rgb: 203, 166, 247;
  --bg: #1e1e2e;
  --surface: #181825;
  --surface2: #313244;
  --border: #45475a;
  --text: #cdd6f4;
  --text-muted: #a6adc8;
  --primary: #89b4fa;
  --primary-hover: #a6c8ff;
  --primary-deep: #6c99e0;
  --accent: #cba6f7;
  --success: #a6e3a1;
  --warning: #f9e2af;
  --danger: #f38ba8;
  --shadow: 0 8px 32px rgba(30, 30, 46, 0.45);
  --glow-1: rgba(137, 180, 250, 0.16);
  --glow-2: rgba(203, 166, 247, 0.1);
  --row-hover: rgba(137, 180, 250, 0.06);
  --btn-text: #1e1e2e;
  --sidebar-accent: rgba(137, 180, 250, 0.14);
  --focus-ring: rgba(137, 180, 250, 0.26);
  --leasing-accent: rgba(137, 180, 250, 0.08);
  --leasing-accent-border: rgba(137, 180, 250, 0.2);
}

[data-theme="pixel"] {
  --primary-rgb: 32, 156, 238;
  --accent-rgb: 252, 196, 25;
  --bg: #212529;
  --surface: #2c3034;
  --surface2: #343a40;
  --border: #495057;
  --text: #f8f9fa;
  --text-muted: #adb5bd;
  --primary: #209cee;
  --primary-hover: #4db3f5;
  --primary-deep: #1872b8;
  --accent: #fcc419;
  --success: #51cf66;
  --warning: #fcc419;
  --danger: #ff6b6b;
  --shadow: 0 4px 0 rgba(0, 0, 0, 0.35);
  --glow-1: rgba(32, 156, 238, 0.14);
  --glow-2: rgba(252, 196, 25, 0.1);
  --row-hover: rgba(32, 156, 238, 0.05);
  --btn-text: #212529;
  --sidebar-accent: rgba(32, 156, 238, 0.14);
  --focus-ring: rgba(32, 156, 238, 0.26);
  --leasing-accent: rgba(252, 196, 25, 0.08);
  --leasing-accent-border: rgba(252, 196, 25, 0.18);
  --font: 'Courier New', 'Consolas', monospace;
}

/* 主题选择器（下拉框） */
.sidebar-theme {
  border-top: 1px solid var(--border);
  padding: .75rem 1rem 1rem;
  flex-shrink: 0;
}

.theme-select-label {
  display: block;
  font-size: .8125rem;
  color: var(--text-muted);
  margin-bottom: .375rem;
}

.theme-select {
  width: 100%;
  padding: .5625rem .75rem;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: inherit;
  font-size: .875rem;
  cursor: pointer;
  transition: border-color .2s;
}

.theme-select:focus {
  outline: none;
  border-color: var(--primary);
}

.settings-tenant-bar {
  margin-bottom: 1rem;
  padding: 1rem 1.25rem !important;
}
.settings-tenant-inner .field-hint { margin-top: .375rem; }

/* 我的订单侧栏、优惠券金额区：随页面主题变色 */
[data-theme] {
  --order-side-room-bg: var(--primary-deep);
  --order-side-period-bg: var(--primary);
  --order-side-fg: var(--btn-text);
  --coupon-value-bg-top: var(--primary);
  --coupon-value-bg-deep: var(--primary-deep);
  --coupon-value-fg: var(--btn-text);
  --page-hero-bg: color-mix(in srgb, rgb(var(--primary-rgb)) 7%, var(--surface) 93%);
  --page-hero-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 55%, transparent),
    inset 0 -1px 0 color-mix(in srgb, rgb(var(--primary-rgb)) 6%, transparent),
    0 2px 10px color-mix(in srgb, rgb(var(--primary-rgb)) 6%, transparent);
  --surface-elevated: color-mix(in srgb, var(--surface2) 88%, var(--surface));
  --surface-alt: color-mix(in srgb, var(--surface2) 72%, var(--surface));
  --input-bg: var(--surface2);
  --input-fg: var(--text);
  --input-placeholder: var(--text-muted);
  /* 空状态插图：随主题主色 / 背景变化 */
  --empty-illus-halo: color-mix(in srgb, rgb(var(--primary-rgb)) 14%, var(--surface) 86%);
  --empty-illus-body: color-mix(in srgb, rgb(var(--primary-rgb)) 62%, var(--primary-deep) 38%);
  --empty-illus-body-soft: color-mix(in srgb, rgb(var(--primary-rgb)) 28%, var(--surface2) 72%);
  --empty-illus-glass: color-mix(in srgb, rgb(var(--accent-rgb)) 32%, transparent);
  --empty-illus-glass-stroke: color-mix(in srgb, rgb(var(--primary-rgb)) 70%, var(--primary-deep) 30%);
  --empty-illus-window: color-mix(in srgb, var(--text) 6%, var(--surface) 94%);
  --empty-illus-shadow: color-mix(in srgb, var(--text-muted) 22%, transparent);
  --empty-illus-spark: color-mix(in srgb, rgb(var(--accent-rgb)) 55%, var(--primary) 45%);
}

/* 全站文本类表单控件跟随主题（避免浏览器默认白底） */
[data-theme] textarea,
[data-theme] select,
[data-theme] input:is(
  [type="text"],
  [type="search"],
  [type="email"],
  [type="tel"],
  [type="url"],
  [type="password"],
  [type="number"],
  [type="date"],
  [type="time"],
  [type="datetime-local"]
),
[data-theme] .hr-wechat-query-input {
  background-color: var(--input-bg);
  color: var(--input-fg);
  border-color: var(--border);
}

[data-theme] textarea::placeholder,
[data-theme] input:is(
  [type="text"],
  [type="search"],
  [type="email"],
  [type="tel"],
  [type="url"],
  [type="password"],
  [type="number"],
  [type="date"],
  [type="time"],
  [type="datetime-local"]
)::placeholder {
  color: var(--input-placeholder);
  opacity: 1;
}

[data-theme] pre.message-preview-content,
[data-theme] .message-preview-content {
  background: var(--surface-elevated);
  color: var(--text);
  border-color: var(--border);
}
