﻿/* Generated Bootstrap 5.3 theme overrides */
/* brand-root.css should be loaded before this file */

:root
{
  --effect-aurora-background: linear-gradient(135deg, rgba(79, 70, 229, 0.92), rgba(14, 165, 233, 0.88), rgba(16, 185, 129, 0.82));
  --effect-aurora-background-preview: linear-gradient(135deg, #4f46e5, #0ea5e9, #10b981);
  --effect-diagonal-shine: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.72) 48%, transparent 62%);
  --effect-diagonal-shine-preview: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.72) 48%, transparent 62%);
  --effect-fade-mask: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.36) 70%, transparent 100%);
  --effect-fade-mask-preview: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.36) 70%, transparent 100%);
  --effect-fine-grain: radial-gradient(circle at 1px 1px, rgba(15, 23, 42, 0.16) 1px, transparent 0);
  --effect-fine-grain-preview: radial-gradient(circle at 1px 1px, rgba(15, 23, 42, 0.16) 1px, transparent 0);
  --effect-frost-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.1));
  --effect-frost-glass-preview: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.18));
  --effect-gread-execution-text-gradient: linear-gradient(90deg, #b8f557 0%, #ff6868 38%, #5c35ff 78%);
  --effect-gread-execution-text-gradient-preview: linear-gradient(90deg, #b8f557 0%, #ff6868 38%, #5c35ff 78%);
  --effect-nebula-glass: linear-gradient(135deg, rgba(255,255,255,0.28), rgba(255,255,255,0.12));
  --effect-nebula-glass-preview: linear-gradient(135deg, rgba(255,255,255,0.75), rgba(255,255,255,0.22));
  --effect-new-border-gradient: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 50%, #22c55e 100%);
  --effect-new-border-gradient-preview: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 50%, #22c55e 100%);
  --effect-new-glass-effect: linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.1));
  --effect-new-glass-effect-preview: linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.2));
  --effect-primary-overlay: rgba(86, 55, 255, 0.18);
  --effect-primary-overlay-preview: linear-gradient(135deg, rgba(86, 55, 255, 0.22), rgba(0, 191, 255, 0.12));
  --effect-prism-border: linear-gradient(135deg, #c2ea99 0%, #0066bb 50%, #2222cc 100%);
  --effect-prism-border-preview: linear-gradient(135deg, #c2ea99 0%, #0066bb 50%, #2222cc 100%);
  --effect-soft-blur: blur(18px) saturate(140%);
  --effect-soft-blur-preview: linear-gradient(135deg, rgba(255,255,255,0.52), rgba(255,255,255,0.18));
  --effect-soft-glow: 0 0 0.75rem rgba(14, 165, 233, 0.32), 0 0 2rem rgba(59, 130, 246, 0.18);
  --effect-soft-glow-preview: #0ea5e9;
  --effect-soft-texture: repeating-linear-gradient(135deg, rgba(86, 55, 255, 0.08) 0 2px, transparent 2px 12px);
  --effect-soft-texture-preview: repeating-linear-gradient(135deg, rgba(86, 55, 255, 0.08) 0 2px, transparent 2px 12px);
  --effect-sunset-text-gradient: linear-gradient(135deg, #fb7185, #f59e0b);
  --effect-sunset-text-gradient-preview: linear-gradient(135deg, #fb7185, #f59e0b);
}

:root, [data-bs-theme="light"]
{
  --bs-body-bg: var(--brand-surface-color);
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-body-color: var(--brand-text-color);
  --bs-body-color-rgb: 11, 13, 15;
  --bs-emphasis-color: var(--brand-heading-color);
  --bs-emphasis-color-rgb: 11, 13, 15;
  --bs-secondary-bg: var(--brand-surface-alt-color);
  --bs-secondary-bg-rgb: 248, 250, 250;
  --bs-tertiary-bg: var(--brand-container-bg-color);
  --bs-tertiary-bg-rgb: 238, 241, 242;
  --bs-secondary-color: var(--brand-muted-color);
  --bs-secondary-color-rgb: 66, 74, 80;
  --bs-tertiary-color: var(--brand-subtle-color);
  --bs-tertiary-color-rgb: 98, 106, 112;
  --bs-heading-color: var(--brand-heading-color);
  --bs-border-color: var(--brand-border-color);
  --bs-border-color-translucent: var(--neutral-900);
  --bs-link-color: var(--brand-link-color);
  --bs-link-color-rgb: 0, 123, 204;
  --bs-link-hover-color: var(--brand-link-hover-color);
  --bs-link-hover-color-rgb: 0, 92, 153;
  --bs-link-decoration: underline;
  --bs-code-color: var(--brand-primary-color);
  --bs-highlight-color: var(--color-text);
  --bs-highlight-bg: var(--brand-warning-bg-subtle);
  --bs-focus-ring-x: 0;
  --bs-focus-ring-y: 0;
  --bs-focus-ring-blur: 0;
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(26, 183, 255, var(--bs-focus-ring-opacity));
  --bs-body-font-family: var(--brand-font-body);
  --bs-body-font-size: var(--brand-text-body-font-size);
  --bs-body-font-weight: var(--brand-text-body-font-weight);
  --bs-body-line-height: var(--brand-text-body-line-height);
  --bs-body-text-align: left;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --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-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-form-valid-color: var(--brand-success-color);
  --bs-form-valid-border-color: var(--brand-success-color);
  --bs-form-invalid-color: var(--brand-danger-color);
  --bs-form-invalid-border-color: var(--brand-danger-color);
  --bs-primary: var(--brand-primary-color);
  --bs-primary-rgb: 0, 155, 255;
  --bs-primary-text-emphasis: var(--brand-primary-text-emphasis);
  --bs-primary-bg-subtle: var(--brand-primary-bg-subtle);
  --bs-primary-border-subtle: var(--brand-primary-border-subtle);
  --bs-secondary: var(--brand-secondary-color);
  --bs-secondary-rgb: 0, 155, 255;
  --bs-secondary-text-emphasis: var(--brand-secondary-text-emphasis);
  --bs-secondary-bg-subtle: var(--brand-secondary-bg-subtle);
  --bs-secondary-border-subtle: var(--brand-secondary-border-subtle);
  --bs-success: var(--brand-success-color);
  --bs-success-rgb: 16, 203, 91;
  --bs-success-text-emphasis: var(--brand-success-text-emphasis);
  --bs-success-bg-subtle: var(--brand-success-bg-subtle);
  --bs-success-border-subtle: var(--brand-success-border-subtle);
  --bs-info: var(--brand-info-color);
  --bs-info-rgb: 0, 191, 255;
  --bs-info-text-emphasis: var(--brand-info-text-emphasis);
  --bs-info-bg-subtle: var(--brand-info-bg-subtle);
  --bs-info-border-subtle: var(--brand-info-border-subtle);
  --bs-warning: var(--brand-warning-color);
  --bs-warning-rgb: 255, 176, 0;
  --bs-warning-text-emphasis: var(--brand-warning-text-emphasis);
  --bs-warning-bg-subtle: var(--brand-warning-bg-subtle);
  --bs-warning-border-subtle: var(--brand-warning-border-subtle);
  --bs-danger: var(--brand-danger-color);
  --bs-danger-rgb: 240, 45, 79;
  --bs-danger-text-emphasis: var(--brand-danger-text-emphasis);
  --bs-danger-bg-subtle: var(--brand-danger-bg-subtle);
  --bs-danger-border-subtle: var(--brand-danger-border-subtle);
  --bs-light: var(--brand-light-color);
  --bs-light-rgb: 238, 241, 242;
  --bs-light-text-emphasis: var(--brand-light-text-emphasis);
  --bs-light-bg-subtle: var(--brand-light-bg-subtle);
  --bs-light-border-subtle: var(--brand-light-border-subtle);
  --bs-dark: var(--brand-dark-color);
  --bs-dark-rgb: 11, 13, 15;
  --bs-dark-text-emphasis: var(--brand-dark-text-emphasis);
  --bs-dark-bg-subtle: var(--brand-dark-bg-subtle);
  --bs-dark-border-subtle: var(--brand-dark-border-subtle);
  --bs-aspect-ratio: 100%;
  --bs-bg-opacity: 1;
  --bs-text-opacity: 1;
  --bs-border-opacity: 1;
  --bs-link-opacity: 1;
  --bs-link-underline-opacity: 1;
  --bs-position: static;
  --bs-scroll-height: 2.5rem;
  --bs-gutter-x: var(--brand-gap-stack);
  --bs-gutter-y: var(--brand-gap-stack);
  --bs-icon-link-transform: translate3d(0.25em, 0, 0);
  --bs-font-sans-serif: var(--brand-font-body);
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000000;
  --bs-white: #ffffff;
  --bs-gray: #6c757d;
  --bs-black-rgb: 0, 0, 0;
  --bs-white-rgb: 255, 255, 255;
  --bs-gray-100: var(--neutral-100);
  --bs-gray-200: var(--neutral-200);
  --bs-gray-300: var(--neutral-300);
  --bs-gray-400: var(--neutral-400);
  --bs-gray-500: var(--neutral-500);
  --bs-gray-600: var(--neutral-600);
  --bs-gray-700: var(--neutral-700);
  --bs-gray-800: var(--neutral-800);
  --bs-gray-900: var(--neutral-900);
  --bs-gray-dark: var(--neutral-800);
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

[data-bs-theme="dark"]
{
  color-scheme: dark;
  --bs-body-bg: var(--neutral-900);
  --bs-body-bg-rgb: 11, 13, 15;
  --bs-body-color: var(--neutral-100);
  --bs-body-color-rgb: 238, 241, 242;
  --bs-emphasis-color: var(--neutral-50);
  --bs-emphasis-color-rgb: 248, 250, 250;
  --bs-secondary-bg: var(--neutral-800);
  --bs-secondary-bg-rgb: 23, 27, 30;
  --bs-tertiary-bg: var(--neutral-700);
  --bs-tertiary-bg-rgb: 43, 50, 54;
  --bs-secondary-color: var(--neutral-200);
  --bs-secondary-color-rgb: 217, 222, 224;
  --bs-tertiary-color: var(--neutral-300);
  --bs-tertiary-color-rgb: 189, 195, 198;
  --bs-heading-color: var(--neutral-50);
  --bs-border-color: var(--neutral-700);
  --bs-border-color-translucent: var(--neutral-50);
  --bs-link-color: var(--brand-link-color);
  --bs-link-color-rgb: 0, 123, 204;
  --bs-link-hover-color: var(--brand-link-hover-color);
  --bs-link-hover-color-rgb: 0, 92, 153;
  --bs-link-decoration: underline;
  --bs-code-color: var(--brand-primary-color);
  --bs-highlight-color: var(--neutral-100);
  --bs-highlight-bg: var(--brand-warning-bg-subtle);
  --bs-focus-ring-x: 0;
  --bs-focus-ring-y: 0;
  --bs-focus-ring-blur: 0;
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(26, 183, 255, var(--bs-focus-ring-opacity));
  --bs-body-font-family: var(--brand-font-body);
  --bs-body-font-size: var(--brand-text-body-font-size);
  --bs-body-font-weight: var(--brand-text-body-font-weight);
  --bs-body-line-height: var(--brand-text-body-line-height);
  --bs-body-text-align: left;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --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.35);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.5);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(255, 255, 255, 0.04);
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
  --bs-form-valid-color: var(--brand-success-color);
  --bs-form-valid-border-color: var(--brand-success-color);
  --bs-form-invalid-color: var(--brand-danger-color);
  --bs-form-invalid-border-color: var(--brand-danger-color);
  --bs-primary: var(--brand-primary-color);
  --bs-primary-rgb: 0, 155, 255;
  --bs-primary-text-emphasis: var(--violet-200);
  --bs-primary-bg-subtle: var(--brand-primary-bg-subtle);
  --bs-primary-border-subtle: var(--violet-700);
  --bs-secondary: var(--brand-secondary-color);
  --bs-secondary-rgb: 0, 155, 255;
  --bs-secondary-text-emphasis: var(--blue-200);
  --bs-secondary-bg-subtle: var(--blue-900);
  --bs-secondary-border-subtle: var(--blue-700);
  --bs-success: var(--brand-success-color);
  --bs-success-rgb: 16, 203, 91;
  --bs-success-text-emphasis: var(--success-200);
  --bs-success-bg-subtle: var(--success-900);
  --bs-success-border-subtle: var(--success-700);
  --bs-info: var(--brand-info-color);
  --bs-info-rgb: 0, 191, 255;
  --bs-info-text-emphasis: var(--brand-info-text-emphasis);
  --bs-info-bg-subtle: var(--brand-info-bg-subtle);
  --bs-info-border-subtle: var(--brand-info-border-subtle);
  --bs-warning: var(--brand-warning-color);
  --bs-warning-rgb: 255, 176, 0;
  --bs-warning-text-emphasis: var(--warning-200);
  --bs-warning-bg-subtle: var(--warning-900);
  --bs-warning-border-subtle: var(--warning-700);
  --bs-danger: var(--brand-danger-color);
  --bs-danger-rgb: 240, 45, 79;
  --bs-danger-text-emphasis: var(--danger-200);
  --bs-danger-bg-subtle: var(--danger-900);
  --bs-danger-border-subtle: var(--danger-700);
  --bs-light: var(--brand-light-color);
  --bs-light-rgb: 238, 241, 242;
  --bs-light-text-emphasis: var(--brand-light-text-emphasis);
  --bs-light-bg-subtle: var(--brand-light-bg-subtle);
  --bs-light-border-subtle: var(--brand-light-border-subtle);
  --bs-dark: var(--brand-dark-color);
  --bs-dark-rgb: 11, 13, 15;
  --bs-dark-text-emphasis: var(--brand-dark-text-emphasis);
  --bs-dark-bg-subtle: var(--brand-dark-bg-subtle);
  --bs-dark-border-subtle: var(--brand-dark-border-subtle);
  --bs-aspect-ratio: 100%;
  --bs-bg-opacity: 1;
  --bs-text-opacity: 1;
  --bs-border-opacity: 1;
  --bs-link-opacity: 1;
  --bs-link-underline-opacity: 1;
  --bs-position: static;
  --bs-scroll-height: 2.5rem;
  --bs-gutter-x: var(--brand-gap-stack);
  --bs-gutter-y: var(--brand-gap-stack);
  --bs-icon-link-transform: translate3d(0.25em, 0, 0);
  --bs-font-sans-serif: var(--brand-font-body);
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000000;
  --bs-white: #ffffff;
  --bs-gray: #6c757d;
  --bs-black-rgb: 0, 0, 0;
  --bs-white-rgb: 255, 255, 255;
  --bs-gray-100: var(--neutral-100);
  --bs-gray-200: var(--neutral-200);
  --bs-gray-300: var(--neutral-300);
  --bs-gray-400: var(--neutral-400);
  --bs-gray-500: var(--neutral-500);
  --bs-gray-600: var(--neutral-600);
  --bs-gray-700: var(--neutral-700);
  --bs-gray-800: var(--neutral-800);
  --bs-gray-900: var(--neutral-900);
  --bs-gray-dark: var(--neutral-800);
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

/* Accordion focus overrides for light theme */
:root .accordion, [data-bs-theme="light"] .accordion
{
  --bs-accordion-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) rgba(26, 183, 255, var(--bs-focus-ring-opacity));
}

:root .accordion-button.is-preview-focus, [data-bs-theme="light"] .accordion-button.is-preview-focus
{
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

/* Accordion focus overrides for dark theme */
[data-bs-theme="dark"] .accordion
{
  --bs-accordion-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) rgba(26, 183, 255, var(--bs-focus-ring-opacity));
}

[data-bs-theme="dark"] .accordion-button.is-preview-focus
{
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

/* Form focus overrides for light theme */
:root .form-control:focus, :root .form-control.is-preview-focus, :root .form-select:focus, :root .form-select.is-preview-focus, :root .form-check-input:focus, :root .form-check-input.is-preview-focus, [data-bs-theme="light"] .form-control:focus, [data-bs-theme="light"] .form-control.is-preview-focus, [data-bs-theme="light"] .form-select:focus, [data-bs-theme="light"] .form-select.is-preview-focus, [data-bs-theme="light"] .form-check-input:focus, [data-bs-theme="light"] .form-check-input.is-preview-focus
{
  border-color: var(--brand-focus-color);
  outline: 0;
  box-shadow: 0 0 0 var(--bs-focus-ring-width) rgba(26, 183, 255, var(--bs-focus-ring-opacity));
}

/* Form focus overrides for dark theme */
[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-control.is-preview-focus, [data-bs-theme="dark"] .form-select:focus, [data-bs-theme="dark"] .form-select.is-preview-focus, [data-bs-theme="dark"] .form-check-input:focus, [data-bs-theme="dark"] .form-check-input.is-preview-focus
{
  border-color: var(--brand-focus-color);
  outline: 0;
  box-shadow: 0 0 0 var(--bs-focus-ring-width) rgba(26, 183, 255, var(--bs-focus-ring-opacity));
}

/* Card component overrides for light theme */
:root .card, [data-bs-theme="light"] .card
{
  --bs-card-bg: var(--brand-card-bg-color);
  --bs-card-color: var(--brand-text-color);
  --bs-card-title-color: var(--brand-heading-color);
  --bs-card-subtitle-color: var(--brand-muted-color);
  --bs-card-border-color: var(--brand-border-color);
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-radius: var(--bs-border-radius-xl);
  --bs-card-box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.08);
  --bs-card-cap-bg: var(--brand-container-bg-color);
  --bs-card-cap-color: var(--brand-text-color);
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-cap-padding-y: 1rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-spacer-y: 1.25rem;
  --bs-card-title-spacer-y: 0.75rem;
  --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - var(--bs-card-border-width));
  --bs-card-height: auto;
  --bs-card-img-overlay-padding: var(--brand-padding-card-x);
  --bs-card-group-margin: var(--brand-gap-stack);
  box-shadow: var(--bs-card-box-shadow);
}


/* Card component overrides for dark theme */
[data-bs-theme="dark"] .card
{
  --bs-card-bg: var(--neutral-800);
  --bs-card-color: var(--neutral-100);
  --bs-card-title-color: var(--neutral-50);
  --bs-card-subtitle-color: var(--neutral-300);
  --bs-card-border-color: var(--neutral-700);
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-radius: var(--bs-border-radius-xl);
  --bs-card-box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.35);
  --bs-card-cap-bg: var(--neutral-700);
  --bs-card-cap-color: var(--neutral-100);
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-cap-padding-y: 1rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-spacer-y: 1.25rem;
  --bs-card-title-spacer-y: 0.75rem;
  --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - var(--bs-card-border-width));
  --bs-card-height: auto;
  --bs-card-img-overlay-padding: var(--brand-padding-card-x);
  --bs-card-group-margin: var(--brand-gap-stack);
  box-shadow: var(--bs-card-box-shadow);
}


/* Button component overrides for light theme */
:root .btn-primary, [data-bs-theme="light"] .btn-primary
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-primary-color);
  --bs-btn-border-color: var(--brand-primary-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--color-primary-600);
  --bs-btn-hover-border-color: var(--color-primary-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--color-primary-700);
  --bs-btn-active-border-color: var(--color-primary-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-primary-color);
  --bs-btn-disabled-border-color: var(--brand-primary-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-secondary, [data-bs-theme="light"] .btn-secondary
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-secondary-color);
  --bs-btn-border-color: var(--brand-secondary-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--color-secondary-600);
  --bs-btn-hover-border-color: var(--color-secondary-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--color-secondary-700);
  --bs-btn-active-border-color: var(--color-secondary-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-secondary-color);
  --bs-btn-disabled-border-color: var(--brand-secondary-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-success, [data-bs-theme="light"] .btn-success
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-success-color);
  --bs-btn-border-color: var(--brand-success-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--color-success-600);
  --bs-btn-hover-border-color: var(--color-success-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--color-success-700);
  --bs-btn-active-border-color: var(--color-success-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-success-color);
  --bs-btn-disabled-border-color: var(--brand-success-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-info, [data-bs-theme="light"] .btn-info
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--brand-info-color);
  --bs-btn-border-color: var(--brand-info-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--color-info-600);
  --bs-btn-hover-border-color: var(--color-info-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--color-info-700);
  --bs-btn-active-border-color: var(--color-info-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--brand-info-color);
  --bs-btn-disabled-border-color: var(--brand-info-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-warning, [data-bs-theme="light"] .btn-warning
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--brand-warning-color);
  --bs-btn-border-color: var(--brand-warning-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--color-warning-600);
  --bs-btn-hover-border-color: var(--color-warning-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--color-warning-700);
  --bs-btn-active-border-color: var(--color-warning-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--brand-warning-color);
  --bs-btn-disabled-border-color: var(--brand-warning-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-danger, [data-bs-theme="light"] .btn-danger
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-danger-color);
  --bs-btn-border-color: var(--brand-danger-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--color-danger-600);
  --bs-btn-hover-border-color: var(--color-danger-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--color-danger-700);
  --bs-btn-active-border-color: var(--color-danger-800);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-danger-color);
  --bs-btn-disabled-border-color: var(--brand-danger-color);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-light, [data-bs-theme="light"] .btn-light
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--neutral-100);
  --bs-btn-border-color: var(--neutral-200);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--neutral-200);
  --bs-btn-hover-border-color: var(--neutral-300);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--neutral-300);
  --bs-btn-active-border-color: var(--neutral-400);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--neutral-100);
  --bs-btn-disabled-border-color: var(--neutral-200);
  --bs-btn-disabled-opacity: 0.65;
}

:root .btn-dark, [data-bs-theme="light"] .btn-dark
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--neutral-900);
  --bs-btn-border-color: var(--neutral-900);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--neutral-700);
  --bs-btn-hover-border-color: var(--neutral-700);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--neutral-600);
  --bs-btn-active-border-color: var(--neutral-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--neutral-900);
  --bs-btn-disabled-border-color: var(--neutral-900);
  --bs-btn-disabled-opacity: 0.65;
}


/* Button component overrides for dark theme */
[data-bs-theme="dark"] .btn-primary
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-primary-color);
  --bs-btn-border-color: var(--brand-primary-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--violet-500);
  --bs-btn-hover-border-color: var(--violet-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--violet-600);
  --bs-btn-active-border-color: var(--violet-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-primary-color);
  --bs-btn-disabled-border-color: var(--brand-primary-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-secondary
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-secondary-color);
  --bs-btn-border-color: var(--brand-secondary-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--blue-500);
  --bs-btn-hover-border-color: var(--blue-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--blue-600);
  --bs-btn-active-border-color: var(--blue-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-secondary-color);
  --bs-btn-disabled-border-color: var(--brand-secondary-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-success
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-success-color);
  --bs-btn-border-color: var(--brand-success-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--success-500);
  --bs-btn-hover-border-color: var(--success-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--success-600);
  --bs-btn-active-border-color: var(--success-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-success-color);
  --bs-btn-disabled-border-color: var(--brand-success-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-info
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--brand-info-color);
  --bs-btn-border-color: var(--brand-info-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--neon-cyan-500);
  --bs-btn-hover-border-color: var(--neon-cyan-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--neon-cyan-600);
  --bs-btn-active-border-color: var(--neon-cyan-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--brand-info-color);
  --bs-btn-disabled-border-color: var(--brand-info-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-warning
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--brand-warning-color);
  --bs-btn-border-color: var(--brand-warning-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--warning-500);
  --bs-btn-hover-border-color: var(--warning-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--warning-600);
  --bs-btn-active-border-color: var(--warning-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--brand-warning-color);
  --bs-btn-disabled-border-color: var(--brand-warning-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-danger
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--brand-danger-color);
  --bs-btn-border-color: var(--brand-danger-color);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--danger-500);
  --bs-btn-hover-border-color: var(--danger-500);
  --bs-btn-focus-shadow-rgb: 26, 183, 255;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--danger-600);
  --bs-btn-active-border-color: var(--danger-600);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--brand-danger-color);
  --bs-btn-disabled-border-color: var(--brand-danger-color);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-light
{
  --bs-btn-color: var(--neutral-900);
  --bs-btn-bg: var(--neutral-200);
  --bs-btn-border-color: var(--neutral-300);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-900);
  --bs-btn-hover-bg: var(--neutral-100);
  --bs-btn-hover-border-color: var(--neutral-100);
  --bs-btn-focus-shadow-rgb: 238, 241, 242;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-900);
  --bs-btn-active-bg: var(--neutral-50);
  --bs-btn-active-border-color: var(--neutral-50);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-900);
  --bs-btn-disabled-bg: var(--neutral-200);
  --bs-btn-disabled-border-color: var(--neutral-300);
  --bs-btn-disabled-opacity: 0.65;
}

[data-bs-theme="dark"] .btn-dark
{
  --bs-btn-color: var(--neutral-50);
  --bs-btn-bg: var(--neutral-700);
  --bs-btn-border-color: var(--neutral-700);
  --bs-btn-font-family: var(--brand-text-button-font-family, var(--brand-font-body));
  --bs-btn-font-size: var(--brand-text-button-font-size);
  --bs-btn-font-weight: var(--brand-text-button-font-weight);
  --bs-btn-line-height: var(--brand-text-button-line-height);
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-hover-color: var(--neutral-50);
  --bs-btn-hover-bg: var(--neutral-600);
  --bs-btn-hover-border-color: var(--neutral-600);
  --bs-btn-focus-shadow-rgb: 189, 195, 198;
  --bs-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-btn-active-color: var(--neutral-50);
  --bs-btn-active-bg: var(--neutral-500);
  --bs-btn-active-border-color: var(--neutral-500);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--neutral-50);
  --bs-btn-disabled-bg: var(--neutral-700);
  --bs-btn-disabled-border-color: var(--neutral-700);
  --bs-btn-disabled-opacity: 0.65;
}


/* Scoped Bootstrap and theme-extension component overrides for light theme */
:root .accordion, [data-bs-theme="light"] .accordion
{
  --bs-accordion-active-bg: var(--brand-primary-color);
  --bs-accordion-active-color: var(--neutral-50);
  --bs-accordion-bg: var(--brand-card-bg-color);
  --bs-accordion-body-padding-x: var(--brand-padding-component-x);
  --bs-accordion-body-padding-y: var(--brand-padding-component-y);
  --bs-accordion-border-color: var(--brand-border-color);
  --bs-accordion-border-radius: var(--brand-radius-md);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-btn-active-icon: none;
  --bs-accordion-btn-bg: var(--brand-surface-alt-color);
  --bs-accordion-btn-color: var(--brand-text-color);
  --bs-accordion-btn-focus-border-color: var(--brand-border-color);
  --bs-accordion-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-accordion-btn-icon: none;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-padding-x: var(--brand-padding-component-x);
  --bs-accordion-btn-padding-y: var(--brand-padding-component-y);
  --bs-accordion-color: var(--brand-text-color);
  --bs-accordion-inner-border-radius: var(--brand-radius-md);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}

:root .alert, [data-bs-theme="light"] .alert
{
  --bs-alert-bg: var(--brand-card-bg-color);
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-color: var(--brand-border-color);
  --bs-alert-border-radius: var(--brand-radius-md);
  --bs-alert-color: var(--brand-text-color);
  --bs-alert-link-color: var(--brand-link-color);
  --bs-alert-margin-bottom: var(--brand-gap-stack);
  --bs-alert-padding-x: var(--brand-padding-component-x);
  --bs-alert-padding-y: var(--brand-padding-component-y);
}

:root .ds-avatar-group, [data-bs-theme="light"] .ds-avatar-group
{
  --ds-avatar-bg: var(--brand-card-bg-color);
  --ds-avatar-border-color: var(--brand-border-color);
  --ds-avatar-border-width: 2px;
  --ds-avatar-color: var(--brand-text-color);
  --ds-avatar-overlap: 0.75rem;
  --ds-avatar-radius: var(--brand-radius-md);
  --ds-avatar-size: 2.5rem;
}

:root .badge, [data-bs-theme="light"] .badge
{
  --bs-badge-border-radius: var(--brand-radius-md);
  --bs-badge-color: var(--brand-text-color);
  --bs-badge-font-size: var(--bs-body-font-size);
  --bs-badge-font-weight: 600;
  --bs-badge-padding-x: var(--brand-padding-component-x);
  --bs-badge-padding-y: var(--brand-padding-component-y);
}

:root .breadcrumb, [data-bs-theme="light"] .breadcrumb
{
  --bs-breadcrumb-bg: var(--brand-card-bg-color);
  --bs-breadcrumb-border-radius: var(--brand-radius-md);
  --bs-breadcrumb-divider: "/";
  --bs-breadcrumb-divider-color: var(--brand-border-color);
  --bs-breadcrumb-font-size: var(--bs-body-font-size);
  --bs-breadcrumb-item-active-color: var(--neutral-50);
  --bs-breadcrumb-item-padding-x: var(--brand-padding-component-x);
  --bs-breadcrumb-margin-bottom: var(--brand-gap-stack);
  --bs-breadcrumb-padding-x: var(--brand-padding-component-x);
  --bs-breadcrumb-padding-y: var(--brand-padding-component-y);
}

:root .btn-close, [data-bs-theme="light"] .btn-close
{
  --bs-btn-close-bg: none;
  --bs-btn-close-color: var(--brand-text-color);
  --bs-btn-close-disabled-opacity: var(--brand-opacity-60);
  --bs-btn-close-filter: none;
  --bs-btn-close-focus-opacity: var(--brand-opacity-100);
  --bs-btn-close-focus-shadow: var(--brand-shadow-focus);
  --bs-btn-close-hover-opacity: var(--brand-opacity-80);
  --bs-btn-close-opacity: var(--brand-opacity-100);
}

:root .carousel, [data-bs-theme="light"] .carousel
{
  --bs-carousel-caption-color: var(--neutral-50);
  --bs-carousel-control-color: var(--neutral-50);
  --bs-carousel-control-hover-opacity: var(--brand-opacity-80);
  --bs-carousel-control-icon-filter: none;
  --bs-carousel-control-icon-width: 2rem;
  --bs-carousel-control-opacity: var(--brand-opacity-100);
  --bs-carousel-control-width: 15%;
  --bs-carousel-indicator-active-bg: var(--brand-primary-color);
  --bs-carousel-indicator-height: 3px;
  --bs-carousel-indicator-opacity: var(--brand-opacity-100);
  --bs-carousel-indicator-width: 30px;
}

:root .ds-chip, [data-bs-theme="light"] .ds-chip
{
  --ds-chip-bg: var(--brand-card-bg-color);
  --ds-chip-border-color: var(--brand-border-color);
  --ds-chip-border-radius: var(--brand-radius-md);
  --ds-chip-color: var(--brand-text-color);
  --ds-chip-font-size: var(--bs-body-font-size);
  --ds-chip-gap: var(--brand-gap-stack);
  --ds-chip-padding-x: var(--brand-padding-component-x);
  --ds-chip-padding-y: var(--brand-padding-component-y);
}

:root .ds-data-grid, [data-bs-theme="light"] .ds-data-grid
{
  --ds-data-grid-bg: var(--brand-card-bg-color);
  --ds-data-grid-border-color: var(--brand-border-color);
  --ds-data-grid-border-radius: var(--brand-radius-md);
  --ds-data-grid-color: var(--brand-text-color);
  --ds-data-grid-header-bg: var(--brand-surface-alt-color);
  --ds-data-grid-header-color: var(--brand-muted-color);
  --ds-data-grid-row-hover-bg: var(--brand-surface-alt-color);
  --ds-data-grid-row-selected-bg: var(--brand-card-bg-color);
}

:root .dropdown-menu, [data-bs-theme="light"] .dropdown-menu
{
  --bs-dropdown-bg: var(--brand-card-bg-color);
  --bs-dropdown-border-color: var(--brand-border-color);
  --bs-dropdown-border-radius: var(--brand-radius-md);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-box-shadow: var(--brand-shadow-md);
  --bs-dropdown-color: var(--brand-text-color);
  --bs-dropdown-divider-bg: var(--brand-card-bg-color);
  --bs-dropdown-divider-margin-y: var(--brand-gap-stack);
  --bs-dropdown-font-size: var(--bs-body-font-size);
  --bs-dropdown-header-color: var(--brand-muted-color);
  --bs-dropdown-header-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-header-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-inner-border-radius: var(--brand-radius-md);
  --bs-dropdown-item-border-radius: var(--brand-radius-md);
  --bs-dropdown-item-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-item-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-link-active-bg: var(--brand-primary-color);
  --bs-dropdown-link-active-color: var(--neutral-50);
  --bs-dropdown-link-color: var(--brand-link-color);
  --bs-dropdown-link-disabled-color: var(--brand-muted-color);
  --bs-dropdown-link-hover-bg: var(--brand-surface-alt-color);
  --bs-dropdown-link-hover-color: var(--brand-link-color);
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-spacer: var(--brand-padding-component-x);
  --bs-dropdown-zindex: var(--brand-z-index-dropdown);
}

:root .ds-empty-state, [data-bs-theme="light"] .ds-empty-state
{
  --ds-empty-state-bg: var(--brand-card-bg-color);
  --ds-empty-state-border-color: var(--brand-border-color);
  --ds-empty-state-border-radius: var(--brand-radius-md);
  --ds-empty-state-color: var(--brand-text-color);
  --ds-empty-state-icon-bg: var(--brand-card-bg-color);
  --ds-empty-state-icon-color: var(--brand-text-color);
  --ds-empty-state-padding-x: var(--brand-padding-component-x);
  --ds-empty-state-padding-y: var(--brand-padding-component-y);
  --ds-empty-state-title-color: var(--brand-text-color);
}

:root .form-control, [data-bs-theme="light"] .form-control, :root .form-select, [data-bs-theme="light"] .form-select, :root .form-check-input, [data-bs-theme="light"] .form-check-input, :root .form-switch .form-check-input, [data-bs-theme="light"] .form-switch .form-check-input, :root .form-range, [data-bs-theme="light"] .form-range, :root .input-group, [data-bs-theme="light"] .input-group
{
  --bs-form-check-bg: var(--brand-card-bg-color);
  --bs-form-check-bg-image: none;
  --bs-form-select-bg-icon: none;
  --bs-form-select-bg-img: none;
  --bs-form-switch-bg: none;
}

:root .list-group, [data-bs-theme="light"] .list-group
{
  --bs-list-group-action-active-bg: var(--brand-primary-color);
  --bs-list-group-action-active-color: var(--neutral-50);
  --bs-list-group-action-color: var(--brand-text-color);
  --bs-list-group-action-hover-bg: var(--brand-surface-alt-color);
  --bs-list-group-action-hover-color: var(--brand-link-color);
  --bs-list-group-active-bg: var(--brand-primary-color);
  --bs-list-group-active-border-color: var(--brand-border-color);
  --bs-list-group-active-color: var(--neutral-50);
  --bs-list-group-bg: var(--brand-card-bg-color);
  --bs-list-group-border-color: var(--brand-border-color);
  --bs-list-group-border-radius: var(--brand-radius-md);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-color: var(--brand-text-color);
  --bs-list-group-disabled-bg: var(--brand-card-bg-color);
  --bs-list-group-disabled-color: var(--brand-muted-color);
  --bs-list-group-item-padding-x: var(--brand-padding-component-x);
  --bs-list-group-item-padding-y: var(--brand-padding-component-y);
}

:root .modal, [data-bs-theme="light"] .modal, :root .modal-backdrop, [data-bs-theme="light"] .modal-backdrop
{
  --bs-backdrop-bg: var(--brand-card-bg-color);
  --bs-backdrop-opacity: var(--brand-opacity-40);
  --bs-backdrop-zindex: var(--brand-z-index-modal);
  --bs-modal-bg: var(--brand-card-bg-color);
  --bs-modal-border-color: var(--brand-border-color);
  --bs-modal-border-radius: var(--brand-radius-md);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-box-shadow: var(--brand-shadow-md);
  --bs-modal-color: var(--brand-text-color);
  --bs-modal-footer-bg: var(--brand-surface-alt-color);
  --bs-modal-footer-border-color: var(--brand-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  --bs-modal-footer-gap: var(--brand-gap-stack);
  --bs-modal-header-border-color: var(--brand-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-padding-x: var(--brand-padding-component-x);
  --bs-modal-header-padding-y: var(--brand-padding-component-y);
  --bs-modal-inner-border-radius: var(--brand-radius-md);
  --bs-modal-margin: var(--brand-gap-stack);
  --bs-modal-padding: var(--brand-padding-component-x);
  --bs-modal-title-line-height: var(--bs-body-line-height);
  --bs-modal-width: 500px;
  --bs-modal-zindex: var(--brand-z-index-modal);
}

:root .navbar, [data-bs-theme="light"] .navbar
{
  --bs-navbar-active-color: var(--neutral-50);
  --bs-navbar-brand-color: var(--brand-link-color);
  --bs-navbar-brand-font-size: var(--bs-body-font-size);
  --bs-navbar-brand-hover-color: var(--brand-link-color);
  --bs-navbar-brand-margin-end: var(--brand-gap-stack);
  --bs-navbar-brand-padding-y: var(--brand-padding-component-y);
  --bs-navbar-color: var(--brand-text-color);
  --bs-navbar-disabled-color: var(--brand-muted-color);
  --bs-navbar-hover-color: var(--brand-link-color);
  --bs-navbar-nav-link-padding-x: var(--brand-padding-component-x);
  --bs-navbar-padding-x: var(--brand-padding-component-x);
  --bs-navbar-padding-y: var(--brand-padding-component-y);
  --bs-navbar-toggler-border-color: var(--brand-border-color);
  --bs-navbar-toggler-border-radius: var(--brand-radius-md);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: none;
  --bs-navbar-toggler-padding-x: var(--brand-padding-component-x);
  --bs-navbar-toggler-padding-y: var(--brand-padding-component-y);
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
}

:root .nav, [data-bs-theme="light"] .nav
{
  --bs-nav-link-color: var(--brand-link-color);
  --bs-nav-link-disabled-color: var(--brand-muted-color);
  --bs-nav-link-font-size: var(--bs-body-font-size);
  --bs-nav-link-font-weight: 400;
  --bs-nav-link-hover-color: var(--brand-link-color);
  --bs-nav-link-padding-x: var(--brand-padding-component-x);
  --bs-nav-link-padding-y: var(--brand-padding-component-y);
  --bs-nav-pills-border-radius: var(--brand-radius-pill);
  --bs-nav-pills-link-active-bg: var(--brand-primary-color);
  --bs-nav-pills-link-active-color: var(--neutral-50);
  --bs-nav-tabs-border-color: var(--brand-border-color);
  --bs-nav-tabs-border-radius: var(--brand-radius-md);
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-link-active-bg: var(--brand-card-bg-color);
  --bs-nav-tabs-link-active-border-color: var(--brand-border-color);
  --bs-nav-tabs-link-active-color: var(--brand-text-color);
  --bs-nav-tabs-link-hover-border-color: var(--brand-border-color);
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-gap: var(--brand-gap-stack);
  --bs-nav-underline-link-active-color: var(--neutral-50);
}

:root .offcanvas, [data-bs-theme="light"] .offcanvas, :root .offcanvas-sm, [data-bs-theme="light"] .offcanvas-sm, :root .offcanvas-md, [data-bs-theme="light"] .offcanvas-md, :root .offcanvas-lg, [data-bs-theme="light"] .offcanvas-lg, :root .offcanvas-xl, [data-bs-theme="light"] .offcanvas-xl, :root .offcanvas-xxl, [data-bs-theme="light"] .offcanvas-xxl
{
  --bs-offcanvas-bg: var(--brand-card-bg-color);
  --bs-offcanvas-border-color: var(--brand-border-color);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-box-shadow: var(--brand-shadow-md);
  --bs-offcanvas-color: var(--brand-text-color);
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: var(--brand-padding-component-x);
  --bs-offcanvas-padding-y: var(--brand-padding-component-y);
  --bs-offcanvas-title-line-height: var(--bs-body-line-height);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-zindex: var(--brand-z-index-offcanvas);
}

:root .pagination, [data-bs-theme="light"] .pagination
{
  --bs-pagination-active-bg: var(--brand-primary-color);
  --bs-pagination-active-border-color: var(--brand-border-color);
  --bs-pagination-active-color: var(--neutral-50);
  --bs-pagination-bg: var(--brand-card-bg-color);
  --bs-pagination-border-color: var(--brand-border-color);
  --bs-pagination-border-radius: var(--brand-radius-md);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-color: var(--brand-text-color);
  --bs-pagination-disabled-bg: var(--brand-card-bg-color);
  --bs-pagination-disabled-border-color: var(--brand-border-color);
  --bs-pagination-disabled-color: var(--brand-muted-color);
  --bs-pagination-focus-bg: var(--brand-card-bg-color);
  --bs-pagination-focus-box-shadow: var(--brand-shadow-focus);
  --bs-pagination-focus-color: var(--brand-text-color);
  --bs-pagination-font-size: var(--bs-body-font-size);
  --bs-pagination-hover-bg: var(--brand-surface-alt-color);
  --bs-pagination-hover-border-color: var(--brand-border-color);
  --bs-pagination-hover-color: var(--brand-link-color);
  --bs-pagination-padding-x: var(--brand-padding-component-x);
  --bs-pagination-padding-y: var(--brand-padding-component-y);
}

:root .popover, [data-bs-theme="light"] .popover
{
  --bs-popover-arrow-border: var(--brand-border-color);
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-width: 1rem;
  --bs-popover-bg: var(--brand-card-bg-color);
  --bs-popover-body-color: var(--brand-text-color);
  --bs-popover-body-padding-x: var(--brand-padding-component-x);
  --bs-popover-body-padding-y: var(--brand-padding-component-y);
  --bs-popover-border-color: var(--brand-border-color);
  --bs-popover-border-radius: var(--brand-radius-md);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-box-shadow: var(--brand-shadow-md);
  --bs-popover-color: var(--brand-text-color);
  --bs-popover-font-size: 0.875rem;
  --bs-popover-header-bg: var(--brand-surface-alt-color);
  --bs-popover-header-color: var(--brand-muted-color);
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-padding-x: var(--brand-padding-component-x);
  --bs-popover-header-padding-y: var(--brand-padding-component-y);
  --bs-popover-inner-border-radius: var(--brand-radius-md);
  --bs-popover-max-width: 276px;
  --bs-popover-zindex: var(--brand-z-index-popover);
}

:root .progress, [data-bs-theme="light"] .progress
{
  --bs-progress-bar-bg: var(--brand-primary-color);
  --bs-progress-bar-color: var(--neutral-50);
  --bs-progress-bar-transition: all 0.2s ease-in-out;
  --bs-progress-bg: var(--brand-surface-alt-color);
  --bs-progress-border-radius: var(--brand-radius-md);
  --bs-progress-box-shadow: var(--brand-shadow-md);
  --bs-progress-font-size: var(--bs-body-font-size);
  --bs-progress-height: 1rem;
}

:root .ds-snackbar, [data-bs-theme="light"] .ds-snackbar
{
  --ds-snackbar-accent-color: var(--brand-primary-color);
  --ds-snackbar-bg: var(--brand-card-bg-color);
  --ds-snackbar-border-color: var(--brand-border-color);
  --ds-snackbar-border-radius: var(--brand-radius-md);
  --ds-snackbar-box-shadow: var(--brand-shadow-md);
  --ds-snackbar-color: var(--brand-text-color);
  --ds-snackbar-padding-x: var(--brand-padding-component-x);
  --ds-snackbar-padding-y: var(--brand-padding-component-y);
  --ds-snackbar-zindex: var(--brand-z-index-modal);
}

:root .spinner-border, [data-bs-theme="light"] .spinner-border, :root .spinner-grow, [data-bs-theme="light"] .spinner-grow
{
  --bs-spinner-animation-name: spinner-border;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-width: 2rem;
}

:root .ds-stat-card, [data-bs-theme="light"] .ds-stat-card
{
  --ds-stat-card-accent-color: var(--brand-primary-color);
  --ds-stat-card-bg: var(--brand-card-bg-color);
  --ds-stat-card-border-color: var(--brand-border-color);
  --ds-stat-card-border-radius: var(--brand-radius-card);
  --ds-stat-card-box-shadow: var(--brand-shadow-md);
  --ds-stat-card-color: var(--brand-text-color);
  --ds-stat-card-label-color: var(--brand-text-color);
  --ds-stat-card-padding-x: var(--brand-padding-component-x);
  --ds-stat-card-padding-y: var(--brand-padding-component-y);
  --ds-stat-card-value-color: var(--brand-text-color);
}

:root .table, [data-bs-theme="light"] .table
{
  --bs-table-accent-bg: var(--brand-primary-color);
  --bs-table-active-bg: var(--brand-primary-color);
  --bs-table-active-color: var(--neutral-50);
  --bs-table-bg: var(--brand-card-bg-color);
  --bs-table-bg-state: var(--brand-card-bg-color);
  --bs-table-bg-type: var(--brand-card-bg-color);
  --bs-table-border-color: var(--brand-border-color);
  --bs-table-color: var(--brand-text-color);
  --bs-table-color-state: var(--brand-text-color);
  --bs-table-color-type: var(--brand-text-color);
  --bs-table-hover-bg: var(--brand-surface-alt-color);
  --bs-table-hover-color: var(--brand-link-color);
  --bs-table-striped-bg: var(--brand-card-bg-color);
  --bs-table-striped-color: var(--brand-text-color);
}

:root, [data-bs-theme="light"]
{
  --theme-avatar-bg: var(--brand-icon-container-bg);
  --theme-avatar-radius: var(--brand-radius-full);
  --theme-avatar-shadow: var(--brand-icon-container-shadow);
  --theme-icon-container-lg: var(--brand-icon-container-lg);
  --theme-icon-container-md: var(--brand-icon-container-md);
  --theme-icon-container-sm: var(--brand-icon-container-sm);
  --theme-icon-shape-bg: var(--brand-icon-container-bg);
  --theme-icon-shape-color: var(--brand-icon-container-color);
  --theme-icon-shape-radius: var(--brand-icon-container-radius);
  --theme-icon-shape-shadow: var(--brand-icon-container-shadow);
  --theme-icon-size-lg: var(--brand-icon-size-lg);
  --theme-icon-size-md: var(--brand-icon-size-md);
  --theme-icon-size-sm: var(--brand-icon-size-sm);
  --theme-lift-offset: -0.25rem;
  --theme-lift-shadow: var(--brand-shadow-md);
  --theme-pattern-opacity: 0.3;
}

:root .ds-timeline, [data-bs-theme="light"] .ds-timeline
{
  --ds-timeline-content-bg: var(--brand-card-bg-color);
  --ds-timeline-content-color: var(--brand-text-color);
  --ds-timeline-content-radius: var(--brand-radius-md);
  --ds-timeline-content-shadow: var(--brand-shadow-md);
  --ds-timeline-dot-bg: var(--brand-card-bg-color);
  --ds-timeline-dot-border-color: var(--brand-border-color);
  --ds-timeline-gap: var(--brand-gap-stack);
  --ds-timeline-line-color: var(--brand-text-color);
}

:root .toast, [data-bs-theme="light"] .toast
{
  --bs-toast-bg: var(--brand-card-bg-color);
  --bs-toast-border-color: var(--brand-border-color);
  --bs-toast-border-radius: var(--brand-radius-md);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-box-shadow: var(--brand-shadow-md);
  --bs-toast-color: var(--brand-text-color);
  --bs-toast-font-size: 0.875rem;
  --bs-toast-header-bg: var(--brand-surface-alt-color);
  --bs-toast-header-border-color: var(--brand-border-color);
  --bs-toast-header-color: var(--brand-muted-color);
  --bs-toast-max-width: 350px;
  --bs-toast-padding-x: var(--brand-padding-component-x);
  --bs-toast-padding-y: var(--brand-padding-component-y);
  --bs-toast-spacing: 1.5rem;
  --bs-toast-zindex: var(--brand-z-index-toast);
}

:root .tooltip, [data-bs-theme="light"] .tooltip
{
  --bs-tooltip-arrow-height: 0.4rem;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-bg: var(--brand-card-bg-color);
  --bs-tooltip-border-radius: var(--brand-radius-md);
  --bs-tooltip-color: var(--brand-text-color);
  --bs-tooltip-font-size: var(--bs-body-font-size);
  --bs-tooltip-margin: var(--brand-gap-stack);
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-padding-x: var(--brand-padding-component-x);
  --bs-tooltip-padding-y: var(--brand-padding-component-y);
  --bs-tooltip-zindex: var(--brand-z-index-tooltip);
}

:root .ds-tree-view, [data-bs-theme="light"] .ds-tree-view
{
  --ds-tree-view-bg: var(--brand-card-bg-color);
  --ds-tree-view-color: var(--brand-text-color);
  --ds-tree-view-indent: 1rem;
  --ds-tree-view-item-active-bg: var(--brand-primary-color);
  --ds-tree-view-item-active-color: var(--neutral-50);
  --ds-tree-view-item-hover-bg: var(--brand-surface-alt-color);
  --ds-tree-view-radius: var(--brand-radius-md);
}

:root .icon-shape, [data-bs-theme="light"] .icon-shape
{
  width: var(--theme-icon-container-md);
  height: var(--theme-icon-container-md);
  background: var(--theme-icon-shape-bg);
  color: var(--theme-icon-shape-color);
  border-radius: var(--theme-icon-shape-radius);
  box-shadow: var(--theme-icon-shape-shadow);
}

:root .icon-sm, [data-bs-theme="light"] .icon-sm
{
  width: var(--theme-icon-container-sm);
  height: var(--theme-icon-container-sm);
  font-size: var(--theme-icon-size-sm);
}

:root .icon-md, [data-bs-theme="light"] .icon-md
{
  width: var(--theme-icon-container-md);
  height: var(--theme-icon-container-md);
  font-size: var(--theme-icon-size-md);
}

:root .icon-lg, [data-bs-theme="light"] .icon-lg, :root .icon-xl, [data-bs-theme="light"] .icon-xl
{
  width: var(--theme-icon-container-lg);
  height: var(--theme-icon-container-lg);
  font-size: var(--theme-icon-size-lg);
}

:root .avatar, [data-bs-theme="light"] .avatar
{
  border-radius: var(--theme-avatar-radius);
  background: var(--theme-avatar-bg);
  box-shadow: var(--theme-avatar-shadow);
}

:root .avatar img, [data-bs-theme="light"] .avatar img
{
  border-radius: inherit;
}

:root .lift:hover, [data-bs-theme="light"] .lift:hover, :root .card-lift:hover, [data-bs-theme="light"] .card-lift:hover
{
  box-shadow: var(--theme-lift-shadow);
  transform: translateY(var(--theme-lift-offset));
}

:root .pattern-square::after, [data-bs-theme="light"] .pattern-square::after
{
  opacity: var(--theme-pattern-opacity);
}

:root .ds-snackbar, [data-bs-theme="light"] .ds-snackbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: var(--ds-snackbar-padding-y) var(--ds-snackbar-padding-x);
  color: var(--ds-snackbar-color);
  background: var(--ds-snackbar-bg);
  border: var(--bs-border-width) solid var(--ds-snackbar-border-color);
  border-left: 0.35rem solid var(--ds-snackbar-accent-color);
  border-radius: var(--ds-snackbar-border-radius);
  box-shadow: var(--ds-snackbar-box-shadow);
  z-index: var(--ds-snackbar-zindex);
}

:root .ds-stat-card, [data-bs-theme="light"] .ds-stat-card {
  padding: var(--ds-stat-card-padding-y) var(--ds-stat-card-padding-x);
  color: var(--ds-stat-card-color);
  background: var(--ds-stat-card-bg);
  border: var(--bs-border-width) solid var(--ds-stat-card-border-color);
  border-radius: var(--ds-stat-card-border-radius);
  box-shadow: var(--ds-stat-card-box-shadow);
}

:root .ds-stat-card-label, [data-bs-theme="light"] .ds-stat-card-label {
  color: var(--ds-stat-card-label-color);
}

:root .ds-stat-card-value, [data-bs-theme="light"] .ds-stat-card-value {
  color: var(--ds-stat-card-value-color);
}

:root .ds-stat-card-accent, [data-bs-theme="light"] .ds-stat-card-accent {
  color: var(--ds-stat-card-accent-color);
}

:root .ds-avatar-group, [data-bs-theme="light"] .ds-avatar-group {
  display: flex;
  align-items: center;
}

:root .ds-avatar, [data-bs-theme="light"] .ds-avatar {
  display: inline-grid;
  place-items: center;
  width: var(--ds-avatar-size);
  height: var(--ds-avatar-size);
  color: var(--ds-avatar-color);
  background: var(--ds-avatar-bg);
  border: var(--ds-avatar-border-width) solid var(--ds-avatar-border-color);
  border-radius: var(--ds-avatar-radius);
  font-weight: 700;
}

:root .ds-avatar + .ds-avatar, [data-bs-theme="light"] .ds-avatar + .ds-avatar {
  margin-left: calc(var(--ds-avatar-overlap) * -1);
}

:root .ds-chip, [data-bs-theme="light"] .ds-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-chip-gap);
  padding: var(--ds-chip-padding-y) var(--ds-chip-padding-x);
  color: var(--ds-chip-color);
  background: var(--ds-chip-bg);
  border: var(--bs-border-width) solid var(--ds-chip-border-color);
  border-radius: var(--ds-chip-border-radius);
  font-size: var(--ds-chip-font-size);
  font-weight: 700;
}

:root .ds-empty-state, [data-bs-theme="light"] .ds-empty-state {
  padding: var(--ds-empty-state-padding-y) var(--ds-empty-state-padding-x);
  color: var(--ds-empty-state-color);
  background: var(--ds-empty-state-bg);
  border: var(--bs-border-width) dashed var(--ds-empty-state-border-color);
  border-radius: var(--ds-empty-state-border-radius);
  text-align: center;
}

:root .ds-empty-state-title, [data-bs-theme="light"] .ds-empty-state-title {
  color: var(--ds-empty-state-title-color);
}

:root .ds-empty-state-icon, [data-bs-theme="light"] .ds-empty-state-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  color: var(--ds-empty-state-icon-color);
  background: var(--ds-empty-state-icon-bg);
  border-radius: var(--bs-border-radius-pill);
}

:root .ds-timeline, [data-bs-theme="light"] .ds-timeline {
  display: grid;
  gap: var(--ds-timeline-gap);
}

:root .ds-timeline-item, [data-bs-theme="light"] .ds-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
}

:root .ds-timeline-item::before, [data-bs-theme="light"] .ds-timeline-item::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.35rem;
  background: var(--ds-timeline-dot-bg);
  border: 2px solid var(--ds-timeline-dot-border-color);
  border-radius: 50%;
  box-shadow: 0 0 0 4px var(--bs-body-bg);
}

:root .ds-timeline-item::after, [data-bs-theme="light"] .ds-timeline-item::after {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 1.3rem;
  bottom: calc(var(--ds-timeline-gap) * -1);
  width: 1px;
  background: var(--ds-timeline-line-color);
}

:root .ds-timeline-item:last-child::after, [data-bs-theme="light"] .ds-timeline-item:last-child::after {
  display: none;
}

:root .ds-timeline-content, [data-bs-theme="light"] .ds-timeline-content {
  padding: 1rem;
  color: var(--ds-timeline-content-color);
  background: var(--ds-timeline-content-bg);
  border-radius: var(--ds-timeline-content-radius);
  box-shadow: var(--ds-timeline-content-shadow);
}

:root .ds-tree-view, [data-bs-theme="light"] .ds-tree-view {
  padding: 0.5rem;
  color: var(--ds-tree-view-color);
  background: var(--ds-tree-view-bg);
  border-radius: var(--ds-tree-view-radius);
}

:root .ds-tree-item, [data-bs-theme="light"] .ds-tree-item {
  padding: 0.45rem 0.65rem;
  border-radius: var(--ds-tree-view-radius);
}

:root .ds-tree-item:hover, [data-bs-theme="light"] .ds-tree-item:hover {
  background: var(--ds-tree-view-item-hover-bg);
}

:root .ds-tree-item.is-active, [data-bs-theme="light"] .ds-tree-item.is-active {
  color: var(--ds-tree-view-item-active-color);
  background: var(--ds-tree-view-item-active-bg);
}

:root .ds-tree-children, [data-bs-theme="light"] .ds-tree-children {
  margin-left: var(--ds-tree-view-indent);
}

:root .ds-data-grid, [data-bs-theme="light"] .ds-data-grid {
  overflow: hidden;
  color: var(--ds-data-grid-color);
  background: var(--ds-data-grid-bg);
  border: var(--bs-border-width) solid var(--ds-data-grid-border-color);
  border-radius: var(--ds-data-grid-border-radius);
}

:root .ds-data-grid table, [data-bs-theme="light"] .ds-data-grid table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

:root .ds-data-grid th, [data-bs-theme="light"] .ds-data-grid th {
  color: var(--ds-data-grid-header-color);
  background: var(--ds-data-grid-header-bg);
}

:root .ds-data-grid th, [data-bs-theme="light"] .ds-data-grid th,
:root .ds-data-grid td, [data-bs-theme="light"] .ds-data-grid td {
  padding: 0.85rem 1rem;
  border-bottom: var(--bs-border-width) solid var(--ds-data-grid-border-color);
}

:root .ds-data-grid tbody tr:hover, [data-bs-theme="light"] .ds-data-grid tbody tr:hover {
  background: var(--ds-data-grid-row-hover-bg);
}

:root .ds-data-grid tbody tr.is-selected, [data-bs-theme="light"] .ds-data-grid tbody tr.is-selected {
  background: var(--ds-data-grid-row-selected-bg);
}

/* Scoped Bootstrap and theme-extension component overrides for dark theme */
[data-bs-theme="dark"] .accordion
{
  --bs-accordion-active-bg: var(--brand-primary-color);
  --bs-accordion-active-color: var(--neutral-50);
  --bs-accordion-bg: var(--brand-card-bg-color);
  --bs-accordion-body-padding-x: var(--brand-padding-component-x);
  --bs-accordion-body-padding-y: var(--brand-padding-component-y);
  --bs-accordion-border-color: var(--brand-border-color);
  --bs-accordion-border-radius: var(--brand-radius-md);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-btn-active-icon: none;
  --bs-accordion-btn-bg: var(--brand-surface-alt-color);
  --bs-accordion-btn-color: var(--neutral-100);
  --bs-accordion-btn-focus-border-color: var(--brand-border-color);
  --bs-accordion-btn-focus-box-shadow: var(--brand-shadow-focus);
  --bs-accordion-btn-icon: none;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-padding-x: var(--brand-padding-component-x);
  --bs-accordion-btn-padding-y: var(--brand-padding-component-y);
  --bs-accordion-color: var(--neutral-100);
  --bs-accordion-inner-border-radius: var(--brand-radius-md);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}

[data-bs-theme="dark"] .alert
{
  --bs-alert-bg: var(--brand-card-bg-color);
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-color: var(--brand-border-color);
  --bs-alert-border-radius: var(--brand-radius-md);
  --bs-alert-color: var(--neutral-100);
  --bs-alert-link-color: var(--brand-link-color);
  --bs-alert-margin-bottom: var(--brand-gap-stack);
  --bs-alert-padding-x: var(--brand-padding-component-x);
  --bs-alert-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .ds-avatar-group
{
  --ds-avatar-bg: var(--brand-card-bg-color);
  --ds-avatar-border-color: var(--brand-border-color);
  --ds-avatar-border-width: 2px;
  --ds-avatar-color: var(--neutral-100);
  --ds-avatar-overlap: 0.75rem;
  --ds-avatar-radius: var(--brand-radius-md);
  --ds-avatar-size: 2.5rem;
}

[data-bs-theme="dark"] .badge
{
  --bs-badge-border-radius: var(--brand-radius-md);
  --bs-badge-color: var(--neutral-100);
  --bs-badge-font-size: var(--bs-body-font-size);
  --bs-badge-font-weight: 600;
  --bs-badge-padding-x: var(--brand-padding-component-x);
  --bs-badge-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .breadcrumb
{
  --bs-breadcrumb-bg: var(--brand-card-bg-color);
  --bs-breadcrumb-border-radius: var(--brand-radius-md);
  --bs-breadcrumb-divider: "/";
  --bs-breadcrumb-divider-color: var(--brand-border-color);
  --bs-breadcrumb-font-size: var(--bs-body-font-size);
  --bs-breadcrumb-item-active-color: var(--neutral-50);
  --bs-breadcrumb-item-padding-x: var(--brand-padding-component-x);
  --bs-breadcrumb-margin-bottom: var(--brand-gap-stack);
  --bs-breadcrumb-padding-x: var(--brand-padding-component-x);
  --bs-breadcrumb-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .btn-close
{
  --bs-btn-close-bg: none;
  --bs-btn-close-color: var(--neutral-100);
  --bs-btn-close-disabled-opacity: var(--brand-opacity-60);
  --bs-btn-close-filter: none;
  --bs-btn-close-focus-opacity: var(--brand-opacity-100);
  --bs-btn-close-focus-shadow: var(--brand-shadow-focus);
  --bs-btn-close-hover-opacity: var(--brand-opacity-80);
  --bs-btn-close-opacity: var(--brand-opacity-100);
}

[data-bs-theme="dark"] .carousel
{
  --bs-carousel-caption-color: var(--neutral-50);
  --bs-carousel-control-color: var(--neutral-50);
  --bs-carousel-control-hover-opacity: var(--brand-opacity-80);
  --bs-carousel-control-icon-filter: none;
  --bs-carousel-control-icon-width: 2rem;
  --bs-carousel-control-opacity: var(--brand-opacity-100);
  --bs-carousel-control-width: 15%;
  --bs-carousel-indicator-active-bg: var(--brand-primary-color);
  --bs-carousel-indicator-height: 3px;
  --bs-carousel-indicator-opacity: var(--brand-opacity-100);
  --bs-carousel-indicator-width: 30px;
}

[data-bs-theme="dark"] .ds-chip
{
  --ds-chip-bg: var(--brand-card-bg-color);
  --ds-chip-border-color: var(--brand-border-color);
  --ds-chip-border-radius: var(--brand-radius-md);
  --ds-chip-color: var(--neutral-100);
  --ds-chip-font-size: var(--bs-body-font-size);
  --ds-chip-gap: var(--brand-gap-stack);
  --ds-chip-padding-x: var(--brand-padding-component-x);
  --ds-chip-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .ds-data-grid
{
  --ds-data-grid-bg: var(--brand-card-bg-color);
  --ds-data-grid-border-color: var(--brand-border-color);
  --ds-data-grid-border-radius: var(--brand-radius-md);
  --ds-data-grid-color: var(--neutral-100);
  --ds-data-grid-header-bg: var(--brand-surface-alt-color);
  --ds-data-grid-header-color: var(--neutral-300);
  --ds-data-grid-row-hover-bg: var(--brand-surface-alt-color);
  --ds-data-grid-row-selected-bg: var(--brand-card-bg-color);
}

[data-bs-theme="dark"] .dropdown-menu
{
  --bs-dropdown-bg: var(--brand-card-bg-color);
  --bs-dropdown-border-color: var(--brand-border-color);
  --bs-dropdown-border-radius: var(--brand-radius-md);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-box-shadow: var(--brand-shadow-md);
  --bs-dropdown-color: var(--neutral-100);
  --bs-dropdown-divider-bg: var(--brand-card-bg-color);
  --bs-dropdown-divider-margin-y: var(--brand-gap-stack);
  --bs-dropdown-font-size: var(--bs-body-font-size);
  --bs-dropdown-header-color: var(--neutral-300);
  --bs-dropdown-header-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-header-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-inner-border-radius: var(--brand-radius-md);
  --bs-dropdown-item-border-radius: var(--brand-radius-md);
  --bs-dropdown-item-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-item-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-link-active-bg: var(--brand-primary-color);
  --bs-dropdown-link-active-color: var(--neutral-50);
  --bs-dropdown-link-color: var(--brand-link-color);
  --bs-dropdown-link-disabled-color: var(--neutral-300);
  --bs-dropdown-link-hover-bg: var(--brand-surface-alt-color);
  --bs-dropdown-link-hover-color: var(--brand-link-color);
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: var(--brand-padding-component-x);
  --bs-dropdown-padding-y: var(--brand-padding-component-y);
  --bs-dropdown-spacer: var(--brand-padding-component-x);
  --bs-dropdown-zindex: var(--brand-z-index-dropdown);
}

[data-bs-theme="dark"] .ds-empty-state
{
  --ds-empty-state-bg: var(--brand-card-bg-color);
  --ds-empty-state-border-color: var(--brand-border-color);
  --ds-empty-state-border-radius: var(--brand-radius-md);
  --ds-empty-state-color: var(--neutral-100);
  --ds-empty-state-icon-bg: var(--brand-card-bg-color);
  --ds-empty-state-icon-color: var(--neutral-100);
  --ds-empty-state-padding-x: var(--brand-padding-component-x);
  --ds-empty-state-padding-y: var(--brand-padding-component-y);
  --ds-empty-state-title-color: var(--neutral-100);
}

[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select, [data-bs-theme="dark"] .form-check-input, [data-bs-theme="dark"] .form-switch .form-check-input, [data-bs-theme="dark"] .form-range, [data-bs-theme="dark"] .input-group
{
  --bs-form-check-bg: var(--brand-card-bg-color);
  --bs-form-check-bg-image: none;
  --bs-form-select-bg-icon: none;
  --bs-form-select-bg-img: none;
  --bs-form-switch-bg: none;
}

[data-bs-theme="dark"] .list-group
{
  --bs-list-group-action-active-bg: var(--brand-primary-color);
  --bs-list-group-action-active-color: var(--neutral-50);
  --bs-list-group-action-color: var(--neutral-100);
  --bs-list-group-action-hover-bg: var(--brand-surface-alt-color);
  --bs-list-group-action-hover-color: var(--brand-link-color);
  --bs-list-group-active-bg: var(--brand-primary-color);
  --bs-list-group-active-border-color: var(--brand-border-color);
  --bs-list-group-active-color: var(--neutral-50);
  --bs-list-group-bg: var(--brand-card-bg-color);
  --bs-list-group-border-color: var(--brand-border-color);
  --bs-list-group-border-radius: var(--brand-radius-md);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-color: var(--neutral-100);
  --bs-list-group-disabled-bg: var(--brand-card-bg-color);
  --bs-list-group-disabled-color: var(--neutral-300);
  --bs-list-group-item-padding-x: var(--brand-padding-component-x);
  --bs-list-group-item-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .modal, [data-bs-theme="dark"] .modal-backdrop
{
  --bs-backdrop-bg: var(--brand-card-bg-color);
  --bs-backdrop-opacity: var(--brand-opacity-40);
  --bs-backdrop-zindex: var(--brand-z-index-modal);
  --bs-modal-bg: var(--brand-card-bg-color);
  --bs-modal-border-color: var(--brand-border-color);
  --bs-modal-border-radius: var(--brand-radius-md);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-box-shadow: var(--brand-shadow-md);
  --bs-modal-color: var(--neutral-100);
  --bs-modal-footer-bg: var(--brand-surface-alt-color);
  --bs-modal-footer-border-color: var(--brand-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  --bs-modal-footer-gap: var(--brand-gap-stack);
  --bs-modal-header-border-color: var(--brand-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-padding-x: var(--brand-padding-component-x);
  --bs-modal-header-padding-y: var(--brand-padding-component-y);
  --bs-modal-inner-border-radius: var(--brand-radius-md);
  --bs-modal-margin: var(--brand-gap-stack);
  --bs-modal-padding: var(--brand-padding-component-x);
  --bs-modal-title-line-height: var(--bs-body-line-height);
  --bs-modal-width: 500px;
  --bs-modal-zindex: var(--brand-z-index-modal);
}

[data-bs-theme="dark"] .navbar
{
  --bs-navbar-active-color: var(--neutral-50);
  --bs-navbar-brand-color: var(--brand-link-color);
  --bs-navbar-brand-font-size: var(--bs-body-font-size);
  --bs-navbar-brand-hover-color: var(--brand-link-color);
  --bs-navbar-brand-margin-end: var(--brand-gap-stack);
  --bs-navbar-brand-padding-y: var(--brand-padding-component-y);
  --bs-navbar-color: var(--neutral-100);
  --bs-navbar-disabled-color: var(--neutral-300);
  --bs-navbar-hover-color: var(--brand-link-color);
  --bs-navbar-nav-link-padding-x: var(--brand-padding-component-x);
  --bs-navbar-padding-x: var(--brand-padding-component-x);
  --bs-navbar-padding-y: var(--brand-padding-component-y);
  --bs-navbar-toggler-border-color: var(--brand-border-color);
  --bs-navbar-toggler-border-radius: var(--brand-radius-md);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: none;
  --bs-navbar-toggler-padding-x: var(--brand-padding-component-x);
  --bs-navbar-toggler-padding-y: var(--brand-padding-component-y);
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
}

[data-bs-theme="dark"] .nav
{
  --bs-nav-link-color: var(--brand-link-color);
  --bs-nav-link-disabled-color: var(--neutral-300);
  --bs-nav-link-font-size: var(--bs-body-font-size);
  --bs-nav-link-font-weight: 400;
  --bs-nav-link-hover-color: var(--brand-link-color);
  --bs-nav-link-padding-x: var(--brand-padding-component-x);
  --bs-nav-link-padding-y: var(--brand-padding-component-y);
  --bs-nav-pills-border-radius: var(--brand-radius-pill);
  --bs-nav-pills-link-active-bg: var(--brand-primary-color);
  --bs-nav-pills-link-active-color: var(--neutral-50);
  --bs-nav-tabs-border-color: var(--brand-border-color);
  --bs-nav-tabs-border-radius: var(--brand-radius-md);
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-link-active-bg: var(--brand-surface-color);
  --bs-nav-tabs-link-active-border-color: var(--brand-border-color);
  --bs-nav-tabs-link-active-color: var(--neutral-50);
  --bs-nav-tabs-link-hover-border-color: var(--brand-border-color);
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-gap: var(--brand-gap-stack);
  --bs-nav-underline-link-active-color: var(--neutral-50);
}

[data-bs-theme="dark"] .offcanvas, [data-bs-theme="dark"] .offcanvas-sm, [data-bs-theme="dark"] .offcanvas-md, [data-bs-theme="dark"] .offcanvas-lg, [data-bs-theme="dark"] .offcanvas-xl, [data-bs-theme="dark"] .offcanvas-xxl
{
  --bs-offcanvas-bg: var(--brand-card-bg-color);
  --bs-offcanvas-border-color: var(--brand-border-color);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-box-shadow: var(--brand-shadow-md);
  --bs-offcanvas-color: var(--neutral-100);
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: var(--brand-padding-component-x);
  --bs-offcanvas-padding-y: var(--brand-padding-component-y);
  --bs-offcanvas-title-line-height: var(--bs-body-line-height);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-zindex: var(--brand-z-index-offcanvas);
}

[data-bs-theme="dark"] .pagination
{
  --bs-pagination-active-bg: var(--brand-primary-color);
  --bs-pagination-active-border-color: var(--brand-border-color);
  --bs-pagination-active-color: var(--neutral-50);
  --bs-pagination-bg: var(--brand-card-bg-color);
  --bs-pagination-border-color: var(--brand-border-color);
  --bs-pagination-border-radius: var(--brand-radius-md);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-color: var(--neutral-100);
  --bs-pagination-disabled-bg: var(--brand-card-bg-color);
  --bs-pagination-disabled-border-color: var(--brand-border-color);
  --bs-pagination-disabled-color: var(--neutral-300);
  --bs-pagination-focus-bg: var(--brand-card-bg-color);
  --bs-pagination-focus-box-shadow: var(--brand-shadow-focus);
  --bs-pagination-focus-color: var(--neutral-100);
  --bs-pagination-font-size: var(--bs-body-font-size);
  --bs-pagination-hover-bg: var(--brand-surface-alt-color);
  --bs-pagination-hover-border-color: var(--brand-border-color);
  --bs-pagination-hover-color: var(--brand-link-color);
  --bs-pagination-padding-x: var(--brand-padding-component-x);
  --bs-pagination-padding-y: var(--brand-padding-component-y);
}

[data-bs-theme="dark"] .popover
{
  --bs-popover-arrow-border: var(--brand-border-color);
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-width: 1rem;
  --bs-popover-bg: var(--brand-card-bg-color);
  --bs-popover-body-color: var(--neutral-100);
  --bs-popover-body-padding-x: var(--brand-padding-component-x);
  --bs-popover-body-padding-y: var(--brand-padding-component-y);
  --bs-popover-border-color: var(--brand-border-color);
  --bs-popover-border-radius: var(--brand-radius-md);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-box-shadow: var(--brand-shadow-md);
  --bs-popover-color: var(--neutral-100);
  --bs-popover-font-size: 0.875rem;
  --bs-popover-header-bg: var(--brand-surface-alt-color);
  --bs-popover-header-color: var(--neutral-300);
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-padding-x: var(--brand-padding-component-x);
  --bs-popover-header-padding-y: var(--brand-padding-component-y);
  --bs-popover-inner-border-radius: var(--brand-radius-md);
  --bs-popover-max-width: 276px;
  --bs-popover-zindex: var(--brand-z-index-popover);
}

[data-bs-theme="dark"] .progress
{
  --bs-progress-bar-bg: var(--brand-primary-color);
  --bs-progress-bar-color: var(--neutral-50);
  --bs-progress-bar-transition: all 0.2s ease-in-out;
  --bs-progress-bg: var(--brand-surface-alt-color);
  --bs-progress-border-radius: var(--brand-radius-md);
  --bs-progress-box-shadow: var(--brand-shadow-md);
  --bs-progress-font-size: var(--bs-body-font-size);
  --bs-progress-height: 1rem;
}

[data-bs-theme="dark"] .ds-snackbar
{
  --ds-snackbar-accent-color: var(--brand-primary-color);
  --ds-snackbar-bg: var(--brand-card-bg-color);
  --ds-snackbar-border-color: var(--brand-border-color);
  --ds-snackbar-border-radius: var(--brand-radius-md);
  --ds-snackbar-box-shadow: var(--brand-shadow-md);
  --ds-snackbar-color: var(--neutral-100);
  --ds-snackbar-padding-x: var(--brand-padding-component-x);
  --ds-snackbar-padding-y: var(--brand-padding-component-y);
  --ds-snackbar-zindex: var(--brand-z-index-modal);
}

[data-bs-theme="dark"] .spinner-border, [data-bs-theme="dark"] .spinner-grow
{
  --bs-spinner-animation-name: spinner-border;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-width: 2rem;
}

[data-bs-theme="dark"] .ds-stat-card
{
  --ds-stat-card-accent-color: var(--brand-primary-color);
  --ds-stat-card-bg: var(--brand-card-bg-color);
  --ds-stat-card-border-color: var(--brand-border-color);
  --ds-stat-card-border-radius: var(--brand-radius-card);
  --ds-stat-card-box-shadow: var(--brand-shadow-md);
  --ds-stat-card-color: var(--neutral-100);
  --ds-stat-card-label-color: var(--neutral-100);
  --ds-stat-card-padding-x: var(--brand-padding-component-x);
  --ds-stat-card-padding-y: var(--brand-padding-component-y);
  --ds-stat-card-value-color: var(--neutral-100);
}

[data-bs-theme="dark"] .table
{
  --bs-table-accent-bg: var(--brand-primary-color);
  --bs-table-active-bg: var(--brand-primary-color);
  --bs-table-active-color: var(--neutral-50);
  --bs-table-bg: var(--brand-card-bg-color);
  --bs-table-bg-state: var(--brand-card-bg-color);
  --bs-table-bg-type: var(--brand-card-bg-color);
  --bs-table-border-color: var(--brand-border-color);
  --bs-table-color: var(--neutral-100);
  --bs-table-color-state: var(--neutral-100);
  --bs-table-color-type: var(--neutral-100);
  --bs-table-hover-bg: var(--brand-surface-alt-color);
  --bs-table-hover-color: var(--brand-link-color);
  --bs-table-striped-bg: var(--brand-card-bg-color);
  --bs-table-striped-color: var(--neutral-100);
}

[data-bs-theme="dark"]
{
  --theme-avatar-bg: var(--brand-icon-container-bg);
  --theme-avatar-radius: var(--brand-radius-full);
  --theme-avatar-shadow: var(--brand-icon-container-shadow);
  --theme-icon-container-lg: var(--brand-icon-container-lg);
  --theme-icon-container-md: var(--brand-icon-container-md);
  --theme-icon-container-sm: var(--brand-icon-container-sm);
  --theme-icon-shape-bg: var(--brand-icon-container-bg);
  --theme-icon-shape-color: var(--brand-icon-container-color);
  --theme-icon-shape-radius: var(--brand-icon-container-radius);
  --theme-icon-shape-shadow: var(--brand-icon-container-shadow);
  --theme-icon-size-lg: var(--brand-icon-size-lg);
  --theme-icon-size-md: var(--brand-icon-size-md);
  --theme-icon-size-sm: var(--brand-icon-size-sm);
  --theme-lift-offset: -0.25rem;
  --theme-lift-shadow: var(--brand-shadow-md);
  --theme-pattern-opacity: 0.3;
}

[data-bs-theme="dark"] .ds-timeline
{
  --ds-timeline-content-bg: var(--brand-card-bg-color);
  --ds-timeline-content-color: var(--neutral-100);
  --ds-timeline-content-radius: var(--brand-radius-md);
  --ds-timeline-content-shadow: var(--brand-shadow-md);
  --ds-timeline-dot-bg: var(--brand-card-bg-color);
  --ds-timeline-dot-border-color: var(--brand-border-color);
  --ds-timeline-gap: var(--brand-gap-stack);
  --ds-timeline-line-color: var(--neutral-100);
}

[data-bs-theme="dark"] .toast
{
  --bs-toast-bg: var(--brand-card-bg-color);
  --bs-toast-border-color: var(--brand-border-color);
  --bs-toast-border-radius: var(--brand-radius-md);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-box-shadow: var(--brand-shadow-md);
  --bs-toast-color: var(--neutral-100);
  --bs-toast-font-size: 0.875rem;
  --bs-toast-header-bg: var(--brand-surface-alt-color);
  --bs-toast-header-border-color: var(--brand-border-color);
  --bs-toast-header-color: var(--neutral-300);
  --bs-toast-max-width: 350px;
  --bs-toast-padding-x: var(--brand-padding-component-x);
  --bs-toast-padding-y: var(--brand-padding-component-y);
  --bs-toast-spacing: 1.5rem;
  --bs-toast-zindex: var(--brand-z-index-toast);
}

[data-bs-theme="dark"] .tooltip
{
  --bs-tooltip-arrow-height: 0.4rem;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-bg: var(--brand-card-bg-color);
  --bs-tooltip-border-radius: var(--brand-radius-md);
  --bs-tooltip-color: var(--neutral-100);
  --bs-tooltip-font-size: var(--bs-body-font-size);
  --bs-tooltip-margin: var(--brand-gap-stack);
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-padding-x: var(--brand-padding-component-x);
  --bs-tooltip-padding-y: var(--brand-padding-component-y);
  --bs-tooltip-zindex: var(--brand-z-index-tooltip);
}

[data-bs-theme="dark"] .ds-tree-view
{
  --ds-tree-view-bg: var(--brand-card-bg-color);
  --ds-tree-view-color: var(--neutral-100);
  --ds-tree-view-indent: 1rem;
  --ds-tree-view-item-active-bg: var(--brand-primary-color);
  --ds-tree-view-item-active-color: var(--neutral-50);
  --ds-tree-view-item-hover-bg: var(--brand-surface-alt-color);
  --ds-tree-view-radius: var(--brand-radius-md);
}

[data-bs-theme="dark"] .icon-shape, [data-bs-theme="dark"] .icon-shape
{
  width: var(--theme-icon-container-md);
  height: var(--theme-icon-container-md);
  background: var(--theme-icon-shape-bg);
  color: var(--theme-icon-shape-color);
  border-radius: var(--theme-icon-shape-radius);
  box-shadow: var(--theme-icon-shape-shadow);
}

[data-bs-theme="dark"] .icon-sm, [data-bs-theme="dark"] .icon-sm
{
  width: var(--theme-icon-container-sm);
  height: var(--theme-icon-container-sm);
  font-size: var(--theme-icon-size-sm);
}

[data-bs-theme="dark"] .icon-md, [data-bs-theme="dark"] .icon-md
{
  width: var(--theme-icon-container-md);
  height: var(--theme-icon-container-md);
  font-size: var(--theme-icon-size-md);
}

[data-bs-theme="dark"] .icon-lg, [data-bs-theme="dark"] .icon-lg, [data-bs-theme="dark"] .icon-xl, [data-bs-theme="dark"] .icon-xl
{
  width: var(--theme-icon-container-lg);
  height: var(--theme-icon-container-lg);
  font-size: var(--theme-icon-size-lg);
}

[data-bs-theme="dark"] .avatar, [data-bs-theme="dark"] .avatar
{
  border-radius: var(--theme-avatar-radius);
  background: var(--theme-avatar-bg);
  box-shadow: var(--theme-avatar-shadow);
}

[data-bs-theme="dark"] .avatar img, [data-bs-theme="dark"] .avatar img
{
  border-radius: inherit;
}

[data-bs-theme="dark"] .lift:hover, [data-bs-theme="dark"] .lift:hover, [data-bs-theme="dark"] .card-lift:hover, [data-bs-theme="dark"] .card-lift:hover
{
  box-shadow: var(--theme-lift-shadow);
  transform: translateY(var(--theme-lift-offset));
}

[data-bs-theme="dark"] .pattern-square::after, [data-bs-theme="dark"] .pattern-square::after
{
  opacity: var(--theme-pattern-opacity);
}

[data-bs-theme="dark"] .ds-snackbar, [data-bs-theme="dark"] .ds-snackbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: var(--ds-snackbar-padding-y) var(--ds-snackbar-padding-x);
  color: var(--ds-snackbar-color);
  background: var(--ds-snackbar-bg);
  border: var(--bs-border-width) solid var(--ds-snackbar-border-color);
  border-left: 0.35rem solid var(--ds-snackbar-accent-color);
  border-radius: var(--ds-snackbar-border-radius);
  box-shadow: var(--ds-snackbar-box-shadow);
  z-index: var(--ds-snackbar-zindex);
}

[data-bs-theme="dark"] .ds-stat-card, [data-bs-theme="dark"] .ds-stat-card {
  padding: var(--ds-stat-card-padding-y) var(--ds-stat-card-padding-x);
  color: var(--ds-stat-card-color);
  background: var(--ds-stat-card-bg);
  border: var(--bs-border-width) solid var(--ds-stat-card-border-color);
  border-radius: var(--ds-stat-card-border-radius);
  box-shadow: var(--ds-stat-card-box-shadow);
}

[data-bs-theme="dark"] .ds-stat-card-label, [data-bs-theme="dark"] .ds-stat-card-label {
  color: var(--ds-stat-card-label-color);
}

[data-bs-theme="dark"] .ds-stat-card-value, [data-bs-theme="dark"] .ds-stat-card-value {
  color: var(--ds-stat-card-value-color);
}

[data-bs-theme="dark"] .ds-stat-card-accent, [data-bs-theme="dark"] .ds-stat-card-accent {
  color: var(--ds-stat-card-accent-color);
}

[data-bs-theme="dark"] .ds-avatar-group, [data-bs-theme="dark"] .ds-avatar-group {
  display: flex;
  align-items: center;
}

[data-bs-theme="dark"] .ds-avatar, [data-bs-theme="dark"] .ds-avatar {
  display: inline-grid;
  place-items: center;
  width: var(--ds-avatar-size);
  height: var(--ds-avatar-size);
  color: var(--ds-avatar-color);
  background: var(--ds-avatar-bg);
  border: var(--ds-avatar-border-width) solid var(--ds-avatar-border-color);
  border-radius: var(--ds-avatar-radius);
  font-weight: 700;
}

[data-bs-theme="dark"] .ds-avatar + .ds-avatar, [data-bs-theme="dark"] .ds-avatar + .ds-avatar {
  margin-left: calc(var(--ds-avatar-overlap) * -1);
}

[data-bs-theme="dark"] .ds-chip, [data-bs-theme="dark"] .ds-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-chip-gap);
  padding: var(--ds-chip-padding-y) var(--ds-chip-padding-x);
  color: var(--ds-chip-color);
  background: var(--ds-chip-bg);
  border: var(--bs-border-width) solid var(--ds-chip-border-color);
  border-radius: var(--ds-chip-border-radius);
  font-size: var(--ds-chip-font-size);
  font-weight: 700;
}

[data-bs-theme="dark"] .ds-empty-state, [data-bs-theme="dark"] .ds-empty-state {
  padding: var(--ds-empty-state-padding-y) var(--ds-empty-state-padding-x);
  color: var(--ds-empty-state-color);
  background: var(--ds-empty-state-bg);
  border: var(--bs-border-width) dashed var(--ds-empty-state-border-color);
  border-radius: var(--ds-empty-state-border-radius);
  text-align: center;
}

[data-bs-theme="dark"] .ds-empty-state-title, [data-bs-theme="dark"] .ds-empty-state-title {
  color: var(--ds-empty-state-title-color);
}

[data-bs-theme="dark"] .ds-empty-state-icon, [data-bs-theme="dark"] .ds-empty-state-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  color: var(--ds-empty-state-icon-color);
  background: var(--ds-empty-state-icon-bg);
  border-radius: var(--bs-border-radius-pill);
}

[data-bs-theme="dark"] .ds-timeline, [data-bs-theme="dark"] .ds-timeline {
  display: grid;
  gap: var(--ds-timeline-gap);
}

[data-bs-theme="dark"] .ds-timeline-item, [data-bs-theme="dark"] .ds-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
}

[data-bs-theme="dark"] .ds-timeline-item::before, [data-bs-theme="dark"] .ds-timeline-item::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.35rem;
  background: var(--ds-timeline-dot-bg);
  border: 2px solid var(--ds-timeline-dot-border-color);
  border-radius: 50%;
  box-shadow: 0 0 0 4px var(--bs-body-bg);
}

[data-bs-theme="dark"] .ds-timeline-item::after, [data-bs-theme="dark"] .ds-timeline-item::after {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 1.3rem;
  bottom: calc(var(--ds-timeline-gap) * -1);
  width: 1px;
  background: var(--ds-timeline-line-color);
}

[data-bs-theme="dark"] .ds-timeline-item:last-child::after, [data-bs-theme="dark"] .ds-timeline-item:last-child::after {
  display: none;
}

[data-bs-theme="dark"] .ds-timeline-content, [data-bs-theme="dark"] .ds-timeline-content {
  padding: 1rem;
  color: var(--ds-timeline-content-color);
  background: var(--ds-timeline-content-bg);
  border-radius: var(--ds-timeline-content-radius);
  box-shadow: var(--ds-timeline-content-shadow);
}

[data-bs-theme="dark"] .ds-tree-view, [data-bs-theme="dark"] .ds-tree-view {
  padding: 0.5rem;
  color: var(--ds-tree-view-color);
  background: var(--ds-tree-view-bg);
  border-radius: var(--ds-tree-view-radius);
}

[data-bs-theme="dark"] .ds-tree-item, [data-bs-theme="dark"] .ds-tree-item {
  padding: 0.45rem 0.65rem;
  border-radius: var(--ds-tree-view-radius);
}

[data-bs-theme="dark"] .ds-tree-item:hover, [data-bs-theme="dark"] .ds-tree-item:hover {
  background: var(--ds-tree-view-item-hover-bg);
}

[data-bs-theme="dark"] .ds-tree-item.is-active, [data-bs-theme="dark"] .ds-tree-item.is-active {
  color: var(--ds-tree-view-item-active-color);
  background: var(--ds-tree-view-item-active-bg);
}

[data-bs-theme="dark"] .ds-tree-children, [data-bs-theme="dark"] .ds-tree-children {
  margin-left: var(--ds-tree-view-indent);
}

[data-bs-theme="dark"] .ds-data-grid, [data-bs-theme="dark"] .ds-data-grid {
  overflow: hidden;
  color: var(--ds-data-grid-color);
  background: var(--ds-data-grid-bg);
  border: var(--bs-border-width) solid var(--ds-data-grid-border-color);
  border-radius: var(--ds-data-grid-border-radius);
}

[data-bs-theme="dark"] .ds-data-grid table, [data-bs-theme="dark"] .ds-data-grid table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

[data-bs-theme="dark"] .ds-data-grid th, [data-bs-theme="dark"] .ds-data-grid th {
  color: var(--ds-data-grid-header-color);
  background: var(--ds-data-grid-header-bg);
}

[data-bs-theme="dark"] .ds-data-grid th, [data-bs-theme="dark"] .ds-data-grid th,
[data-bs-theme="dark"] .ds-data-grid td, [data-bs-theme="dark"] .ds-data-grid td {
  padding: 0.85rem 1rem;
  border-bottom: var(--bs-border-width) solid var(--ds-data-grid-border-color);
}

[data-bs-theme="dark"] .ds-data-grid tbody tr:hover, [data-bs-theme="dark"] .ds-data-grid tbody tr:hover {
  background: var(--ds-data-grid-row-hover-bg);
}

[data-bs-theme="dark"] .ds-data-grid tbody tr.is-selected, [data-bs-theme="dark"] .ds-data-grid tbody tr.is-selected {
  background: var(--ds-data-grid-row-selected-bg);
}
