:root {
  --cog-bg: #fbf7ef;
  --cog-surface: #fffdf8;
  --cog-surface-soft: #f7fbfa;
  --cog-border: #ded8cf;
  --cog-text: #2f2532;
  --cog-muted: #62536a;
  --cog-subtle: #9b90a1;
  --cog-primary: #2f9ec1;
  --cog-primary-dark: #24546c;
  --cog-primary-soft: #e8f7fb;
  --cog-accent: #2fb39b;
  --cog-accent-soft: #e6f7f2;
  --cog-lavender: #79609b;
  --cog-lavender-soft: #f0eaf6;
  --cog-danger: #d86f73;
  --cog-danger-soft: #fff0ee;
  --cog-warning: #c5963f;
  --cog-warning-soft: #fff6dc;
  --cog-success: #3f9b79;
  --cog-success-soft: #e8f7ef;
  --cog-shadow: 0 18px 45px rgba(47, 37, 50, 0.08);
}

html,
body,
#root {
  background: var(--cog-bg) !important;
  color: var(--cog-text) !important;
}

body {
  accent-color: var(--cog-primary);
}

body::selection,
*::selection {
  background: rgba(158, 217, 232, 0.55);
  color: var(--cog-text);
}

main,
[class*="bg-[#F9FAFB]"],
[class*="bg-[#F3F4F6]"],
[class*="bg-gray-50"],
[class*="bg-slate-50"] {
  background-color: var(--cog-bg) !important;
}

[class*="bg-white"],
header,
aside,
nav,
[role="dialog"],
[data-radix-popper-content-wrapper] [role="listbox"],
[class*="bg-[#FAFBFC]"] {
  background-color: var(--cog-surface) !important;
}

[class*="border-[#E5E7EB]"],
[class*="border-[#D1D5DB]"],
[class*="border-gray-"],
[class*="divide-[#E5E7EB]"] > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--cog-border) !important;
}

[class*="shadow"],
[role="dialog"] {
  box-shadow: var(--cog-shadow) !important;
}

h1,
h2,
h3,
h4,
[class*="text-[#111827]"],
[class*="text-gray-900"],
[class*="text-slate-900"] {
  color: var(--cog-text) !important;
}

[class*="text-[#374151]"],
[class*="text-[#4B5563]"],
[class*="text-gray-700"],
[class*="text-slate-700"] {
  color: var(--cog-muted) !important;
}

[class*="text-[#6B7280]"],
[class*="text-[#9CA3AF]"],
[class*="text-gray-500"],
[class*="text-gray-600"],
[class*="text-slate-500"] {
  color: var(--cog-subtle) !important;
}

a,
[class*="text-[#2563eb]"],
[class*="text-[#1E40AF]"],
[class*="text-blue-"] {
  color: var(--cog-primary-dark) !important;
}

a:hover {
  color: var(--cog-primary) !important;
}

button,
[role="button"],
input,
select,
textarea,
[class*="rounded"] {
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

button[class*="bg-[#2563eb]"],
button[class*="bg-blue-"],
[class*="bg-[#2563eb]"],
[class*="bg-[#3B82F6]"] {
  background-color: var(--cog-primary) !important;
  border-color: var(--cog-primary) !important;
  color: #ffffff !important;
}

button[class*="hover:bg-[#1d4ed8]"]:hover,
button[class*="hover:bg-blue-"]:hover,
[class*="hover:bg-[#1d4ed8]"]:hover {
  background-color: var(--cog-primary-dark) !important;
  border-color: var(--cog-primary-dark) !important;
}

button[class*="border"],
[role="button"][class*="border"],
[class*="variant-outline"],
[class*="bg-transparent"] {
  border-color: var(--cog-border) !important;
}

button[class*="border"]:hover,
[role="button"][class*="border"]:hover {
  background-color: var(--cog-primary-soft) !important;
  border-color: #b7e2ec !important;
  color: var(--cog-primary-dark) !important;
}

input,
select,
textarea,
[class*="border-[1.5px]"] {
  background-color: #ffffff !important;
  border-color: var(--cog-border) !important;
  color: var(--cog-text) !important;
}

input:focus,
select:focus,
textarea:focus,
[class*="focus:border-[#2563eb]"]:focus,
[class*="focus:ring-[#2563eb]"]:focus {
  border-color: var(--cog-primary) !important;
  box-shadow: 0 0 0 4px rgba(158, 217, 232, 0.38) !important;
  outline: none !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--cog-subtle) !important;
}

[class*="bg-[#EFF6FF]"],
[class*="bg-[#dbeafe]"],
[class*="bg-[#bfdbfe]"],
[class*="bg-blue-50"],
[class*="bg-blue-100"],
aside a[aria-current],
aside [class*="bg-"] {
  background-color: var(--cog-primary-soft) !important;
  color: var(--cog-primary-dark) !important;
}

aside,
header {
  border-color: var(--cog-border) !important;
}

aside a,
aside button,
nav a,
nav button {
  color: var(--cog-muted) !important;
}

aside a:hover,
aside button:hover,
nav a:hover,
nav button:hover {
  background-color: var(--cog-primary-soft) !important;
  color: var(--cog-primary-dark) !important;
}

aside [class*="text-[#2563eb]"],
aside [class*="text-blue-"],
nav [class*="text-[#2563eb]"],
nav [class*="text-blue-"] {
  color: var(--cog-primary-dark) !important;
}

[class*="bg-[#D1FAE5]"],
[class*="bg-[#DCFCE7]"],
[class*="bg-[#F0FDF4]"],
[class*="bg-green-"] {
  background-color: var(--cog-success-soft) !important;
  border-color: #b9dfd0 !important;
  color: #26624e !important;
}

[class*="text-[#065F46]"],
[class*="text-[#047857]"],
[class*="text-[#16a34a]"],
[class*="text-green-"] {
  color: var(--cog-success) !important;
}

[class*="bg-[#FEF3C7]"],
[class*="bg-[#FEF2F2]"],
[class*="bg-yellow-"],
[class*="bg-amber-"] {
  background-color: var(--cog-warning-soft) !important;
  border-color: #ead6a5 !important;
  color: #765322 !important;
}

[class*="text-[#92400E]"],
[class*="text-[#D97706]"],
[class*="text-[#B45309]"],
[class*="text-yellow-"],
[class*="text-amber-"] {
  color: var(--cog-warning) !important;
}

[class*="bg-[#FEE2E2]"],
[class*="bg-[#FECACA]"],
[class*="bg-[#FCA5A5]"],
[class*="bg-red-"] {
  background-color: var(--cog-danger-soft) !important;
  border-color: #f1c8c5 !important;
  color: #8c3d42 !important;
}

[class*="bg-[#EF4444]"],
[class*="bg-[#DC2626]"],
[class*="bg-red-600"],
[class*="bg-red-500"] {
  background-color: var(--cog-danger) !important;
  border-color: var(--cog-danger) !important;
  color: #ffffff !important;
}

[class*="text-[#991B1B]"],
[class*="text-[#B91C1C]"],
[class*="text-[#DC2626]"],
[class*="text-red-"] {
  color: var(--cog-danger) !important;
}

[class*="bg-[#EDE9FE]"],
[class*="bg-[#FCE7F3]"],
[class*="bg-purple-"],
[class*="bg-pink-"] {
  background-color: var(--cog-lavender-soft) !important;
  border-color: #ddd0eb !important;
  color: var(--cog-lavender) !important;
}

[class*="text-[#5B21B6]"],
[class*="text-[#BE185D]"],
[class*="text-purple-"],
[class*="text-pink-"] {
  color: var(--cog-lavender) !important;
}

[class*="ring-[#2563eb]"],
[class*="focus-visible:ring"] {
  --tw-ring-color: rgba(158, 217, 232, 0.5) !important;
}

[class*="data-[state=checked]:bg-[#2563eb]"][data-state="checked"],
[role="switch"][data-state="checked"],
button[aria-checked="true"] {
  background-color: var(--cog-accent) !important;
  border-color: var(--cog-accent) !important;
}

[role="tab"][data-state="active"],
[data-state="active"][role="tab"] {
  background-color: var(--cog-primary-soft) !important;
  color: var(--cog-primary-dark) !important;
  border-color: rgba(47, 158, 193, 0.28) !important;
}

table thead,
[class*="bg-gradient-to-b"] {
  background: linear-gradient(180deg, #fffdf8 0%, #f7fbfa 100%) !important;
}

[class*="from-white"][class*="to-[#F9FAFB]"] {
  background-image: linear-gradient(180deg, #fffdf8 0%, #f7fbfa 100%) !important;
}

[class*="bg-gradient-to-r"],
[class*="bg-gradient-to-br"] {
  background-image: linear-gradient(135deg, #e8f7fb 0%, #fbf7ef 55%, #f0eaf6 100%) !important;
}

img[src*="logo"],
img[alt*="Cogniare"],
img[alt*="COGNIARE"] {
  filter: saturate(0.75) hue-rotate(130deg) brightness(1.03);
}

.Toastify__toast,
[class*="Toastify"] {
  background-color: var(--cog-surface) !important;
  color: var(--cog-text) !important;
  border: 1px solid var(--cog-border) !important;
  box-shadow: var(--cog-shadow) !important;
}

.Toastify__progress-bar {
  background: var(--cog-primary) !important;
}
