/* ZoyaCard — pixel-perfect from Figma 1:79 */

._card_1je4x_3 {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  width: 100%;
  background: linear-gradient(150.477deg, #7F22FE 0%, #8E51FF 50%, #9810FA 100%);
  padding: 20px;
  box-sizing: border-box;
}

/* Zoya photo — Figma: left 75, top 0, 202×202, opacity 0.2 */
._bgImage_1je4x_14 {
  position: absolute;
  left: 75px;
  top: 0;
  width: 202px;
  height: 202px;
  object-fit: cover;
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

/* Glow 1 — left 257.73, top -31.99, 128×128, white 10%, blur 8 */
._glow1_1je4x_27 {
  position: absolute;
  left: 257.73px;
  top: -31.99px;
  width: 127.994px;
  height: 127.994px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.10);
  filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}

/* Glow 2 — left 289.73, top 31.99, 80×80, white 5% */
._glow2_1je4x_41 {
  position: absolute;
  left: 289.73px;
  top: 31.99px;
  width: 79.998px;
  height: 79.998px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.05);
  pointer-events: none;
  z-index: 0;
}

/* Glow 3 — left 209.74, top 128.32, 96×96, white 5% */
._glow3_1je4x_54 {
  position: absolute;
  left: 209.74px;
  top: 128.32px;
  width: 95.993px;
  height: 95.993px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.05);
  pointer-events: none;
  z-index: 0;
}

/* Content column */
._content_1je4x_67 {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11.991px;
  width: 100%;
  box-sizing: border-box;
}

/* Header row: icon + title block */
._headerRow_1je4x_79 {
  display: flex;
  align-items: center;
  gap: 7.998px;
  height: 42.999px;
  width: 100%;
}

/* Sparkle icon wrap — 32×32, white 20%, rounded 14 */
._iconWrap_1je4x_88 {
  width: 31.99px;
  height: 31.99px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

._titleBlock_1je4x_99 {
  display: flex;
  flex-direction: column;
}

._title_1je4x_99 {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 27px;
  color: #ffffff;
  white-space: nowrap;
}

._subtitle_1je4x_113 {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #ddd6ff;
  white-space: nowrap;
}

/* Description */
._description_1je4x_123 {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #ede9fe;
  max-width: 313px;
  margin: 0;
}

/* CTA button — full width, 49px tall, icons pinned left/right */
._cta_1je4x_134 {
  position: relative;
  width: 100%;
  height: 49.356px;
  border: 0.691px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s;
  padding: 0;
  box-sizing: border-box;
}

._cta_1je4x_134:active {
  transform: scale(0.98);
}

._ctaIconLeft_1je4x_156 {
  position: absolute;
  left: 15.99px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._ctaIconLeft_1je4x_156 svg {
  width: 15.995px;
  height: 15.995px;
}

._ctaLabel_1je4x_169 {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
}

._ctaIconRight_1je4x_177 {
  position: absolute;
  right: 15.99px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._ctaIconRight_1je4x_177 svg {
  width: 15.995px;
  height: 15.995px;
}
/* Корневой контейнер страницы */
._App_n9zja_2 {
  text-align: center;
  background-color: transparent;
  color: var(--tg-theme-text-color);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  /*min-height: 100vh;*/
  display: flex;
  flex-direction: column;
  align-items: center;
  /*justify-content: center;*/
  padding-top: 10px;
}

/* Стили для header внутри этой страницы */
._App-header_n9zja_16 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #2196f3;
  /*background-color: var(--tg-theme-header-bg-color);*/
  padding: 10px 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
}

/* Стили для блока с аватаром и именем пользователя */
._user-info_n9zja_32 {
  display: flex;
  align-items: center;
  margin-left: auto;
  text-shadow: 1px 1px 2px #222222;
}

._user-name_n9zja_39 {
  font-size: 15px;
  color: var(--tg-theme-text-color);
  margin-right: 20px;
}

/* Отступ для контента, чтобы он не скрывался под фиксированным header */
._content_n9zja_46 {
  padding-top: 70px;
}

/* Стили для контейнера кнопок */
._button-container_n9zja_51 {
  display: flex;
  flex-direction: column; /* кнопки будут располагаться вертикально */
  gap: 10px;
  align-items: center; /* выравнивание по центру, можно убрать при необходимости */
}

._button-container_n9zja_51 button {
  width: 100%;
  max-width: 200px;
  padding: 20px;
  height: 150px;
  text-align: center; /* текст по центру кнопки*/
  font-size: 16px;
  position: relative;
  overflow: hidden;
  border: none;
  color: var(--tg-theme-text-color);
  background-color: var(--tg-theme-bg-color);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}


/*.button-container button::before {*/
/*  content: '';*/
/*  position: absolute;*/
/*  top: 0;*/
/*  left: 0;*/
/*  width: 100%;*/
/*  height: 100%;*/
/*  background-image: url('../public/portfolio_img.png');*/
/*  background-size: cover;*/
/*  background-position: center;*/
/*  opacity: 0.3;*/
/*  z-index: 0;*/
/*  transition: opacity 0.3s ease;*/
/*}*/

._button-container_n9zja_51 button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('/assets/portfolio_img-HP9MgdmS.png');
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
  transition: opacity 0.3s ease;
}

._button-container_n9zja_51 button span {
  position: relative;
  z-index: 1;
  font-weight: bold;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}

/* Стили для блока с записями, похожими на оформление в Telegram */
._telegram-info_n9zja_116 {
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  width: 80%;
  padding: 10px;
  margin: 5px;
  color: var(--tg-theme-text-color);
}

._telegram-info_n9zja_116 h4 {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  color: var(--tg-theme-hint-color)
}


._telegram-book-item_n9zja_138 {
  background-color: #ffffff;
  border: 1px solid #d8e8f9;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 10px;
}

._magic-button-container_n9zja_146 {
  position: relative;
  display: block; /* вместо inline-block */
  padding: 15px;
  width: 100%;
}

/* Кнопка с градиентным фоном */
._magic-button_n9zja_146 {
  position: relative;
  z-index: 2;
  font-size: 18px;
  /*padding: 10px 20px;*/
  /*padding: 20px 40px; !* Увеличенные отступы: 15px сверху/снизу и 30px слева/справа *!*/
  border: 4px solid #ffd633;
  border-radius: 8px;
  width: 100%;
  /* Градиентный фон между двумя цветами */
  /*background: linear-gradient(90deg, #ffec99, #ffd633);*/
  /* Анимация для плавного смещения градиента */
  background-size: 200% 200%;
  animation: _gradientShift_n9zja_1 5s ease infinite;
  color: #000;
  overflow: hidden;
  /*max-width: 300px;*/
}

/* Анимация для смещения градиента */
@keyframes _gradientShift_n9zja_1 {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}


/* Звездочки (элементы можно настроить под свой вкус) */
/*.star {*/
/*  position: absolute;*/
/*  width: 6px;*/
/*  height: 6px;*/
/*  background-color: #ffd633;*/
/*  border-radius: 50%;*/
/*  opacity: 0;*/
/*  animation: twinkle 2s infinite;*/
/*}*/

/*.star-1 { top: 10%; left: 20%; }*/
/*.star-2 { top: 50%; left: 70%; }*/
/*.star-3 { top: 80%; left: 40%; }*/

@keyframes _twinkle_n9zja_1 {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

._button-text_n9zja_207 {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  line-height: 1;
  /*padding: 5px;*/
}

/* Основной текст кнопки */
._button-title_n9zja_216 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 2px; /* отступ снизу */
}

/* Подпись с меньшим шрифтом и другим оттенком черного */
._button-caption_n9zja_223 {
  font-size: 12px;
  color: #444; /* Можно подобрать другой оттенок по вкусу */
  margin-top: 2px; /* отступ сверху */
}

._magic-button_n9zja_146::before {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,207,72), rgba(244,169,0));
  background-size: 400%;
  z-index: -1;
  filter: blur(4px);
  animation: _burnGlow_n9zja_1 3s linear infinite;
}

@keyframes _burnGlow_n9zja_1 {
  0% { background-position: 0 center; }
  50% { background-position: 100% center; }
  100% { background-position: 0 center; }
}

/* Псевдоэлемент для движущегося "фитиля" */
/* Псевдоэлемент для движущегося "фитиля" */
._magic-button_n9zja_146::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  /*background: radial-gradient(circle, #ffec99, #ff4500);*/
  background: linear-gradient(#ffec99, #ff4500);
  border-radius: 50%;
  z-index: 3;
  animation: _moveFlame_n9zja_1 4s linear infinite;
  /*offset-path: path("M -4 -4 H calc(100% - 4px) V calc(100% - 4px) H -4 V -4 Z");*/
  /*offset-distance: 0;*/
}

/* Анимация движения "фитиля" вдоль периметра кнопки */
/*@keyframes moveFlame {*/
/*  to {*/
/*    offset-distance: 100%;*/
/*  }*/
/*}*/

@keyframes _moveFlame_n9zja_1 {
  /* Начинаем в левом верхнем углу */
  0% {
    top: -4px;
    left: -4px;
  }
  /* Движемся по верхней стороне до правого верхнего угла */
  38.46% {
    top: -4px;
    left: calc(100% - 4px);
  }
  /* Движемся по правой стороне до правого нижнего угла */
  50% {
    top: calc(100% - 4px);
    left: calc(100% - 4px);
  }
  /* Движемся по нижней стороне до левого нижнего угла */
  88.46% {
    top: calc(100% - 4px);
    left: -4px;
  }
  /* Возвращаемся в исходное положение (левая сторона) */
  100% {
    top: -4px;
    left: -4px;
  }
}

/* Глобальная стилизация модальных окон Ant Design под тему Telegram */
._ant-modal_n9zja_302 ._ant-modal-content_n9zja_302 {
  background-color: var(--tg-theme-bg-color) !important;
  color: var(--tg-theme-text-color, #000) !important;
}
._ant-modal_n9zja_302 ._ant-modal-header_n9zja_306 {
  background-color: var(--tg-theme-bg-color) !important;
}
._ant-modal_n9zja_302 ._ant-modal-title_n9zja_309 {
  color: var(--tg-theme-text-color, #000) !important;
}
._ant-modal_n9zja_302 ._ant-modal-body_n9zja_312 {
  color: var(--tg-theme-text-color, #000) !important;
}
._ant-modal_n9zja_302 ._ant-modal-footer_n9zja_315 {
  background-color: var(--tg-theme-bg-color) !important;
}

/* Крестик закрытия и иконки внутри модалки */
._ant-modal_n9zja_302 ._ant-modal-close-x_n9zja_320,
._ant-modal_n9zja_302 ._anticon_n9zja_321 {
  color: var(--tg-theme-text-color, #000) !important;
}

.glassModal .ant-modal-content {
  background: color-mix(in srgb, var(--tg-theme-bg-color, #1c1c1e) 96%, transparent) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-radius: 16px !important;
  border: 1px solid var(--app-figma-border-card, rgba(0,0,0,0.1)) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.35) !important;
}

/* Тёмная тема: тёмное стекло */
:root[data-theme="dark"] .glassModal .ant-modal-content,
[data-theme="dark"] .glassModal .ant-modal-content {
  background: rgba(28, 28, 32, 0.95) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

/* Поддержка тёмной темы Телеграма по значению переменной (тёмный фон) */
@media (prefers-color-scheme: dark) {
  .glassModal .ant-modal-content {
    background: rgba(28, 28, 32, 0.95) !important;
    border-color: rgba(255,255,255,0.12) !important;
  }
}

/* Смягчим заголовок и крестик */
.glassModal .ant-modal-header {
  background: transparent !important;
  border-bottom: 1px solid var(--app-figma-separator, rgba(0,0,0,0.08)) !important;
}
.glassModal .ant-modal-body {
  background: transparent !important;
  border-radius: 16px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--tg-theme-text-color) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Typography hierarchy for modal content */
.glassModal .ant-modal-body > * {
  font-family: inherit !important;
}

/* Title styling */
.glassModal .ant-modal-body h1,
.glassModal .ant-modal-body h2,
.glassModal .ant-modal-body h3,
.glassModal .ant-modal-body h4,
.glassModal .ant-modal-body h5,
.glassModal .ant-modal-body h6 {
  font-family: inherit !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

/* Section headers */
.glassModal .ant-modal-body [style*="fontWeight: 500"],
.glassModal .ant-modal-body [style*="fontWeight: 600"] {
  font-family: inherit !important;
  letter-spacing: -0.01em !important;
}

/* List items */
.glassModal .ant-modal-body .ant-list-item {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.glassModal .ant-modal-body .ant-list-item-meta-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.glassModal .ant-modal-body .ant-list-item-meta-description {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Buttons */
.glassModal .ant-modal-body .ant-btn {
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

/* Small text (usernames, hints) */
.glassModal .ant-modal-body span[style*="fontSize: 12"],
.glassModal .ant-modal-body [style*="fontSize: 12px"] {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* Select dropdown */
.glassModal .ant-modal-body select {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Empty state text */
.glassModal .ant-modal-body .ant-empty-description {
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.glassModal .ant-modal-title {
  color: var(--tg-theme-text-color, #111) !important;
  background: transparent !important;
}
.glassModal .ant-modal-close-x {
  color: var(--tg-theme-text-color, #111) !important;
}
.glassModal .ant-modal-close {
  top: 25px !important;
  right: 25px !important;
}

/* Zoya AI chat — glass input styling (overrides Ant defaults) */
.zoya-chat-input,
.zoya-chat-input input,
.zoya-chat-input textarea {
  color: var(--tg-theme-text-color, rgba(255,255,255,0.9)) !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.zoya-chat-input::placeholder,
.zoya-chat-input input::placeholder,
.zoya-chat-input textarea::placeholder {
  color: var(--tg-theme-hint-color, rgba(255,255,255,0.3)) !important;
  opacity: 1 !important;
}

/* Скругление углов для Spin компонента */
.ant-spin,
.ant-spin-spinning,
.ant-spin-nested-loading {
  border-radius: 12px !important;
}

.ant-spin-container {
  border-radius: 12px !important;
}
._lottieLoaderContainer_jwi3l_1 {
  display: block;
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
  position: relative;
  padding: 0;
  margin: 0;
  line-height: 0;
  --scale-factor: 3;
}

._lottieLoaderContainer_jwi3l_1 > * {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  transform: scale(var(--scale-factor));
  transform-origin: center center;
}

._lottieLoaderContainer_jwi3l_1 canvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: cover;
}











.RSPBprogressBar {
  height: 10px;
  line-height: 1;
  border-radius: 10px;
  position: relative;
  background-color: rgba(211, 211, 211, 0.6);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 0; }
  .RSPBprogressBar .RSPBstep {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
    position: absolute;
    transform: translateX(-50%);
    transition-property: all;
    transition-timing-function: ease; }
  .RSPBprogressBar .RSPBprogressBarText {
    color: white;
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .RSPBprogressBar .RSPBprogression {
    position: absolute;
    transition: width 0.3s ease;
    left: 0;
    top: 0;
    bottom: 0;
    border-radius: 10px;
    background: rgba(0, 116, 217, 0.8);
    z-index: -1; }
.celebration-container {
    position: fixed;
    inset: 0;                  /* = top:0; right:0; bottom:0; left:0 */
    width: 100%;               /* avoid 100vw quirks */
    height: 100%;              /* avoid 100vh/100dvh quirks */
    z-index: 2147483647;       /* top-most */
    pointer-events: none;      /* клики проходят к контенту */
    overflow: hidden;          /* на всякий случай */
    background: transparent;
  }
  
  .celebration-container dotlottie-player {
    width: 100%;
    height: 100%;
  }

.TimePage {
  background: transparent !important;
}

.congrats-text {
    font-size: 3em;
    font-weight: bold;
    color: #ffd700;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    z-index: 1;
}

.confetti-piece {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #ff0000; /* или любой другой базовый цвет */
    border-radius: 2px;
}

h3 {
    color: var(--tg-theme-text-color);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

p {
    color: var(--tg-theme-hint-color);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.confirm-button {
    padding: 15px 30px;
    font-size: 1.2em;
    background: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s;
}

.confirm-button:hover {
    transform: scale(1.05);
}

.magic-button::before {
    content: "";
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255,140,0,0.8), rgba(255,215,0,0.8));
    background-size: 400%;
    z-index: -1;
    filter: blur(4px);
    animation: burnGlow 3s linear infinite;
}

@keyframes burnGlow {
    0% { background-position: 0 center; }
    50% { background-position: 100% center; }
    100% { background-position: 0 center; }
}




:root {
    --tg-bg-color: var(--tg-theme-bg-color, #ffffff);
    --tg-text-color: var(--tg-theme-text-color, #222222);
    --tg-hint-color: var(--tg-theme-hint-color, #888888);
    --tg-link-color: var(--tg-theme-link-color, #0088cc);
    --tg-button-color: var(--tg-theme-button-color, #0088cc);
    --tg-button-text-color: var(--tg-theme-button-text-color, #ffffff);
}

/*.contact-page {*/
/*    background-color: var(--tg-bg-color);*/
/*    color: var(--tg-text-color);*/
/*    padding: 16px;*/
/*    font-family: Arial, sans-serif;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    align-items: center;*/
/*    text-align: center;*/
/*    height: 100vh;*/
/*    overflow-y: auto;*/
/*}*/

/*h3 {*/
/*    margin-bottom: 16px;*/
/*    font-size: 18px;*/
/*    font-weight: bold;*/
/*}*/

.contact-details {
    /*width: 100%;*/
    /*max-width: 400px;*/
    background: rgba(255, 255, 255, 0.5);
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.contact-item {
    background: rgba(255, 255, 255, 0.3);
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 10px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/*h4 {*/
/*    font-size: 16px;*/
/*    font-weight: bold;*/
/*    color: var(--tg-text-color);*/
/*    margin-bottom: 8px;*/
/*}*/

/*ul {*/
/*    list-style: none;*/
/*    padding: 0;*/
/*    margin: 0;*/
/*}*/

/*li {*/
/*    font-size: 14px;*/
/*    color: var(--tg-hint-color);*/
/*    margin: 4px 0;*/
/*}*/

/*p {*/
/*    font-size: 14px;*/
/*    color: var(--tg-hint-color);*/
/*}*/

/*@media (max-width: 480px) {*/
/*    .contact-details {*/
/*        max-width: 100%;*/
/*    }*/
/*}*//* Стили для Forced Colors Mode */
@media (forced-colors: active) {
    .anastasi-card {
        background-color: Window;
        border-color: ButtonText;
        color: ButtonText;
    }

    .anastasi-button {
        background-color: ButtonFace;
        border-color: ButtonText;
        color: ButtonText;
    }

    /* Можно добавить дополнительные правила для остальных элементов при необходимости */
}

/* Изменяет фон и рамку отмеченного чекбокса */
.ant-checkbox-checked .ant-checkbox-inner {
    background-color: #ffd633;
    /*border-color: #ffd633;*/
}

.ant-upload-list-item-name {
    color: white !important;
}

/* Изменяет цвет галочки */
/*.ant-checkbox-checked .ant-checkbox-inner::after {*/
/*    border-color: #ffd633;*/
/*}*/
._visitCardBg_171xx_1 {
  min-height: 100vh;
  position: relative;
  overflow: hidden;

  /* Цвета фона вычисляются из аватара в VisitCard.jsx */
  --visitcard-c1: var(--tg-theme-link-color, #0f0f0f);
  --visitcard-c2: var(--app-main-button-color, #0f0f0f);
  --visitcard-c3: var(--tg-theme-hint-color, #0f0f0f);

  /* Круговой (radial) фон в стиле Grafana: мягкие цветовые пятна на тёмной базе */
  background:
    radial-gradient(
      circle at 18% 22%,
      var(--visitcard-c1) 0%,
      transparent 55%
    ),
    radial-gradient(
      circle at 82% 28%,
      var(--visitcard-c2) 0%,
      transparent 58%
    ),
    radial-gradient(
      circle at 45% 85%,
      var(--visitcard-c3) 0%,
      transparent 52%
    ),
    var(--app-main-button-color, #0f0f0f);

  background-size: 220% 220%;
  animation: _visitCardGradientShift_171xx_1 12s ease-in-out infinite;
}

._visitCardBg_171xx_1::before {
  content: "";
  position: absolute;
  inset: -40%;

  /* Мягкие "облака" цвета из текущей темы (без новых цветов) */
  background:
    radial-gradient(
      circle at 20% 25%,
      var(--visitcard-c1) 0%,
      transparent 55%
    ),
    radial-gradient(
      circle at 80% 30%,
      var(--visitcard-c2) 0%,
      transparent 60%
    ),
    radial-gradient(
      circle at 35% 80%,
      var(--visitcard-c3) 0%,
      transparent 55%
    );

  opacity: 0.42;
  filter: blur(44px);
  transform: translate3d(0, 0, 0);
  animation: _visitCardAurora_171xx_1 9s ease-in-out infinite;
  pointer-events: none;
}

._visitCardBg_171xx_1::after {
  content: "";
  position: absolute;
  inset: -45%;

  /* Второй слой для более «живого» переливания */
  background:
    radial-gradient(
      circle at 65% 35%,
      var(--visitcard-c2) 0%,
      transparent 55%
    ),
    radial-gradient(
      circle at 30% 70%,
      var(--visitcard-c1) 0%,
      transparent 60%
    );

  opacity: 0.28;
  filter: blur(58px);
  transform: translate3d(0, 0, 0);
  animation: _visitCardAurora2_171xx_1 7.5s ease-in-out infinite;
  pointer-events: none;
}

/* Glassmorphism для карточек визитки */
._glassCard_171xx_90 {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  border-radius: 14px;
}

._glassCard_171xx_90 .ant-card-head {
  background: rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

._glassCard_171xx_90 .ant-card-body {
  background: transparent;
}

._zoyaButtonContent_171xx_108 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  white-space: nowrap;
}

._zoyaLottie_171xx_117 {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  pointer-events: none;
  opacity: 0.9;
}

/* Zoya modal: Figma-style white UI with purple accents */
:root {
  --zoya-accent: #7c3aed;
  --zoya-accent-light: #a78bfa;
  --zoya-bubble-bg: #f4f4f5;
  --zoya-text: #18181b;
  --zoya-text-secondary: #71717a;
  --zoya-border: #e4e4e7;
  --zoya-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  --zoya-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
}

._zoyaOverlay_171xx_137 {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: _zoyaOverlayIn_171xx_1 200ms ease-out forwards;
}

._zoyaOverlayClosing_171xx_151 {
  animation: _zoyaOverlayOut_171xx_1 200ms ease-in forwards;
}

._zoyaWindow_171xx_155 {
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  animation: _zoyaWindowIn_171xx_1 220ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

._zoyaWindowClosing_171xx_164 {
  animation: _zoyaWindowOut_171xx_1 200ms ease-in forwards;
}

._zoyaDialogCard_171xx_168 {
  background: #ffffff;
  border-radius: 20px 20px 0 0;
  box-shadow: var(--zoya-shadow-md);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}

._zoyaHeader_171xx_178 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 12px 14px 16px;
  background: #ffffff;
  border-bottom: 1px solid var(--zoya-border);
  flex-shrink: 0;
}

._zoyaHeaderLeft_171xx_188 {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

._zoyaAvatarWrap_171xx_195 {
  position: relative;
  flex-shrink: 0;
}

._zoyaAvatar_171xx_195 {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

._zoyaAvatar_171xx_195 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

._zoyaStatusDot_171xx_217 {
  position: absolute;
  bottom: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #ffffff;
}

._zoyaHeaderText_171xx_228 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

._zoyaTitle_171xx_235 {
  font-size: 16px;
  font-weight: 700;
  color: var(--zoya-text);
  line-height: 1.25;
}

._zoyaSubtitle_171xx_242 {
  font-size: 13px;
  color: var(--zoya-text-secondary);
  line-height: 1.3;
}

._zoyaHeaderActions_171xx_248 {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

._zoyaHeaderBtn_171xx_255 {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--zoya-text-secondary);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
}

._zoyaHeaderBtn_171xx_255:hover {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
}

._zoyaMessages_171xx_274 {
  flex: 1;
  min-height: 0;
  height: min(54vh, 380px);
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #ffffff;
}

._zoyaWelcome_171xx_286 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._zoyaMessage_171xx_274 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

._zoyaMessageUser_171xx_298 {
  justify-content: flex-end;
}

._zoyaMessageUser_171xx_298 ._zoyaBubbleWrap_171xx_302 {
  align-items: flex-end;
}

._zoyaMessageAgent_171xx_306 {
  justify-content: flex-start;
}

._zoyaAgentIconWrap_171xx_310 {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

._zoyaAgentIconWrap_171xx_310 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

._zoyaMessageUser_171xx_298 ._zoyaAgentIconWrap_171xx_310 {
  display: none;
}

._zoyaBubbleWrap_171xx_302 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 82%;
  min-width: 0;
}

._zoyaBubble_171xx_302 {
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  box-shadow: var(--zoya-shadow);
}

._zoyaMessageAgent_171xx_306 ._zoyaBubble_171xx_302 {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
  border-radius: 16px 16px 16px 4px;
}

._zoyaMessageUser_171xx_298 ._zoyaBubble_171xx_302 {
  background: var(--zoya-accent);
  color: #ffffff;
  border-radius: 16px 16px 4px 16px;
}

._typingDots_171xx_362 {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1;
}

._typingDot_171xx_362 {
  display: inline-block;
  opacity: 0.25;
  transform: translateY(0);
  animation: _zoyaTypingDot_171xx_1 1.1s infinite ease-in-out;
}

._typingDot_171xx_362:nth-child(2) {
  animation-delay: 0.15s;
}

._typingDot_171xx_362:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes _zoyaTypingDot_171xx_1 {
  0%, 80%, 100% {
    opacity: 0.25;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

._zoyaTime_171xx_395 {
  font-size: 11px;
  color: var(--zoya-text-secondary);
  padding-left: 2px;
}

._zoyaQuickActions_171xx_401 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

._zoyaQuickBtn_171xx_407 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--zoya-accent-light);
  background: #fafafa;
  color: var(--zoya-accent);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: var(--zoya-shadow);
  transition: background 0.15s, color 0.15s;
}

._zoyaQuickBtn_171xx_407:hover {
  background: #f4f4f5;
  color: var(--zoya-accent);
}

._zoyaInputBar_171xx_428 {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 12px 16px 12px 12px;
  background: #ffffff;
  border-top: 1px solid var(--zoya-border);
  box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.04);
  flex-shrink: 0;
}

._zoyaInputIconBtn_171xx_439 {
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--zoya-text-secondary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  flex-shrink: 0;
}

._zoyaInputIconBtn_171xx_439:hover {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
}

._zoyaInputField_171xx_459 {
  flex: 1;
  min-width: 0;
}

._zoyaInputField_171xx_459 .ant-input,
._zoyaInputField_171xx_459 textarea.ant-input {
  border-radius: 20px !important;
  background: var(--zoya-bubble-bg) !important;
  border: 1px solid var(--zoya-border) !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  resize: none !important;
}

._zoyaInputField_171xx_459:focus-within .ant-input,
._zoyaInputField_171xx_459:focus-within textarea.ant-input,
._zoyaInputField_171xx_459:hover .ant-input,
._zoyaInputField_171xx_459:hover textarea.ant-input {
  border-color: var(--zoya-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.15) !important;
}

._zoyaSendBtn_171xx_482 {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--zoya-accent-light);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  flex-shrink: 0;
  transition: background 0.15s, opacity 0.15s;
}

._zoyaSendBtn_171xx_482:hover:not(:disabled) {
  background: var(--zoya-accent);
}

._zoyaSendBtn_171xx_482:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

._zoyaSendLoading_171xx_507 {
  font-size: 18px;
  line-height: 1;
}

._zoyaDisclaimer_171xx_512 {
  margin: 0;
  padding: 8px 16px 16px;
  font-size: 11px;
  color: var(--zoya-text-secondary);
  text-align: center;
  line-height: 1.35;
  flex-shrink: 0;
}

@keyframes _zoyaOverlayIn_171xx_1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes _zoyaOverlayOut_171xx_1 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes _zoyaWindowIn_171xx_1 {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes _zoyaWindowOut_171xx_1 {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(0.99);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._zoyaOverlay_171xx_137,
  ._zoyaOverlayClosing_171xx_151,
  ._zoyaWindow_171xx_155,
  ._zoyaWindowClosing_171xx_164 {
    animation: none !important;
  }
}

@keyframes _visitCardGradientShift_171xx_1 {
  0% {
    background-position: 10% 40%;
  }
  25% {
    background-position: 85% 30%;
  }
  50% {
    background-position: 95% 80%;
  }
  75% {
    background-position: 20% 90%;
  }
  100% {
    background-position: 10% 40%;
  }
}

@keyframes _visitCardAurora_171xx_1 {
  0% {
    transform: translate3d(-6%, -4%, 0) scale(1) rotate(-1.2deg);
  }
  50% {
    transform: translate3d(6%, 4%, 0) scale(1.06) rotate(1.2deg);
  }
  100% {
    transform: translate3d(-6%, -4%, 0) scale(1) rotate(-1.2deg);
  }
}

@keyframes _visitCardAurora2_171xx_1 {
  0% {
    transform: translate3d(5%, -3%, 0) scale(1.02) rotate(0.8deg);
  }
  50% {
    transform: translate3d(-5%, 3%, 0) scale(1.08) rotate(-0.8deg);
  }
  100% {
    transform: translate3d(5%, -3%, 0) scale(1.02) rotate(0.8deg);
  }
}
/* Zoya page — адаптируется под тему Telegram через --tg-theme-* переменные */
:root {
  --zoya-accent: #7c3aed;
  --zoya-accent-light: #a78bfa;

  /* Фон страницы и хедера */
  --zoya-bg: var(--tg-theme-bg-color, #ffffff);
  /* Фон пузыря агента и инпута */
  --zoya-bubble-bg: var(--tg-theme-secondary-bg-color, #ededef);
  /* Основной текст */
  --zoya-text: var(--tg-theme-text-color, #111111);
  /* Вторичный текст */
  --zoya-text-secondary: var(--tg-theme-hint-color, #5a5a68);
  /* Разделители */
  --zoya-border: var(--tg-theme-hint-color, #d4d4d8);
  --zoya-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
}

._root_1muk4_19 {
  min-height: 100vh;
  background: var(--zoya-bg);
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  height: 100dvh;
  color: var(--zoya-text);
}

._zoyaPageCard_1muk4_29 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-width: var(--page-max-width, 720px);
  margin: 0 auto;
  width: 100%;
}

._zoyaHeader_1muk4_39 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(12px + var(--tg-content-safe-area-inset-top, 0px)) 16px 14px;
  background: var(--zoya-bg);
  border-bottom: 1px solid var(--zoya-border);
  flex-shrink: 0;
}

._zoyaHeaderLeft_1muk4_49 {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

._zoyaAvatarWrap_1muk4_56 {
  position: relative;
  flex-shrink: 0;
}

._zoyaAvatar_1muk4_56 {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

._zoyaAvatar_1muk4_56 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

._zoyaStatusDot_1muk4_78 {
  position: absolute;
  bottom: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid var(--zoya-bg);
}

._zoyaHeaderText_1muk4_89 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

._zoyaTitle_1muk4_96 {
  font-size: 16px;
  font-weight: 700;
  color: var(--zoya-text);
  line-height: 1.25;
}

._zoyaSubtitle_1muk4_103 {
  font-size: 13px;
  color: var(--zoya-text-secondary);
  line-height: 1.3;
}

._zoyaHeaderActions_1muk4_109 {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

._zoyaHeaderBtn_1muk4_116 {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--zoya-text-secondary);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
}

._zoyaHeaderBtn_1muk4_116:hover {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
}

._zoyaMessages_1muk4_135 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--zoya-bg);
}

._zoyaWelcome_1muk4_146 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._zoyaMessage_1muk4_135 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

._zoyaMessageUser_1muk4_158 {
  justify-content: flex-end;
}

._zoyaMessageUser_1muk4_158 ._zoyaBubbleWrap_1muk4_162 {
  align-items: flex-end;
}

._zoyaMessageAgent_1muk4_166 {
  justify-content: flex-start;
}

._zoyaAgentIconWrap_1muk4_170 {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

._zoyaAgentIconWrap_1muk4_170 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

._zoyaMessageUser_1muk4_158 ._zoyaAgentIconWrap_1muk4_170 {
  display: none;
}

._zoyaBubbleWrap_1muk4_162 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 82%;
  min-width: 0;
}

._zoyaBubble_1muk4_162 {
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  box-shadow: var(--zoya-shadow);
}

._zoyaMessageAgent_1muk4_166 ._zoyaBubble_1muk4_162 {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
  border-radius: 16px 16px 16px 4px;
}

._zoyaMessageUser_1muk4_158 ._zoyaBubble_1muk4_162 {
  background: var(--zoya-accent);
  color: #ffffff;
  border-radius: 16px 16px 4px 16px;
}

._typingDots_1muk4_222 {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1;
}

._typingDot_1muk4_222 {
  display: inline-block;
  opacity: 0.25;
  transform: translateY(0);
  animation: _zoyaTypingDot_1muk4_1 1.1s infinite ease-in-out;
}

._typingDot_1muk4_222:nth-child(2) {
  animation-delay: 0.15s;
}

._typingDot_1muk4_222:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes _zoyaTypingDot_1muk4_1 {
  0%, 80%, 100% {
    opacity: 0.25;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

._zoyaTime_1muk4_255 {
  font-size: 11px;
  color: var(--zoya-text-secondary);
  padding-left: 2px;
}

._zoyaQuickActions_1muk4_261 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

._zoyaQuickBtn_1muk4_267 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--zoya-accent-light);
  background: var(--zoya-bubble-bg);
  color: var(--zoya-accent);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: var(--zoya-shadow);
  transition: background 0.15s, color 0.15s;
}

._zoyaQuickBtn_1muk4_267:hover {
  background: var(--zoya-border);
  color: var(--zoya-accent);
}

._zoyaBottomBar_1muk4_288 {
  flex-shrink: 0;
  background: var(--zoya-bg);
  border-top: 1px solid var(--zoya-border);
  box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.05);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

._zoyaInputBar_1muk4_296 {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 8px 16px 12px 12px;
  background: transparent;
  flex-shrink: 0;
}

._zoyaInputIconBtn_1muk4_305 {
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--zoya-text-secondary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  flex-shrink: 0;
}

._zoyaInputIconBtn_1muk4_305:hover {
  background: var(--zoya-bubble-bg);
  color: var(--zoya-text);
}

._zoyaInputField_1muk4_325 {
  flex: 1;
  min-width: 0;
}

._zoyaInputField_1muk4_325 .ant-input,
._zoyaInputField_1muk4_325 textarea.ant-input {
  border-radius: 20px !important;
  background: var(--zoya-bubble-bg) !important;
  border: 1px solid var(--zoya-border) !important;
  color: var(--zoya-text) !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  resize: none !important;
}

._zoyaInputField_1muk4_325 .ant-input::placeholder,
._zoyaInputField_1muk4_325 textarea.ant-input::placeholder {
  color: var(--zoya-text-secondary) !important;
}

._zoyaInputField_1muk4_325:focus-within .ant-input,
._zoyaInputField_1muk4_325:focus-within textarea.ant-input,
._zoyaInputField_1muk4_325:hover .ant-input,
._zoyaInputField_1muk4_325:hover textarea.ant-input {
  border-color: var(--zoya-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.15) !important;
}

._zoyaSendBtn_1muk4_354 {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--zoya-accent-light);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  flex-shrink: 0;
  transition: background 0.15s, opacity 0.15s;
}

._zoyaSendBtn_1muk4_354:hover:not(:disabled) {
  background: var(--zoya-accent);
}

._zoyaSendBtn_1muk4_354:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

._zoyaDisclaimer_1muk4_379 {
  margin: 0;
  padding: 6px 16px 2px;
  font-size: 11px;
  color: var(--zoya-text-secondary);
  text-align: center;
  line-height: 1.35;
}
/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
  width: device-width;
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}
/* Fallback CSS variables for when Telegram theme is not available */
/* These are overridden by theme.js applyColorMode() when JS runs */
:root {
  /* Light theme defaults (fallback) */
  --tg-theme-bg-color: #ffffff;
  --tg-theme-secondary-bg-color: #f5f5f5;
  --tg-theme-text-color: #000000;
  --tg-theme-hint-color: rgba(60, 60, 67, 0.6);
  --tg-theme-link-color: #007AFF;
  --tg-theme-section-bg-color: #ffffff;
  --tg-theme-section-separator-color: rgba(0, 0, 0, 0.1);
  --tg-theme-button-color: #1677ff;
  --tg-theme-button-text-color: #ffffff;
  --app-contrast-text-color: #000000;
  --app-button-color: #1677ff;
  --app-button-text-color: #ffffff;
  --app-main-button-color: #1677ff;
  --app-main-button-text-color: #ffffff;

  /* Figma design token fallbacks */
  --app-figma-bg-page: #f0f1f3;
  --app-figma-bg-card: rgba(0, 0, 0, 0.03);
  --app-figma-bg-card-solid: #ffffff;
  --app-figma-bg-stat: rgba(0, 0, 0, 0.02);
  --app-figma-bg-input: rgba(0, 0, 0, 0.04);
  --app-figma-text-primary: #1a1a2e;
  --app-figma-text-secondary: #6b7280;
  --app-figma-text-info: #374151;
  --app-figma-label-color: #374151;
  --app-figma-placeholder: #9ca3af;
  --app-figma-icon-purple: #5B63E0;
  --app-figma-icon-green: #28A745;
  --app-figma-icon-orange: #E5A35D;
  --app-figma-icon-pink: #E0527A;
  --app-figma-border: rgba(0, 0, 0, 0.08);
  --app-figma-border-card: rgba(0, 0, 0, 0.06);
  --app-figma-chevron: rgba(0, 0, 0, 0.3);
  --app-figma-separator: rgba(0, 0, 0, 0.06);
  --app-figma-card-shadow: 0px 4px 16px rgba(0, 0, 0, 0.06);
  --app-figma-required: #FF3B30;
  --app-figma-btn-purple-grad: linear-gradient(171deg, rgba(91, 99, 224, 0.85) 0%, rgba(75, 80, 200, 0.85) 100%);
  --app-figma-btn-pink-grad: linear-gradient(171deg, rgba(220, 80, 160, 0.8) 0%, rgba(91, 99, 224, 0.8) 100%);
  --app-figma-btn-green-grad: linear-gradient(171deg, rgba(0, 180, 120, 0.8) 0%, rgba(5, 190, 100, 0.8) 100%);
  --app-figma-logout-bg: rgba(255, 70, 133, 0.08);
  --app-figma-logout-border: #FF4685;

  /* Telegram Mini Apps safe-area fallbacks (will be overwritten by JS when available) */
  --tg-content-safe-area-inset-top: 0px;
  --tg-content-safe-area-inset-right: 0px;
  --tg-content-safe-area-inset-bottom: 0px;
  --tg-content-safe-area-inset-left: 0px;

  /* Global responsive layout system */
  --page-gutter-x: clamp(16px, 3vw, 28px);
  --page-max-width: 720px;
  --page-max-width-wide: 1000px;
  --tabbar-height-client: 56px;
  --tabbar-height-admin: 56px;
}

@media (min-width: 1024px) {
  :root {
    --page-max-width: 760px;
    --page-max-width-wide: 1100px;
  }
}

@media (min-width: 1440px) {
  :root {
    --page-max-width: 820px;
    --page-max-width-wide: 1200px;
  }
}

/* Dark theme fallback - applied via data-theme attribute or prefers-color-scheme */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --tg-theme-bg-color: #1c1c1e;
    --tg-theme-secondary-bg-color: #2c2c2e;
    --tg-theme-text-color: #ffffff;
    --tg-theme-hint-color: rgba(235, 235, 245, 0.6);
    --tg-theme-link-color: #0A84FF;
    --tg-theme-section-bg-color: #2c2c2e;
    --tg-theme-section-separator-color: rgba(255, 255, 255, 0.1);
    --app-contrast-text-color: #ffffff;

    --app-figma-bg-page: #1E1B2D;
    --app-figma-bg-card: rgba(255, 255, 255, 0.06);
    --app-figma-bg-card-solid: rgba(255, 255, 255, 0.07);
    --app-figma-bg-stat: rgba(255, 255, 255, 0.06);
    --app-figma-bg-input: rgba(255, 255, 255, 0.06);
    --app-figma-text-primary: #ffffff;
    --app-figma-text-secondary: #6a7282;
    --app-figma-text-info: #d1d5dc;
    --app-figma-label-color: #d1d5dc;
    --app-figma-placeholder: #6a7282;
    --app-figma-icon-purple: #7C86FF;
    --app-figma-icon-green: #00D492;
    --app-figma-icon-orange: #E5A35D;
    --app-figma-icon-pink: #FF6B9D;
    --app-figma-border: rgba(255, 255, 255, 0.12);
    --app-figma-border-card: rgba(255, 255, 255, 0.12);
    --app-figma-chevron: rgba(255, 255, 255, 0.5);
    --app-figma-separator: rgba(255, 255, 255, 0.04);
    --app-figma-card-shadow: 0px 8px 32px rgba(0, 0, 0, 0.3);
    --app-figma-required: #ff6467;
    --app-figma-btn-purple-grad: linear-gradient(171deg, rgba(124, 134, 255, 0.6) 0%, rgba(91, 99, 224, 0.6) 100%);
    --app-figma-btn-pink-grad: linear-gradient(171deg, rgba(251, 100, 182, 0.5) 0%, rgba(124, 134, 255, 0.5) 100%);
    --app-figma-btn-green-grad: linear-gradient(171deg, rgba(0, 212, 146, 0.5) 0%, rgba(5, 223, 114, 0.5) 100%);
    --app-figma-logout-bg: #221B27;
    --app-figma-logout-border: #FF4685;
  }
}

:root[data-theme="dark"] {
  --tg-theme-bg-color: #1c1c1e;
  --tg-theme-secondary-bg-color: #2c2c2e;
  --tg-theme-text-color: #ffffff;
  --tg-theme-hint-color: rgba(235, 235, 245, 0.6);
  --tg-theme-link-color: #0A84FF;
  --tg-theme-section-bg-color: #2c2c2e;
  --tg-theme-section-separator-color: rgba(255, 255, 255, 0.1);
  --app-contrast-text-color: #ffffff;

  --app-figma-bg-page: #1E1B2D;
  --app-figma-bg-card: rgba(255, 255, 255, 0.06);
  --app-figma-bg-card-solid: rgba(255, 255, 255, 0.07);
  --app-figma-bg-stat: rgba(255, 255, 255, 0.06);
  --app-figma-bg-input: rgba(255, 255, 255, 0.06);
  --app-figma-text-primary: #ffffff;
  --app-figma-text-secondary: #6a7282;
  --app-figma-text-info: #d1d5dc;
  --app-figma-label-color: #d1d5dc;
  --app-figma-placeholder: #6a7282;
  --app-figma-icon-purple: #7C86FF;
  --app-figma-icon-green: #00D492;
  --app-figma-icon-orange: #E5A35D;
  --app-figma-icon-pink: #FF6B9D;
  --app-figma-border: rgba(255, 255, 255, 0.12);
  --app-figma-border-card: rgba(255, 255, 255, 0.12);
  --app-figma-chevron: rgba(255, 255, 255, 0.5);
  --app-figma-separator: rgba(255, 255, 255, 0.04);
  --app-figma-card-shadow: 0px 8px 32px rgba(0, 0, 0, 0.3);
  --app-figma-required: #ff6467;
  --app-figma-btn-purple-grad: linear-gradient(171deg, rgba(124, 134, 255, 0.6) 0%, rgba(91, 99, 224, 0.6) 100%);
  --app-figma-btn-pink-grad: linear-gradient(171deg, rgba(251, 100, 182, 0.5) 0%, rgba(124, 134, 255, 0.5) 100%);
  --app-figma-btn-green-grad: linear-gradient(171deg, rgba(0, 212, 146, 0.5) 0%, rgba(5, 223, 114, 0.5) 100%);
  --app-figma-logout-bg: #221B27;
  --app-figma-logout-border: #FF4685;
}

/*a {*/
/*  font-weight: 500;*/
/*  color: #646cff;*/
/*  text-decoration: inherit;*/
/*}*/
/*a:hover {*/
/*  color: #535bf2;*/
/*}*/

/*body {*/
/*  margin: 0;*/
/*  display: flex;*/
/*  place-items: center;*/
/*  min-width: 320px;*/
/*  min-height: 100vh;*/
/*}*/

/*h1 {*/
/*  font-size: 3.2em;*/
/*  line-height: 1.1;*/
/*}*/

/*button {*/
/*  border-radius: 8px;*/
/*  border: 1px solid transparent;*/
/*  padding: 0.6em 1.2em;*/
/*  font-size: 1em;*/
/*  font-weight: 500;*/
/*  font-family: inherit;*/
/*  background-color: #1a1a1a;*/
/*  cursor: pointer;*/
/*  transition: border-color 0.25s;*/
/*}*/
/*button:hover {*/
/*  border-color: #646cff;*/
/*}*/
/*button:focus,*/
/*button:focus-visible {*/
/*  outline: 4px auto -webkit-focus-ring-color;*/
/*}*/

/*@media (prefers-color-scheme: light) {*/
/*  :root {*/
/*    color: #213547;*/
/*    background-color: #ffffff;*/
/*  }*/
/*  a:hover {*/
/*    color: #747bff;*/
/*  }*/
/*  button {*/
/*    background-color: #f9f9f9;*/
/*  }*/
/*}*/

/* Dark theme support */
html, body, #root {
  background-color: var(--tg-theme-bg-color, #ffffff);
  color: var(--tg-theme-text-color, #000000);
  min-height: 100vh;
  transition: background-color 0.3s ease, color 0.3s ease;
}

[data-theme="dark"] {
  color-scheme: dark;
}

[data-theme="light"] {
  color-scheme: light;
}

/* Telegram Mini Apps placeholder theming */
input::placeholder,
textarea::placeholder,
.ant-input::placeholder,
.ant-input textarea::placeholder,
.ant-input-affix-wrapper input::placeholder,
.ant-input-number input::placeholder {
  color: var(--tg-theme-hint-color, var(--tg-theme-text-color)) !important;
  opacity: 0.6; /* slightly dimmed for placeholder */
}

/* Base text color adapts to background */
body, #root, .ant-typography, .ant-modal, .glassModal, .ant-list, .ant-collapse,
.ant-form, .ant-input, .ant-select, .ant-table {
  color: var(--app-contrast-text-color, var(--tg-theme-text-color, #111111));
}

/* Modal title and content follow theme (no forced white) */
.ant-modal-title,
.ant-modal .ant-modal-title,
.ant-modal-header .ant-modal-title {
  color: var(--tg-theme-text-color, #111) !important;
}

/* Ant Design Select/AutoComplete placeholder */
.ant-select-selection-placeholder,
.ant-select .ant-select-selection-placeholder {
  color: var(--tg-theme-text-color) !important;
}

/* Telegram hint color for all Collapse arrows */
.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-expand-icon,
.ant-collapse .ant-collapse-arrow,
.ant-collapse .ant-collapse-expand-icon svg,
.ant-collapse .ant-collapse-arrow svg {
  color: var(--tg-theme-hint-color) !important;
  fill: var(--tg-theme-hint-color) !important;
}

/* Legal page: expand icon uses project accent from DB */
.legal-docs-collapse.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-expand-icon,
.legal-docs-collapse .ant-collapse-expand-icon svg,
.legal-docs-collapse .ant-collapse-arrow svg {
  color: var(--app-main-button-color, var(--app-button-color)) !important;
  fill: var(--app-main-button-color, var(--app-button-color)) !important;
}

/* Remove borders from Collapse components */
.ant-collapse,
.ant-collapse > .ant-collapse-item,
.ant-collapse > .ant-collapse-item > .ant-collapse-header,
.ant-collapse > .ant-collapse-item > .ant-collapse-content {
  border: none !important;
}

/* Make Collapse content box follow theme and rounded corners **/
.ant-collapse > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box {
  padding: 0; /* Внутренние отступы задаём уже в контенте панели */
  border-radius: 12px !important;
  overflow: hidden;
  background-color: transparent !important;
}

/* Hide Ant Design Empty illustration (keep only text) */
.ant-empty-image {
  display: none !important;
}

/* Attention alerts: on small screens put action button below text */
@media (max-width: 420px) {
  .attention-alert.ant-alert {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .attention-alert.ant-alert-with-description .ant-alert-content {
    width: 100%;
  }
  .attention-alert .ant-alert-action {
    margin-left: 0 !important;
    margin-top: 12px;
    width: 100%;
  }
  .attention-alert .ant-alert-action .ant-btn {
    width: 100%;
  }
}

/* Global button theming based on custom CSS variables (overrides AntD primary) */
.ant-btn-primary,
button.ant-btn-primary {
  /* Для главных CTA-кнопок сначала используем main-палитру, затем общий цвет, затем Telegram и дефолт */
  background-color: var(--app-main-button-color, var(--app-button-color, var(--tg-theme-button-color, #1677ff))) !important;
  border-color: var(--app-main-button-color, var(--app-button-color, var(--tg-theme-button-color, #1677ff))) !important;
  color: var(--app-main-button-text-color, var(--app-button-text-color, var(--tg-theme-button-text-color, #ffffff))) !important;
}

/* Landing page: isolate button colors from project/DB theme */
.landing-page .ant-btn-primary,
.landing-page button.ant-btn-primary {
  background-color: #1677ff !important;
  border-color: #1677ff !important;
  color: #ffffff !important;
}
.landing-page .ant-btn-primary:not(:disabled):hover,
.landing-page .ant-btn-primary:not(:disabled):focus {
  background-color: #4096ff !important;
  border-color: #4096ff !important;
}

.ant-btn-primary:not(:disabled):hover,
.ant-btn-primary:not(:disabled):focus {
  filter: brightness(1.05);
}

.ant-btn-primary:disabled {
  opacity: 0.7;
}

/* MUI contained buttons use our palette too */
.MuiButton-containedPrimary,
button.MuiButton-containedPrimary {
  background-color: var(--app-button-color, var(--tg-theme-button-color, #1976d2)) !important;
  color: var(--app-button-text-color, var(--tg-theme-button-text-color, #ffffff)) !important;
}

.MuiChip-colorPrimary {
  background-color: var(--app-button-color, var(--tg-theme-button-color, #1976d2)) !important;
  color: var(--app-button-text-color, var(--tg-theme-button-text-color, #ffffff)) !important;
}

/* Ant Design components theming for dark mode */
.ant-card {
  /* IMPORTANT: do not use !important here.
     Some pages (e.g. ServicePage) intentionally set Card background inline from DB theme variables,
     and !important would override those inline styles. */
  background-color: var(--tg-theme-secondary-bg-color, var(--tg-theme-bg-color));
  color: var(--tg-theme-text-color);
}

.ant-modal-content {
  background-color: var(--tg-theme-bg-color, #1c1c1e) !important;
  color: var(--tg-theme-text-color, #e4e4e7) !important;
}

.ant-input,
.ant-input-number,
.ant-select-selector,
.ant-picker {
  background-color: var(--tg-theme-secondary-bg-color, var(--tg-theme-bg-color)) !important;
  color: var(--tg-theme-text-color) !important;
  border-color: var(--tg-theme-hint-color) !important;
}

.ant-btn-default {
  background-color: var(--tg-theme-secondary-bg-color, var(--tg-theme-bg-color)) !important;
  color: var(--tg-theme-text-color) !important;
  border-color: var(--tg-theme-hint-color) !important;
}

.ant-divider {
  border-color: var(--tg-theme-section-separator-color) !important;
}

.ant-list-item {
  border-color: var(--tg-theme-section-separator-color) !important;
}

.ant-radio-button-wrapper {
  background-color: var(--tg-theme-secondary-bg-color, var(--tg-theme-bg-color)) !important;
  color: var(--tg-theme-text-color) !important;
  border-color: var(--tg-theme-hint-color) !important;
}

.ant-radio-button-wrapper-checked {
  background-color: var(--tg-theme-button-color, #1677ff) !important;
  color: var(--tg-theme-button-text-color, #fff) !important;
  border-color: var(--tg-theme-button-color, #1677ff) !important;
}

/* Figma-styled panels: override global !important for inputs/selects/cards */
.figma-panel .ant-input,
.figma-panel .ant-input-number,
.figma-panel .ant-input-affix-wrapper,
.figma-panel .ant-input-number-input,
.figma-panel .ant-select-selector,
.figma-panel .ant-picker {
  background-color: var(--app-figma-bg-input) !important;
  border-color: var(--app-figma-border) !important;
  border-radius: 14px !important;
  color: var(--app-figma-text-primary) !important;
}

.figma-panel .ant-input-affix-wrapper {
  border-radius: 14px !important;
}

.figma-panel .ant-input::placeholder,
.figma-panel .ant-input-number input::placeholder,
.figma-panel textarea.ant-input::placeholder,
.figma-panel .ant-input-affix-wrapper input::placeholder {
  color: var(--app-figma-placeholder) !important;
  opacity: 1 !important;
}

.figma-panel .ant-select-selection-placeholder {
  color: var(--app-figma-placeholder) !important;
}

.figma-panel .ant-form-item-label > label {
  color: var(--app-figma-label-color) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}

.figma-panel .ant-form-item-label > label.ant-form-item-required::before,
.figma-panel .ant-form-item-label .ant-form-item-required-mark {
  display: none !important;
}

.figma-panel .ant-card {
  background-color: transparent !important;
  border: none !important;
}

.figma-panel .ant-card .ant-card-head {
  border-bottom: none !important;
}

.figma-panel .ant-btn-primary {
  border: none !important;
}

.figma-panel .ant-btn-primary[style*="btn-purple-grad"],
.figma-panel .ant-btn-primary[style*="btn-green-grad"],
.figma-panel .ant-btn-primary[style*="btn-pink-grad"] {
  border: none !important;
}

.figma-panel .ant-collapse-content-box {
  background-color: transparent !important;
  border-radius: 0 !important;
}

.figma-panel .ant-table {
  background: transparent !important;
}

.figma-panel .ant-table-thead > tr > th,
.figma-panel .ant-table-thead > tr > td {
  background: transparent !important;
  border-bottom: 0.7px solid var(--app-figma-separator) !important;
  color: var(--app-figma-text-secondary) !important;
}

.figma-panel .ant-table-tbody > tr > td {
  border-bottom: 0.7px solid var(--app-figma-separator) !important;
}

.figma-panel .ant-table-tbody > tr:hover > td {
  background: color-mix(in srgb, var(--app-figma-icon-purple) 5%, transparent) !important;
}

.figma-panel .ant-pagination .ant-pagination-item-active {
  background: var(--app-figma-icon-purple) !important;
  border-color: var(--app-figma-icon-purple) !important;
}

.figma-panel .ant-pagination .ant-pagination-item-active a {
  color: #fff !important;
}

.figma-panel .ant-checkbox-wrapper span {
  color: var(--app-figma-label-color) !important;
}

/* Match browser preview: remove left/top offsets on checkbox input */
.figma-panel .ant-checkbox-input {
  left: unset !important;
  top: unset !important;
}

/* Make checked checkbox match project button color */
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--tg-theme-button-color) !important;
  border-color: var(--tg-theme-button-color) !important;
}

.ant-checkbox-checked::after {
  border-color: var(--tg-theme-button-color) !important;
}

.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus-visible + .ant-checkbox-inner {
  border-color: var(--tg-theme-button-color) !important;
}

.ant-checkbox-indeterminate .ant-checkbox-inner::after {
  background-color: var(--tg-theme-button-color) !important;
}

.figma-panel .ant-input-textarea .ant-input-data-count {
  color: var(--app-figma-text-secondary) !important;
}

.figma-panel .ant-form-item-extra {
  color: var(--app-figma-text-secondary) !important;
  font-size: 12px !important;
}

/* ===== Ant Design message/notification toasts — theme-aware styling ===== */

/* Основной контейнер уведомления */
.ant-message-notice-content {
  background: color-mix(in srgb, var(--tg-theme-bg-color, #ffffff) 92%, transparent) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--app-figma-border, rgba(0,0,0,0.08)) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  border-radius: 14px !important;
  color: var(--tg-theme-text-color, #000000) !important;
}

/* Текст внутри уведомления */
.ant-message-notice-content span,
.ant-message-notice-content .ant-message-custom-content span {
  color: var(--tg-theme-text-color, #000000) !important;
}

/* Иконки предупреждения, ошибки, успеха и info — оставляем типовые цвета но адаптируем к теме */
.ant-message-warning .anticon {
  color: var(--app-figma-icon-orange, #E5A35D) !important;
}

.ant-message-error .anticon {
  color: var(--app-figma-required, #FF3B30) !important;
}

.ant-message-success .anticon {
  color: var(--app-figma-icon-green, #28A745) !important;
}

.ant-message-info .anticon {
  color: var(--app-figma-icon-purple, #5B63E0) !important;
}

/* ===== Registration Wizard Animations ===== */

@keyframes reg-fade-slide-up {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes reg-expand-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes reg-banner-appear {
  from { opacity: 0; transform: scaleY(0.85); transform-origin: top; }
  to   { opacity: 1; transform: scaleY(1); }
}

.reg-step {
  animation: reg-fade-slide-up 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.reg-chip-btn {
  transition: background 0.2s ease, border-color 0.2s ease,
              box-shadow 0.2s ease, color 0.2s ease,
              transform 0.15s ease !important;
}

.reg-chip-btn:active {
  transform: scale(0.96);
  opacity: 0.85;
}

.reg-subcategory-section {
  animation: reg-expand-in 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.reg-subcategory-enter {
  animation: reg-expand-in 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.reg-success-banner {
  animation: reg-banner-appear 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/* Thin styled scrollbar for the category grid */
.reg-category-grid::-webkit-scrollbar {
  width: 3px;
}
.reg-category-grid::-webkit-scrollbar-track {
  background: transparent;
}
.reg-category-grid::-webkit-scrollbar-thumb {
  background: rgba(124, 134, 255, 0.25);
  border-radius: 2px;
}
.reg-category-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 134, 255, 0.45);
}
