:root {
  /* Brand Primary */
  --brand-primary: #7338f0;
  --brand-primary-hover: #8683f3;
  --brand-primary-light: #a8a7f7;
  --brand-primary-lighter: #d8edf9;

  /* Success */
  --brand-success: #269420;
  --brand-success-alt: #2ecc71;

  /* Error / Danger */
  --brand-error: #ef3a5d;
  --brand-error-alt: #db3d04;

  /* Warning */
  --brand-warning: #ef993a;
  --brand-warning-alt: #e77601;
  --brand-warning-soft: #f4556c;

  /* Accent & Highlights */
  --brand-accent: #f57242;
  --brand-highlight: #635bff;
  --brand-link-hover: #8683f3;

  /* Text Colors */
  --brand-dark-text: #090f30;
  --brand-muted-text: #3a3f59;
  --brand-disabled-text: #b5b7c1;

  /* Grays */
  --brand-gray: #a6a6b6;
  --brand-gray-alt: #bfbfbf;
  --brand-border: #e6e7ea;

  /* Backgrounds */
  --brand-bg-main: #f8f9ff;
  --brand-bg-hero-1: #a8a7f7;
  --brand-bg-hero-2: #d8edf9;
  --brand-bg-hero-3: #fcecdb;
  --brand-bg-card-success: #caf6c6;
  --brand-bg-disabled: #eceef2;
  --brand-bg-modal: #d2d1e3;
  --brand-bg-lavender: #dde0ff;

  /* Bootstrap Overrides */
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: 115, 56, 240;
  --bs-success: var(--brand-success);
  --bs-success-rgb: 38, 148, 32;
  --bs-danger: var(--brand-error);
  --bs-danger-rgb: 239, 58, 93;
  --bs-warning: var(--brand-warning);
  --bs-warning-rgb: 239, 153, 58;
  --bs-body-color: var(--brand-dark-text);
  --bs-body-bg: var(--brand-bg-main);
  
  /* Additional Bootstrap Variables */
  --bs-border-color: var(--brand-border);
  --bs-secondary: var(--brand-gray);
  --bs-secondary-rgb: 166, 166, 182;
  --bs-info: var(--brand-highlight);
  --bs-info-rgb: 99, 91, 255;
  --bs-light: var(--brand-bg-hero-2);
  --bs-light-rgb: 216, 237, 249;
  --bs-dark: var(--brand-dark-text);
  --bs-dark-rgb: 9, 15, 48;
  
  /* Button hover states */
  --bs-btn-hover-bg: var(--brand-primary-hover);
  --bs-btn-hover-border-color: var(--brand-primary-hover);
  
  /* Link colors */
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: var(--brand-link-hover);
}

[data-bs-theme="dark"] {
  --brand-primary: #a78bfa;
  --brand-primary-hover: #c4b5fd;
  --brand-primary-light: #d8cdf3;
  --brand-primary-lighter: #ede9fe;

  --brand-success: #34d399;
  --brand-success-alt: #2ecc71;

  --brand-error: #fb7185;
  --brand-error-alt: #db3d04;

  --brand-warning: #facc15;
  --brand-warning-alt: #e77601;
  --brand-warning-soft: #f59e0b;

  --brand-accent: #fb923c;
  --brand-highlight: #a5b4fc;
  --brand-link-hover: #c7d2fe;

  --brand-dark-text: #f1f5f9;
  --brand-muted-text: #94a3b8;
  --brand-disabled-text: #94a3b8;

  --brand-gray: #cbd5e1;
  --brand-gray-alt: #64748b;
  --brand-border: #334155;

  --brand-bg-main: #0f172a;
  --brand-bg-hero-1: #1e293b;
  --brand-bg-hero-2: #334155;
  --brand-bg-hero-3: #475569;
  --brand-bg-card-success: #14532d;
  --brand-bg-disabled: #1e293b;
  --brand-bg-modal: #1e293b;
  --brand-bg-lavender: #312e81;

  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: 167, 139, 250;
  --bs-success: var(--brand-success);
  --bs-success-rgb: 52, 211, 153;
  --bs-danger: var(--brand-error);
  --bs-danger-rgb: 251, 113, 133;
  --bs-warning: var(--brand-warning);
  --bs-warning-rgb: 250, 204, 21;
  --bs-body-color: var(--brand-dark-text);
  --bs-body-bg: var(--brand-bg-main);
  
  /* Additional Bootstrap Variables for Dark Theme */
  --bs-border-color: var(--brand-border);
  --bs-secondary: var(--brand-gray);
  --bs-secondary-rgb: 203, 213, 225;
  --bs-info: var(--brand-highlight);
  --bs-info-rgb: 165, 180, 252;
  --bs-light: var(--brand-bg-hero-2);
  --bs-light-rgb: 51, 65, 85;
  --bs-dark: var(--brand-dark-text);
  --bs-dark-rgb: 241, 245, 249;
  
  /* Button hover states for dark theme */
  --bs-btn-hover-bg: var(--brand-primary-hover);
  --bs-btn-hover-border-color: var(--brand-primary-hover);
  
  /* Link colors for dark theme */
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: var(--brand-link-hover);
}

/* Enhanced Button Styles */
.btn-primary {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: white;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
  color: white;
}

.btn-primary:active,
.btn-primary.active {
  background-color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
}

.btn-success {
  background-color: var(--brand-success);
  border-color: var(--brand-success);
}

.btn-danger {
  background-color: var(--brand-error);
  border-color: var(--brand-error);
}

.btn-warning {
  background-color: var(--brand-warning);
  border-color: var(--brand-warning);
}

/* Alert Enhancements */
.alert-success {
  background-color: var(--brand-bg-card-success);
  border-color: var(--brand-success);
  color: var(--brand-success);
}

.alert-danger {
  background-color: rgba(239, 58, 93, 0.1);
  border-color: var(--brand-error);
  color: var(--brand-error);
}

.alert-warning {
  background-color: rgba(239, 153, 58, 0.1);
  border-color: var(--brand-warning);
  color: var(--brand-warning);
}

.alert-primary {
  background-color: var(--brand-primary-lighter);
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}

/* Badge Enhancements */
.badge.bg-primary {
  background-color: var(--brand-primary) !important;
}

.badge.bg-success {
  background-color: var(--brand-success) !important;
}

.badge.bg-danger {
  background-color: var(--brand-error) !important;
}

.badge.bg-warning {
  background-color: var(--brand-warning) !important;
  color: var(--brand-dark-text) !important;
}

/* Background Utilities */
.bg-primary {
  background-color: var(--brand-primary) !important;
}

.bg-success {
  background-color: var(--brand-success) !important;
}

.bg-danger {
  background-color: var(--brand-error) !important;
}

.bg-warning {
  background-color: var(--brand-warning) !important;
}

/* Text Color Utilities */
.text-primary {
  color: var(--brand-primary) !important;
}

.text-success {
  color: var(--brand-success) !important;
}

.text-danger {
  color: var(--brand-error) !important;
}

.text-warning {
  color: var(--brand-warning) !important;
}

.text-muted {
  color: var(--brand-muted-text) !important;
}

/* Border Utilities */
.border-primary {
  border-color: var(--brand-primary) !important;
}

.border-success {
  border-color: var(--brand-success) !important;
}

.border-danger {
  border-color: var(--brand-error) !important;
}

.border-warning {
  border-color: var(--brand-warning) !important;
}

/* Custom Brand Classes */
.bg-brand-hero-1 { background-color: var(--brand-bg-hero-1) !important; }
.bg-brand-hero-2 { background-color: var(--brand-bg-hero-2) !important; }
.bg-brand-hero-3 { background-color: var(--brand-bg-hero-3) !important; }
.bg-brand-lavender { background-color: var(--brand-bg-lavender) !important; }
.bg-brand-modal { background-color: var(--brand-bg-modal) !important; }

.text-brand-accent { color: var(--brand-accent) !important; }
.text-brand-highlight { color: var(--brand-highlight) !important; }
.text-brand-muted { color: var(--brand-muted-text) !important; }
.text-brand-disabled { color: var(--brand-disabled-text) !important; }

.border-brand { border-color: var(--brand-border) !important; }

/* Link Styling */
a {
  color: var(--brand-primary);
  text-decoration: none;
}

a:hover {
  color: var(--brand-link-hover);
  text-decoration: underline;
}

/* Form Controls */
.form-control:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 0.25rem rgba(115, 56, 240, 0.25);
}

.form-check-input:checked {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* Progress Bars */
.progress-bar {
  background-color: var(--brand-primary);
}

.progress-bar-success {
  background-color: var(--brand-success);
}

/* Navbar Enhancements */
.navbar-brand:hover {
  color: var(--brand-link-hover) !important;
}

.nav-link:hover {
  color: var(--brand-link-hover) !important;
}

.nav-link.active {
  color: var(--brand-primary) !important;
}