:root {
  --fx-contrast-blue: #0ea5e9;
  --fx-contrast-blue-2: #3b82f6;
  --fx-contrast-text: #1e293b;
  --fx-contrast-muted: #64748b;
  --fx-contrast-border: #e2e8f0;
}

.bg-blue-500,
.bg-blue-600,
.bg-blue-700,
.bg-sky-500,
.bg-sky-600,
.bg-purple-600,
.bg-purple-700,
.bg-green-600,
.bg-green-700,
.bg-emerald-600,
.bg-emerald-700,
.bg-red-600,
.bg-red-700,
.bg-orange-600,
.bg-orange-700,
.bg-slate-900,
.hover\:bg-blue-500:hover,
.hover\:bg-blue-600:hover,
.hover\:bg-blue-700:hover,
.hover\:bg-sky-500:hover,
.hover\:bg-sky-600:hover,
.hover\:bg-purple-600:hover,
.hover\:bg-purple-700:hover,
.hover\:bg-green-600:hover,
.hover\:bg-green-700:hover,
.hover\:bg-emerald-600:hover,
.hover\:bg-emerald-700:hover,
.hover\:bg-red-600:hover,
.hover\:bg-red-700:hover,
.hover\:bg-orange-600:hover,
.hover\:bg-orange-700:hover,
.hover\:bg-slate-900:hover,
.group:hover .group-hover\:bg-blue-500,
.group:hover .group-hover\:bg-sky-500,
.group:hover .group-hover\:bg-purple-600,
.group:hover .group-hover\:bg-green-600,
.group:hover .group-hover\:bg-red-600,
.btn-primary,
.auth-btn-primary,
.tab-btn.bg-blue-600,
.lang-select-btn.active,
.step-dot.active {
  color: #ffffff !important;
}

.bg-blue-500 *,
.bg-blue-600 *,
.bg-blue-700 *,
.bg-sky-500 *,
.bg-sky-600 *,
.bg-purple-600 *,
.bg-purple-700 *,
.bg-green-600 *,
.bg-green-700 *,
.bg-emerald-600 *,
.bg-emerald-700 *,
.bg-red-600 *,
.bg-red-700 *,
.bg-orange-600 *,
.bg-orange-700 *,
.bg-slate-900 *,
.hover\:bg-blue-500:hover *,
.hover\:bg-blue-600:hover *,
.hover\:bg-blue-700:hover *,
.hover\:bg-sky-500:hover *,
.hover\:bg-sky-600:hover *,
.hover\:bg-purple-600:hover *,
.hover\:bg-purple-700:hover *,
.hover\:bg-green-600:hover *,
.hover\:bg-green-700:hover *,
.hover\:bg-emerald-600:hover *,
.hover\:bg-emerald-700:hover *,
.hover\:bg-red-600:hover *,
.hover\:bg-red-700:hover *,
.hover\:bg-orange-600:hover *,
.hover\:bg-orange-700:hover *,
.hover\:bg-slate-900:hover *,
.group:hover .group-hover\:bg-blue-500 *,
.group:hover .group-hover\:bg-sky-500 *,
.group:hover .group-hover\:bg-purple-600 *,
.group:hover .group-hover\:bg-green-600 *,
.group:hover .group-hover\:bg-red-600 *,
.btn-primary *,
.auth-btn-primary *,
.tab-btn.bg-blue-600 *,
.lang-select-btn.active *,
.step-dot.active * {
  color: #ffffff !important;
}

.bg-blue-600 .text-blue-50,
.bg-blue-600 .text-blue-100,
.bg-blue-600 .text-blue-500,
.bg-blue-600 .text-blue-600,
.bg-blue-600 .text-blue-700,
.bg-blue-600 .text-sky-50,
.bg-blue-600 .text-sky-100,
.bg-blue-600 .text-sky-500,
.bg-blue-600 .text-sky-600,
.bg-blue-600 .text-sky-700,
.bg-blue-700 .text-blue-50,
.bg-blue-700 .text-blue-100,
.bg-blue-700 .text-blue-500,
.bg-blue-700 .text-blue-600,
.bg-blue-700 .text-blue-700,
.bg-sky-500 .text-blue-50,
.bg-sky-500 .text-blue-100,
.bg-sky-500 .text-blue-500,
.bg-sky-500 .text-blue-600,
.bg-sky-500 .text-blue-700,
.bg-sky-600 .text-blue-50,
.bg-sky-600 .text-blue-100,
.bg-sky-600 .text-blue-500,
.bg-sky-600 .text-blue-600,
.bg-sky-600 .text-blue-700 {
  color: #ffffff !important;
}

.text-white .text-blue-500,
.text-white .text-blue-600,
.text-white .text-sky-500,
.text-white .text-sky-600,
.text-white.text-blue-500,
.text-white.text-blue-600,
.text-white.text-sky-500,
.text-white.text-sky-600 {
  color: #ffffff !important;
}

.bg-blue-50,
.bg-sky-50,
.bg-blue-100,
.bg-sky-100 {
  color: var(--fx-contrast-text);
}

.bg-blue-50 .text-blue-500,
.bg-blue-50 .text-blue-600,
.bg-blue-50 .text-blue-700,
.bg-sky-50 .text-sky-500,
.bg-sky-50 .text-sky-600,
.bg-sky-50 .text-sky-700,
.bg-blue-100 .text-blue-500,
.bg-blue-100 .text-blue-600,
.bg-blue-100 .text-blue-700 {
  color: #075985 !important;
}

.bg-white .text-slate-300,
.bg-white .text-slate-400,
.bg-white .text-gray-400,
.bg-white .text-gray-500,
.bg-slate-50 .text-slate-300,
.bg-slate-50 .text-slate-400,
.bg-slate-50 .text-gray-400,
.bg-slate-50 .text-gray-500,
.bg-slate-100 .text-slate-300,
.bg-slate-100 .text-slate-400,
.bg-slate-100 .text-gray-400,
.bg-slate-100 .text-gray-500 {
  color: #64748b !important;
}

.bg-white .text-blue-400,
.bg-white .text-blue-500,
.bg-white .text-sky-400,
.bg-white .text-sky-500,
.bg-slate-50 .text-blue-400,
.bg-slate-50 .text-blue-500,
.bg-slate-50 .text-sky-400,
.bg-slate-50 .text-sky-500 {
  color: #0369a1 !important;
}

.bg-white .text-purple-400,
.bg-white .text-purple-500,
.bg-slate-50 .text-purple-400,
.bg-slate-50 .text-purple-500 {
  color: #7e22ce !important;
}

.bg-white .text-red-400,
.bg-white .text-red-500,
.bg-slate-50 .text-red-400,
.bg-slate-50 .text-red-500 {
  color: #dc2626 !important;
}

.bg-white .text-green-400,
.bg-white .text-green-500,
.bg-slate-50 .text-green-400,
.bg-slate-50 .text-green-500 {
  color: #15803d !important;
}

.lang-select-btn.active:hover,
.lang-select-btn.active:focus-visible,
.lang-option[aria-current="true"]:hover,
.lang-option[aria-current="true"]:focus-visible {
  color: #ffffff !important;
}

button,
a,
[role="button"] {
  text-decoration-thickness: 2px;
}

body {
  color: var(--fx-contrast-text);
}

input,
select,
textarea {
  color: #1e293b !important;
}

input::placeholder,
textarea::placeholder {
  color: #64748b !important;
  opacity: 1;
}

.bg-white,
.bg-slate-50,
.bg-slate-100,
.bg-blue-50,
.bg-sky-50,
.bg-green-50,
.bg-red-50,
.bg-orange-50,
.bg-purple-50 {
  -webkit-font-smoothing: antialiased;
}

.bg-green-50 .text-green-500,
.bg-green-50 .text-green-600,
.bg-green-50 .text-green-700 {
  color: #166534 !important;
}

.bg-red-50 .text-red-500,
.bg-red-50 .text-red-600,
.bg-red-50 .text-red-700 {
  color: #b91c1c !important;
}

.bg-orange-50 .text-orange-500,
.bg-orange-50 .text-orange-600,
.bg-orange-50 .text-orange-700 {
  color: #c2410c !important;
}

.bg-purple-50 .text-purple-500,
.bg-purple-50 .text-purple-600,
.bg-purple-50 .text-purple-700 {
  color: #7e22ce !important;
}
