:root[data-theme="light"] {
  --bg: #f6f7f8;
  --surface: #ffffff;
  --surface-muted: #fbfbfc;
  --surface-soft: #f3f4f6;
  --surface-selected: #eef4ff;

  --text-primary: #14171c;
  --text-secondary: #4c5563;
  --text-tertiary: #6b7280;
  --text-disabled: #9aa1ab;

  --border: #e6e8eb;
  --border-strong: #d9dde3;
  --divider: #eef0f2;

  --primary: #1f6fff;
  --primary-hover: #185ddd;
  --primary-soft: #ebf2ff;

  --success: #2f8f57;
  --success-soft: #e9f7ef;
  --warning: #b56a12;
  --warning-soft: #fff2e2;
  --danger: #bf3f45;
  --danger-soft: #fdecee;
  --neutral-tag: #eef1f4;

  --sidebar-bg: #ffffff;
  --sidebar-text: #1c2128;
  --sidebar-active-bg: #eff4ff;
  --sidebar-active-text: #1f6fff;

  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-md: 0 8px 24px rgba(16, 24, 40, 0.08);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
}

:root[data-theme="dark"] {
  --bg: #0c0f14;
  --surface: #11161d;
  --surface-muted: #151b23;
  --surface-soft: #181f29;
  --surface-selected: #18263d;

  --text-primary: #edf1f7;
  --text-secondary: #b8c0cc;
  --text-tertiary: #8e98a7;
  --text-disabled: #6e7785;

  --border: #202833;
  --border-strong: #2a3440;
  --divider: #1a222d;

  --primary: #79a8ff;
  --primary-hover: #96b9ff;
  --primary-soft: #17263f;

  --success: #68c08b;
  --success-soft: #173122;
  --warning: #e2a45b;
  --warning-soft: #352719;
  --danger: #ee8a93;
  --danger-soft: #391920;
  --neutral-tag: #1a212c;

  --sidebar-bg: #0f141b;
  --sidebar-text: #dde5ef;
  --sidebar-active-bg: #1a2638;
  --sidebar-active-text: #9fc0ff;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 12px 28px rgba(0, 0, 0, 0.28);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
}
