/**************************************************************
 * Manually created from bootstrap css link below and tied to *
 * the figma variables by hand/guesswork                      *
 * https://getbootstrap.com/docs/5.3/customize/css-variables/ *
 *                                                            *
 * This shouldn't need updating unless the default boostrap   *
 * style looks wrong                                          *
 * Last Updated On 2026-07-06 by Chris L                      *
 **************************************************************/

:root,
[data-bs-theme=light] {
  --bs-blue: var(--brand-sky-500);
  --bs-indigo: var(--brand-grape-500);
  --bs-purple: var(--brand-grape-500);
  --bs-pink: var(--brand-grape-400);
  --bs-red: var(--brand-red-500);
  --bs-orange: var(--brand-burnt-orange-500);
  --bs-yellow: var(--brand-chartreuse-400);
  --bs-green: var(--brand-deep-green-400);
  --bs-teal: var(--brand-teal-web-500);
  --bs-cyan: var(--brand-light-blue-300);
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: var(--brand-warm-grey-400);
  --bs-gray-dark: var(--brand-warm-grey-800);
  --bs-gray-100: var(--brand-warm-grey-100);
  --bs-gray-200: var(--brand-warm-grey-200);
  --bs-gray-300: var(--brand-warm-grey-300);
  --bs-gray-400: var(--brand-warm-grey-400);
  --bs-gray-500: var(--brand-warm-grey-500);
  --bs-gray-600: var(--brand-warm-grey-600);
  --bs-gray-700: var(--brand-warm-grey-700);
  --bs-gray-800: var(--brand-warm-grey-800);
  --bs-gray-900: var(--brand-warm-grey-900);
  --bs-primary: var(--text-primary);
  --bs-secondary: var(--text-secondary);
  --bs-success: var(--text-success);
  --bs-info: var(--text-info);
  --bs-warning: var(--text-warning);
  --bs-danger: var(--text-error);
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  /* Bootstrap expects RGB triplets (e.g. "0, 80, 59") for use in rgba() functions.
     These -rgb variables are auto-generated by FigmaDesignSync.ps1 and will update
     automatically when Figma design tokens change. */
  --bs-primary-rgb: var(--text-primary-rgb);
  --bs-secondary-rgb: var(--text-secondary-rgb);
  --bs-success-rgb: var(--text-success-rgb);
  --bs-info-rgb: var(--text-info-rgb);
  --bs-warning-rgb: var(--text-warning-rgb);
  --bs-danger-rgb: var(--text-error-rgb);
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: var(--bs-primary);
  --bs-secondary-text-emphasis: var(--bs-secondary);
  --bs-success-text-emphasis: var(--bs-success);
  --bs-info-text-emphasis: var(--bs-info);
  --bs-warning-text-emphasis: var(--bs-warning);
  --bs-danger-text-emphasis: var(--bs-danger);
  --bs-light-text-emphasis: var(--text-light);
  --bs-dark-text-emphasis: var(--text-color);
  --bs-primary-bg-subtle: var(--surface-root-ground);
  --bs-secondary-bg-subtle: var(--surface-root-section);
  --bs-success-bg-subtle: var(--surface-root-success);
  --bs-info-bg-subtle: var(--surface-root-info);
  --bs-warning-bg-subtle: var(--surface-root-warning);
  --bs-danger-bg-subtle: var(--surface-root-error);
  --bs-light-bg-subtle: var(--surface-root-ground);
  --bs-dark-bg-subtle: var(--surface-root-section);
  --bs-primary-border-subtle: var(--border-primary);
  --bs-secondary-border-subtle: var(--border-secondary);
  --bs-success-border-subtle: var(--border-success);
  --bs-info-border-subtle: var(--border-info);
  --bs-warning-border-subtle: var(--border-warning);
  --bs-danger-border-subtle: var(--border-error);
  --bs-light-border-subtle: var(--border-light);
  --bs-dark-border-subtle: var(--border-dark);
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: var(--font-family-default);
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: var(--text-color);
  --bs-body-color-rgb: var(--text-color-rgb);
  --bs-body-bg: var(--surface-0);
  --bs-body-bg-rgb: var(--surface-0-rgb);
  --bs-emphasis-color: var(--text-heading-color);
  --bs-emphasis-color-rgb: var(--text-heading-color-rgb);
  --bs-secondary-color: var(--text-secondary-color);
  --bs-secondary-color-rgb: var(--text-secondary-color-rgb);
  --bs-secondary-bg: var(--surface-root-section);
  --bs-secondary-bg-rgb: var(--surface-root-section-rgb);
  --bs-tertiary-color: var(--text-tertiary);
  --bs-tertiary-color-rgb: var(--text-tertiary-rgb);
  --bs-tertiary-bg: var(--surface-root-card);
  --bs-tertiary-bg-rgb: var(--surface-root-card-rgb);
  --bs-heading-color: inherit;
  --bs-link-color: var(--text-link);
  --bs-link-color-rgb: var(--text-link-rgb);
  --bs-link-decoration: underline;
  --bs-link-hover-color: var(--bs-link-color);
  --bs-link-hover-color-rgb: var(--text-link-rgb);
  --bs-code-color: var(--text-color);
  --bs-highlight-color: var(--text-heading-color);
  --bs-highlight-bg: var(--surface-root-card);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: var(--border-medium);
  --bs-border-color-translucent: rgba(var(--border-medium-rgb), 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: var(--primary-lighter);
  --bs-form-valid-color: var(--text-success);
  --bs-form-valid-border-color: var(--icon-success);
  --bs-form-invalid-color: var(--text-error);
  --bs-form-invalid-border-color: var(--icon-error);
  --bs-pagination-active-bg: var(--button-primary-solid-bg);
  --bs-pagination-active-border-color: var(--button-primary-solid-bg);
}

/* Bootstrap redefines --bs-dropdown-link-active-bg locally on .dropdown-menu,
   so a :root override never reaches .dropdown-item. Override it where Bootstrap
   sets it. */
.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--button-primary-solid-bg);
  --bs-dropdown-link-hover-bg: var(--button-primary-solid-bg);
  --bs-dropdown-link-hover-color: var(--text-color-contrast);
}

.progress {
  --bs-progress-font-size: 0.75em;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: var(--text-color-contrast);
  --bs-progress-bar-bg: var(--button-primary-solid-bg);
}

[data-bs-theme=dark] {
  color-scheme: dark;
  /* RGB values are auto-generated by FigmaDesignSync.ps1 and adapt to dark theme automatically */
  --bs-body-color: var(--text-color);
  --bs-body-color-rgb: var(--text-color-rgb);
  --bs-body-bg: var(--surface-0);
  --bs-body-bg-rgb: var(--surface-0-rgb);
  --bs-emphasis-color: var(--text-heading-color);
  --bs-emphasis-color-rgb: var(--text-heading-color-rgb);
  --bs-secondary-color: var(--text-secondary-color);
  --bs-secondary-color-rgb: var(--text-secondary-color-rgb);
  --bs-secondary-bg: var(--surface-root-section);
  --bs-secondary-bg-rgb: var(--surface-root-section-rgb);
  --bs-tertiary-color: var(--text-tertiary);
  --bs-tertiary-color-rgb: var(--text-tertiary-rgb);
  --bs-tertiary-bg: var(--surface-root-card);
  --bs-tertiary-bg-rgb: var(--surface-root-card-rgb);
  --bs-primary-text-emphasis: var(--bs-primary);
  --bs-secondary-text-emphasis: var(--bs-secondary);
  --bs-success-text-emphasis: var(--bs-success);
  --bs-info-text-emphasis: var(--bs-info);
  --bs-warning-text-emphasis: var(--bs-warning);
  --bs-danger-text-emphasis: var(--bs-danger);
  --bs-light-text-emphasis: var(--text-light);
  --bs-dark-text-emphasis: var(--text-color);
  --bs-primary-bg-subtle: var(--surface-root-ground);
  --bs-secondary-bg-subtle: var(--surface-root-section);
  --bs-success-bg-subtle: var(--surface-root-success);
  --bs-info-bg-subtle: var(--surface-root-info);
  --bs-warning-bg-subtle: var(--surface-root-warning);
  --bs-danger-bg-subtle: var(--surface-root-error);
  --bs-light-bg-subtle: var(--surface-root-ground);
  --bs-dark-bg-subtle: var(--surface-root-section);
  --bs-primary-border-subtle: var(--border-primary);
  --bs-secondary-border-subtle: var(--border-secondary);
  --bs-success-border-subtle: var(--border-success);
  --bs-info-border-subtle: var(--border-info);
  --bs-warning-border-subtle: var(--border-warning);
  --bs-danger-border-subtle: var(--border-error);
  --bs-light-border-subtle: var(--border-light);
  --bs-dark-border-subtle: var(--border-dark);
  --bs-heading-color: inherit;
  --bs-link-color: var(--text-link);
  --bs-link-hover-color: var(--bs-link-color);
  --bs-link-color-rgb: var(--text-link-rgb);
  --bs-link-hover-color-rgb: var(--text-link-rgb);
  --bs-code-color: var(--text-color);
  --bs-highlight-color: var(--text-heading-color);
  --bs-highlight-bg: var(--surface-root-card);
  --bs-border-color: var(--border-primary);
  --bs-border-color-translucent: rgba(var(--border-primary-rgb), 0.175);
  --bs-form-valid-color: var(--text-success);
  --bs-form-valid-border-color: var(--icon-success);
  --bs-form-invalid-color: var(--text-error);
  --bs-form-invalid-border-color: var(--icon-error);
}