[data-theme="light"] {
  --bg: #F3F3F3; --card-bg: #FFFFFF; --card-border: rgba(0,0,0,0.08);
  --card-shadow: 0 2px 8px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04);
  --text: #1A1A1A; --text-secondary: #605E5C; --text-tertiary: #A19F9D;
  --divider: rgba(0,0,0,0.08); --row-hover: rgba(0,0,0,0.04);
  --row-alt: rgba(0,0,0,0.02); --today-bg: rgba(0,120,212,0.06);
  --dropdown-bg: #FFFFFF; --dropdown-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 0 0 1px rgba(0,0,0,0.06);
  --filter-border: rgba(0,0,0,0.15); --dashed-border: rgba(0,0,0,0.18);
  --header-icon: #605E5C; --header-icon-active: #1A1A1A;
  --table-header: #605E5C; --table-border: rgba(0,0,0,0.06);
  --accent: #0078D4; --accent-hover: #106EBE; --accent-light: rgba(0,120,212,0.10);
  --header-bg: rgba(243,243,243,0.85);
  --card-radius: 8px;
  --mica-bg: rgba(243,243,243,0.72);
}
[data-theme="dark"] {
  --bg: #202020; --card-bg: #2D2D2D; --card-border: rgba(255,255,255,0.09);
  --card-shadow: 0 2px 8px rgba(0,0,0,0.32); --text: #FFFFFF;
  --text-secondary: #9D9D9D; --text-tertiary: #6E6E6E;
  --divider: rgba(255,255,255,0.07); --row-hover: rgba(255,255,255,0.06);
  --row-alt: rgba(255,255,255,0.025); --today-bg: rgba(0,120,212,0.14);
  --dropdown-bg: #3D3D3D; --dropdown-shadow: 0 8px 32px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.07);
  --filter-border: rgba(255,255,255,0.12); --dashed-border: rgba(255,255,255,0.14);
  --header-icon: #9D9D9D; --header-icon-active: #fff;
  --table-header: #9D9D9D; --table-border: rgba(255,255,255,0.06);
  --accent: #0078D4; --accent-hover: #1A86D4; --accent-light: rgba(0,120,212,0.18);
  --header-bg: rgba(32,32,32,0.88);
  --card-radius: 8px;
  --mica-bg: rgba(32,32,32,0.80);
}

body {
  background: var(--bg); color: var(--text);
  font-family: 'Segoe UI Variable', 'Segoe UI', 'Inter', system-ui, sans-serif;
}
/* Win11: no noise texture */
