[data-bs-theme-base='default'] {
    --tblr-gray-50: #f7f8f8;
    --tblr-gray-100: #eef0f0;
    --tblr-gray-200: #dde1e1;
    --tblr-gray-300: #c2c8c8;
    --tblr-gray-400: #8e9797;
    --tblr-gray-500: #6a7373;
    --tblr-gray-600: #4d5555;
    --tblr-gray-700: #3b4242;
    --tblr-gray-800: #1c2121;
    --tblr-gray-800-rgb: 28, 33, 33;
    --tblr-gray-900: #121616;
    --tblr-gray-900-rgb: 18, 22, 22;
    --tblr-gray-950: #0a0c0c;
}

[data-bs-theme-base='default'][data-bs-theme='dark'],
[data-bs-theme-base='default'] [data-bs-theme='dark'] {
    --tblr-body-bg: #121212;
    --tblr-body-bg-rgb: 18, 18, 18;
    --tblr-border-color: #2a2a2a;
    --tblr-bg-forms: #121212;

    --tblr-bg-surface: #171717;
    --tblr-bg-surface-secondary: #1c1c1c;
    --tblr-bg-surface-tertiary: #121212;
}

[data-bs-theme-base='bluish'] {
    --tblr-gray-50: #f8f9fa;
    --tblr-gray-100: #eef3f6;
    --tblr-gray-200: #dce1e7;
    --tblr-gray-300: #b8c4d4;
    --tblr-gray-400: #8a97ab;
    --tblr-gray-500: #6c7a91;
    --tblr-gray-600: #49566c;
    --tblr-gray-700: #3a4859;
    --tblr-gray-800: #182433;
    --tblr-gray-800-rgb: 24, 36, 51;
    --tblr-gray-900: #040a11;
    --tblr-gray-900-rgb: 4, 10, 17;
    --tblr-gray-950: #020c1e;
}

[data-bs-theme-base='bluish'][data-bs-theme='dark'],
[data-bs-theme-base='bluish'] [data-bs-theme='dark'] {
    --tblr-body-bg: #151f2c;
    --tblr-body-bg-rgb: 21, 31, 44;
    --tblr-border-color: #2a3948;
    --tblr-bg-forms: #151f2c;

    --tblr-bg-surface: #182433;
    --tblr-bg-surface-secondary: #1b293a;
    --tblr-bg-surface-tertiary: #151f2c;
}

[data-bs-theme-base='slate'] {
    --tblr-gray-50: #f8fafc;
    --tblr-gray-100: #f1f5f9;
    --tblr-gray-200: #e2e8f0;
    --tblr-gray-300: #cbd5e1;
    --tblr-gray-400: #94a3b8;
    --tblr-gray-500: #64748b;
    --tblr-gray-600: #475569;
    --tblr-gray-700: #334155;
    --tblr-gray-800: #1e293b;
    --tblr-gray-800-rgb: 30, 41, 59;
    --tblr-gray-900: #0f172a;
    --tblr-gray-900-rgb: 15, 23, 42;
    --tblr-gray-950: #020617;
}

[data-bs-theme-base='gray'] {
    --tblr-gray-50: #f9fafb;
    --tblr-gray-100: #f3f4f6;
    --tblr-gray-200: #e5e7eb;
    --tblr-gray-300: #d1d5db;
    --tblr-gray-400: #9ca3af;
    --tblr-gray-500: #6b7280;
    --tblr-gray-600: #4b5563;
    --tblr-gray-700: #374151;
    --tblr-gray-800: #1f2937;
    --tblr-gray-800-rgb: 31, 41, 55;
    --tblr-gray-900: #111827;
    --tblr-gray-900-rgb: 17, 24, 39;
    --tblr-gray-950: #030712;
}

[data-bs-theme-base='zinc'] {
    --tblr-gray-50: #fafafa;
    --tblr-gray-100: #f4f4f5;
    --tblr-gray-200: #e4e4e7;
    --tblr-gray-300: #d4d4d8;
    --tblr-gray-400: #a1a1aa;
    --tblr-gray-500: #71717a;
    --tblr-gray-600: #52525b;
    --tblr-gray-700: #3f3f46;
    --tblr-gray-800: #27272a;
    --tblr-gray-800-rgb: 39, 39, 42;
    --tblr-gray-900: #18181b;
    --tblr-gray-900-rgb: 24, 24, 27;
    --tblr-gray-950: #09090b;
}

[data-bs-theme-base='neutral'] {
    --tblr-gray-50: #fafafa;
    --tblr-gray-100: #f5f5f5;
    --tblr-gray-200: #e5e5e5;
    --tblr-gray-300: #d4d4d4;
    --tblr-gray-400: #a3a3a3;
    --tblr-gray-500: #737373;
    --tblr-gray-600: #525252;
    --tblr-gray-700: #404040;
    --tblr-gray-800: #262626;
    --tblr-gray-800-rgb: 38, 38, 38;
    --tblr-gray-900: #171717;
    --tblr-gray-900-rgb: 23, 23, 23;
    --tblr-gray-950: #0a0a0a;
}

[data-bs-theme-base='stone'] {
    --tblr-gray-50: #fafaf9;
    --tblr-gray-100: #f5f5f4;
    --tblr-gray-200: #e7e5e4;
    --tblr-gray-300: #d6d3d1;
    --tblr-gray-400: #a8a29e;
    --tblr-gray-500: #78716c;
    --tblr-gray-600: #57534e;
    --tblr-gray-700: #44403c;
    --tblr-gray-800: #292524;
    --tblr-gray-800-rgb: 41, 37, 36;
    --tblr-gray-900: #1c1917;
    --tblr-gray-900-rgb: 28, 25, 23;
    --tblr-gray-950: #0c0a09;
}

[data-bs-theme-base='pink'] {
    --tblr-gray-50: #fdf2f8;
    --tblr-gray-100: #fce7f3;
    --tblr-gray-200: #fbcfe8;
    --tblr-gray-300: #f9a8d4;
    --tblr-gray-400: #f472b6;
    --tblr-gray-500: #ec4899;
    --tblr-gray-600: #db2777;
    --tblr-gray-700: #be185d;
    --tblr-gray-800: #9d174d;
    --tblr-gray-800-rgb: 157, 23, 77;
    --tblr-gray-900: #831843;
    --tblr-gray-900-rgb: 131, 24, 67;
    --tblr-gray-950: #500724;
}

/*
 * Tabler dark mode hardcodes bluish slate RGB for several tokens and never
 * re-derives them from --tblr-gray-*. Remap those here so theme bases control
 * the cast (active states, borders, secondary/tertiary surfaces, bg-* utils).
 */
[data-bs-theme='dark'] {
    --tblr-body-bg-rgb: var(--tblr-gray-900-rgb);
    --tblr-secondary-bg: var(--tblr-gray-800);
    --tblr-secondary-bg-rgb: var(--tblr-gray-800-rgb);
    --tblr-tertiary-bg: var(--tblr-gray-900);
    --tblr-tertiary-bg-rgb: var(--tblr-gray-900-rgb);

    --tblr-active-bg: color-mix(in srgb, var(--tblr-gray-800) 72%, var(--tblr-gray-700));
    --tblr-btn-color: var(--tblr-gray-800);

    --tblr-light-bg-subtle: var(--tblr-gray-800);
    --tblr-dark-bg-subtle: var(--tblr-gray-900);
    --tblr-light-border-subtle: var(--tblr-gray-700);
    --tblr-dark-border-subtle: var(--tblr-gray-800);

    --tblr-border-color-translucent: color-mix(in srgb, var(--tblr-gray-400) 14%, transparent);
    --tblr-dark-mode-border-color: var(--tblr-gray-700);
    --tblr-dark-mode-border-color-translucent: color-mix(in srgb, var(--tblr-gray-400) 14%, transparent);
    --tblr-dark-mode-border-dark-color: color-mix(in srgb, var(--tblr-gray-800) 80%, var(--tblr-gray-600));
    --tblr-dark-mode-border-active-color: var(--tblr-gray-600);
}

[data-bs-theme-primary='blue'] {
    --tblr-primary: #066fd1;
    --tblr-primary-rgb: 6, 111, 209;
}

[data-bs-theme-primary='azure'] {
    --tblr-primary: #4299e1;
    --tblr-primary-rgb: 66, 153, 225;
}

[data-bs-theme-primary='indigo'] {
    --tblr-primary: #4263eb;
    --tblr-primary-rgb: 66, 99, 235;
}

[data-bs-theme-primary='purple'] {
    --tblr-primary: #ae3ec9;
    --tblr-primary-rgb: 174, 62, 201;
}

[data-bs-theme-primary='pink'] {
    --tblr-primary: #d6336c;
    --tblr-primary-rgb: 214, 51, 108;
}

[data-bs-theme-primary='red'] {
    --tblr-primary: #d63939;
    --tblr-primary-rgb: 214, 57, 57;
}

[data-bs-theme-primary='orange'] {
    --tblr-primary: #f76707;
    --tblr-primary-rgb: 247, 103, 7;
}

[data-bs-theme-primary='yellow'] {
    --tblr-primary: #f59f00;
    --tblr-primary-rgb: 245, 159, 0;
}

[data-bs-theme-primary='lime'] {
    --tblr-primary: #74b816;
    --tblr-primary-rgb: 116, 184, 22;
}

[data-bs-theme-primary='green'] {
    --tblr-primary: #2fb344;
    --tblr-primary-rgb: 47, 179, 68;
}

[data-bs-theme-primary='teal'] {
    --tblr-primary: #0ca678;
    --tblr-primary-rgb: 12, 166, 120;
}

[data-bs-theme-primary='cyan'] {
    --tblr-primary: #17a2b8;
    --tblr-primary-rgb: 23, 162, 184;
}

[data-bs-theme-primary='black'] {
    --tblr-primary: #080808;
    --tblr-primary-rgb: 8, 8, 8;
}

[data-bs-theme-radius='0'] {
    --tblr-border-radius-scale: 0;
}

[data-bs-theme-radius='0.5'] {
    --tblr-border-radius-scale: 0.5;
}

[data-bs-theme-radius='1'] {
    --tblr-border-radius-scale: 1;
}

[data-bs-theme-radius='1.5'] {
    --tblr-border-radius-scale: 1.5;
}

[data-bs-theme-radius='2'] {
    --tblr-border-radius-scale: 2;
}

[data-bs-theme-primary='inverted'] {
    --tblr-primary: var(--tblr-gray-800);
    --tblr-primary-fg: var(--tblr-light);
    --tblr-primary-rgb: 31, 41, 55;
}

[data-bs-theme-primary='inverted'] [data-bs-theme='dark'],
[data-bs-theme-primary='inverted'][data-bs-theme='dark'] {
    --tblr-primary: #f9fafb;
    --tblr-primary-fg: var(--tblr-dark);
    --tblr-primary-rgb: 249, 250, 251;
}

[data-bs-theme-font='monospace'] {
    --tblr-body-font-family: var(--tblr-font-monospace);
    --tblr-body-font-size: 80%;
}

[data-bs-theme-font='sans-serif'] {
    --tblr-body-font-family: var(--tblr-font-sans-serif);
}

[data-bs-theme-font='serif'] {
    --tblr-body-font-family: var(--tblr-font-serif);
}

[data-bs-theme-font='comic'] {
    --tblr-body-font-family: var(--tblr-font-comic);
}
