:root {
  --canwinn-purple: #6b3e91;
  --canwinn-purple-dark: #4f286f;
  --canwinn-teal: #20aaa5;
  --canwinn-teal-dark: #087f83;
  --canwinn-yellow: #ffc629;
  --canwinn-navy: #16324f;
  --canwinn-muted: #5f6b78;
  --canwinn-surface: #f7f7fb;
  --canwinn-border: #e6e1ec;
  --bs-primary: #6b3e91;
  --bs-primary-rgb: 107, 62, 145;
  --bs-link-color: #5d337f;
  --bs-link-color-rgb: 93, 51, 127;
  --bs-link-hover-color: #20aaa5;
  --bs-link-hover-color-rgb: 32, 170, 165;
}

body {
  color: var(--canwinn-navy);
  background: var(--canwinn-surface);
}

a { color: var(--canwinn-purple); }
a:hover { color: var(--canwinn-teal-dark); }

.btn.btn-primary,
.btn-primary,
.btn-primary:focus {
  color: #fff;
  background-color: var(--canwinn-purple);
  border-color: var(--canwinn-purple);
}
.btn.btn-primary:hover,
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: var(--canwinn-purple-dark);
  border-color: var(--canwinn-purple-dark);
}
.btn-outline-primary {
  color: var(--canwinn-purple);
  border-color: var(--canwinn-purple);
}
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary.active {
  color: #fff;
  background-color: var(--canwinn-purple);
  border-color: var(--canwinn-purple);
}
.btn-success {
  color: #fff;
  background-color: var(--canwinn-teal-dark);
  border-color: var(--canwinn-teal-dark);
}
.btn-success:hover {
  color: #fff;
  background-color: #06696d;
  border-color: #06696d;
}

.form-control:focus,
.form-select:focus,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
  border-color: var(--canwinn-teal) !important;
  box-shadow: 0 0 0 .2rem rgba(32, 170, 165, .18) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.page-item.active .page-link {
  color: #fff;
  background-color: var(--canwinn-purple);
  border-color: var(--canwinn-purple);
}

.page-link { color: var(--canwinn-purple); }
.dropdown-item.active,
.dropdown-item:active { background-color: var(--canwinn-purple); }

.card {
  border-color: var(--canwinn-border);
  box-shadow: 0 4px 18px rgba(79, 40, 111, .055);
}
.card-header {
  background-color: #fff;
  border-bottom-color: var(--canwinn-border);
}
.text-muted,
.form-text { color: var(--canwinn-muted) !important; }

.sidebar .sidebar-menu > ul > li > a.active,
.sidebar .sidebar-menu > ul > li > ul > li > a.active,
.sidebar-menu li.active > a {
  color: var(--canwinn-purple) !important;
  background: rgba(107, 62, 145, .09) !important;
}
.sidebar .sidebar-menu a:hover {
  color: var(--canwinn-purple) !important;
}
.header {
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--canwinn-purple), var(--canwinn-yellow), var(--canwinn-teal)) 1;
}

.login-brand-card h2 { color: var(--canwinn-purple) !important; }
.login-brand-panel { color: var(--canwinn-navy); }

.badge.bg-primary,
.bg-primary { background-color: var(--canwinn-purple) !important; }
.text-primary { color: var(--canwinn-purple) !important; }
.border-primary { border-color: var(--canwinn-purple) !important; }

.table thead th {
  color: var(--canwinn-navy);
  background: #faf8fc;
}
.table-hover > tbody > tr:hover > * {
  background-color: rgba(32, 170, 165, .045);
}

@media (max-width: 767.98px) {
  .btn { min-height: 40px; }
  .form-control, .form-select { min-height: 42px; }
}

