.btn-primary {
  color: #FFFFFF !important;
  background-color: #45156C !important;
  border-color: #45156C !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #45156C !important;
  --bs-btn-border-color: #45156C !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(63.48, 19.32, 99.36) !important;
  --bs-btn-hover-border-color: rgb(62.1, 18.9, 97.2) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(60.72, 18.48, 95.04) !important;
  --bs-btn-active-border-color: rgb(59.34, 18.06, 92.88) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #45156C !important;
  --bs-btn-disabled-border-color: #45156C !important;
}

.btn-primary:hover,
.btn-primary.hover {
  color: #FFFFFF !important;
  background-color: rgb(63.48, 19.32, 99.36) !important;
  border-color: rgb(62.1, 18.9, 97.2) !important;
}

.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(69, 21, 108, 0.35) !important;
}

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(60.72, 18.48, 95.04) !important;
  border-color: rgb(59.34, 18.06, 92.88) !important;
}

.btn-primary:disabled,
.btn-primary.disabled {
  color: #FFFFFF !important;
  background-color: #45156C !important;
  border-color: #45156C !important;
  opacity: 0.65 !important;
}

.btn-outline-primary {
  color: #45156C !important;
  background-color: transparent !important;
  border-color: #45156C !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #45156C !important;
  --bs-btn-border-color: #45156C !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #45156C !important;
  --bs-btn-hover-border-color: #45156C !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(62.1, 18.9, 97.2) !important;
  --bs-btn-active-border-color: rgb(60.72, 18.48, 95.04) !important;
  --bs-btn-disabled-color: #45156C !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #45156C !important;
}

.btn-outline-primary:hover,
.btn-outline-primary.hover {
  color: #FFFFFF !important;
  background-color: #45156C !important;
  border-color: #45156C !important;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(69, 21, 108, 0.35) !important;
}

.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(62.1, 18.9, 97.2) !important;
  border-color: rgb(60.72, 18.48, 95.04) !important;
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
  color: #45156C !important;
  background-color: transparent !important;
  border-color: #45156C !important;
  opacity: 0.65 !important;
}

.btn-secondary {
  color: #FFFFFF !important;
  background-color: #6B7280 !important;
  border-color: #6B7280 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #6B7280 !important;
  --bs-btn-border-color: #6B7280 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(98.44, 104.88, 117.76) !important;
  --bs-btn-hover-border-color: rgb(96.3, 102.6, 115.2) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(94.16, 100.32, 112.64) !important;
  --bs-btn-active-border-color: rgb(92.02, 98.04, 110.08) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #6B7280 !important;
  --bs-btn-disabled-border-color: #6B7280 !important;
}

.btn-secondary:hover,
.btn-secondary.hover {
  color: #FFFFFF !important;
  background-color: rgb(98.44, 104.88, 117.76) !important;
  border-color: rgb(96.3, 102.6, 115.2) !important;
}

.btn-secondary:focus,
.btn-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(107, 114, 128, 0.35) !important;
}

.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(94.16, 100.32, 112.64) !important;
  border-color: rgb(92.02, 98.04, 110.08) !important;
}

.btn-secondary:disabled,
.btn-secondary.disabled {
  color: #FFFFFF !important;
  background-color: #6B7280 !important;
  border-color: #6B7280 !important;
  opacity: 0.65 !important;
}

.btn-outline-secondary {
  color: #6B7280 !important;
  background-color: transparent !important;
  border-color: #6B7280 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #6B7280 !important;
  --bs-btn-border-color: #6B7280 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #6B7280 !important;
  --bs-btn-hover-border-color: #6B7280 !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(96.3, 102.6, 115.2) !important;
  --bs-btn-active-border-color: rgb(94.16, 100.32, 112.64) !important;
  --bs-btn-disabled-color: #6B7280 !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #6B7280 !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary.hover {
  color: #FFFFFF !important;
  background-color: #6B7280 !important;
  border-color: #6B7280 !important;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(107, 114, 128, 0.35) !important;
}

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(96.3, 102.6, 115.2) !important;
  border-color: rgb(94.16, 100.32, 112.64) !important;
}

.btn-outline-secondary:disabled,
.btn-outline-secondary.disabled {
  color: #6B7280 !important;
  background-color: transparent !important;
  border-color: #6B7280 !important;
  opacity: 0.65 !important;
}

.btn-success {
  color: #FFFFFF !important;
  background-color: #10B981 !important;
  border-color: #10B981 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #10B981 !important;
  --bs-btn-border-color: #10B981 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(14.72, 170.2, 118.68) !important;
  --bs-btn-hover-border-color: rgb(14.4, 166.5, 116.1) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(14.08, 162.8, 113.52) !important;
  --bs-btn-active-border-color: rgb(13.76, 159.1, 110.94) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #10B981 !important;
  --bs-btn-disabled-border-color: #10B981 !important;
}

.btn-success:hover,
.btn-success.hover {
  color: #FFFFFF !important;
  background-color: rgb(14.72, 170.2, 118.68) !important;
  border-color: rgb(14.4, 166.5, 116.1) !important;
}

.btn-success:focus,
.btn-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(16, 185, 129, 0.35) !important;
}

.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(14.08, 162.8, 113.52) !important;
  border-color: rgb(13.76, 159.1, 110.94) !important;
}

.btn-success:disabled,
.btn-success.disabled {
  color: #FFFFFF !important;
  background-color: #10B981 !important;
  border-color: #10B981 !important;
  opacity: 0.65 !important;
}

.btn-outline-success {
  color: #10B981 !important;
  background-color: transparent !important;
  border-color: #10B981 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #10B981 !important;
  --bs-btn-border-color: #10B981 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #10B981 !important;
  --bs-btn-hover-border-color: #10B981 !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(14.4, 166.5, 116.1) !important;
  --bs-btn-active-border-color: rgb(14.08, 162.8, 113.52) !important;
  --bs-btn-disabled-color: #10B981 !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #10B981 !important;
}

.btn-outline-success:hover,
.btn-outline-success.hover {
  color: #FFFFFF !important;
  background-color: #10B981 !important;
  border-color: #10B981 !important;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(16, 185, 129, 0.35) !important;
}

.btn-outline-success:active,
.btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(14.4, 166.5, 116.1) !important;
  border-color: rgb(14.08, 162.8, 113.52) !important;
}

.btn-outline-success:disabled,
.btn-outline-success.disabled {
  color: #10B981 !important;
  background-color: transparent !important;
  border-color: #10B981 !important;
  opacity: 0.65 !important;
}

.btn-info {
  color: #FFFFFF !important;
  background-color: #3B82F6 !important;
  border-color: #3B82F6 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #3B82F6 !important;
  --bs-btn-border-color: #3B82F6 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(35.6712195122, 115.1219512195, 244.9287804878) !important;
  --bs-btn-hover-border-color: rgb(29.8390243902, 111.4024390244, 244.6609756098) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(24.0068292683, 107.6829268293, 244.3931707317) !important;
  --bs-btn-active-border-color: rgb(18.1746341463, 103.9634146341, 244.1253658537) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #3B82F6 !important;
  --bs-btn-disabled-border-color: #3B82F6 !important;
}

.btn-info:hover,
.btn-info.hover {
  color: #FFFFFF !important;
  background-color: rgb(35.6712195122, 115.1219512195, 244.9287804878) !important;
  border-color: rgb(29.8390243902, 111.4024390244, 244.6609756098) !important;
}

.btn-info:focus,
.btn-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.35) !important;
}

.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(24.0068292683, 107.6829268293, 244.3931707317) !important;
  border-color: rgb(18.1746341463, 103.9634146341, 244.1253658537) !important;
}

.btn-info:disabled,
.btn-info.disabled {
  color: #FFFFFF !important;
  background-color: #3B82F6 !important;
  border-color: #3B82F6 !important;
  opacity: 0.65 !important;
}

.btn-outline-info {
  color: #3B82F6 !important;
  background-color: transparent !important;
  border-color: #3B82F6 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #3B82F6 !important;
  --bs-btn-border-color: #3B82F6 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #3B82F6 !important;
  --bs-btn-hover-border-color: #3B82F6 !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(29.8390243902, 111.4024390244, 244.6609756098) !important;
  --bs-btn-active-border-color: rgb(24.0068292683, 107.6829268293, 244.3931707317) !important;
  --bs-btn-disabled-color: #3B82F6 !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #3B82F6 !important;
}

.btn-outline-info:hover,
.btn-outline-info.hover {
  color: #FFFFFF !important;
  background-color: #3B82F6 !important;
  border-color: #3B82F6 !important;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.35) !important;
}

.btn-outline-info:active,
.btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(29.8390243902, 111.4024390244, 244.6609756098) !important;
  border-color: rgb(24.0068292683, 107.6829268293, 244.3931707317) !important;
}

.btn-outline-info:disabled,
.btn-outline-info.disabled {
  color: #3B82F6 !important;
  background-color: transparent !important;
  border-color: #3B82F6 !important;
  opacity: 0.65 !important;
}

.btn-warning {
  color: #FFFFFF !important;
  background-color: #F59E0B !important;
  border-color: #F59E0B !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #F59E0B !important;
  --bs-btn-border-color: #F59E0B !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(226.2475590551, 145.5773228346, 9.2724409449) !important;
  --bs-btn-hover-border-color: rgb(221.3291338583, 142.4125984252, 9.0708661417) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(216.4107086614, 139.2478740157, 8.8692913386) !important;
  --bs-btn-active-border-color: rgb(211.4922834646, 136.0831496063, 8.6677165354) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #F59E0B !important;
  --bs-btn-disabled-border-color: #F59E0B !important;
}

.btn-warning:hover,
.btn-warning.hover {
  color: #FFFFFF !important;
  background-color: rgb(226.2475590551, 145.5773228346, 9.2724409449) !important;
  border-color: rgb(221.3291338583, 142.4125984252, 9.0708661417) !important;
}

.btn-warning:focus,
.btn-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 158, 11, 0.35) !important;
}

.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(216.4107086614, 139.2478740157, 8.8692913386) !important;
  border-color: rgb(211.4922834646, 136.0831496063, 8.6677165354) !important;
}

.btn-warning:disabled,
.btn-warning.disabled {
  color: #FFFFFF !important;
  background-color: #F59E0B !important;
  border-color: #F59E0B !important;
  opacity: 0.65 !important;
}

.btn-outline-warning {
  color: #F59E0B !important;
  background-color: transparent !important;
  border-color: #F59E0B !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #F59E0B !important;
  --bs-btn-border-color: #F59E0B !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #F59E0B !important;
  --bs-btn-hover-border-color: #F59E0B !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(221.3291338583, 142.4125984252, 9.0708661417) !important;
  --bs-btn-active-border-color: rgb(216.4107086614, 139.2478740157, 8.8692913386) !important;
  --bs-btn-disabled-color: #F59E0B !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #F59E0B !important;
}

.btn-outline-warning:hover,
.btn-outline-warning.hover {
  color: #FFFFFF !important;
  background-color: #F59E0B !important;
  border-color: #F59E0B !important;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 158, 11, 0.35) !important;
}

.btn-outline-warning:active,
.btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(221.3291338583, 142.4125984252, 9.0708661417) !important;
  border-color: rgb(216.4107086614, 139.2478740157, 8.8692913386) !important;
}

.btn-outline-warning:disabled,
.btn-outline-warning.disabled {
  color: #F59E0B !important;
  background-color: transparent !important;
  border-color: #F59E0B !important;
  opacity: 0.65 !important;
}

.btn-danger {
  color: #FFFFFF !important;
  background-color: #EF4444 !important;
  border-color: #EF4444 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #EF4444 !important;
  --bs-btn-border-color: #EF4444 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(237.0642364532, 45.3757635468, 45.3757635468) !important;
  --bs-btn-hover-border-color: rgb(236.5802955665, 39.7197044335, 39.7197044335) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(236.0963546798, 34.0636453202, 34.0636453202) !important;
  --bs-btn-active-border-color: rgb(235.6124137931, 28.4075862069, 28.4075862069) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #EF4444 !important;
  --bs-btn-disabled-border-color: #EF4444 !important;
}

.btn-danger:hover,
.btn-danger.hover {
  color: #FFFFFF !important;
  background-color: rgb(237.0642364532, 45.3757635468, 45.3757635468) !important;
  border-color: rgb(236.5802955665, 39.7197044335, 39.7197044335) !important;
}

.btn-danger:focus,
.btn-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.35) !important;
}

.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(236.0963546798, 34.0636453202, 34.0636453202) !important;
  border-color: rgb(235.6124137931, 28.4075862069, 28.4075862069) !important;
}

.btn-danger:disabled,
.btn-danger.disabled {
  color: #FFFFFF !important;
  background-color: #EF4444 !important;
  border-color: #EF4444 !important;
  opacity: 0.65 !important;
}

.btn-outline-danger {
  color: #EF4444 !important;
  background-color: transparent !important;
  border-color: #EF4444 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #EF4444 !important;
  --bs-btn-border-color: #EF4444 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #EF4444 !important;
  --bs-btn-hover-border-color: #EF4444 !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(236.5802955665, 39.7197044335, 39.7197044335) !important;
  --bs-btn-active-border-color: rgb(236.0963546798, 34.0636453202, 34.0636453202) !important;
  --bs-btn-disabled-color: #EF4444 !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #EF4444 !important;
}

.btn-outline-danger:hover,
.btn-outline-danger.hover {
  color: #FFFFFF !important;
  background-color: #EF4444 !important;
  border-color: #EF4444 !important;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.35) !important;
}

.btn-outline-danger:active,
.btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(236.5802955665, 39.7197044335, 39.7197044335) !important;
  border-color: rgb(236.0963546798, 34.0636453202, 34.0636453202) !important;
}

.btn-outline-danger:disabled,
.btn-outline-danger.disabled {
  color: #EF4444 !important;
  background-color: transparent !important;
  border-color: #EF4444 !important;
  opacity: 0.65 !important;
}

.btn-light {
  color: #1F2937 !important;
  background-color: #f8f9fa !important;
  border-color: #f8f9fa !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #1F2937 !important;
  --bs-btn-bg: #f8f9fa !important;
  --bs-btn-border-color: #f8f9fa !important;
  --bs-btn-hover-color: #1F2937 !important;
  --bs-btn-hover-bg: rgb(224.76, 229.08, 233.4) !important;
  --bs-btn-hover-border-color: rgb(218.95, 224.1, 229.25) !important;
  --bs-btn-active-color: #1F2937 !important;
  --bs-btn-active-bg: rgb(213.14, 219.12, 225.1) !important;
  --bs-btn-active-border-color: rgb(207.33, 214.14, 220.95) !important;
  --bs-btn-disabled-color: #1F2937 !important;
  --bs-btn-disabled-bg: #f8f9fa !important;
  --bs-btn-disabled-border-color: #f8f9fa !important;
}

.btn-light:hover,
.btn-light.hover {
  color: #1F2937 !important;
  background-color: rgb(224.76, 229.08, 233.4) !important;
  border-color: rgb(218.95, 224.1, 229.25) !important;
}

.btn-light:focus,
.btn-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.35) !important;
}

.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
  color: #1F2937 !important;
  background-color: rgb(213.14, 219.12, 225.1) !important;
  border-color: rgb(207.33, 214.14, 220.95) !important;
}

.btn-light:disabled,
.btn-light.disabled {
  color: #1F2937 !important;
  background-color: #f8f9fa !important;
  border-color: #f8f9fa !important;
  opacity: 0.65 !important;
}

.btn-outline-light {
  color: #f8f9fa !important;
  background-color: transparent !important;
  border-color: #f8f9fa !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #f8f9fa !important;
  --bs-btn-border-color: #f8f9fa !important;
  --bs-btn-hover-color: #1F2937 !important;
  --bs-btn-hover-bg: #f8f9fa !important;
  --bs-btn-hover-border-color: #f8f9fa !important;
  --bs-btn-active-color: #1F2937 !important;
  --bs-btn-active-bg: rgb(218.95, 224.1, 229.25) !important;
  --bs-btn-active-border-color: rgb(213.14, 219.12, 225.1) !important;
  --bs-btn-disabled-color: #f8f9fa !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #f8f9fa !important;
}

.btn-outline-light:hover,
.btn-outline-light.hover {
  color: #1F2937 !important;
  background-color: #f8f9fa !important;
  border-color: #f8f9fa !important;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.35) !important;
}

.btn-outline-light:active,
.btn-outline-light.active,
.show > .btn-outline-light.dropdown-toggle {
  color: #1F2937 !important;
  background-color: rgb(218.95, 224.1, 229.25) !important;
  border-color: rgb(213.14, 219.12, 225.1) !important;
}

.btn-outline-light:disabled,
.btn-outline-light.disabled {
  color: #f8f9fa !important;
  background-color: transparent !important;
  border-color: #f8f9fa !important;
  opacity: 0.65 !important;
}

.btn-dark {
  color: #FFFFFF !important;
  background-color: #1F2937 !important;
  border-color: #1F2937 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #FFFFFF !important;
  --bs-btn-bg: #1F2937 !important;
  --bs-btn-border-color: #1F2937 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: rgb(28.52, 37.72, 50.6) !important;
  --bs-btn-hover-border-color: rgb(27.9, 36.9, 49.5) !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(27.28, 36.08, 48.4) !important;
  --bs-btn-active-border-color: rgb(26.66, 35.26, 47.3) !important;
  --bs-btn-disabled-color: #FFFFFF !important;
  --bs-btn-disabled-bg: #1F2937 !important;
  --bs-btn-disabled-border-color: #1F2937 !important;
}

.btn-dark:hover,
.btn-dark.hover {
  color: #FFFFFF !important;
  background-color: rgb(28.52, 37.72, 50.6) !important;
  border-color: rgb(27.9, 36.9, 49.5) !important;
}

.btn-dark:focus,
.btn-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(31, 41, 55, 0.35) !important;
}

.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(27.28, 36.08, 48.4) !important;
  border-color: rgb(26.66, 35.26, 47.3) !important;
}

.btn-dark:disabled,
.btn-dark.disabled {
  color: #FFFFFF !important;
  background-color: #1F2937 !important;
  border-color: #1F2937 !important;
  opacity: 0.65 !important;
}

.btn-outline-dark {
  color: #1F2937 !important;
  background-color: transparent !important;
  border-color: #1F2937 !important;
  /* Bootstrap 5 vars (harmless in v4) */
  --bs-btn-color: #1F2937 !important;
  --bs-btn-border-color: #1F2937 !important;
  --bs-btn-hover-color: #FFFFFF !important;
  --bs-btn-hover-bg: #1F2937 !important;
  --bs-btn-hover-border-color: #1F2937 !important;
  --bs-btn-active-color: #FFFFFF !important;
  --bs-btn-active-bg: rgb(27.9, 36.9, 49.5) !important;
  --bs-btn-active-border-color: rgb(27.28, 36.08, 48.4) !important;
  --bs-btn-disabled-color: #1F2937 !important;
  --bs-btn-disabled-bg: transparent !important;
  --bs-btn-disabled-border-color: #1F2937 !important;
}

.btn-outline-dark:hover,
.btn-outline-dark.hover {
  color: #FFFFFF !important;
  background-color: #1F2937 !important;
  border-color: #1F2937 !important;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(31, 41, 55, 0.35) !important;
}

.btn-outline-dark:active,
.btn-outline-dark.active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #FFFFFF !important;
  background-color: rgb(27.9, 36.9, 49.5) !important;
  border-color: rgb(27.28, 36.08, 48.4) !important;
}

.btn-outline-dark:disabled,
.btn-outline-dark.disabled {
  color: #1F2937 !important;
  background-color: transparent !important;
  border-color: #1F2937 !important;
  opacity: 0.65 !important;
}

.border-primary {
  border-color: #45156C !important;
}

.border-top-primary {
  border-top-color: #45156C !important;
}

.border-end-primary {
  border-right-color: #45156C !important;
}

.border-bottom-primary {
  border-bottom-color: #45156C !important;
}

.border-start-primary {
  border-left-color: #45156C !important;
}

.border-secondary {
  border-color: #6B7280 !important;
}

.border-top-secondary {
  border-top-color: #6B7280 !important;
}

.border-end-secondary {
  border-right-color: #6B7280 !important;
}

.border-bottom-secondary {
  border-bottom-color: #6B7280 !important;
}

.border-start-secondary {
  border-left-color: #6B7280 !important;
}

.border-success {
  border-color: #10B981 !important;
}

.border-top-success {
  border-top-color: #10B981 !important;
}

.border-end-success {
  border-right-color: #10B981 !important;
}

.border-bottom-success {
  border-bottom-color: #10B981 !important;
}

.border-start-success {
  border-left-color: #10B981 !important;
}

.border-info {
  border-color: #3B82F6 !important;
}

.border-top-info {
  border-top-color: #3B82F6 !important;
}

.border-end-info {
  border-right-color: #3B82F6 !important;
}

.border-bottom-info {
  border-bottom-color: #3B82F6 !important;
}

.border-start-info {
  border-left-color: #3B82F6 !important;
}

.border-warning {
  border-color: #F59E0B !important;
}

.border-top-warning {
  border-top-color: #F59E0B !important;
}

.border-end-warning {
  border-right-color: #F59E0B !important;
}

.border-bottom-warning {
  border-bottom-color: #F59E0B !important;
}

.border-start-warning {
  border-left-color: #F59E0B !important;
}

.border-danger {
  border-color: #EF4444 !important;
}

.border-top-danger {
  border-top-color: #EF4444 !important;
}

.border-end-danger {
  border-right-color: #EF4444 !important;
}

.border-bottom-danger {
  border-bottom-color: #EF4444 !important;
}

.border-start-danger {
  border-left-color: #EF4444 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-top-light {
  border-top-color: #f8f9fa !important;
}

.border-end-light {
  border-right-color: #f8f9fa !important;
}

.border-bottom-light {
  border-bottom-color: #f8f9fa !important;
}

.border-start-light {
  border-left-color: #f8f9fa !important;
}

.border-dark {
  border-color: #1F2937 !important;
}

.border-top-dark {
  border-top-color: #1F2937 !important;
}

.border-end-dark {
  border-right-color: #1F2937 !important;
}

.border-bottom-dark {
  border-bottom-color: #1F2937 !important;
}

.border-start-dark {
  border-left-color: #1F2937 !important;
}

.border-primary-hover {
  transition: border-color 0.3s ease;
}
.border-primary-hover:hover {
  border-color: #45156C !important;
}

.border-glow-primary {
  animation: borderGlow-primary 2s ease-in-out infinite;
}

@keyframes borderGlow-primary {
  0%, 100% {
    border-color: #45156C;
    box-shadow: 0 0 5px rgba(69, 21, 108, 0.3);
  }
  50% {
    border-color: #45156C;
    box-shadow: 0 0 20px rgba(69, 21, 108, 0.6);
  }
}
.border-secondary-hover {
  transition: border-color 0.3s ease;
}
.border-secondary-hover:hover {
  border-color: #6B7280 !important;
}

.border-glow-secondary {
  animation: borderGlow-secondary 2s ease-in-out infinite;
}

@keyframes borderGlow-secondary {
  0%, 100% {
    border-color: #6B7280;
    box-shadow: 0 0 5px rgba(107, 114, 128, 0.3);
  }
  50% {
    border-color: #6B7280;
    box-shadow: 0 0 20px rgba(107, 114, 128, 0.6);
  }
}
.border-success-hover {
  transition: border-color 0.3s ease;
}
.border-success-hover:hover {
  border-color: #10B981 !important;
}

.border-glow-success {
  animation: borderGlow-success 2s ease-in-out infinite;
}

@keyframes borderGlow-success {
  0%, 100% {
    border-color: #10B981;
    box-shadow: 0 0 5px rgba(16, 185, 129, 0.3);
  }
  50% {
    border-color: #10B981;
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.6);
  }
}
.border-info-hover {
  transition: border-color 0.3s ease;
}
.border-info-hover:hover {
  border-color: #3B82F6 !important;
}

.border-glow-info {
  animation: borderGlow-info 2s ease-in-out infinite;
}

@keyframes borderGlow-info {
  0%, 100% {
    border-color: #3B82F6;
    box-shadow: 0 0 5px rgba(59, 130, 246, 0.3);
  }
  50% {
    border-color: #3B82F6;
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.6);
  }
}
.border-warning-hover {
  transition: border-color 0.3s ease;
}
.border-warning-hover:hover {
  border-color: #F59E0B !important;
}

.border-glow-warning {
  animation: borderGlow-warning 2s ease-in-out infinite;
}

@keyframes borderGlow-warning {
  0%, 100% {
    border-color: #F59E0B;
    box-shadow: 0 0 5px rgba(245, 158, 11, 0.3);
  }
  50% {
    border-color: #F59E0B;
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.6);
  }
}
.border-danger-hover {
  transition: border-color 0.3s ease;
}
.border-danger-hover:hover {
  border-color: #EF4444 !important;
}

.border-glow-danger {
  animation: borderGlow-danger 2s ease-in-out infinite;
}

@keyframes borderGlow-danger {
  0%, 100% {
    border-color: #EF4444;
    box-shadow: 0 0 5px rgba(239, 68, 68, 0.3);
  }
  50% {
    border-color: #EF4444;
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.6);
  }
}
.border-light-hover {
  transition: border-color 0.3s ease;
}
.border-light-hover:hover {
  border-color: #f8f9fa !important;
}

.border-glow-light {
  animation: borderGlow-light 2s ease-in-out infinite;
}

@keyframes borderGlow-light {
  0%, 100% {
    border-color: #f8f9fa;
    box-shadow: 0 0 5px rgba(248, 249, 250, 0.3);
  }
  50% {
    border-color: #f8f9fa;
    box-shadow: 0 0 20px rgba(248, 249, 250, 0.6);
  }
}
.border-dark-hover {
  transition: border-color 0.3s ease;
}
.border-dark-hover:hover {
  border-color: #1F2937 !important;
}

.border-glow-dark {
  animation: borderGlow-dark 2s ease-in-out infinite;
}

@keyframes borderGlow-dark {
  0%, 100% {
    border-color: #1F2937;
    box-shadow: 0 0 5px rgba(31, 41, 55, 0.3);
  }
  50% {
    border-color: #1F2937;
    box-shadow: 0 0 20px rgba(31, 41, 55, 0.6);
  }
}
.rounded-smooth {
  transition: border-radius 0.3s ease;
}

.rounded-smooth:hover {
  border-radius: 1rem !important;
}

.bg-primary {
  background-color: #45156C !important;
  color: #FFFFFF !important;
}

.bg-primary-light {
  background-color: rgb(237.2790697674, 223.1023255814, 248.7976744186) !important;
  color: #45156C !important;
}

.bg-primary-lighter {
  background-color: rgb(246.1395348837, 239.0511627907, 251.8988372093) !important;
  color: #45156C !important;
}

.bg-primary-dark {
  background-color: rgb(55.2, 16.8, 86.4) !important;
  color: #FFFFFF !important;
}

.bg-secondary {
  background-color: #6B7280 !important;
  color: #FFFFFF !important;
}

.bg-secondary-light {
  background-color: rgb(240.0212765957, 240.8404255319, 242.4787234043) !important;
  color: #6B7280 !important;
}

.bg-secondary-lighter {
  background-color: rgb(247.5106382979, 247.920212766, 248.7393617021) !important;
  color: #6B7280 !important;
}

.bg-secondary-dark {
  background-color: rgb(85.6, 91.2, 102.4) !important;
  color: #FFFFFF !important;
}

.bg-success {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
}

.bg-success-light {
  background-color: rgb(226.5597014925, 252.5402985075, 243.9313432836) !important;
  color: #10B981 !important;
}

.bg-success-lighter {
  background-color: rgb(240.7798507463, 253.7701492537, 249.4656716418) !important;
  color: #10B981 !important;
}

.bg-success-dark {
  background-color: rgb(12.8, 148, 103.2) !important;
  color: #FFFFFF !important;
}

.bg-info {
  background-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

.bg-info-light {
  background-color: rgb(235.4, 242.5, 254.1) !important;
  color: #3B82F6 !important;
}

.bg-info-lighter {
  background-color: rgb(245.2, 248.75, 254.55) !important;
  color: #3B82F6 !important;
}

.bg-info-dark {
  background-color: rgb(10.712195122, 95.2195121951, 233.287804878) !important;
  color: #FFFFFF !important;
}

.bg-warning {
  background-color: #F59E0B !important;
  color: #FFFFFF !important;
}

.bg-warning-light {
  background-color: rgb(254, 245.3, 230.6) !important;
  color: #F59E0B !important;
}

.bg-warning-lighter {
  background-color: rgb(254.5, 250.15, 242.8) !important;
  color: #F59E0B !important;
}

.bg-warning-dark {
  background-color: rgb(196.737007874, 126.588976378, 8.062992126) !important;
  color: #FFFFFF !important;
}

.bg-danger {
  background-color: #EF4444 !important;
  color: #FFFFFF !important;
}

.bg-danger-light {
  background-color: rgb(253.4, 236.3, 236.3) !important;
  color: #EF4444 !important;
}

.bg-danger-lighter {
  background-color: rgb(254.2, 245.65, 245.65) !important;
  color: #EF4444 !important;
}

.bg-danger-dark {
  background-color: rgb(226.242364532, 19.357635468, 19.357635468) !important;
  color: #FFFFFF !important;
}

.bg-light {
  background-color: #f8f9fa !important;
  color: #1F2937 !important;
}

.bg-light-light {
  background-color: rgb(254.3, 254.4, 254.5) !important;
  color: #f8f9fa !important;
}

.bg-light-lighter {
  background-color: rgb(254.65, 254.7, 254.75) !important;
  color: #f8f9fa !important;
}

.bg-light-dark {
  background-color: rgb(189.9, 199.2, 208.5) !important;
  color: #1F2937 !important;
}

.bg-dark {
  background-color: #1F2937 !important;
  color: #FFFFFF !important;
}

.bg-dark-light {
  background-color: rgb(227.8837209302, 232.8139534884, 239.7162790698) !important;
  color: #1F2937 !important;
}

.bg-dark-lighter {
  background-color: rgb(241.4418604651, 243.9069767442, 247.3581395349) !important;
  color: #1F2937 !important;
}

.bg-dark-dark {
  background-color: rgb(24.8, 32.8, 44) !important;
  color: #FFFFFF !important;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, #45156C 0%, rgb(109.7581395349, 33.4046511628, 171.7953488372) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-primary-soft {
  background: linear-gradient(135deg, rgb(109.7581395349, 33.4046511628, 171.7953488372) 0%, #45156C 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-secondary {
  background: linear-gradient(135deg, #6B7280 0%, rgb(135.170212766, 141.7234042553, 154.829787234) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-secondary-soft {
  background: linear-gradient(135deg, rgb(135.170212766, 141.7234042553, 154.829787234) 0%, #6B7280 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-success {
  background: linear-gradient(135deg, #10B981 0%, rgb(27.4776119403, 235.3223880597, 166.4507462687) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-success-soft {
  background: linear-gradient(135deg, rgb(27.4776119403, 235.3223880597, 166.4507462687) 0%, #10B981 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-info {
  background: linear-gradient(135deg, #3B82F6 0%, rgb(98.2, 155, 247.8) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-info-soft {
  background: linear-gradient(135deg, rgb(98.2, 155, 247.8) 0%, #3B82F6 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-warning {
  background: linear-gradient(135deg, #F59E0B 0%, rgb(247, 177.4, 59.8) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-warning-soft {
  background: linear-gradient(135deg, rgb(247, 177.4, 59.8) 0%, #F59E0B 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-danger {
  background: linear-gradient(135deg, #EF4444 0%, rgb(242.2, 105.4, 105.4) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-danger-soft {
  background: linear-gradient(135deg, rgb(242.2, 105.4, 105.4) 0%, #EF4444 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-light {
  background: linear-gradient(135deg, #f8f9fa 0%, rgb(249.4, 250.2, 251) 100%) !important;
  color: #1F2937 !important;
}

.bg-gradient-light-soft {
  background: linear-gradient(135deg, rgb(249.4, 250.2, 251) 0%, #f8f9fa 100%) !important;
  color: #1F2937 !important;
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #1F2937 0%, rgb(61.5674418605, 81.4279069767, 109.2325581395) 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-dark-soft {
  background: linear-gradient(135deg, rgb(61.5674418605, 81.4279069767, 109.2325581395) 0%, #1F2937 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-primary-secondary {
  background: linear-gradient(135deg, #45156C 0%, #6B7280 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-primary-dark {
  background: linear-gradient(135deg, #45156C 0%, #1F2937 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-success-info {
  background: linear-gradient(135deg, #10B981 0%, #3B82F6 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-info-success {
  background: linear-gradient(135deg, #3B82F6 0%, #10B981 100%) !important;
  color: #FFFFFF !important;
}

.bg-gradient-warning-gold {
  background: linear-gradient(135deg, #ffd700, #ffed4e) !important;
  color: #78350f !important;
}

.bg-primary-pulse {
  animation: bgPulse-primary 2s ease-in-out infinite;
}

@keyframes bgPulse-primary {
  0%, 100% {
    background-color: #45156C;
  }
  50% {
    background-color: rgb(89.3790697674, 27.2023255814, 139.8976744186);
  }
}
.bg-primary-glow {
  background-color: #45156C;
  box-shadow: 0 0 15px rgba(69, 21, 108, 0.8);
}

.bg-primary-fade-in {
  animation: bgFadeIn-primary 0.5s ease-out forwards;
}

@keyframes bgFadeIn-primary {
  from {
    background-color: transparent;
  }
  to {
    background-color: #45156C;
  }
}
.bg-secondary-pulse {
  animation: bgPulse-secondary 2s ease-in-out infinite;
}

@keyframes bgPulse-secondary {
  0%, 100% {
    background-color: #6B7280;
  }
  50% {
    background-color: rgb(120.1914893617, 127.5638297872, 142.3085106383);
  }
}
.bg-secondary-glow {
  background-color: #6B7280;
  box-shadow: 0 0 15px rgba(107, 114, 128, 0.8);
}

.bg-secondary-fade-in {
  animation: bgFadeIn-secondary 0.5s ease-out forwards;
}

@keyframes bgFadeIn-secondary {
  from {
    background-color: transparent;
  }
  to {
    background-color: #6B7280;
  }
}
.bg-success-pulse {
  animation: bgPulse-success 2s ease-in-out infinite;
}

@keyframes bgPulse-success {
  0%, 100% {
    background-color: #10B981;
  }
  50% {
    background-color: rgb(18.4597014925, 213.4402985075, 148.8313432836);
  }
}
.bg-success-glow {
  background-color: #10B981;
  box-shadow: 0 0 15px rgba(16, 185, 129, 0.8);
}

.bg-success-fade-in {
  animation: bgFadeIn-success 0.5s ease-out forwards;
}

@keyframes bgFadeIn-success {
  from {
    background-color: transparent;
  }
  to {
    background-color: #10B981;
  }
}
.bg-info-pulse {
  animation: bgPulse-info 2s ease-in-out infinite;
}

@keyframes bgPulse-info {
  0%, 100% {
    background-color: #3B82F6;
  }
  50% {
    background-color: rgb(78.6, 142.5, 246.9);
  }
}
.bg-info-glow {
  background-color: #3B82F6;
  box-shadow: 0 0 15px rgba(59, 130, 246, 0.8);
}

.bg-info-fade-in {
  animation: bgFadeIn-info 0.5s ease-out forwards;
}

@keyframes bgFadeIn-info {
  from {
    background-color: transparent;
  }
  to {
    background-color: #3B82F6;
  }
}
.bg-warning-pulse {
  animation: bgPulse-warning 2s ease-in-out infinite;
}

@keyframes bgPulse-warning {
  0%, 100% {
    background-color: #F59E0B;
  }
  50% {
    background-color: rgb(246, 167.7, 35.4);
  }
}
.bg-warning-glow {
  background-color: #F59E0B;
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.8);
}

.bg-warning-fade-in {
  animation: bgFadeIn-warning 0.5s ease-out forwards;
}

@keyframes bgFadeIn-warning {
  from {
    background-color: transparent;
  }
  to {
    background-color: #F59E0B;
  }
}
.bg-danger-pulse {
  animation: bgPulse-danger 2s ease-in-out infinite;
}

@keyframes bgPulse-danger {
  0%, 100% {
    background-color: #EF4444;
  }
  50% {
    background-color: rgb(240.6, 86.7, 86.7);
  }
}
.bg-danger-glow {
  background-color: #EF4444;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.8);
}

.bg-danger-fade-in {
  animation: bgFadeIn-danger 0.5s ease-out forwards;
}

@keyframes bgFadeIn-danger {
  from {
    background-color: transparent;
  }
  to {
    background-color: #EF4444;
  }
}
.bg-light-pulse {
  animation: bgPulse-light 2s ease-in-out infinite;
}

@keyframes bgPulse-light {
  0%, 100% {
    background-color: #f8f9fa;
  }
  50% {
    background-color: rgb(248.7, 249.6, 250.5);
  }
}
.bg-light-glow {
  background-color: #f8f9fa;
  box-shadow: 0 0 15px rgba(248, 249, 250, 0.8);
}

.bg-light-fade-in {
  animation: bgFadeIn-light 0.5s ease-out forwards;
}

@keyframes bgFadeIn-light {
  from {
    background-color: transparent;
  }
  to {
    background-color: #f8f9fa;
  }
}
.bg-dark-pulse {
  animation: bgPulse-dark 2s ease-in-out infinite;
}

@keyframes bgPulse-dark {
  0%, 100% {
    background-color: #1F2937;
  }
  50% {
    background-color: rgb(46.2837209302, 61.2139534884, 82.1162790698);
  }
}
.bg-dark-glow {
  background-color: #1F2937;
  box-shadow: 0 0 15px rgba(31, 41, 55, 0.8);
}

.bg-dark-fade-in {
  animation: bgFadeIn-dark 0.5s ease-out forwards;
}

@keyframes bgFadeIn-dark {
  from {
    background-color: transparent;
  }
  to {
    background-color: #1F2937;
  }
}
.bg-primary-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-primary-hover:hover {
  background-color: #45156C !important;
  color: #FFFFFF !important;
}

.bg-primary-hover-light {
  transition: background-color 0.3s ease;
}
.bg-primary-hover-light:hover {
  background-color: rgb(237.2790697674, 223.1023255814, 248.7976744186) !important;
}

.bg-primary-glow-hover {
  background-color: #45156C;
  transition: box-shadow 0.3s ease;
}
.bg-primary-glow-hover:hover {
  box-shadow: 0 0 20px rgba(69, 21, 108, 0.6), 0 0 30px rgba(69, 21, 108, 0.4);
}

.bg-secondary-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-secondary-hover:hover {
  background-color: #6B7280 !important;
  color: #FFFFFF !important;
}

.bg-secondary-hover-light {
  transition: background-color 0.3s ease;
}
.bg-secondary-hover-light:hover {
  background-color: rgb(240.0212765957, 240.8404255319, 242.4787234043) !important;
}

.bg-secondary-glow-hover {
  background-color: #6B7280;
  transition: box-shadow 0.3s ease;
}
.bg-secondary-glow-hover:hover {
  box-shadow: 0 0 20px rgba(107, 114, 128, 0.6), 0 0 30px rgba(107, 114, 128, 0.4);
}

.bg-success-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-success-hover:hover {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
}

.bg-success-hover-light {
  transition: background-color 0.3s ease;
}
.bg-success-hover-light:hover {
  background-color: rgb(226.5597014925, 252.5402985075, 243.9313432836) !important;
}

.bg-success-glow-hover {
  background-color: #10B981;
  transition: box-shadow 0.3s ease;
}
.bg-success-glow-hover:hover {
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.6), 0 0 30px rgba(16, 185, 129, 0.4);
}

.bg-info-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-info-hover:hover {
  background-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

.bg-info-hover-light {
  transition: background-color 0.3s ease;
}
.bg-info-hover-light:hover {
  background-color: rgb(235.4, 242.5, 254.1) !important;
}

.bg-info-glow-hover {
  background-color: #3B82F6;
  transition: box-shadow 0.3s ease;
}
.bg-info-glow-hover:hover {
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.6), 0 0 30px rgba(59, 130, 246, 0.4);
}

.bg-warning-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-warning-hover:hover {
  background-color: #F59E0B !important;
  color: #FFFFFF !important;
}

.bg-warning-hover-light {
  transition: background-color 0.3s ease;
}
.bg-warning-hover-light:hover {
  background-color: rgb(254, 245.3, 230.6) !important;
}

.bg-warning-glow-hover {
  background-color: #F59E0B;
  transition: box-shadow 0.3s ease;
}
.bg-warning-glow-hover:hover {
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.6), 0 0 30px rgba(245, 158, 11, 0.4);
}

.bg-danger-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-danger-hover:hover {
  background-color: #EF4444 !important;
  color: #FFFFFF !important;
}

.bg-danger-hover-light {
  transition: background-color 0.3s ease;
}
.bg-danger-hover-light:hover {
  background-color: rgb(253.4, 236.3, 236.3) !important;
}

.bg-danger-glow-hover {
  background-color: #EF4444;
  transition: box-shadow 0.3s ease;
}
.bg-danger-glow-hover:hover {
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.6), 0 0 30px rgba(239, 68, 68, 0.4);
}

.bg-light-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-light-hover:hover {
  background-color: #f8f9fa !important;
  color: #1F2937 !important;
}

.bg-light-hover-light {
  transition: background-color 0.3s ease;
}
.bg-light-hover-light:hover {
  background-color: rgb(254.3, 254.4, 254.5) !important;
}

.bg-light-glow-hover {
  background-color: #f8f9fa;
  transition: box-shadow 0.3s ease;
}
.bg-light-glow-hover:hover {
  box-shadow: 0 0 20px rgba(248, 249, 250, 0.6), 0 0 30px rgba(248, 249, 250, 0.4);
}

.bg-dark-hover {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bg-dark-hover:hover {
  background-color: #1F2937 !important;
  color: #FFFFFF !important;
}

.bg-dark-hover-light {
  transition: background-color 0.3s ease;
}
.bg-dark-hover-light:hover {
  background-color: rgb(227.8837209302, 232.8139534884, 239.7162790698) !important;
}

.bg-dark-glow-hover {
  background-color: #1F2937;
  transition: box-shadow 0.3s ease;
}
.bg-dark-glow-hover:hover {
  box-shadow: 0 0 20px rgba(31, 41, 55, 0.6), 0 0 30px rgba(31, 41, 55, 0.4);
}

.bg-gradient-animated {
  background: linear-gradient(270deg, #45156C, #6B7280, #3B82F6);
  background-size: 600% 600%;
  animation: gradientShift 8s ease infinite;
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.bg-glass {
  background: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.bg-glass-dark {
  background: rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.bg-glass-primary {
  background: rgba(69, 21, 108, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(69, 21, 108, 0.2);
}

.bg-glass-secondary {
  background: rgba(107, 114, 128, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(107, 114, 128, 0.2);
}

.bg-glass-success {
  background: rgba(16, 185, 129, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(16, 185, 129, 0.2);
}

.bg-glass-info {
  background: rgba(59, 130, 246, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.bg-glass-warning {
  background: rgba(245, 158, 11, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.bg-glass-danger {
  background: rgba(239, 68, 68, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.bg-glass-light {
  background: rgba(248, 249, 250, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(248, 249, 250, 0.2);
}

.bg-glass-dark {
  background: rgba(31, 41, 55, 0.1) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(31, 41, 55, 0.2);
}

.text-primary {
  color: #45156C !important;
}

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

.text-primary-light {
  color: rgb(130.1372093023, 39.6069767442, 203.6930232558) !important;
}

.text-primary-lighter {
  color: rgb(166.3953488372, 95.511627907, 223.988372093) !important;
}

.text-primary-dark {
  color: rgb(48.3, 14.7, 75.6) !important;
}

.text-secondary {
  color: #6B7280 !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #6B7280 !important;
}

.text-secondary-light {
  color: rgb(150.1489361702, 155.8829787234, 167.3510638298) !important;
}

.text-secondary-lighter {
  color: rgb(180.1063829787, 184.2021276596, 192.3936170213) !important;
}

.text-secondary-dark {
  color: rgb(74.9, 79.8, 89.6) !important;
}

.text-success {
  color: #10B981 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #10B981 !important;
}

.text-success-light {
  color: rgb(55.9179104478, 237.7820895522, 177.5194029851) !important;
}

.text-success-lighter {
  color: rgb(112.7985074627, 242.7014925373, 199.6567164179) !important;
}

.text-success-dark {
  color: rgb(11.2, 129.5, 90.3) !important;
}

.text-info {
  color: #3B82F6 !important;
}

a.text-info:hover, a.text-info:focus {
  color: #3B82F6 !important;
}

.text-info-light {
  color: rgb(117.8, 167.5, 248.7) !important;
}

.text-info-lighter {
  color: rgb(157, 192.5, 250.5) !important;
}

.text-info-dark {
  color: rgb(9.3731707317, 83.3170731707, 204.1268292683) !important;
}

.text-warning {
  color: #F59E0B !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #F59E0B !important;
}

.text-warning-light {
  color: rgb(248, 187.1, 84.2) !important;
}

.text-warning-lighter {
  color: rgb(250, 206.5, 133) !important;
}

.text-warning-dark {
  color: rgb(172.1448818898, 110.7653543307, 7.0551181102) !important;
}

.text-danger {
  color: #EF4444 !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #EF4444 !important;
}

.text-danger-light {
  color: rgb(243.8, 124.1, 124.1) !important;
}

.text-danger-lighter {
  color: rgb(247, 161.5, 161.5) !important;
}

.text-danger-dark {
  color: rgb(197.9620689655, 16.9379310345, 16.9379310345) !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
  color: #f8f9fa !important;
}

.text-light-light {
  color: rgb(250.1, 250.8, 251.5) !important;
}

.text-light-lighter {
  color: rgb(251.5, 252, 252.5) !important;
}

.text-light-dark {
  color: rgb(160.85, 174.3, 187.75) !important;
}

.text-dark {
  color: #1F2937 !important;
}

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

.text-dark-light {
  color: rgb(76.8511627907, 101.6418604651, 136.3488372093) !important;
}

.text-dark-lighter {
  color: rgb(119.4186046512, 144.0697674419, 178.5813953488) !important;
}

.text-dark-dark {
  color: rgb(21.7, 28.7, 38.5) !important;
}

.text-primary-hover {
  transition: color 0.3s ease;
}
.text-primary-hover:hover {
  color: #45156C !important;
}

.text-primary-hover-darken {
  color: #45156C !important;
  transition: color 0.3s ease;
}
.text-primary-hover-darken:hover {
  color: rgb(55.2, 16.8, 86.4) !important;
}

.text-secondary-hover {
  transition: color 0.3s ease;
}
.text-secondary-hover:hover {
  color: #6B7280 !important;
}

.text-secondary-hover-darken {
  color: #6B7280 !important;
  transition: color 0.3s ease;
}
.text-secondary-hover-darken:hover {
  color: rgb(85.6, 91.2, 102.4) !important;
}

.text-success-hover {
  transition: color 0.3s ease;
}
.text-success-hover:hover {
  color: #10B981 !important;
}

.text-success-hover-darken {
  color: #10B981 !important;
  transition: color 0.3s ease;
}
.text-success-hover-darken:hover {
  color: rgb(12.8, 148, 103.2) !important;
}

.text-info-hover {
  transition: color 0.3s ease;
}
.text-info-hover:hover {
  color: #3B82F6 !important;
}

.text-info-hover-darken {
  color: #3B82F6 !important;
  transition: color 0.3s ease;
}
.text-info-hover-darken:hover {
  color: rgb(10.712195122, 95.2195121951, 233.287804878) !important;
}

.text-warning-hover {
  transition: color 0.3s ease;
}
.text-warning-hover:hover {
  color: #F59E0B !important;
}

.text-warning-hover-darken {
  color: #F59E0B !important;
  transition: color 0.3s ease;
}
.text-warning-hover-darken:hover {
  color: rgb(196.737007874, 126.588976378, 8.062992126) !important;
}

.text-danger-hover {
  transition: color 0.3s ease;
}
.text-danger-hover:hover {
  color: #EF4444 !important;
}

.text-danger-hover-darken {
  color: #EF4444 !important;
  transition: color 0.3s ease;
}
.text-danger-hover-darken:hover {
  color: rgb(226.242364532, 19.357635468, 19.357635468) !important;
}

.text-light-hover {
  transition: color 0.3s ease;
}
.text-light-hover:hover {
  color: #f8f9fa !important;
}

.text-light-hover-darken {
  color: #f8f9fa !important;
  transition: color 0.3s ease;
}
.text-light-hover-darken:hover {
  color: rgb(189.9, 199.2, 208.5) !important;
}

.text-dark-hover {
  transition: color 0.3s ease;
}
.text-dark-hover:hover {
  color: #1F2937 !important;
}

.text-dark-hover-darken {
  color: #1F2937 !important;
  transition: color 0.3s ease;
}
.text-dark-hover-darken:hover {
  color: rgb(24.8, 32.8, 44) !important;
}

.text-gradient-primary {
  background: linear-gradient(135deg, #45156C 0%, rgb(48.3, 14.7, 75.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-secondary {
  background: linear-gradient(135deg, #6B7280 0%, rgb(74.9, 79.8, 89.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-success {
  background: linear-gradient(135deg, #10B981 0%, rgb(11.2, 129.5, 90.3) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-info {
  background: linear-gradient(135deg, #3B82F6 0%, rgb(9.3731707317, 83.3170731707, 204.1268292683) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-warning {
  background: linear-gradient(135deg, #F59E0B 0%, rgb(172.1448818898, 110.7653543307, 7.0551181102) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-danger {
  background: linear-gradient(135deg, #EF4444 0%, rgb(197.9620689655, 16.9379310345, 16.9379310345) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-light {
  background: linear-gradient(135deg, #f8f9fa 0%, rgb(160.85, 174.3, 187.75) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-dark {
  background: linear-gradient(135deg, #1F2937 0%, rgb(21.7, 28.7, 38.5) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-primary-secondary {
  background: linear-gradient(135deg, #45156C 0%, #6B7280 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-rainbow {
  background: linear-gradient(90deg, #EF4444, #F59E0B, #10B981, #3B82F6, #45156C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-animated {
  background: linear-gradient(270deg, #45156C, #6B7280, #3B82F6, #45156C);
  background-size: 800% 800%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientTextShift 6s ease infinite;
}

@keyframes gradientTextShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
.text-glow-primary {
  color: #45156C !important;
  text-shadow: 0 0 10px rgba(69, 21, 108, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-primary:hover {
  text-shadow: 0 0 20px rgba(69, 21, 108, 0.8);
}

.text-glow-primary-pulse {
  color: #45156C !important;
  animation: textGlowPulse-primary 2s ease-in-out infinite;
}

@keyframes textGlowPulse-primary {
  0%, 100% {
    text-shadow: 0 0 5px rgba(69, 21, 108, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(69, 21, 108, 0.8);
  }
}
.text-glow-secondary {
  color: #6B7280 !important;
  text-shadow: 0 0 10px rgba(107, 114, 128, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-secondary:hover {
  text-shadow: 0 0 20px rgba(107, 114, 128, 0.8);
}

.text-glow-secondary-pulse {
  color: #6B7280 !important;
  animation: textGlowPulse-secondary 2s ease-in-out infinite;
}

@keyframes textGlowPulse-secondary {
  0%, 100% {
    text-shadow: 0 0 5px rgba(107, 114, 128, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(107, 114, 128, 0.8);
  }
}
.text-glow-success {
  color: #10B981 !important;
  text-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-success:hover {
  text-shadow: 0 0 20px rgba(16, 185, 129, 0.8);
}

.text-glow-success-pulse {
  color: #10B981 !important;
  animation: textGlowPulse-success 2s ease-in-out infinite;
}

@keyframes textGlowPulse-success {
  0%, 100% {
    text-shadow: 0 0 5px rgba(16, 185, 129, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(16, 185, 129, 0.8);
  }
}
.text-glow-info {
  color: #3B82F6 !important;
  text-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-info:hover {
  text-shadow: 0 0 20px rgba(59, 130, 246, 0.8);
}

.text-glow-info-pulse {
  color: #3B82F6 !important;
  animation: textGlowPulse-info 2s ease-in-out infinite;
}

@keyframes textGlowPulse-info {
  0%, 100% {
    text-shadow: 0 0 5px rgba(59, 130, 246, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(59, 130, 246, 0.8);
  }
}
.text-glow-warning {
  color: #F59E0B !important;
  text-shadow: 0 0 10px rgba(245, 158, 11, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-warning:hover {
  text-shadow: 0 0 20px rgba(245, 158, 11, 0.8);
}

.text-glow-warning-pulse {
  color: #F59E0B !important;
  animation: textGlowPulse-warning 2s ease-in-out infinite;
}

@keyframes textGlowPulse-warning {
  0%, 100% {
    text-shadow: 0 0 5px rgba(245, 158, 11, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(245, 158, 11, 0.8);
  }
}
.text-glow-danger {
  color: #EF4444 !important;
  text-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-danger:hover {
  text-shadow: 0 0 20px rgba(239, 68, 68, 0.8);
}

.text-glow-danger-pulse {
  color: #EF4444 !important;
  animation: textGlowPulse-danger 2s ease-in-out infinite;
}

@keyframes textGlowPulse-danger {
  0%, 100% {
    text-shadow: 0 0 5px rgba(239, 68, 68, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(239, 68, 68, 0.8);
  }
}
.text-glow-light {
  color: #f8f9fa !important;
  text-shadow: 0 0 10px rgba(248, 249, 250, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-light:hover {
  text-shadow: 0 0 20px rgba(248, 249, 250, 0.8);
}

.text-glow-light-pulse {
  color: #f8f9fa !important;
  animation: textGlowPulse-light 2s ease-in-out infinite;
}

@keyframes textGlowPulse-light {
  0%, 100% {
    text-shadow: 0 0 5px rgba(248, 249, 250, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(248, 249, 250, 0.8);
  }
}
.text-glow-dark {
  color: #1F2937 !important;
  text-shadow: 0 0 10px rgba(31, 41, 55, 0.5);
  transition: text-shadow 0.3s ease;
}
.text-glow-dark:hover {
  text-shadow: 0 0 20px rgba(31, 41, 55, 0.8);
}

.text-glow-dark-pulse {
  color: #1F2937 !important;
  animation: textGlowPulse-dark 2s ease-in-out infinite;
}

@keyframes textGlowPulse-dark {
  0%, 100% {
    text-shadow: 0 0 5px rgba(31, 41, 55, 0.3);
  }
  50% {
    text-shadow: 0 0 20px rgba(31, 41, 55, 0.8);
  }
}
.text-fade-in {
  animation: textFadeIn 0.8s ease-out forwards;
}

@keyframes textFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.text-slide-in-left {
  animation: textSlideInLeft 0.6s ease-out forwards;
}

@keyframes textSlideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.text-slide-in-right {
  animation: textSlideInRight 0.6s ease-out forwards;
}

@keyframes textSlideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.text-bounce-in {
  animation: textBounceIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

@keyframes textBounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.text-typewriter {
  overflow: hidden;
  border-right: 0.15em solid #45156C;
  white-space: nowrap;
  animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes blink-caret {
  from, to {
    border-color: transparent;
  }
  50% {
    border-color: #45156C;
  }
}
.text-underline-animated {
  position: relative;
  text-decoration: none !important;
}
.text-underline-animated::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: currentColor;
  transition: width 0.3s ease;
}
.text-underline-animated:hover::after {
  width: 100%;
}

.text-underline-primary {
  position: relative;
  text-decoration: none !important;
}
.text-underline-primary::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #45156C;
  transition: width 0.3s ease;
}
.text-underline-primary:hover::after {
  width: 100%;
}

.text-underline-secondary {
  position: relative;
  text-decoration: none !important;
}
.text-underline-secondary::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #6B7280;
  transition: width 0.3s ease;
}
.text-underline-secondary:hover::after {
  width: 100%;
}

.text-underline-success {
  position: relative;
  text-decoration: none !important;
}
.text-underline-success::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #10B981;
  transition: width 0.3s ease;
}
.text-underline-success:hover::after {
  width: 100%;
}

.text-underline-info {
  position: relative;
  text-decoration: none !important;
}
.text-underline-info::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #3B82F6;
  transition: width 0.3s ease;
}
.text-underline-info:hover::after {
  width: 100%;
}

.text-underline-warning {
  position: relative;
  text-decoration: none !important;
}
.text-underline-warning::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #F59E0B;
  transition: width 0.3s ease;
}
.text-underline-warning:hover::after {
  width: 100%;
}

.text-underline-danger {
  position: relative;
  text-decoration: none !important;
}
.text-underline-danger::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #EF4444;
  transition: width 0.3s ease;
}
.text-underline-danger:hover::after {
  width: 100%;
}

.text-underline-light {
  position: relative;
  text-decoration: none !important;
}
.text-underline-light::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #f8f9fa;
  transition: width 0.3s ease;
}
.text-underline-light:hover::after {
  width: 100%;
}

.text-underline-dark {
  position: relative;
  text-decoration: none !important;
}
.text-underline-dark::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #1F2937;
  transition: width 0.3s ease;
}
.text-underline-dark:hover::after {
  width: 100%;
}

.text-shimmer {
  background: linear-gradient(90deg, rgba(69, 21, 108, 0.4) 0%, #45156c 50%, rgba(69, 21, 108, 0.4) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 2s linear infinite;
}

@keyframes shimmer {
  to {
    background-position: 200% center;
  }
}
.text-delay-1 {
  animation-delay: 0.1s;
}

.text-delay-2 {
  animation-delay: 0.2s;
}

.text-delay-3 {
  animation-delay: 0.3s;
}

.text-delay-4 {
  animation-delay: 0.4s;
}

.text-delay-5 {
  animation-delay: 0.5s;
}

.text-delay-6 {
  animation-delay: 0.6s;
}

.text-delay-7 {
  animation-delay: 0.7s;
}

.text-delay-8 {
  animation-delay: 0.8s;
}

.text-delay-9 {
  animation-delay: 0.9s;
}

.text-delay-10 {
  animation-delay: 1s;
}

.sidebar-item {
  position: relative;
  overflow: visible;
}
.sidebar-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 3px;
  background: linear-gradient(180deg, #F59E0B 0%, rgba(245, 158, 11, 0.5) 100%);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}
.sidebar-item:hover {
  background-color: rgba(245, 158, 11, 0.08) !important;
  padding-left: 1rem !important;
}
.sidebar-item:hover::before {
  transform: scaleY(1);
}
.sidebar-item:hover .sidebar-icon-wrapper i {
  transform: scale(1.1) rotate(5deg);
  color: #F59E0B !important;
}
.sidebar-item:hover .sidebar-item-text {
  color: #F59E0B !important;
  letter-spacing: 0.5px;
}
.sidebar-item:active {
  background-color: rgba(245, 158, 11, 0.15) !important;
  transform: scale(0.98);
}
.sidebar-item:focus {
  outline: none !important;
  box-shadow: none !important;
}
.sidebar-item:focus:not(:hover) {
  background-color: transparent !important;
}
.sidebar-item:focus:not(:hover) .sidebar-icon-wrapper i {
  color: #F59E0B !important;
  transform: none;
}

.content-card {
  transition: all 0.3s ease;
  z-index: 2;
}
.content-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
  border-color: #45156C !important;
}
.content-card:hover .thumbnail-wrapper img {
  transform: scale(1.02);
}
.content-card:hover .thumbnail-overlay {
  opacity: 1;
}
.content-card:hover .card-title {
  color: #45156C !important;
}

.thumbnail-wrapper img {
  transition: transform 0.4s ease;
}

.thumbnail-overlay {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card-title {
  transition: color 0.3s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.explore-card {
  transition: all 0.3s ease;
}
.explore-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
  border-color: #45156C !important;
}
.explore-card:hover .explore-thumbnail-wrapper img {
  transform: scale(1.05);
}
.explore-card:hover .explore-thumbnail-overlay {
  opacity: 0.8;
}
.explore-card:hover .explore-card-title {
  color: #45156C !important;
}

.explore-thumbnail-wrapper img {
  transition: transform 0.4s ease;
}

.explore-thumbnail-overlay {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.explore-card-title {
  transition: color 0.3s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.badge-primary {
  background-color: #45156C !important;
  color: #FFFFFF !important;
}

.badge-primary-light {
  background-color: rgb(237.2790697674, 223.1023255814, 248.7976744186) !important;
  color: #45156C !important;
}

.badge-primary-lighter {
  background-color: rgb(246.1395348837, 239.0511627907, 251.8988372093) !important;
  color: #45156C !important;
}

.badge-primary-dark {
  background-color: rgb(55.2, 16.8, 86.4) !important;
  color: #FFFFFF !important;
}

.badge-secondary {
  background-color: #6B7280 !important;
  color: #FFFFFF !important;
}

.badge-secondary-light {
  background-color: rgb(240.0212765957, 240.8404255319, 242.4787234043) !important;
  color: #6B7280 !important;
}

.badge-secondary-lighter {
  background-color: rgb(247.5106382979, 247.920212766, 248.7393617021) !important;
  color: #6B7280 !important;
}

.badge-secondary-dark {
  background-color: rgb(85.6, 91.2, 102.4) !important;
  color: #FFFFFF !important;
}

.badge-success {
  background-color: #10B981 !important;
  color: #FFFFFF !important;
}

.badge-success-light {
  background-color: rgb(226.5597014925, 252.5402985075, 243.9313432836) !important;
  color: #10B981 !important;
}

.badge-success-lighter {
  background-color: rgb(240.7798507463, 253.7701492537, 249.4656716418) !important;
  color: #10B981 !important;
}

.badge-success-dark {
  background-color: rgb(12.8, 148, 103.2) !important;
  color: #FFFFFF !important;
}

.badge-info {
  background-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

.badge-info-light {
  background-color: rgb(235.4, 242.5, 254.1) !important;
  color: #3B82F6 !important;
}

.badge-info-lighter {
  background-color: rgb(245.2, 248.75, 254.55) !important;
  color: #3B82F6 !important;
}

.badge-info-dark {
  background-color: rgb(10.712195122, 95.2195121951, 233.287804878) !important;
  color: #FFFFFF !important;
}

.badge-warning {
  background-color: #F59E0B !important;
  color: #FFFFFF !important;
}

.badge-warning-light {
  background-color: rgb(254, 245.3, 230.6) !important;
  color: #F59E0B !important;
}

.badge-warning-lighter {
  background-color: rgb(254.5, 250.15, 242.8) !important;
  color: #F59E0B !important;
}

.badge-warning-dark {
  background-color: rgb(196.737007874, 126.588976378, 8.062992126) !important;
  color: #FFFFFF !important;
}

.badge-danger {
  background-color: #EF4444 !important;
  color: #FFFFFF !important;
}

.badge-danger-light {
  background-color: rgb(253.4, 236.3, 236.3) !important;
  color: #EF4444 !important;
}

.badge-danger-lighter {
  background-color: rgb(254.2, 245.65, 245.65) !important;
  color: #EF4444 !important;
}

.badge-danger-dark {
  background-color: rgb(226.242364532, 19.357635468, 19.357635468) !important;
  color: #FFFFFF !important;
}

.badge-light {
  background-color: #f8f9fa !important;
  color: #1F2937 !important;
}

.badge-light-light {
  background-color: rgb(254.3, 254.4, 254.5) !important;
  color: #f8f9fa !important;
}

.badge-light-lighter {
  background-color: rgb(254.65, 254.7, 254.75) !important;
  color: #f8f9fa !important;
}

.badge-light-dark {
  background-color: rgb(189.9, 199.2, 208.5) !important;
  color: #1F2937 !important;
}

.badge-dark {
  background-color: #1F2937 !important;
  color: #FFFFFF !important;
}

.badge-dark-light {
  background-color: rgb(227.8837209302, 232.8139534884, 239.7162790698) !important;
  color: #1F2937 !important;
}

.badge-dark-lighter {
  background-color: rgb(241.4418604651, 243.9069767442, 247.3581395349) !important;
  color: #1F2937 !important;
}

.badge-dark-dark {
  background-color: rgb(24.8, 32.8, 44) !important;
  color: #FFFFFF !important;
}

.badge-outline-primary {
  background-color: transparent !important;
  color: #45156C !important;
  border: 1px solid #45156C !important;
}

.badge-outline-secondary {
  background-color: transparent !important;
  color: #6B7280 !important;
  border: 1px solid #6B7280 !important;
}

.badge-outline-success {
  background-color: transparent !important;
  color: #10B981 !important;
  border: 1px solid #10B981 !important;
}

.badge-outline-info {
  background-color: transparent !important;
  color: #3B82F6 !important;
  border: 1px solid #3B82F6 !important;
}

.badge-outline-warning {
  background-color: transparent !important;
  color: #F59E0B !important;
  border: 1px solid #F59E0B !important;
}

.badge-outline-danger {
  background-color: transparent !important;
  color: #EF4444 !important;
  border: 1px solid #EF4444 !important;
}

.badge-outline-light {
  background-color: transparent !important;
  color: #f8f9fa !important;
  border: 1px solid #f8f9fa !important;
}

.badge-outline-dark {
  background-color: transparent !important;
  color: #1F2937 !important;
  border: 1px solid #1F2937 !important;
}

.badge-gradient-primary {
  background: linear-gradient(135deg, #45156C 0%, rgb(109.7581395349, 33.4046511628, 171.7953488372) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-secondary {
  background: linear-gradient(135deg, #6B7280 0%, rgb(135.170212766, 141.7234042553, 154.829787234) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-success {
  background: linear-gradient(135deg, #10B981 0%, rgb(27.4776119403, 235.3223880597, 166.4507462687) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-info {
  background: linear-gradient(135deg, #3B82F6 0%, rgb(98.2, 155, 247.8) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-warning {
  background: linear-gradient(135deg, #F59E0B 0%, rgb(247, 177.4, 59.8) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-danger {
  background: linear-gradient(135deg, #EF4444 0%, rgb(242.2, 105.4, 105.4) 100%) !important;
  color: #FFFFFF !important;
}

.badge-gradient-light {
  background: linear-gradient(135deg, #f8f9fa 0%, rgb(249.4, 250.2, 251) 100%) !important;
  color: #1F2937 !important;
}

.badge-gradient-dark {
  background: linear-gradient(135deg, #1F2937 0%, rgb(61.5674418605, 81.4279069767, 109.2325581395) 100%) !important;
  color: #FFFFFF !important;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary-pulse {
  animation: badgePulse-primary 2s ease-in-out infinite;
}

@keyframes badgePulse-primary {
  0%, 100% {
    background-color: #45156C;
  }
  50% {
    background-color: rgb(89.3790697674, 27.2023255814, 139.8976744186);
  }
}
.badge-secondary-pulse {
  animation: badgePulse-secondary 2s ease-in-out infinite;
}

@keyframes badgePulse-secondary {
  0%, 100% {
    background-color: #6B7280;
  }
  50% {
    background-color: rgb(120.1914893617, 127.5638297872, 142.3085106383);
  }
}
.badge-success-pulse {
  animation: badgePulse-success 2s ease-in-out infinite;
}

@keyframes badgePulse-success {
  0%, 100% {
    background-color: #10B981;
  }
  50% {
    background-color: rgb(18.4597014925, 213.4402985075, 148.8313432836);
  }
}
.badge-info-pulse {
  animation: badgePulse-info 2s ease-in-out infinite;
}

@keyframes badgePulse-info {
  0%, 100% {
    background-color: #3B82F6;
  }
  50% {
    background-color: rgb(78.6, 142.5, 246.9);
  }
}
.badge-warning-pulse {
  animation: badgePulse-warning 2s ease-in-out infinite;
}

@keyframes badgePulse-warning {
  0%, 100% {
    background-color: #F59E0B;
  }
  50% {
    background-color: rgb(246, 167.7, 35.4);
  }
}
.badge-danger-pulse {
  animation: badgePulse-danger 2s ease-in-out infinite;
}

@keyframes badgePulse-danger {
  0%, 100% {
    background-color: #EF4444;
  }
  50% {
    background-color: rgb(240.6, 86.7, 86.7);
  }
}
.badge-light-pulse {
  animation: badgePulse-light 2s ease-in-out infinite;
}

@keyframes badgePulse-light {
  0%, 100% {
    background-color: #f8f9fa;
  }
  50% {
    background-color: rgb(248.7, 249.6, 250.5);
  }
}
.badge-dark-pulse {
  animation: badgePulse-dark 2s ease-in-out infinite;
}

@keyframes badgePulse-dark {
  0%, 100% {
    background-color: #1F2937;
  }
  50% {
    background-color: rgb(46.2837209302, 61.2139534884, 82.1162790698);
  }
}
.badge-glow-primary {
  background-color: #45156C !important;
  box-shadow: 0 0 10px rgba(69, 21, 108, 0.5);
  animation: badgeGlow-primary 2s ease-in-out infinite;
}

@keyframes badgeGlow-primary {
  0%, 100% {
    box-shadow: 0 0 10px rgba(69, 21, 108, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(69, 21, 108, 0.8);
  }
}
.badge-glow-secondary {
  background-color: #6B7280 !important;
  box-shadow: 0 0 10px rgba(107, 114, 128, 0.5);
  animation: badgeGlow-secondary 2s ease-in-out infinite;
}

@keyframes badgeGlow-secondary {
  0%, 100% {
    box-shadow: 0 0 10px rgba(107, 114, 128, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(107, 114, 128, 0.8);
  }
}
.badge-glow-success {
  background-color: #10B981 !important;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
  animation: badgeGlow-success 2s ease-in-out infinite;
}

@keyframes badgeGlow-success {
  0%, 100% {
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.8);
  }
}
.badge-glow-info {
  background-color: #3B82F6 !important;
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
  animation: badgeGlow-info 2s ease-in-out infinite;
}

@keyframes badgeGlow-info {
  0%, 100% {
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.8);
  }
}
.badge-glow-warning {
  background-color: #F59E0B !important;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.5);
  animation: badgeGlow-warning 2s ease-in-out infinite;
}

@keyframes badgeGlow-warning {
  0%, 100% {
    box-shadow: 0 0 10px rgba(245, 158, 11, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.8);
  }
}
.badge-glow-danger {
  background-color: #EF4444 !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
  animation: badgeGlow-danger 2s ease-in-out infinite;
}

@keyframes badgeGlow-danger {
  0%, 100% {
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.8);
  }
}
.badge-glow-light {
  background-color: #f8f9fa !important;
  box-shadow: 0 0 10px rgba(248, 249, 250, 0.5);
  animation: badgeGlow-light 2s ease-in-out infinite;
}

@keyframes badgeGlow-light {
  0%, 100% {
    box-shadow: 0 0 10px rgba(248, 249, 250, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(248, 249, 250, 0.8);
  }
}
.badge-glow-dark {
  background-color: #1F2937 !important;
  box-shadow: 0 0 10px rgba(31, 41, 55, 0.5);
  animation: badgeGlow-dark 2s ease-in-out infinite;
}

@keyframes badgeGlow-dark {
  0%, 100% {
    box-shadow: 0 0 10px rgba(31, 41, 55, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(31, 41, 55, 0.8);
  }
}/*# sourceMappingURL=main.css.map */