/* Patch CSS - Custom Themes */

/* --- ТЕМА 1: ROUTY (Салатово-зеленая) --- */
:root.theme-routy {
  /* Перекрашиваем основной синий цвет бренда в сочный зеленый */
  --color-blue-50: #f0fdf4 !important;
  --color-blue-100: #dcfce7 !important;
  --color-blue-200: #bbf7d0 !important;
  --color-blue-300: #86efac !important;
  --color-blue-400: #4ade80 !important;
  --color-blue-500: #22c55e !important; /* Наш сочный зеленый */
  --color-blue-600: #16a34a !important;
  --color-blue-700: #15803d !important;
  --color-blue-900: #14532d !important;
  --color-blue-950: #052e16 !important;
  
  --primary: #22c55e !important;
  --ring: #22c55e !important;
}

/* Корректировка градиентов и эффектов под зеленую тему */
:root.theme-routy .bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--color-blue-500), var(--color-blue-700)) !important;
}
:root.theme-routy .text-blue-500,
:root.theme-routy .text-blue-600 {
  color: #22c55e !important;
}
:root.theme-routy .bg-blue-500,
:root.theme-routy .bg-blue-600 {
  background-color: #22c55e !important;
}

/* --- ТЕМА 2: NZK API (Черно-серо-оранжевая) --- */
:root.theme-nzk {
  /* Перекрашиваем основной синий цвет бренда в сочный оранжевый */
  --color-blue-50: #fff7ed !important;
  --color-blue-100: #ffedd5 !important;
  --color-blue-200: #ffd7a8 !important;
  --color-blue-300: #ffb96d !important;
  --color-blue-400: #fb923c !important;
  --color-blue-500: #f97316 !important; /* Наш сочный оранжевый */
  --color-blue-600: #ea580c !important;
  --color-blue-700: #c2410c !important;
  --color-blue-900: #7c2d12 !important;
  --color-blue-950: #431407 !important;
  
  --primary: #f97316 !important;
  --ring: #f97316 !important;

  /* Переопределение глобального фона на глубокий черный/серый */
  --background: #09090b !important;
  --color-background: #09090b !important;
  --foreground: #fafafa !important;
  --border: #27272a !important;
  --color-border: #27272a !important;
  
  /* Приглушенные тона и поповеры (меню/дропдауны) */
  --muted: #131316 !important;
  --muted-foreground: #a1a1aa !important;
  --secondary: #131316 !important;
  --secondary-foreground: #fafafa !important;
  --popover: #18181b !important;
  --popover-foreground: #fafafa !important;
  
  /* Боковое меню и карточки */
  --sidebar: #09090b !important;
  --card: #18181b !important;
}

:root.theme-nzk body {
  background-color: #09090b !important;
  color: #fafafa !important;
}

/* Темные карточки для NZK */
:root.theme-nzk .bg-card,
:root.theme-nzk .bg-white {
  background-color: #18181b !important;
  color: #fafafa !important;
  border-color: #27272a !important;
}
:root.theme-nzk .text-slate-900,
:root.theme-nzk .text-zinc-900,
:root.theme-nzk .text-black {
  color: #fafafa !important;
}
:root.theme-nzk .text-slate-500,
:root.theme-nzk .text-muted-foreground {
  color: #a1a1aa !important;
}
:root.theme-nzk input, 
:root.theme-nzk select, 
:root.theme-nzk textarea {
  background-color: #18181b !important;
  color: #fafafa !important;
  border-color: #27272a !important;
}

/* Оранжевые акценты */
:root.theme-nzk .text-blue-500,
:root.theme-nzk .text-blue-600 {
  color: #f97316 !important;
}
:root.theme-nzk .bg-blue-500,
:root.theme-nzk .bg-blue-600 {
  background-color: #f97316 !important;
}

/* --- СОВМЕСТНЫЕ ПРАВИЛА --- */

/* Скрытие оригинальных кнопок смены языка, если они мешают */
.original-lang-btn-hidden {
  display: none !important;
}

/* Отключаем любые фильтры и прозрачность для наших кастомных баннеров, чтобы они были максимально сочными */
img[src*="routy-banner"],
img[src*="nzk-banner"] {
  filter: none !important;
  opacity: 1 !important;
}

/* Маскируем скелетон кнопки Войти в шапке под готовую кнопку, чтобы убрать задержку и моргание при загрузке */
header div[class*="animate-pulse"],
header span[class*="animate-pulse"],
header div[class*="skeleton"],
header span[class*="skeleton"] {
  animation: none !important;
  background-color: var(--primary) !important;
  border-radius: 9999px !important; /* Овальная форма rounded-full как у оригинальной кнопки */
  position: relative !important;
  opacity: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 68px !important; /* Точная ширина кнопки "Войти" на русском */
  height: 32px !important; /* Точная высота h-8 (32px) */
  cursor: pointer !important;
}

header div[class*="animate-pulse"]::after,
header span[class*="animate-pulse"]::after,
header div[class*="skeleton"]::after,
header span[class*="skeleton"]::after {
  content: "Войти" !important;
  color: var(--primary-foreground, #ffffff) !important;
  font-size: 12px !important; /* Соответствует оригинальному размеру text-xs */
  font-weight: 500 !important;
  position: absolute !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}


/* Перекрашивание логотипов (кроме баннеров, так как баннеры мы меняем в JS на готовые чистые SVG) */
:root.theme-routy img[src*="logo"], 
:root.theme-routy img[src*="brand"] {
  filter: hue-rotate(100deg) saturate(1.8) !important;
}
:root.theme-nzk img[src*="logo"], 
:root.theme-nzk img[src*="brand"] {
  filter: hue-rotate(185deg) saturate(2) !important;
}

/* --- SVG АНИМАЦИИ И СОЕДИНИТЕЛЬНЫЕ ЛИНИИ --- */

/* Векторные линии и эффекты свечения для Routy (Зеленые) */
:root.theme-routy svg [stroke="#91caff" i],
:root.theme-routy svg [stroke="#0040ff" i],
:root.theme-routy svg [stroke="#3073f2" i],
:root.theme-routy svg [stroke="#4284ff" i],
:root.theme-routy svg [stroke="#2e62f1" i],
:root.theme-routy svg [stroke="#537ef5" i],
:root.theme-routy svg [stroke="#2358d8" i],
:root.theme-routy svg [stroke="#184fbf" i],
:root.theme-routy svg [stroke="#518ff9" i],
:root.theme-routy svg [stroke="#2775dc" i],
:root.theme-routy svg [stroke="#005cbe" i],
:root.theme-routy svg [stroke="#1664ff" i],
:root.theme-routy svg [stroke="#1ac6ff" i],
:root.theme-routy svg [stroke="#2b6af5" i],
:root.theme-routy svg [stroke="#1b4fd8" i],
:root.theme-routy svg [stroke="#5b8df8" i],
:root.theme-routy svg [stroke="#1677ff" i],
:root.theme-routy svg [stroke="#1890ff" i],
:root.theme-routy svg [stroke="#2563eb" i],
:root.theme-routy svg [stroke="#3b82f6" i],
:root.theme-routy svg [stroke="#3080ff" i],
:root.theme-routy svg [stroke="#155dfc" i],
:root.theme-routy svg [stroke="#1447e6" i] {
  stroke: #22c55e !important;
}

:root.theme-routy svg [fill="#91caff" i],
:root.theme-routy svg [fill="#0040ff" i],
:root.theme-routy svg [fill="#3073f2" i],
:root.theme-routy svg [fill="#4284ff" i],
:root.theme-routy svg [fill="#2e62f1" i],
:root.theme-routy svg [fill="#537ef5" i],
:root.theme-routy svg [fill="#2358d8" i],
:root.theme-routy svg [fill="#184fbf" i],
:root.theme-routy svg [fill="#518ff9" i],
:root.theme-routy svg [fill="#2775dc" i],
:root.theme-routy svg [fill="#005cbe" i],
:root.theme-routy svg [fill="#1664ff" i],
:root.theme-routy svg [fill="#1ac6ff" i],
:root.theme-routy svg [fill="#2b6af5" i],
:root.theme-routy svg [fill="#1b4fd8" i],
:root.theme-routy svg [fill="#5b8df8" i],
:root.theme-routy svg [fill="#1677ff" i],
:root.theme-routy svg [fill="#1890ff" i],
:root.theme-routy svg [fill="#2563eb" i],
:root.theme-routy svg [fill="#3b82f6" i],
:root.theme-routy svg [fill="#3080ff" i],
:root.theme-routy svg [fill="#155dfc" i],
:root.theme-routy svg [fill="#1447e6" i] {
  fill: #22c55e !important;
}

/* Векторные линии и эффекты свечения для NZK API (Оранжевые) */
:root.theme-nzk svg [stroke="#91caff" i],
:root.theme-nzk svg [stroke="#0040ff" i],
:root.theme-nzk svg [stroke="#3073f2" i],
:root.theme-nzk svg [stroke="#4284ff" i],
:root.theme-nzk svg [stroke="#2e62f1" i],
:root.theme-nzk svg [stroke="#537ef5" i],
:root.theme-nzk svg [stroke="#2358d8" i],
:root.theme-nzk svg [stroke="#184fbf" i],
:root.theme-nzk svg [stroke="#518ff9" i],
:root.theme-nzk svg [stroke="#2775dc" i],
:root.theme-nzk svg [stroke="#005cbe" i],
:root.theme-nzk svg [stroke="#1664ff" i],
:root.theme-nzk svg [stroke="#1ac6ff" i],
:root.theme-nzk svg [stroke="#2b6af5" i],
:root.theme-nzk svg [stroke="#1b4fd8" i],
:root.theme-nzk svg [stroke="#5b8df8" i],
:root.theme-nzk svg [stroke="#1677ff" i],
:root.theme-nzk svg [stroke="#1890ff" i],
:root.theme-nzk svg [stroke="#2563eb" i],
:root.theme-nzk svg [stroke="#3b82f6" i],
:root.theme-nzk svg [stroke="#3080ff" i],
:root.theme-nzk svg [stroke="#155dfc" i],
:root.theme-nzk svg [stroke="#1447e6" i] {
  stroke: #f97316 !important;
}

:root.theme-nzk svg [fill="#91caff" i],
:root.theme-nzk svg [fill="#0040ff" i],
:root.theme-nzk svg [fill="#3073f2" i],
:root.theme-nzk svg [fill="#4284ff" i],
:root.theme-nzk svg [fill="#2e62f1" i],
:root.theme-nzk svg [fill="#537ef5" i],
:root.theme-nzk svg [fill="#2358d8" i],
:root.theme-nzk svg [fill="#184fbf" i],
:root.theme-nzk svg [fill="#518ff9" i],
:root.theme-nzk svg [fill="#2775dc" i],
:root.theme-nzk svg [fill="#005cbe" i],
:root.theme-nzk svg [fill="#1664ff" i],
:root.theme-nzk svg [fill="#1ac6ff" i],
:root.theme-nzk svg [fill="#2b6af5" i],
:root.theme-nzk svg [fill="#1b4fd8" i],
:root.theme-nzk svg [fill="#5b8df8" i],
:root.theme-nzk svg [fill="#1677ff" i],
:root.theme-nzk svg [fill="#1890ff" i],
:root.theme-nzk svg [fill="#2563eb" i],
:root.theme-nzk svg [fill="#3b82f6" i],
:root.theme-nzk svg [fill="#3080ff" i],
:root.theme-nzk svg [fill="#155dfc" i],
:root.theme-nzk svg [fill="#1447e6" i] {
  fill: #f97316 !important;
}

/* --- ГРАДИЕНТНЫЕ ТОЧКИ (STOP-COLOR) ДЛЯ ФОНОВЫХ ВОЛН --- */

/* Routy (Зеленый градиент) */
:root.theme-routy svg stop[stop-color="#0867DF" i],
:root.theme-routy svg stop[stop-color="#0668E1" i],
:root.theme-routy svg stop[stop-color="#0064E0" i],
:root.theme-routy svg stop[stop-color="#0064DF" i],
:root.theme-routy svg stop[stop-color="#1d65c1" i],
:root.theme-routy svg stop[stop-color="#1447e6" i],
:root.theme-routy svg stop[stop-color="#6336E7" i],
:root.theme-routy svg stop[stop-color="#6F69F7" i],
:root.theme-routy svg stop[stop-color="#1e37fc" i],
:root.theme-routy svg stop[stop-color="#615ced" i] {
  stop-color: #16a34a !important;
}

:root.theme-routy svg stop[stop-color="#0072EC" i],
:root.theme-routy svg stop[stop-color="#027AF3" i],
:root.theme-routy svg stop[stop-color="#0377EF" i],
:root.theme-routy svg stop[stop-color="#0279F1" i],
:root.theme-routy svg stop[stop-color="#0471E9" i],
:root.theme-routy svg stop[stop-color="#3186ff" i],
:root.theme-routy svg stop[stop-color="#3073f2" i],
:root.theme-routy svg stop[stop-color="#3080ff" i],
:root.theme-routy svg stop[stop-color="#2563eb" i],
:root.theme-routy svg stop[stop-color="#3b82f6" i] {
  stop-color: #22c55e !important;
}

:root.theme-routy svg stop[stop-color="#007CF6" i],
:root.theme-routy svg stop[stop-color="#007FF9" i],
:root.theme-routy svg stop[stop-color="#0082FB" i],
:root.theme-routy svg stop[stop-color="#007FF8" i],
:root.theme-routy svg stop[stop-color="#0081FA" i],
:root.theme-routy svg stop[stop-color="#0080F9" i],
:root.theme-routy svg stop[stop-color="#91caff" i],
:root.theme-routy svg stop[stop-color="#54a2ff" i],
:root.theme-routy svg stop[stop-color="#5b8df8" i] {
  stop-color: #86efac !important;
}

/* NZK API (Оранжевый градиент) */
:root.theme-nzk svg stop[stop-color="#0867DF" i],
:root.theme-nzk svg stop[stop-color="#0668E1" i],
:root.theme-nzk svg stop[stop-color="#0064E0" i],
:root.theme-nzk svg stop[stop-color="#0064DF" i],
:root.theme-nzk svg stop[stop-color="#1d65c1" i],
:root.theme-nzk svg stop[stop-color="#1447e6" i],
:root.theme-nzk svg stop[stop-color="#6336E7" i],
:root.theme-nzk svg stop[stop-color="#6F69F7" i],
:root.theme-nzk svg stop[stop-color="#1e37fc" i],
:root.theme-nzk svg stop[stop-color="#615ced" i] {
  stop-color: #c2410c !important;
}

:root.theme-nzk svg stop[stop-color="#0072EC" i],
:root.theme-nzk svg stop[stop-color="#027AF3" i],
:root.theme-nzk svg stop[stop-color="#0377EF" i],
:root.theme-nzk svg stop[stop-color="#0279F1" i],
:root.theme-nzk svg stop[stop-color="#0471E9" i],
:root.theme-nzk svg stop[stop-color="#3186ff" i],
:root.theme-nzk svg stop[stop-color="#3073f2" i],
:root.theme-nzk svg stop[stop-color="#3080ff" i],
:root.theme-nzk svg stop[stop-color="#2563eb" i],
:root.theme-nzk svg stop[stop-color="#3b82f6" i] {
  stop-color: #f97316 !important;
}

:root.theme-nzk svg stop[stop-color="#007CF6" i],
:root.theme-nzk svg stop[stop-color="#007FF9" i],
:root.theme-nzk svg stop[stop-color="#0082FB" i],
:root.theme-nzk svg stop[stop-color="#007FF8" i],
:root.theme-nzk svg stop[stop-color="#0081FA" i],
:root.theme-nzk svg stop[stop-color="#0080F9" i],
:root.theme-nzk svg stop[stop-color="#91caff" i],
:root.theme-nzk svg stop[stop-color="#54a2ff" i],
:root.theme-nzk svg stop[stop-color="#5b8df8" i] {
  stop-color: #ffb96d !important;
}

/* --- ГЛОБАЛЬНЫЕ КЛАССЫ ФОНОВЫХ ВОЛН И СВЕТЯЩИХСЯ СФЕР --- */

/* Routy (Салатовые волны и свечения) */
:root.theme-routy .nebius-wave {
  background: radial-gradient(110% 85% at 12% 125%, #22c55e0a 0%, #0000 52%),
              radial-gradient(130% 100% at 58% 135%, #22c55e0d 0%, #22c55e05 38%, #0000 72%),
              radial-gradient(80% 60% at 88% 105%, #86efac14 0%, #0000 58%),
              radial-gradient(90% 65% at 35% 115%, #ffffff1a 0%, #0000 55%),
              linear-gradient(#fbfdfc 0%, #f4fdf7 48%, #eefbf2 100%) !important;
}

:root.theme-routy.dark .nebius-wave,
.dark :root.theme-routy .nebius-wave {
  background: radial-gradient(110% 85% at 12% 125%, #064e3b08 0%, #0000 52%),
              radial-gradient(130% 100% at 58% 135%, #22c55e0a 0%, #22c55e04 38%, #0000 72%),
              radial-gradient(80% 60% at 88% 105%, #15803d0d 0%, #0000 58%),
              linear-gradient(#052e16 0%, #022c22 55%, #052e16 100%) !important;
}

:root.theme-routy .nebius-wave-blob-1 {
  background: #86efac14 !important;
}
:root.theme-routy.dark .nebius-wave-blob-1,
.dark :root.theme-routy .nebius-wave-blob-1 {
  background: #22c55e0d !important;
}
:root.theme-routy .nebius-wave-blob-2 {
  background: #22c55e14 !important;
}
:root.theme-routy.dark .nebius-wave-blob-2,
.dark :root.theme-routy .nebius-wave-blob-2 {
  background: #4ade800a !important;
}

/* NZK API (Оранжево-черные волны и свечения) */
:root.theme-nzk .nebius-wave {
  background: radial-gradient(110% 85% at 12% 125%, #c2410c08 0%, #0000 52%),
              radial-gradient(130% 100% at 58% 135%, #f973160a 0%, #f9731604 38%, #0000 72%),
              radial-gradient(80% 60% at 88% 105%, #ffb96d0d 0%, #0000 58%),
              radial-gradient(90% 65% at 35% 115%, #ffffff0a 0%, #0000 55%),
              linear-gradient(#09090b 0%, #0f0f11 48%, #18181b 100%) !important;
}

:root.theme-nzk.dark .nebius-wave,
.dark :root.theme-nzk .nebius-wave {
  background: radial-gradient(110% 85% at 12% 125%, #7c2d120a 0%, #0000 52%),
              radial-gradient(130% 100% at 58% 135%, #f973160d 0%, #f9731604 38%, #0000 72%),
              radial-gradient(80% 60% at 88% 105%, #c2410c0d 0%, #0000 58%),
              linear-gradient(#09090b 0%, #0e0e11 55%, #18181b 100%) !important;
}

:root.theme-nzk .nebius-wave-blob-1 {
  background: #f973160a !important;
}
:root.theme-nzk.dark .nebius-wave-blob-1,
.dark :root.theme-nzk .nebius-wave-blob-1 {
  background: #f973160d !important;
}
:root.theme-nzk .nebius-wave-blob-2 {
  background: #fb923c0a !important;
}
:root.theme-nzk.dark .nebius-wave-blob-2,
.dark :root.theme-nzk .nebius-wave-blob-2 {
  background: #fb923c0d !important;
}

/* --- ТАЙЛВИНД-ГРАДИЕНТЫ И СЕКЦИИ --- */

/* Routy (Зеленые градиенты) */
:root.theme-routy .bg-\[linear-gradient\(150deg\,\#eef3fa_0\%\,\#d9e6fd_70\%\,\#b9cffc_100\%\)\] {
  background-image: linear-gradient(150deg, #f8fcf9 0%, #f0fdf4 70%, #dcfce7 100%) !important;
}
:root.theme-routy .bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#b9cffc_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#b9cffc_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#eef3fa_0\%\,\#d9e6fd_100\%\)\] {
  background-image: radial-gradient(55% 65% at 0 100%, #dcfce7 0%, #0000 65%),
                    radial-gradient(55% 65% at 100% 100%, #dcfce7 0%, #0000 65%),
                    linear-gradient(#f8fcf9 0%, #f0fdf4 100%) !important;
}
:root.theme-routy .dark\:bg-\[linear-gradient\(150deg\,\#0d1520_0\%\,\#15233a_60\%\,\#1f3a66_100\%\)\]:is(.dark *),
:root.theme-routy .bg-\[linear-gradient\(150deg\,\#0d1520_0\%\,\#15233a_60\%\,\#1f3a66_100\%\)\] {
  background-image: linear-gradient(150deg, #052e16 0%, #022c22 60%, #052e16 100%) !important;
}
:root.theme-routy .dark\:bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#0d1520_0\%\,\#15233a_100\%\)\]:is(.dark *),
:root.theme-routy .bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#0d1520_0\%\,\#15233a_100\%\)\] {
  background-image: radial-gradient(55% 65% at 0 100%, #022c22 0%, #0000 65%),
                    radial-gradient(55% 65% at 100% 100%, #022c22 0%, #0000 65%),
                    linear-gradient(#052e16 0%, #022c22 100%) !important;
}

/* NZK API (Черно-оранжевые градиенты) */
:root.theme-nzk .bg-\[linear-gradient\(150deg\,\#eef3fa_0\%\,\#d9e6fd_70\%\,\#b9cffc_100\%\)\],
:root.theme-nzk .dark\:bg-\[linear-gradient\(150deg\,\#0d1520_0\%\,\#15233a_60\%\,\#1f3a66_100\%\)\]:is(.dark *),
:root.theme-nzk .bg-\[linear-gradient\(150deg\,\#0d1520_0\%\,\#15233a_60\%\,\#1f3a66_100\%\)\] {
  background-image: linear-gradient(150deg, #09090b 0%, #0f0f11 60%, #18181b 100%) !important;
}
:root.theme-nzk .bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#b9cffc_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#b9cffc_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#eef3fa_0\%\,\#d9e6fd_100\%\)\],
:root.theme-nzk .dark\:bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#0d1520_0\%\,\#15233a_100\%\)\]:is(.dark *),
:root.theme-nzk .bg-\[radial-gradient\(55\%_65\%_at_0\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,radial-gradient\(55\%_65\%_at_100\%_100\%\,\#1f3a66_0\%\,transparent_65\%\)\,linear-gradient\(180deg\,\#0d1520_0\%\,\#15233a_100\%\)\] {
  background-image: radial-gradient(55% 65% at 0 100%, rgba(255, 69, 0, 0.15) 0%, #0000 65%),
                    radial-gradient(55% 65% at 100% 100%, rgba(255, 69, 0, 0.15) 0%, #0000 65%),
                    linear-gradient(#09090b 0%, #0f0f11 100%) !important;
}

/* --- ДОПОЛНИТЕЛЬНЫЕ ЦВЕТА СВЯЗУЮЩИХ ВОЛН (ИЗ ДРУГИХ ЧАНКОВ) --- */

/* Routy (Зеленые) */
:root.theme-routy svg stop[stop-color="#8fb0f9" i] { stop-color: #86efac !important; }
:root.theme-routy svg stop[stop-color="#7fa8fa" i] { stop-color: #a7f3d0 !important; }
:root.theme-routy svg stop[stop-color="#1d3f8f" i] { stop-color: #065f46 !important; }
:root.theme-routy svg stop[stop-color="#16389a" i] { stop-color: #064e3b !important; }
:root.theme-routy svg stop[stop-color="#9cbcfb" i] { stop-color: #4ade80 !important; }
:root.theme-routy svg stop[stop-color="#bdd4fc" i] { stop-color: #bbf7d0 !important; }
:root.theme-routy svg stop[stop-color="#1b2f55" i] { stop-color: #14532d !important; }
:root.theme-routy svg stop[stop-color="#22395f" i] { stop-color: #166534 !important; }
:root.theme-routy svg stop[stop-color="#33547e" i] { stop-color: #15803d !important; }
:root.theme-routy svg stop[stop-color="#2b4a73" i] { stop-color: #166534 !important; }

/* NZK API (Оранжевые) */
:root.theme-nzk svg stop[stop-color="#8fb0f9" i] { stop-color: #ffb96d !important; }
:root.theme-nzk svg stop[stop-color="#7fa8fa" i] { stop-color: #ffd7a8 !important; }
:root.theme-nzk svg stop[stop-color="#1d3f8f" i] { stop-color: #7c2d12 !important; }
:root.theme-nzk svg stop[stop-color="#16389a" i] { stop-color: #431407 !important; }
:root.theme-nzk svg stop[stop-color="#9cbcfb" i] { stop-color: #f97316 !important; }
:root.theme-nzk svg stop[stop-color="#bdd4fc" i] { stop-color: #ffd7a8 !important; }
:root.theme-nzk svg stop[stop-color="#1b2f55" i] { stop-color: #09090b !important; }
:root.theme-nzk svg stop[stop-color="#22395f" i] { stop-color: #18181b !important; }
:root.theme-nzk svg stop[stop-color="#33547e" i] { stop-color: #7c2d12 !important; }
:root.theme-nzk svg stop[stop-color="#2b4a73" i] { stop-color: #7c2d12 !important; }

/* --- ДОПОЛНИТЕЛЬНЫЕ РАЗДЕЛЫ (РАЗРАБОТЧИКИ И СТАТИСТИКА) --- */

/* Тема Routy (Зеленая) */
:root.theme-routy .bg-\[\#052b42\] {
  background-color: #bbf7d0 !important; /* Приятный яркий салатовый фон */
}
/* Перекрашиваем белые тексты на салатовом фоне для читаемости */
:root.theme-routy .bg-\[\#052b42\] .text-white,
:root.theme-routy .bg-\[\#052b42\] h2 {
  color: #042f1a !important; /* Глубокий темно-зеленый цвет для заголовков */
}
:root.theme-routy .bg-\[\#052b42\] .text-white\/70,
:root.theme-routy .bg-\[\#052b42\] p,
:root.theme-routy .bg-\[\#052b42\] li span {
  color: #042f1a !important; /* Темно-зеленое описание и пункты списка */
}
:root.theme-routy .bg-\[\#052b42\] li {
  color: #042f1a !important; /* Темно-зеленые пункты списка */
}
:root.theme-routy .bg-\[\#052b42\] .text-\[\#8fb0f9\] {
  color: #15803d !important; /* Зеленый заголовок "ИНФРАСТРУКТУРА" */
}
:root.theme-routy .bg-\[\#5b8df8\]\/20 {
  background-color: rgba(22, 163, 74, 0.15) !important; /* Подложка галочек */
}
:root.theme-routy .text-\[\#5b8df8\] {
  color: #16a34a !important; /* Зеленые галочки */
}
:root.theme-routy .bg-\[\#2b6af5\] {
  background-color: #22c55e !important; /* Ярко-зеленый фон плашки статистики */
}
:root.theme-routy .dark\:bg-\[\#1b4fd8\]:is(.dark *) {
  background-color: #15803d !important; /* Темно-зеленый фон статистики в темной теме */
}

/* Шапка акции для Routy */
:root.theme-routy header .bg-\[\#052b42\] {
  background-color: #bbf7d0 !important; /* Салатовый фон плашки акции */
  border-bottom: 1px solid rgba(22, 163, 74, 0.15) !important;
}
:root.theme-routy header .bg-\[\#052b42\] a,
:root.theme-routy header .bg-\[\#052b42\] span,
:root.theme-routy header .bg-\[\#052b42\] svg {
  color: #042f1a !important; /* Читаемый темно-зеленый текст акции */
}

/* Темный режим для Routy */
:root.theme-routy.dark .bg-\[\#052b42\],
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) {
  background-color: #047857 !important; /* Сочный темно-салатовый фон в темном режиме */
}
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .text-white,
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) h2,
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) li {
  color: #ffffff !important; /* Белый текст на темно-зеленом фоне */
}
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .text-white\/70,
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) p {
  color: rgba(255, 255, 255, 0.7) !important;
}
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .text-\[\#8fb0f9\] {
  color: #a7f3d0 !important; /* Светло-салатовый заголовок */
}
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .bg-\[\#5b8df8\]\/20,
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .dark\:bg-\[\#5b8df8\]\/15 {
  background-color: rgba(167, 243, 208, 0.2) !important;
}
.dark :root.theme-routy .dark\:bg-\[\#15233a\]:is(.dark *) .text-\[\#5b8df8\] {
  color: #34d399 !important;
}
:root.theme-routy.dark header .bg-\[\#052b42\],
.dark :root.theme-routy header .dark\:bg-\[\#0a1f33\] {
  background-color: #047857 !important; /* Зеленый фон в темном режиме */
  border-bottom: 1px solid rgba(167, 243, 208, 0.1) !important;
}
.dark :root.theme-routy header .dark\:bg-\[\#0a1f33\] a,
.dark :root.theme-routy header .dark\:bg-\[\#0a1f33\] span,
.dark :root.theme-routy header .dark\:bg-\[\#0a1f33\] svg {
  color: #ffffff !important;
}


/* Тема NZK API (Оранжево-черная) */
:root.theme-nzk .bg-\[\#052b42\] {
  background-color: #1a1a1e !important; /* Контрастный темно-серый фон раздела разработчиков, выделяющийся на черном фоне */
}
:root.theme-nzk .dark\:bg-\[\#15233a\]:is(.dark *) {
  background-color: #131316 !important; /* Угольный фон, не дающий блоку сливаться с фоном страницы */
}
:root.theme-nzk .text-\[\#8fb0f9\] {
  color: #ff4500 !important; /* Насыщенный оранжево-красный заголовок "ИНФРАСТРУКТУРА" */
}
:root.theme-nzk .bg-\[\#5b8df8\]\/20 {
  background-color: rgba(255, 69, 0, 0.15) !important; /* Оранжевая подложка галочек */
}
:root.theme-nzk .dark\:bg-\[\#5b8df8\]\/15:is(.dark *) {
  background-color: rgba(255, 69, 0, 0.12) !important;
}
:root.theme-nzk .text-\[\#5b8df8\] {
  color: #ff4500 !important; /* Оранжевые галочки */
}
:root.theme-nzk .bg-\[\#2b6af5\] {
  background-color: #ff4500 !important; /* Ярко-оранжевый фон плашки статистики */
}
:root.theme-nzk .dark\:bg-\[\#1b4fd8\]:is(.dark *) {
  background-color: #ea580c !important; /* Насыщенный оранжевый фон статистики */
}

/* Шапка акции для NZK API */
:root.theme-nzk header .bg-\[\#052b42\],
:root.theme-nzk header .dark\:bg-\[\#0a1f33\]:is(.dark *) {
  background-color: #131316 !important; /* Темно-серый фон плашки акции */
  border-bottom: 1px solid rgba(255, 69, 0, 0.2) !important;
}
:root.theme-nzk header .bg-\[\#052b42\] a,
:root.theme-nzk header .bg-\[\#052b42\] span,
:root.theme-nzk header .bg-\[\#052b42\] svg,
:root.theme-nzk header .dark\:bg-\[\#0a1f33\]:is(.dark *) a,
:root.theme-nzk header .dark\:bg-\[\#0a1f33\]:is(.dark *) span,
:root.theme-nzk header .dark\:bg-\[\#0a1f33\]:is(.dark *) svg {
  color: #ff4500 !important; /* Ярко-оранжевый текст на темном фоне */
}

/* --- СТИЛИ ДЛЯ ДРОПДАУНОВ И ПОПОВЕРОВ ПРИ АКТИВНЫХ ТЕМАХ --- */

/* Дропдауны и модальные поповеры в теме NZK API */
.theme-nzk [role="menu"],
.theme-nzk [role="content"],
.theme-nzk [data-radix-popper-content-wrapper] > div,
.theme-nzk .bg-popover,
.theme-nzk .bg-card,
.dark .theme-nzk [role="menu"],
.dark .theme-nzk [role="content"] {
  background-color: #18181b !important; /* Насыщенный темно-серый фон */
  color: #fafafa !important;
  border: 1px solid #27272a !important;
}

/* Элементы меню при наведении/активности в NZK API */
.theme-nzk [role="menuitem"]:hover,
.theme-nzk [role="menuitem"]:focus,
.theme-nzk [role="menuitem"][data-highlighted],
.theme-nzk [role="menuitemradio"]:hover,
.theme-nzk [role="menuitemradio"]:focus,
.theme-nzk [role="menuitemradio"][data-highlighted],
.theme-nzk button[role="menuitem"]:hover,
.theme-nzk button[role="menuitem"]:focus {
  background-color: #27272a !important;
  color: #ff4500 !important; /* Подсветка оранжевым */
}

/* Дропдауны и модальные поповеры в теме Routy (светлый режим) */
:root.theme-routy:not(.dark) [role="menu"],
:root.theme-routy:not(.dark) [role="content"],
:root.theme-routy:not(.dark) [data-radix-popper-content-wrapper] > div,
:root.theme-routy:not(.dark) .bg-popover {
  background-color: #ffffff !important;
  color: #042f1a !important;
  border: 1px solid #dcfce7 !important;
  box-shadow: 0 10px 30px -10px rgba(6, 78, 59, 0.1) !important;
}

/* Элементы меню при наведении/активности в Routy */
:root.theme-routy:not(.dark) [role="menuitem"]:hover,
:root.theme-routy:not(.dark) [role="menuitem"]:focus,
:root.theme-routy:not(.dark) [role="menuitem"][data-highlighted],
:root.theme-routy:not(.dark) [role="menuitemradio"]:hover,
:root.theme-routy:not(.dark) [role="menuitemradio"]:focus,
:root.theme-routy:not(.dark) [role="menuitemradio"][data-highlighted],
:root.theme-routy:not(.dark) button[role="menuitem"]:hover,
:root.theme-routy:not(.dark) button[role="menuitem"]:focus {
  background-color: #f0fdf4 !important; /* Мягкий салатовый фон */
  color: #16a34a !important; /* Зеленый текст */
}


