:root {
  --primary: #2563eb;
  --blue: #2563eb;
}

/* Primary buttons */
.btn-primary {
  background-color: #2563eb;
  border-color: #2563eb;
}

.btn-primary:hover {
  background-color: #1d4ed8;
  border-color: #1d4ed8;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.45);
}

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: #2563eb;
  border-color: #2563eb;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: #1e40af;
  border-color: #1e40af;
}

/* Outline buttons */
.btn-outline-primary {
  color: #2563eb;
  border-color: #2563eb;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #2563eb;
  border-color: #2563eb;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.35);
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  background-color: #1d4ed8;
  border-color: #1d4ed8;
}

/* Text, backgrounds, badges */
.text-primary {
  color: #2563eb !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #1d4ed8 !important;
}

.bg-primary {
  background-color: #2563eb !important;
}

.border-primary {
  border-color: #2563eb !important;
}

.badge-primary {
  background-color: #2563eb;
}

.progress-bar.bg-primary {
  background-color: #2563eb !important;
}

/* Auth page links */
.auth a.text-primary {
  color: #2563eb !important;
}

.auth a.text-primary:hover {
  color: #1d4ed8 !important;
}

/* Navbar / dropdown accents */
.navbar-dropdown .dropdown-item i.text-primary {
  color: #2563eb !important;
}

/* Form focus states */
.form-control:focus,
.custom-select:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.2);
}

/* Checkbox / todo accents */
.form-check .input-helper:before {
  background: #2563eb;
  border-color: #2563eb;
}

.todo-list li .checkbox:checked + .input-helper:before {
  background: #2563eb;
  border-color: #2563eb;
}
