:root {
  --bs-primary:   rgb(11, 74, 153);
  --bs-secondary: #6c757d;
  --bs-success:   #28a745;
  --bs-danger:    #dc3545;
  --bs-warning:   #ffc107;
  --bs-info:      #17a2b8;
  --bs-light:     #f8f9fa;
  --bs-dark:      #343a40;
}

/* Buttons */
.btn-primary     { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #fff !important; }
.btn-secondary   { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: #fff !important; }
.btn-success     { background-color: var(--bs-success) !important; border-color: var(--bs-success) !important; color: #fff !important; }
.btn-danger      { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; color: #fff !important; }
.btn-warning     { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; color: #000 !important; }
.btn-info        { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; color: #fff !important; }
.btn-light       { background-color: var(--bs-light) !important; border-color: var(--bs-light) !important; color: #000 !important; }
.btn-dark        { background-color: var(--bs-dark) !important; border-color: var(--bs-dark) !important; color: #fff !important; }

/* Text */
.text-primary    { color: var(--bs-primary) !important; }
.text-secondary  { color: var(--bs-secondary) !important; }
.text-success    { color: var(--bs-success) !important; }
.text-danger     { color: var(--bs-danger) !important; }
.text-warning    { color: var(--bs-warning) !important; }
.text-info       { color: var(--bs-info) !important; }
.text-light      { color: var(--bs-light) !important; }
.text-dark       { color: var(--bs-dark) !important; }

/* Backgrounds */
.bg-primary      { background-color: var(--bs-primary) !important; color: #fff !important; }
.bg-secondary    { background-color: var(--bs-secondary) !important; color: #fff !important; }
.bg-success      { background-color: var(--bs-success) !important; color: #fff !important; }
.bg-danger       { background-color: var(--bs-danger) !important; color: #fff !important; }
.bg-warning      { background-color: var(--bs-warning) !important; color: #000 !important; }
.bg-info         { background-color: var(--bs-info) !important; color: #fff !important; }
.bg-light        { background-color: var(--bs-light) !important; color: #000 !important; }
.bg-dark         { background-color: var(--bs-dark) !important; color: #fff !important; }

/* Borders */
.border-primary   { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-success   { border-color: var(--bs-success) !important; }
.border-danger    { border-color: var(--bs-danger) !important; }
.border-warning   { border-color: var(--bs-warning) !important; }
.border-info      { border-color: var(--bs-info) !important; }
.border-light     { border-color: var(--bs-light) !important; }
.border-dark      { border-color: var(--bs-dark) !important; }

/* Alerts */
.alert-primary    { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #fff !important; }
.alert-secondary  { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: #fff !important; }
.alert-success    { background-color: var(--bs-success) !important; border-color: var(--bs-success) !important; color: #fff !important; }
.alert-danger     { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; color: #fff !important; }
.alert-warning    { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; color: #000 !important; }
.alert-info       { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; color: #fff !important; }
.alert-light      { background-color: var(--bs-light) !important; border-color: var(--bs-light) !important; color: #000 !important; }
.alert-dark       { background-color: var(--bs-dark) !important; border-color: var(--bs-dark) !important; color: #fff !important; }

/* Badges */
.badge-primary    { background-color: var(--bs-primary) !important; color: #fff !important; }
.badge-secondary  { background-color: var(--bs-secondary) !important; color: #fff !important; }
.badge-success    { background-color: var(--bs-success) !important; color: #fff !important; }
.badge-danger     { background-color: var(--bs-danger) !important; color: #fff !important; }
.badge-warning    { background-color: var(--bs-warning) !important; color: #000 !important; }
.badge-info       { background-color: var(--bs-info) !important; color: #fff !important; }
.badge-light      { background-color: var(--bs-light) !important; color: #000 !important; }
.badge-dark       { background-color: var(--bs-dark) !important; color: #fff !important; }


/* Dark mode overrides using the same Bootstrap variable names */
body.dark-mode {
  --bs-body-bg: #121212;
  --bs-body-color: #f1f1f1;

  --bs-primary:   #ff4081;
  --bs-secondary: #aaaaaa;
  --bs-success:   #4caf50;
  --bs-danger:    #f44336;
  --bs-warning:   #ffc107;
  --bs-info:      #03a9f4;
  --bs-light:     #333333;
  --bs-dark:      #e0e0e0;
}

/* Optional: ensure body background + text color are applied */
body.dark-mode {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

