/* Theme tokens: Light (default), Dark, Gruvbox.
   Light values match the app's original hardcoded colors exactly. */
:root,
[data-theme="light"] {
    --body-bg: #ffffff;
    --body-color: #2b2b2b;
    --surface-bg: #eaeeef;
    --surface-color: #2b2b2b;
    --border-color: #ccc;
    --link-color: #0275d8;
    --heading-color: #272a6f;
    --navbar-bg: #ffffff;
    --navbar-color: #2b2b2b;
    --sidenav-bg: #ffffff;
    --sidenav-color: #2b2b2b;
    --sidenav-active-bg: #efefef;
    --sidenav-active-color: #0275d8;
    --input-bg: #ffffff;
    --input-color: #2b2b2b;
    --input-border: #ced4da;
    --grid-header-bg: #f5f5f5;
    --grid-header-color: #333333;
    --grid-row-bg: #ffffff;
    --grid-row-alt-bg: #f9f9f9;
    --grid-row-color: #2b2b2b;
    --grid-border: #ccc;
    --grid-selected-bg: #add8e6;
    --btn-primary-bg: #4285f4;
    --btn-primary-color: #ffffff;
    --accent: #0275d8;
    --danger: #ff0000;
    --success: #228b22;
    --warning: #d79921;
    --shadow-color: rgba(191, 189, 191, 1);
    --tag-a-bg: #E9DEFF;
    --tag-b-bg: #F4FFDE;
    --tag-c-bg: #E4CFBA;
    --tag-d-bg: #ccffcc;
    --tag-e-bg: #c2ebf8;
    --info: #2ad8ff;
    --muted-color: #777777;
}

[data-theme="dark"] {
    --body-bg: #1e1e1e;
    --body-color: #e0e0e0;
    --surface-bg: #2a2a2a;
    --surface-color: #e0e0e0;
    --border-color: #444444;
    --link-color: #6cb2eb;
    --heading-color: #8ab4f8;
    --navbar-bg: #252525;
    --navbar-color: #e0e0e0;
    --sidenav-bg: #252525;
    --sidenav-color: #e0e0e0;
    --sidenav-active-bg: #37474f;
    --sidenav-active-color: #6cb2eb;
    --input-bg: #2a2a2a;
    --input-color: #e0e0e0;
    --input-border: #555555;
    --grid-header-bg: #2f2f2f;
    --grid-header-color: #e0e0e0;
    --grid-row-bg: #232323;
    --grid-row-alt-bg: #2a2a2a;
    --grid-row-color: #e0e0e0;
    --grid-border: #444444;
    --grid-selected-bg: #37474f;
    --btn-primary-bg: #4285f4;
    --btn-primary-color: #ffffff;
    --accent: #6cb2eb;
    --danger: #ff6b6b;
    --success: #6bcf6b;
    --warning: #ffcc66;
    --shadow-color: rgba(0, 0, 0, 0.6);
    --tag-a-bg: #4a3f66;
    --tag-b-bg: #3d4a33;
    --tag-c-bg: #5c4a35;
    --tag-d-bg: #33502f;
    --tag-e-bg: #2a4a52;
    --info: #4dd0e1;
    --muted-color: #a0a0a0;
}

[data-theme="gruvbox"] {
    --body-bg: #282828;
    --body-color: #ebdbb2;
    --surface-bg: #3c3836;
    --surface-color: #ebdbb2;
    --border-color: #504945;
    --link-color: #83a598;
    --heading-color: #fabd2f;
    --navbar-bg: #3c3836;
    --navbar-color: #ebdbb2;
    --sidenav-bg: #3c3836;
    --sidenav-color: #ebdbb2;
    --sidenav-active-bg: #504945;
    --sidenav-active-color: #fabd2f;
    --input-bg: #3c3836;
    --input-color: #ebdbb2;
    --input-border: #504945;
    --grid-header-bg: #504945;
    --grid-header-color: #ebdbb2;
    --grid-row-bg: #32302f;
    --grid-row-alt-bg: #3c3836;
    --grid-row-color: #ebdbb2;
    --grid-border: #504945;
    --grid-selected-bg: #665c54;
    --btn-primary-bg: #d3869b;
    --btn-primary-color: #282828;
    --accent: #fabd2f;
    --danger: #fb4934;
    --success: #b8bb26;
    --warning: #fe8019;
    --shadow-color: rgba(0, 0, 0, 0.6);
    --tag-a-bg: #4a4245;
    --tag-b-bg: #45491f;
    --tag-c-bg: #54452e;
    --tag-d-bg: #3c4a1f;
    --tag-e-bg: #1d4a4a;
    --info: #8ec07c;
    --muted-color: #a89984;
}
