/* 项目主题：潮顺保留绿色主色并使用浅色侧栏；巡通使用浅蓝工作区。 */
:root[data-theme="chaoshun"] {
  --surface-sidebar: oklch(99% 0.004 160);
}
[data-theme="chaoshun"] .sidebar {
  border-right: 1px solid var(--border);
  scrollbar-color: var(--gray-300) transparent;
}
[data-theme="chaoshun"] .sidebar::-webkit-scrollbar-thumb { background: var(--gray-300); }
[data-theme="chaoshun"] .nav-item-title,
[data-theme="chaoshun"] .nav-sub-item { color: var(--gray-600); }
[data-theme="chaoshun"] .arrow-icon { color: var(--gray-500); }
[data-theme="chaoshun"] .nav-item-title:hover,
[data-theme="chaoshun"] .nav-sub-item:hover {
  background: oklch(96% 0.018 160);
  color: var(--primary-dark);
}
[data-theme="chaoshun"] .nav-item.active > .nav-item-title,
[data-theme="chaoshun"] .nav-item-title.active-sub,
[data-theme="chaoshun"] .nav-sub-item.active {
  background: var(--primary-muted);
  color: var(--primary-dark);
  box-shadow: inset 3px 0 var(--primary);
  font-weight: 600;
}
[data-theme="chaoshun"] .nav-item.active > .nav-item-title .nav-icon { color: var(--primary); }

:root[data-theme="xuntong"] {
  --primary: oklch(52% 0.13 240);
  --primary-light: oklch(73% 0.12 225);
  --primary-dark: oklch(42% 0.12 245);
  --primary-muted: oklch(96% 0.025 230);
  --primary-border: oklch(86% 0.055 230);
  --surface-bg: oklch(97% 0.015 240);
  --surface-card: oklch(100% 0 0);
  --surface-sidebar: oklch(100% 0 0);
  --surface-topbar: oklch(100% 0 0);
  --text-primary: oklch(29% 0.055 250);
  --text-secondary: oklch(45% 0.035 245);
  --text-muted: oklch(50% 0.025 245);
  --gray-50: oklch(98% 0.008 240);
  --gray-100: oklch(96% 0.014 240);
  --gray-200: oklch(91% 0.018 240);
  --gray-300: oklch(80% 0.025 240);
  --gray-400: oklch(56% 0.025 245);
  --gray-500: oklch(50% 0.025 245);
  --gray-600: oklch(45% 0.035 245);
  --gray-700: oklch(37% 0.04 250);
  --gray-800: oklch(29% 0.055 250);
  --gray-900: oklch(23% 0.045 250);
  --border: oklch(91% 0.018 240);
  --border-strong: oklch(80% 0.025 240);
  --shadow-sm: 0 2px 8px oklch(40% 0.07 240 / 0.035);
  --shadow: 0 4px 18px oklch(40% 0.07 240 / 0.06);
  --shadow-md: 0 8px 28px oklch(40% 0.07 240 / 0.09);
}

[data-theme="xuntong"] .login-page {
  background: radial-gradient(ellipse at 12% 25%, oklch(91% 0.055 230), transparent 48%),
    linear-gradient(125deg, oklch(96% 0.024 235), oklch(99% 0.006 240));
}
[data-theme="xuntong"] .login-bg::before {
  background: linear-gradient(125deg, transparent 35%, oklch(100% 0 0 / 0.6));
}
[data-theme="xuntong"] .login-bg-shape {
  background: var(--primary-light);
  opacity: 0.12;
  border: 1px solid var(--primary-border);
}
[data-theme="xuntong"] .login-card {
  background: var(--surface-card);
  border-color: var(--border);
  box-shadow: 0 24px 70px oklch(45% 0.08 240 / 0.1);
}
[data-theme="xuntong"] .input-wrap input { background: var(--gray-50); }
[data-theme="xuntong"] .sidebar {
  border-right: 1px solid var(--border);
  scrollbar-color: var(--gray-300) transparent;
}
[data-theme="xuntong"] .sidebar::-webkit-scrollbar-thumb { background: var(--gray-300); }
[data-theme="xuntong"] .nav-item-title,
[data-theme="xuntong"] .nav-sub-item { color: var(--text-secondary); }
[data-theme="xuntong"] .arrow-icon { color: var(--text-muted); }
[data-theme="xuntong"] .nav-item-title:hover,
[data-theme="xuntong"] .nav-sub-item:hover {
  color: var(--primary-dark);
  background: var(--gray-50);
}
[data-theme="xuntong"] .nav-item.active > .nav-item-title,
[data-theme="xuntong"] .nav-item-title.active-sub,
[data-theme="xuntong"] .nav-sub-item.active {
  background: var(--primary-muted);
  color: var(--primary-dark);
  box-shadow: inset 3px 0 var(--primary-light);
  font-weight: 600;
}
[data-theme="xuntong"] .nav-item.active > .nav-item-title .nav-icon { color: var(--primary); }
[data-theme="xuntong"] .home-plan-hero {
  background: linear-gradient(115deg, oklch(95% 0.026 230), oklch(98% 0.012 240));
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
[data-theme="xuntong"] .home-plan-hero::after { opacity: 0.2; }
[data-theme="xuntong"] .home-plan-copy h2,
[data-theme="xuntong"] .home-summary-card strong { color: var(--text-primary); }
[data-theme="xuntong"] .home-plan-copy p,
[data-theme="xuntong"] .home-summary-card span { color: var(--text-secondary); }
[data-theme="xuntong"] .home-summary-card em { color: var(--primary-dark); }
[data-theme="xuntong"] .home-kicker {
  color: var(--primary-dark);
  border-color: var(--primary-border);
  background: var(--surface-card);
}
[data-theme="xuntong"] .home-summary-card {
  background: var(--surface-card);
  border-color: var(--border);
}
[data-theme="xuntong"] .home-summary-card.emphasis {
  background: var(--primary-muted);
  border-color: var(--primary-border);
}
[data-theme="xuntong"] .stat-card.primary { background: var(--surface-card); border-color: var(--border); }
[data-theme="xuntong"] .stat-card.primary .stat-card-header,
[data-theme="xuntong"] .stat-card.primary .stat-label { color: var(--text-secondary); }
[data-theme="xuntong"] .stat-card.primary .stat-number { color: var(--text-primary); }
[data-theme="xuntong"] .stat-card.primary .stat-icon-wrap { color: var(--primary); background: var(--primary-muted); }
[data-theme="xuntong"] .monthly-bar { background: linear-gradient(180deg, var(--primary-light), var(--primary-border)); }
[data-theme="xuntong"] .notification-item.is-unread,
[data-theme="xuntong"] .ledger-detail-toolbar { background: var(--primary-muted); }
[data-theme="xuntong"] :is(input, select, textarea):focus {
  box-shadow: 0 0 0 3px oklch(60% 0.12 235 / 0.12);
}
[data-theme="xuntong"] :is(.btn-login, .btn-primary, .float-service),
[data-theme="xuntong"] :is(.btn-login, .btn-primary, .float-service):hover {
  box-shadow: 0 4px 14px oklch(52% 0.13 240 / 0.16);
}
