/* ============================================================
   BeauTips — Тёмная тема: переопределения контента страниц
   Блок 1 · Большая ставка (продолжение).
   Подключать ПОСЛЕ theme.css и страничных CSS (index.css, chat.css, ...).

   Почему отдельный файл: index.css/chat.css/history.css/auth.css/
   ai_results.css задают цвета текста и фона напрямую (хардкод-хексы),
   а не через токены (это отдельная задача рефакторинга, см. Блок 2).
   Здесь — точечные тёмные переопределения ИМЕННО для этих хардкодов,
   без переписывания самих страничных файлов.

   Селектор — только `html[data-theme="dark"]`: theme-toggle.js всегда
   синхронно проставляет этот атрибут (сохранённый выбор или системный
   по умолчанию), поэтому дублировать в @media не нужно. Без JS (редкий
   случай) страница остаётся в светлой теме — это осознанный фолбэк.
   ============================================================ */

/* ================================================================
   ГЛАВНАЯ (index.html / index.css)
   ================================================================ */

html[data-theme="dark"] .hero-top-number {
  color: var(--color-ink);
}

html[data-theme="dark"] .hero-tag {
  border-color: var(--color-border-brand);
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .hero-text h1,
html[data-theme="dark"] .hero-subtitle {
  color: var(--color-ink);
}

/* Карточка «текущий план ухода»: светлый градиент → тёмная поверхность */
html[data-theme="dark"] .mission-card {
  background:
    radial-gradient(circle at top right, rgba(110, 144, 208, 0.14), transparent 32%),
    radial-gradient(circle at bottom left, rgba(110, 144, 208, 0.10), transparent 40%),
    var(--color-surface);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .mission-card-eyebrow {
  background: var(--color-brand-soft);
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .mission-card-title,
html[data-theme="dark"] .mission-card-text {
  color: var(--color-text);
}

html[data-theme="dark"] .mission-card-date {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .mission-card-link {
  background: var(--gradient-brand);
}

/* Блок «О нас» */
html[data-theme="dark"] .about-title {
  color: var(--color-ink);
}

html[data-theme="dark"] .about-content::before,
html[data-theme="dark"] .about-illustration::before,
html[data-theme="dark"] .about-right::before {
  border-color: var(--color-border-brand);
}

/* ================================================================
   ЧАТ / КВИЗ (chat.html / chat.css)
   ================================================================ */

/* Фон .choose-section — картинка bg-pattern.png (светлый узор из
   бутылочек), задана как background-image и не темнеет сама по себе.
   Как и с .history-page: кладём тёмный полупрозрачный слой поверх
   узора, чтобы сохранить текстуру, но не «слепить» белым посреди
   тёмной темы. */
html[data-theme="dark"] .choose-section {
  background:
    linear-gradient(rgba(15, 21, 32, 0.88), rgba(15, 21, 32, 0.88)),
    url('./images/bg-pattern.webp') no-repeat center center;
  background-size: cover;
}

/* Заголовок вопроса: градиентный текст — на тёмном фоне берём более
   светлые оттенки бренда для контраста, плюс фолбэк-цвет для браузеров
   без background-clip:text. */
html[data-theme="dark"] .step-question {
  background: linear-gradient(135deg, var(--c-brand-300) 0%, var(--c-brand-500) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: var(--color-ink);
}

html[data-theme="dark"] .selection-hint {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  border-color: var(--color-border-strong);
}

/* Пункты приветственного меню и карточки выбора (шаги квиза) */
html[data-theme="dark"] .menu-item,
html[data-theme="dark"] .card,
html[data-theme="dark"] .skin-card,
html[data-theme="dark"] .options-panel .option-item,
html[data-theme="dark"] .compat-product-card {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .menu-item:hover,
html[data-theme="dark"] .skin-card:hover,
html[data-theme="dark"] .options-panel .option-item:hover,
html[data-theme="dark"] .compat-product-card:hover {
  background: var(--color-brand-soft);
}

html[data-theme="dark"] .menu-item-text,
html[data-theme="dark"] .card-label,
html[data-theme="dark"] .skin-card-title,
html[data-theme="dark"] .options-panel .option-item .option-text,
html[data-theme="dark"] .compat-selected-header,
html[data-theme="dark"] .compat-product-name {
  color: var(--color-ink);
}

html[data-theme="dark"] .skin-card-desc {
  color: var(--color-text-muted);
}

/* Выбранное состояние — единый бренд-градиент, текст всегда светлый */
html[data-theme="dark"] .menu-item.selected,
html[data-theme="dark"] .skin-card.selected,
html[data-theme="dark"] .options-panel .option-item.selected,
html[data-theme="dark"] .options-panel .option-item:has(input:checked),
html[data-theme="dark"] .compat-product-card.selected {
  background: var(--gradient-brand);
}

html[data-theme="dark"] .options-panel .option-item::before {
  background: var(--color-surface);
  border-color: var(--color-brand-strong);
}

html[data-theme="dark"] .options-panel .option-item.selected::before,
html[data-theme="dark"] .options-panel .option-item:has(input:checked)::before {
  background: var(--color-brand-strong);
  border-color: var(--color-surface);
  box-shadow: inset 0 0 0 4px var(--color-surface);
}

/* Поле аллергий и контекст-шаг агента */
html[data-theme="dark"] .allergy-textarea,
html[data-theme="dark"] .agent-context-input,
html[data-theme="dark"] .agent-context-textarea,
html[data-theme="dark"] .agent-consent-item,
html[data-theme="dark"] .compat-type-search,
html[data-theme="dark"] .compat-type-toggle,
html[data-theme="dark"] .compat-chip {
  background: var(--color-surface);
  border-color: var(--color-border-brand);
  color: var(--color-text);
}

html[data-theme="dark"] .allergy-textarea::placeholder {
  color: var(--color-text-subtle);
}

html[data-theme="dark"] .agent-context-intro,
html[data-theme="dark"] .agent-context-label,
html[data-theme="dark"] .compat-type-empty,
html[data-theme="dark"] .compat-hint,
html[data-theme="dark"] .compat-loading {
  color: var(--color-text-muted);
}

/* Catalog skeleton in dark theme: darker card + subtle light shimmer */
html[data-theme="dark"] .compat-skeleton-card {
  background: var(--color-surface-2, #1e2634);
}

html[data-theme="dark"] .compat-skeleton-card .csk {
  background-color: rgba(255, 255, 255, 0.06);
  background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.14) 50%,
    rgba(255, 255, 255, 0) 100%
  );
}

html[data-theme="dark"] .compat-type-toggle,
html[data-theme="dark"] .compat-chip,
html[data-theme="dark"] .compat-product-brand {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .compat-type-toggle:hover,
html[data-theme="dark"] .compat-chip:hover {
  background: var(--color-brand-soft);
}

html[data-theme="dark"] .compat-chip.active,
html[data-theme="dark"] .compat-selected-tag {
  background: var(--color-brand);
  color: var(--color-on-brand);
  border-color: var(--color-brand);
}

html[data-theme="dark"] .compat-step-title {
  color: var(--color-ink);
}

/* Результат внутри чата (шаг результата теста) */
html[data-theme="dark"] .ai-response-container,
html[data-theme="dark"] .ai-loading {
  background: var(--color-surface);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .ai-response-content,
html[data-theme="dark"] .ai-error,
html[data-theme="dark"] .ai-loading-text {
  color: var(--color-text);
}

html[data-theme="dark"] .results-btn--secondary {
  background: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border-strong);
}

html[data-theme="dark"] .results-btn--secondary:hover {
  background: var(--color-surface-2);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .results-btn--primary {
  background: var(--gradient-brand);
}
/* ================================================================
   AI-РЕЗУЛЬТАТЫ (chat.html шаг результата / results.html; ai_results.css)
   Автосгенерированные переопределения по каталогу цветов файла:
   нейтральный текст/поверхности/бренд/семантика (success/warning/danger/
   synergy) сведены к токенам; декоративные бренд-свечения и тултип
   (уже тёмный по дизайну) оставлены как есть.
   ================================================================ */

html[data-theme="dark"] .section-title,
html[data-theme="dark"] .analysis-title,
html[data-theme="dark"] .step-title,
html[data-theme="dark"] .product-name,
html[data-theme="dark"] .product-price,
html[data-theme="dark"] .ai-results-header h1,
html[data-theme="dark"] .ai-section-title,
html[data-theme="dark"] .product-price-tag,
html[data-theme="dark"] .modal-product-name,
html[data-theme="dark"] .modal-price-value,
html[data-theme="dark"] .modal-section-title,
html[data-theme="dark"] .loading-title,
html[data-theme="dark"] .fact-slide strong,
html[data-theme="dark"] .loading-step.active,
html[data-theme="dark"] .compat-matrix-title,
html[data-theme="dark"] .guide-hero-name,
html[data-theme="dark"] .guide-card-title,
html[data-theme="dark"] .guide-compat-header h2,
html[data-theme="dark"] .compat-verdict-text strong,
html[data-theme="dark"] .compat-strip-title,
html[data-theme="dark"] .dayplan-col-label,
html[data-theme="dark"] .agent-confidence-score {
  color: var(--color-ink);
}

html[data-theme="dark"] .action-btn--secondary,
html[data-theme="dark"] .product-modal-close:hover,
html[data-theme="dark"] .modal-info-value,
html[data-theme="dark"] .modal-ingredient-chip,
html[data-theme="dark"] .ai-btn-secondary,
html[data-theme="dark"] .loading-step.done,
html[data-theme="dark"] .matrix-col-label .matrix-product-name-short,
html[data-theme="dark"] .matrix-row-label .matrix-product-name-short,
html[data-theme="dark"] .compat-product-legend-text,
html[data-theme="dark"] .guide-freq-badge,
html[data-theme="dark"] .guide-amount-badge,
html[data-theme="dark"] .guide-routine-badge,
html[data-theme="dark"] .guide-steps-list li,
html[data-theme="dark"] .compat-product-name-label,
html[data-theme="dark"] .cpair-label,
html[data-theme="dark"] .cpair-solution,
html[data-theme="dark"] .dayplan-step-text,
html[data-theme="dark"] .agent-safety-list li,
html[data-theme="dark"] .agent-questions-list li,
html[data-theme="dark"] .agent-data-list li {
  color: var(--color-text);
}

html[data-theme="dark"] .routine-step,
html[data-theme="dark"] .action-btn--secondary:hover,
html[data-theme="dark"] .ai-ingredients-list li,
html[data-theme="dark"] .ai-tips-list li,
html[data-theme="dark"] .ai-product-card,
html[data-theme="dark"] .modal-info-item,
html[data-theme="dark"] .ai-routine-list li,
html[data-theme="dark"] .ai-btn-secondary:hover,
html[data-theme="dark"] .facts-carousel-container,
html[data-theme="dark"] .matrix-cell--unknown,
html[data-theme="dark"] .guide-freq-badge,
html[data-theme="dark"] .guide-amount-badge,
html[data-theme="dark"] .guide-routine-badge,
html[data-theme="dark"] .guide-steps-list li,
html[data-theme="dark"] .guide-pair-list li,
html[data-theme="dark"] .compat-product-card,
html[data-theme="dark"] .agent-safety-list li,
html[data-theme="dark"] .agent-questions-list li,
html[data-theme="dark"] .agent-data-list li {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .analysis-card,
html[data-theme="dark"] .routine-section,
html[data-theme="dark"] .routine-tab,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .tip-card,
html[data-theme="dark"] .action-btn--secondary,
html[data-theme="dark"] .ai-section,
html[data-theme="dark"] .product-modal,
html[data-theme="dark"] .luxury-loader-wrapper,
html[data-theme="dark"] .fact-icon,
html[data-theme="dark"] .compat-matrix-section,
html[data-theme="dark"] .guide-hero,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .guide-pair-block,
html[data-theme="dark"] .compat-products-strip,
html[data-theme="dark"] .agent-refine-btn {
  background: var(--color-surface);
}

html[data-theme="dark"] .analysis-text,
html[data-theme="dark"] .tip-text,
html[data-theme="dark"] .ai-analysis-text,
html[data-theme="dark"] .ai-ingredients-list li,
html[data-theme="dark"] .ai-tips-list li,
html[data-theme="dark"] .ingredient-description,
html[data-theme="dark"] .modal-section-text,
html[data-theme="dark"] .fact-slide p,
html[data-theme="dark"] .legend-item,
html[data-theme="dark"] .guide-plain-text,
html[data-theme="dark"] .guide-tl-result,
html[data-theme="dark"] .guide-ingredient-effect,
html[data-theme="dark"] .guide-meta-line,
html[data-theme="dark"] .guide-pair-list li,
html[data-theme="dark"] .cpair-reason,
html[data-theme="dark"] .agent-confidence-label {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .section-subtitle,
html[data-theme="dark"] .routine-tab,
html[data-theme="dark"] .step-desc,
html[data-theme="dark"] .product-benefit,
html[data-theme="dark"] .product-reason,
html[data-theme="dark"] .product-modal-close,
html[data-theme="dark"] .modal-ingredients,
html[data-theme="dark"] .compat-products-legend-title,
html[data-theme="dark"] .guide-hero-overview,
html[data-theme="dark"] .guide-when-text,
html[data-theme="dark"] .compat-verdict-text span,
html[data-theme="dark"] .agent-data-details {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .analysis-icon,
html[data-theme="dark"] .routine-tab.active,
html[data-theme="dark"] .step-number,
html[data-theme="dark"] .product-btn,
html[data-theme="dark"] .action-btn--primary,
html[data-theme="dark"] .product-type-badge,
html[data-theme="dark"] .modal-product-type,
html[data-theme="dark"] .ai-routine-list li::before,
html[data-theme="dark"] .ai-btn-primary,
html[data-theme="dark"] .matrix-col-label .matrix-product-num,
html[data-theme="dark"] .matrix-row-label .matrix-product-num,
html[data-theme="dark"] .compat-product-legend-num {
  background: var(--gradient-brand);
}

html[data-theme="dark"] .product-brand,
html[data-theme="dark"] .ai-products-hint,
html[data-theme="dark"] .modal-product-brand,
html[data-theme="dark"] .modal-info-label,
html[data-theme="dark"] .loading-step,
html[data-theme="dark"] .compat-matrix-subtitle,
html[data-theme="dark"] .compat-product-legend-type,
html[data-theme="dark"] .compat-pair-toggle,
html[data-theme="dark"] .guide-hero-brand,
html[data-theme="dark"] .compat-product-brand-label,
html[data-theme="dark"] .cpair-sep,
html[data-theme="dark"] .cpair-chevron {
  color: var(--color-text-subtle);
}

html[data-theme="dark"] .analysis-icon,
html[data-theme="dark"] .routine-tab.active,
html[data-theme="dark"] .step-number,
html[data-theme="dark"] .product-badge,
html[data-theme="dark"] .product-btn,
html[data-theme="dark"] .action-btn--primary,
html[data-theme="dark"] .loading-step.done .step-icon::after,
html[data-theme="dark"] .matrix-col-label .matrix-product-num,
html[data-theme="dark"] .matrix-row-label .matrix-product-num,
html[data-theme="dark"] .compat-product-legend-num {
  color: var(--color-surface);
}

html[data-theme="dark"] .routine-tab:hover,
html[data-theme="dark"] .step-category,
html[data-theme="dark"] .back-to-history-btn,
html[data-theme="dark"] .product-details-link,
html[data-theme="dark"] .status-message,
html[data-theme="dark"] .analysis-read-more,
html[data-theme="dark"] .guide-back-btn,
html[data-theme="dark"] .guide-step-num,
html[data-theme="dark"] .guide-tl-label,
html[data-theme="dark"] .guide-selected-label {
  color: var(--color-brand);
}

html[data-theme="dark"] .product-badge,
html[data-theme="dark"] .indicator.active,
html[data-theme="dark"] .pulse-dots span,
html[data-theme="dark"] .loading-step.active .step-icon::after,
html[data-theme="dark"] .loading-step.done .step-icon,
html[data-theme="dark"] .back-btn,
html[data-theme="dark"] .guide-tl-dot,
html[data-theme="dark"] .guide-selected-tag {
  background: var(--color-brand);
}

html[data-theme="dark"] .matrix-cell--caution .matrix-cell-label,
html[data-theme="dark"] .matrix-tooltip-badge--caution,
html[data-theme="dark"] .compat-overall-score--ok,
html[data-theme="dark"] .guide-mistake-icon,
html[data-theme="dark"] .compat-barrier-pill--medium,
html[data-theme="dark"] .cpair--caution .cpair-label {
  color: var(--color-warning);
}

html[data-theme="dark"] .matrix-cell--safe .matrix-cell-label,
html[data-theme="dark"] .matrix-tooltip-badge--safe,
html[data-theme="dark"] .compat-overall-score--great,
html[data-theme="dark"] .compat-alternative-separator,
html[data-theme="dark"] .compat-barrier-pill--low,
html[data-theme="dark"] .cpair--safe .cpair-label {
  color: var(--color-success);
}

html[data-theme="dark"] .matrix-cell--conflict .matrix-cell-label,
html[data-theme="dark"] .matrix-tooltip-badge--conflict,
html[data-theme="dark"] .compat-overall-score--bad,
html[data-theme="dark"] .compat-barrier-pill--high,
html[data-theme="dark"] .cpair--conflict .cpair-label {
  color: var(--color-danger);
}

html[data-theme="dark"] .followup-inline-loader,
html[data-theme="dark"] .dialog-turn-label,
html[data-theme="dark"] .dialog-confidence-chip,
html[data-theme="dark"] .followup-form-status--info,
html[data-theme="dark"] .agent-refine-notice--info {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .followup-label,
html[data-theme="dark"] .followup-inline-loader,
html[data-theme="dark"] .dialog-turn-label,
html[data-theme="dark"] .dialog-turn-answers li em,
html[data-theme="dark"] .dialog-confidence-chip {
  color: #e3c39a;
}

html[data-theme="dark"] .analysis-card,
html[data-theme="dark"] .routine-section,
html[data-theme="dark"] .ai-section,
html[data-theme="dark"] .compat-matrix-section {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .tag--condition,
html[data-theme="dark"] .ai-disclaimer,
html[data-theme="dark"] .matrix-tooltip-badge--caution,
html[data-theme="dark"] .compat-barrier-pill--medium {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .routine-tab,
html[data-theme="dark"] .action-btn--secondary,
html[data-theme="dark"] .ai-btn-secondary,
html[data-theme="dark"] .matrix-cell--unknown {
  border: 2px solid var(--color-border-strong);
}

html[data-theme="dark"] .routine-tab:hover,
html[data-theme="dark"] .ai-product-card-clickable:hover,
html[data-theme="dark"] .loading-step.active .step-icon,
html[data-theme="dark"] .loading-step.done .step-icon {
  border-color: var(--color-brand);
}

html[data-theme="dark"] .routine-step:hover,
html[data-theme="dark"] .ai-product-card:hover,
html[data-theme="dark"] .product-modal-close,
html[data-theme="dark"] .matrix-cell--self {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .matrix-cell--synergy .matrix-cell-label,
html[data-theme="dark"] .matrix-tooltip-badge--synergy,
html[data-theme="dark"] .cpair--synergy .cpair-label,
html[data-theme="dark"] .cpair-active-tag {
  color: #c4b5fd;
}

html[data-theme="dark"] .compat-safe-item,
html[data-theme="dark"] .compat-safe-chip,
html[data-theme="dark"] .followup-form-status--success,
html[data-theme="dark"] .agent-refine-notice--success {
  color: var(--color-success);
}

html[data-theme="dark"] .guide-mistake-chip,
html[data-theme="dark"] .cpair--caution,
html[data-theme="dark"] .dayplan-notes,
html[data-theme="dark"] .compat-warn-chip {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .guide-mistake-chip,
html[data-theme="dark"] .dayplan-notes,
html[data-theme="dark"] .compat-warn-chip,
html[data-theme="dark"] .agent-safe-alternative {
  border: 1px solid rgba(251, 191, 36, 0.4);
}

html[data-theme="dark"] .followup-error,
html[data-theme="dark"] .followup-form-error,
html[data-theme="dark"] .followup-form-status--error,
html[data-theme="dark"] .agent-refine-notice--error {
  color: var(--color-danger);
}

html[data-theme="dark"] .tag--skin-type,
html[data-theme="dark"] .ingredient-chip,
html[data-theme="dark"] .guide-ingredient-name {
  color: #a5b4fc;
}

html[data-theme="dark"] .tag--condition,
html[data-theme="dark"] .ai-disclaimer p,
html[data-theme="dark"] .dayplan-notes {
  color: var(--color-warning);
}

html[data-theme="dark"] .ai-error,
html[data-theme="dark"] .error-container h2,
html[data-theme="dark"] .guide-tag--bad {
  color: var(--color-danger);
}

html[data-theme="dark"] .product-modal-close:hover,
html[data-theme="dark"] .indicator,
html[data-theme="dark"] .compat-products-scroll::-webkit-scrollbar-thumb {
  background: var(--color-border);
}

html[data-theme="dark"] .modal-ingredient-chip,
html[data-theme="dark"] .compat-product-img-wrap,
html[data-theme="dark"] .agent-confidence-card {
  border: 1px solid var(--color-border);
}

html[data-theme="dark"] .compat-alternative,
html[data-theme="dark"] .guide-tag--good,
html[data-theme="dark"] .compat-all-safe-banner span {
  color: var(--color-success);
}

html[data-theme="dark"] .compat-barrier-reason,
html[data-theme="dark"] .compat-actives-label,
html[data-theme="dark"] .skin-warn-message {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .guide-hero-img-placeholder,
html[data-theme="dark"] .guide-step-icon-wrap,
html[data-theme="dark"] .guide-ingredient-name {
  background: linear-gradient(135deg, rgba(110,144,208,0.18), rgba(167,139,250,0.14));
}

html[data-theme="dark"] .guide-freq-badge,
html[data-theme="dark"] .guide-amount-badge,
html[data-theme="dark"] .guide-routine-badge {
  border: 1.5px solid var(--color-border-strong);
}

html[data-theme="dark"] .guide-steps-list li::before,
html[data-theme="dark"] .compat-product-num,
html[data-theme="dark"] .dayplan-step-num {
  background: var(--gradient-brand);
}

html[data-theme="dark"] .compat-product-num,
html[data-theme="dark"] .dayplan-step-num,
html[data-theme="dark"] .agent-refine-btn {
  color: var(--color-surface);
}

html[data-theme="dark"] .followup-form-error,
html[data-theme="dark"] .followup-form-status--error,
html[data-theme="dark"] .agent-refine-notice--error {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .followup-form-error,
html[data-theme="dark"] .followup-form-status--error,
html[data-theme="dark"] .agent-refine-notice--error {
  border: 1px solid rgba(251, 113, 133, 0.4);
}

html[data-theme="dark"] .ai-error,
html[data-theme="dark"] .guide-tag--bad {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .ai-error .error-tip,
html[data-theme="dark"] .error-container p {
  color: var(--color-danger);
}

html[data-theme="dark"] .action-btn--secondary:hover,
html[data-theme="dark"] .ai-btn-secondary:hover {
  border-color: var(--color-text-subtle);
}

html[data-theme="dark"] .back-to-history-btn,
html[data-theme="dark"] .analysis-read-more {
  background: rgba(110, 144, 208, 0.18);
}

html[data-theme="dark"] .ingredient-chip,
html[data-theme="dark"] .guide-ingredient-name {
  border: 1px solid rgba(167, 139, 250, 0.4);
}

html[data-theme="dark"] .spinner-container,
html[data-theme="dark"] .loading-status {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .matrix-cell--self .matrix-cell-inner,
html[data-theme="dark"] .matrix-tooltip-reason {
  color: var(--color-text-subtle);
}

html[data-theme="dark"] .matrix-cell--synergy,
html[data-theme="dark"] .guide-timing--evening {
  background: linear-gradient(135deg, rgba(167,139,250,0.22) 0%, rgba(167,139,250,0.12) 100%);
}

html[data-theme="dark"] .legend-dot--conflict,
html[data-theme="dark"] .compat-overall-score--bad {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .legend-dot--caution,
html[data-theme="dark"] .compat-overall-score--ok {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .legend-dot--safe,
html[data-theme="dark"] .compat-overall-score--great {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .matrix-tooltip,
html[data-theme="dark"] .matrix-tooltip-products {
  color: var(--color-surface-2);
}

html[data-theme="dark"] .matrix-tooltip-badge--conflict,
html[data-theme="dark"] .compat-barrier-pill--high {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .matrix-tooltip-badge--safe,
html[data-theme="dark"] .compat-barrier-pill--low {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .compat-alternative,
html[data-theme="dark"] .guide-tag--good {
  border: 1px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .compat-alternative strong,
html[data-theme="dark"] .compat-all-safe-banner strong {
  color: var(--color-success);
}

html[data-theme="dark"] .compat-barrier-title,
html[data-theme="dark"] .skin-warn-product {
  color: var(--color-ink);
}

html[data-theme="dark"] .compat-active-tag,
html[data-theme="dark"] .skin-warn-active {
  background: rgba(167, 139, 250, 0.18);
}

html[data-theme="dark"] .compat-active-tag,
html[data-theme="dark"] .skin-warn-active {
  color: #c4b5fd;
}

html[data-theme="dark"] .compat-pair--conflict-badge.compat-pair--avoid_same-badge,
html[data-theme="dark"] .compat-pair--conflict-badge {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .compat-pair--conflict-badge.compat-pair--avoid_same-badge,
html[data-theme="dark"] .compat-pair--conflict-badge {
  color: var(--color-danger);
}

html[data-theme="dark"] .compat-pair--conflict-badge.compat-pair--avoid_same-badge,
html[data-theme="dark"] .compat-pair--conflict-badge {
  border: 1px solid rgba(251, 113, 133, 0.4);
}

html[data-theme="dark"] .compat-safe-item,
html[data-theme="dark"] .compat-safe-chip {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .compat-safe-item,
html[data-theme="dark"] .compat-safe-chip {
  border: 1px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .analysis-read-more:hover,
html[data-theme="dark"] .guide-back-btn:hover {
  background: rgba(110, 144, 208, 0.26);
}

html[data-theme="dark"] .guide-step-text,
html[data-theme="dark"] .cpair-name {
  color: var(--color-ink);
}

html[data-theme="dark"] .guide-mistake-chip,
html[data-theme="dark"] .compat-warn-chip {
  color: var(--color-warning);
}

html[data-theme="dark"] .compat-verdict--ok,
html[data-theme="dark"] .compat-all-safe-banner {
  border: 1.5px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .compat-product-img-wrap,
html[data-theme="dark"] .followup-textarea {
  background: var(--color-surface);
}

html[data-theme="dark"] .cpair--synergy .cpair-label,
html[data-theme="dark"] .cpair-active-tag {
  background: rgba(167, 139, 250, 0.18);
}

html[data-theme="dark"] .agent-confidence-card.agent-confidence--medium,
html[data-theme="dark"] .agent-safe-alternative {
  background: linear-gradient(135deg, var(--c-warning-soft) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .followup-textarea,
html[data-theme="dark"] .agent-refine-notice--info {
  border: 1px solid var(--color-border-brand);
}

html[data-theme="dark"] .followup-error,
html[data-theme="dark"] .followup-form-error {
  color: var(--color-danger);
}

html[data-theme="dark"] .dialog-confidence-chip,
html[data-theme="dark"] .agent-refine-notice--info {
  background: var(--color-brand-soft);
}

html[data-theme="dark"] .agent-followup-form-section,
html[data-theme="dark"] .agent-followup-fallback-section {
  border: 1px solid rgba(227, 195, 154, 0.35);
}

html[data-theme="dark"] .followup-textarea,
html[data-theme="dark"] .dialog-confidence-chip {
  border: 1px solid rgba(227, 195, 154, 0.4);
}

html[data-theme="dark"] .followup-form-status--success,
html[data-theme="dark"] .agent-refine-notice--success {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .analysis-card {
  border: 2px solid var(--color-border-brand);
}

html[data-theme="dark"] .tag--skin-type {
  background: rgba(167, 139, 250, 0.16);
}

html[data-theme="dark"] .routine-tab.active svg {
  stroke: var(--color-surface);
}

html[data-theme="dark"] .product-card {
  box-shadow: var(--shadow-sm);
}

html[data-theme="dark"] .product-card:hover {
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .product-image {
  background: linear-gradient(135deg, rgba(110,144,208,0.20) 0%, rgba(110,144,208,0.10) 100%);
}

html[data-theme="dark"] .tip-card {
  box-shadow: var(--shadow-sm);
}

html[data-theme="dark"] .tip-card:hover {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .ai-loading-container {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .ai-loading-container p {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .ai-error {
  border: 2px solid rgba(251, 113, 133, 0.45);
}

html[data-theme="dark"] .back-to-history-btn:hover {
  background: rgba(110, 144, 208, 0.28);
}

html[data-theme="dark"] .ingredient-chip {
  background: linear-gradient(135deg, rgba(110,144,208,0.18) 0%, rgba(167,139,250,0.14) 100%);
}

html[data-theme="dark"] .product-card-img-wrap {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .ai-product-card-clickable:hover .product-details-link {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .product-modal-overlay {
  background: rgba(0, 0, 0, 0.65);
}

html[data-theme="dark"] .product-modal {
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .modal-info-row {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .modal-ingredient-chip {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .modal-ingredient-more {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .modal-ingredient-more {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .spinner {
  border: 4px solid var(--color-border);
}

html[data-theme="dark"] .luxury-loader-wrapper::before {
  background: linear-gradient(90deg, var(--c-brand-500), var(--c-brand-400), var(--c-brand-300), var(--c-brand-500));
}

html[data-theme="dark"] .facts-carousel-container {
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.18);
}

html[data-theme="dark"] .fact-icon {
  box-shadow: var(--shadow-xs);
}

html[data-theme="dark"] .loading-step .step-icon {
  border: 2px solid var(--color-border-strong);
}

html[data-theme="dark"] .back-btn:hover {
  background: var(--color-brand-strong);
}

html[data-theme="dark"] .matrix-cell:hover {
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .matrix-cell--conflict {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .matrix-cell--conflict {
  border: 2px solid rgba(251, 113, 133, 0.55);
}

html[data-theme="dark"] .matrix-cell--caution {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .matrix-cell--caution {
  border: 2px solid rgba(251, 191, 36, 0.55);
}

html[data-theme="dark"] .matrix-cell--safe {
  border: 2px solid rgba(74, 222, 128, 0.55);
}

html[data-theme="dark"] .matrix-cell--synergy {
  border: 2px solid rgba(167, 139, 250, 0.55);
}

html[data-theme="dark"] .legend-dot--conflict {
  border: 1.5px solid rgba(251, 113, 133, 0.55);
}

html[data-theme="dark"] .legend-dot--caution {
  border: 1.5px solid rgba(251, 191, 36, 0.55);
}

html[data-theme="dark"] .legend-dot--safe {
  border: 1.5px solid rgba(74, 222, 128, 0.55);
}

html[data-theme="dark"] .legend-dot--synergy {
  background: linear-gradient(135deg, rgba(167,139,250,0.22), rgba(167,139,250,0.12));
}

html[data-theme="dark"] .legend-dot--synergy {
  border: 1.5px solid rgba(167, 139, 250, 0.55);
}

html[data-theme="dark"] .matrix-tooltip {
  background: var(--color-ink);
}

html[data-theme="dark"] .matrix-tooltip {
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .matrix-tooltip-badge--synergy {
  background: rgba(167, 139, 250, 0.22);
}

html[data-theme="dark"] .compat-alternative {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .compat-barrier--high {
  background: rgba(251, 113, 133, 0.14);
}

html[data-theme="dark"] .compat-barrier--high {
  border: 1px solid rgba(251, 113, 133, 0.4);
}

html[data-theme="dark"] .compat-barrier--medium {
  background: rgba(251, 191, 36, 0.14);
}

html[data-theme="dark"] .compat-barrier--medium {
  border: 1px solid rgba(251, 191, 36, 0.4);
}

html[data-theme="dark"] .compat-barrier--low {
  background: rgba(74, 222, 128, 0.14);
}

html[data-theme="dark"] .compat-barrier--low {
  border: 1px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .compat-active-tag {
  border: 1px solid rgba(167, 139, 250, 0.4);
}

html[data-theme="dark"] .compat-confidence-badge {
  background: rgba(159, 176, 198, 0.18);
}

html[data-theme="dark"] .compat-confidence-badge {
  border: 1px solid rgba(159, 176, 198, 0.3);
}

html[data-theme="dark"] .compat-confidence-badge {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .compat-pair--caution-badge {
  background: rgba(251, 191, 36, 0.18);
}

html[data-theme="dark"] .compat-pair--caution-badge {
  color: var(--color-warning);
}

html[data-theme="dark"] .compat-pair--caution-badge {
  border: 1px solid rgba(251, 191, 36, 0.4);
}

html[data-theme="dark"] .skin-warn--warning {
  background: rgba(251, 113, 133, 0.10);
}

html[data-theme="dark"] .skin-warn--caution {
  background: rgba(251, 191, 36, 0.10);
}

html[data-theme="dark"] .skin-warn--note {
  background: rgba(110, 144, 208, 0.14);
}

html[data-theme="dark"] .guide-hero {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .guide-hero-img-wrap {
  background: linear-gradient(135deg, rgba(110,144,208,0.20), rgba(110,144,208,0.10));
}

html[data-theme="dark"] .guide-back-btn {
  background: rgba(110, 144, 208, 0.16);
}

html[data-theme="dark"] .guide-step-connector {
  background: linear-gradient(to bottom, var(--color-brand), transparent);
}

html[data-theme="dark"] .guide-tag--good {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .guide-tag--bad {
  border: 1px solid rgba(251, 113, 133, 0.4);
}

html[data-theme="dark"] .guide-tl-dot {
  border: 3px solid var(--color-surface);
}

html[data-theme="dark"] .guide-tl-dot {
  box-shadow: 0 0 0 2px var(--color-brand);
}

html[data-theme="dark"] .guide-tl-line {
  background: linear-gradient(to right, var(--color-brand), var(--color-brand-strong));
}

html[data-theme="dark"] .guide-timing--morning {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .guide-timing--morning {
  color: var(--color-warning);
}

html[data-theme="dark"] .guide-timing--morning {
  border: 1.5px solid rgba(251, 191, 36, 0.55);
}

html[data-theme="dark"] .guide-timing--evening {
  color: #c4b5fd;
}

html[data-theme="dark"] .guide-timing--both {
  background: linear-gradient(135deg, rgba(110,144,208,0.20) 0%, rgba(110,144,208,0.10) 100%);
}

html[data-theme="dark"] .guide-timing--both {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .guide-timing--both {
  border: 1.5px solid var(--color-border-brand);
}

html[data-theme="dark"] .guide-pair-block {
  box-shadow: var(--shadow-sm);
}

html[data-theme="dark"] .guide-selected-wrap {
  background: rgba(110, 144, 208, 0.14);
}

html[data-theme="dark"] .guide-selected-wrap {
  border: 1.5px solid var(--color-border-brand);
}

html[data-theme="dark"] .compat-verdict {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .compat-verdict--ok {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .compat-verdict--warn {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .compat-verdict--warn {
  border: 1.5px solid rgba(251, 191, 36, 0.45);
}

html[data-theme="dark"] .compat-verdict--bad {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .compat-verdict--bad {
  border: 1.5px solid rgba(251, 113, 133, 0.45);
}

html[data-theme="dark"] .compat-products-strip {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .compat-product-card {
  border: 1.5px solid var(--color-border);
}

html[data-theme="dark"] .compat-product-card:hover {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .cpair-card:hover {
  box-shadow: var(--shadow-sm);
}

html[data-theme="dark"] .cpair--conflict {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .cpair--safe {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .cpair--synergy {
  background: rgba(167, 139, 250, 0.14);
}

html[data-theme="dark"] .cpair-label {
  background: rgba(255,255,255,0.08);
}

html[data-theme="dark"] .cpair--conflict .cpair-label {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .cpair--caution .cpair-label {
  background: var(--c-warning-soft);
}

html[data-theme="dark"] .cpair--safe .cpair-label {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .cpair-active-tag {
  border: 1px solid rgba(167, 139, 250, 0.4);
}

html[data-theme="dark"] .cpair-solution {
  background: rgba(110, 144, 208, 0.16);
}

html[data-theme="dark"] .dayplan-divider {
  background: linear-gradient(to bottom, transparent, var(--color-border) 20%, var(--color-border) 80%, transparent);
}

html[data-theme="dark"] .dayplan-step {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .dayplan-step {
  border: 1px solid var(--color-border);
}

html[data-theme="dark"] .compat-all-safe-banner {
  background: var(--c-success-soft);
}

html[data-theme="dark"] .compat-all-safe-banner {
  box-shadow: 0 4px 20px rgba(74, 222, 128, 0.22);
}

html[data-theme="dark"] .compat-title--conflict {
  color: var(--color-danger) !important;
}

html[data-theme="dark"] .agent-confidence-card.agent-confidence--high {
  background: linear-gradient(135deg, var(--c-success-soft) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .agent-memory-recap {
  border: 1px solid rgba(167, 139, 250, 0.4);
}

html[data-theme="dark"] .agent-memory-recap {
  background: linear-gradient(135deg, rgba(167,139,250,0.16) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .agent-memory-list li {
  background: var(--color-surface);
}

html[data-theme="dark"] .agent-followup-section {
  border: 1px dashed rgba(167, 139, 250, 0.45);
}

html[data-theme="dark"] .agent-followup-section {
  background: linear-gradient(135deg, rgba(110,144,208,0.18) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .agent-actions-section {
  border: 1px solid var(--color-border-brand);
}

html[data-theme="dark"] .agent-actions-section {
  background: linear-gradient(135deg, rgba(110,144,208,0.16) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .agent-refine-btn {
  border: 1px solid var(--color-border-brand);
}

html[data-theme="dark"] .agent-refine-btn {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .agent-refine-btn:hover {
  border-color: var(--color-brand);
}

html[data-theme="dark"] .agent-refine-btn:hover {
  color: var(--color-ink);
}

html[data-theme="dark"] .followup-label {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .followup-textarea {
  color: var(--color-text);
}

html[data-theme="dark"] .followup-form-error {
  background: var(--c-danger-soft);
}

html[data-theme="dark"] .dialog-turn {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .loader {
  border: 5px solid rgba(167, 139, 250, 0.18);
}

html[data-theme="dark"] .modal-ingredient-more {
  border: 1px solid var(--color-border);
}

html[data-theme="dark"] .matrix-cell--safe {
  background: linear-gradient(135deg, rgba(74,222,128,0.22) 0%, rgba(74,222,128,0.12) 100%);
}

html[data-theme="dark"] .guide-card {
  box-shadow: var(--shadow-md);
}

html[data-theme="dark"] .guide-timing--evening {
  border: 1.5px solid rgba(167, 139, 250, 0.5);
}

html[data-theme="dark"] .cpair--safe {
  border-color: rgba(74, 222, 128, 0.5);
}

html[data-theme="dark"] .cpair--synergy {
  border-color: rgba(167, 139, 250, 0.5);
}

html[data-theme="dark"] .compat-title--caution {
  color: var(--color-warning) !important;
}

html[data-theme="dark"] .agent-confidence-card {
  background: linear-gradient(135deg, var(--color-surface-2) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .agent-confidence-card.agent-confidence--low {
  background: linear-gradient(135deg, var(--c-danger-soft) 0%, var(--color-surface) 100%);
}

html[data-theme="dark"] .followup-form-status--info {
  background: var(--color-brand-soft);
}

html[data-theme="dark"] .followup-form-status--info {
  border: 1px solid var(--color-border-brand);
}

html[data-theme="dark"] .followup-form-status--success {
  border: 1px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .agent-refine-notice--success {
  border: 1px solid rgba(74, 222, 128, 0.4);
}

html[data-theme="dark"] .cpair--conflict,
html[data-theme="dark"] .agent-confidence-card.agent-confidence--low {
  border-color: rgba(251, 113, 133, 0.5);
}

html[data-theme="dark"] .cpair--caution,
html[data-theme="dark"] .agent-confidence-card.agent-confidence--medium {
  border-color: rgba(251, 191, 36, 0.5);
}

/* ================================================================
   ИСТОРИЯ (history.html / history.css)
   ================================================================ */

html[data-theme="dark"] .history-title {
  background: linear-gradient(90deg, var(--c-brand-300) 0%, var(--c-brand-500) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: var(--color-ink);
}

html[data-theme="dark"] .history-card {
  background: var(--color-surface);
}

/* History loading skeleton in dark theme */
html[data-theme="dark"] .hsk-card {
  background: var(--color-surface);
  box-shadow: none;
}

html[data-theme="dark"] .hsk {
  background-color: rgba(255, 255, 255, 0.06);
  background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.14) 50%,
    rgba(255, 255, 255, 0) 100%
  );
}

html[data-theme="dark"] .tag-recs {
  background: var(--color-surface-2);
  color: var(--color-brand-strong);
  border-color: var(--color-border-strong);
}

html[data-theme="dark"] .tag-recs.tag-recs--none {
  color: #e3c39a;
  border-color: rgba(227, 195, 154, 0.4);
  background: var(--color-surface-2);
}

html[data-theme="dark"] .history-card-date {
  color: var(--color-text-muted);
  background: var(--color-brand-soft);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .analysis-preview {
  color: var(--color-text);
}

html[data-theme="dark"] .btn-view-details {
  background: var(--color-surface-2);
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .btn-view-details:hover {
  background: var(--color-brand);
  color: var(--color-on-brand);
}

html[data-theme="dark"] .loading-state {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .spinner {
  border-color: var(--color-border-brand);
  border-top-color: var(--color-brand);
}

html[data-theme="dark"] .error-state,
html[data-theme="dark"] .empty-state {
  background: var(--color-surface);
}

html[data-theme="dark"] .empty-state h2 {
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .empty-state p {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .pagination-btn {
  background: var(--color-surface-2);
  color: var(--color-brand-strong);
  border-color: var(--color-border-strong);
}

html[data-theme="dark"] .pagination-btn:hover {
  background: var(--color-brand);
  color: var(--color-on-brand);
}

html[data-theme="dark"] .pagination-info {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
}

html[data-theme="dark"] .pagination-dots {
  color: var(--color-text-subtle);
}

/* Фоновая текstura .history-page (back.png) — светлая; в тёмной теме
   покрываем тёмным полупрозрачным слоем поверх узора, чтобы сохранить
   текстуру, но не «выбеливать» страницу. */
html[data-theme="dark"] .history-page {
  background:
    linear-gradient(rgba(15, 21, 32, 0.88), rgba(15, 21, 32, 0.88)),
    url('./images/back.webp') repeat top left;
  background-size: auto;
}

/* ================================================================
   АВТОРИЗАЦИЯ / РЕГИСТРАЦИЯ (auth.html, register.html; auth.css)
   ================================================================ */

html[data-theme="dark"] .auth-register,
html[data-theme="dark"] .auth-login,
html[data-theme="dark"] .auth-forgot {
  background-color: var(--color-surface);
  border-color: var(--color-border);
}

html[data-theme="dark"] .auth-checkbox-text {
  color: var(--color-text);
}

html[data-theme="dark"] .auth-title-main {
  color: var(--color-ink);
}

html[data-theme="dark"] .auth-switch,
html[data-theme="dark"] .auth-label-hint {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .auth-label {
  color: var(--color-text);
}

html[data-theme="dark"] .auth-input,
html[data-theme="dark"] .auth-field[data-field="phone"] .iti__tel-input {
  background-color: var(--color-surface-2);
  border-color: var(--color-border-strong);
  color: var(--color-text);
}

html[data-theme="dark"] .password-toggle {
  color: var(--color-text-subtle);
}

html[data-theme="dark"] .password-toggle:hover {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .iti__country-list {
  background: var(--color-surface);
  color: var(--color-text);
}

html[data-theme="dark"] .iti__country:hover {
  background-color: var(--color-surface-2);
}

html[data-theme="dark"] .iti__country--highlight {
  background-color: var(--color-brand-soft);
}

/* ================================================================
   ПРОФИЛЬ (profile.html — инлайн <style> с локальными переменными)
   profile.html определяет :root { --profile-*: ... }. Наш селектор
   html[data-theme="dark"] — тот же элемент (html === :root), но с
   бОльшей специфичностью (атрибут), поэтому эти 7 переменных
   перекрывают инлайн-блок целиком и «дотемняют» почти всю страницу
   профиля одним шагом.
   ================================================================ */

html[data-theme="dark"] {
  --profile-accent: var(--color-brand-strong);
  --profile-accent-soft: var(--color-brand-soft);
  --profile-ink: var(--color-ink);
  --profile-muted: var(--color-text-muted);
  --profile-border: var(--color-border-brand);
  --profile-surface: var(--color-surface);
  --profile-shadow: var(--shadow-lg);
}

/* Фон страницы профиля (не покрыт переменными) */
html[data-theme="dark"] body.body-profile {
  background:
    radial-gradient(circle at top left, rgba(110, 144, 208, 0.14), transparent 26%),
    radial-gradient(circle at bottom right, rgba(110, 144, 208, 0.12), transparent 24%),
    var(--color-bg);
}

html[data-theme="dark"] .profile-pill,
html[data-theme="dark"] .profile-input,
html[data-theme="dark"] .profile-select,
html[data-theme="dark"] .profile-textarea,
html[data-theme="dark"] .profile-chip-option span,
html[data-theme="dark"] .profile-btn--secondary {
  background: var(--color-surface-2);
  color: var(--color-ink);
}

html[data-theme="dark"] .profile-pill--verified {
  background: rgba(74, 222, 128, 0.16);
  border-color: rgba(74, 222, 128, 0.35);
  color: #86efac;
}

html[data-theme="dark"] .profile-memory-chip--liked {
  background: rgba(74, 222, 128, 0.16);
  color: #86efac;
  border-color: rgba(74, 222, 128, 0.3);
}

html[data-theme="dark"] .profile-memory-chip--avoided {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  border-color: var(--color-border-strong);
}

html[data-theme="dark"] .logout-btn {
  background-color: rgba(251, 113, 133, 0.14);
  color: #fca5a5;
  border-color: rgba(251, 113, 133, 0.3);
}

html[data-theme="dark"] .logout-btn:hover {
  background-color: rgba(251, 113, 133, 0.22);
}

/* ================================================================
   RESET-PASSWORD / VERIFY-EMAIL (инлайн <style>, standalone-страницы)
   ================================================================ */

html[data-theme="dark"] .container {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: var(--shadow-lg);
}

html[data-theme="dark"] .container h1 {
  color: var(--color-ink);
}

html[data-theme="dark"] .container .message {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .form-group label {
  color: var(--color-text);
}

html[data-theme="dark"] .form-group input {
  background: var(--color-surface-2);
  border-color: var(--color-border-strong);
  color: var(--color-text);
}

html[data-theme="dark"] .spinner {
  border-color: var(--color-border-strong);
  border-top-color: var(--color-brand);
}

html[data-theme="dark"] .toggle-password {
  color: var(--color-text-subtle);
}

html[data-theme="dark"] .toggle-password:hover {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .secondary-button {
  background: var(--color-surface-2);
  color: var(--color-text);
}

html[data-theme="dark"] .secondary-button:hover {
  background: var(--color-border-strong);
}

/* ================================================================
   ФИДБЕК ПО РЕЗУЛЬТАТУ (results_feedback.css)
   ================================================================ */

html[data-theme="dark"] .feedback-section {
  background: var(--color-surface);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .feedback-group {
  background: var(--color-surface-2);
  border-color: var(--color-border);
}

html[data-theme="dark"] .feedback-group-title,
html[data-theme="dark"] .feedback-notes label {
  color: var(--color-ink);
}

html[data-theme="dark"] .feedback-chip {
  background: var(--color-surface-2);
  border-color: var(--color-border-strong);
  color: var(--color-text);
}

html[data-theme="dark"] .feedback-chip:hover {
  border-color: var(--color-brand);
  color: var(--color-brand-strong);
}

html[data-theme="dark"] .agent-quick-feedback {
  background: linear-gradient(135deg, rgba(110,144,208,0.12) 0%, rgba(110,144,208,0.06) 100%);
}

html[data-theme="dark"] .agent-quick-feedback-status,
html[data-theme="dark"] .feedback-status {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .agent-quick-feedback-status.is-success,
html[data-theme="dark"] .feedback-status.is-success {
  color: #86efac;
}

html[data-theme="dark"] .agent-quick-feedback-status.is-error,
html[data-theme="dark"] .feedback-status.is-error {
  color: #fca5a5;
}

html[data-theme="dark"] .feedback-notes textarea {
  border-color: var(--color-border-strong);
  color: var(--color-text);
  background: var(--color-surface-2);
}

/* ================================================================
   RESULTS V2 (results.html — сценарий «Подобрать уход»; results_v2.css)
   Файл определяет свои локальные переменные --rv2-* на
   .ai-results-wrapper--v2 — переопределяем именно их (тот же приём,
   что и для profile.html), это «дотемняет» почти весь экран разом.
   ================================================================ */

html[data-theme="dark"] .ai-results-wrapper--v2 {
  --rv2-ink: var(--color-ink);
  --rv2-ink-soft: var(--color-text);
  --rv2-muted: var(--color-text-muted);
  --rv2-accent: var(--color-brand-strong);
  --rv2-accent-deep: var(--color-brand-strong);
  --rv2-line: var(--color-border-brand);
  --rv2-card: var(--color-surface);
  --rv2-soft: var(--color-surface-2);
  --rv2-shadow: var(--shadow-md);
}

html[data-theme="dark"] .rv2-hero {
  background: linear-gradient(150deg, var(--color-surface) 0%, var(--color-surface-2) 100%) !important;
}

html[data-theme="dark"] .rv2-conf.agent-confidence--high {
  background: rgba(74, 222, 128, 0.14);
  border-color: rgba(74, 222, 128, 0.35);
  color: #86efac;
}

html[data-theme="dark"] .rv2-conf.agent-confidence--medium {
  background: rgba(251, 191, 36, 0.14);
  border-color: rgba(251, 191, 36, 0.35);
  color: #fcd34d;
}

html[data-theme="dark"] .rv2-conf.agent-confidence--low {
  background: rgba(251, 113, 133, 0.14);
  border-color: rgba(251, 113, 133, 0.35);
  color: #fca5a5;
}

html[data-theme="dark"] .rv2-chip {
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .rv2-chip--memory {
  background: var(--color-brand-soft);
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .rv2-callout {
  background: rgba(227, 195, 154, 0.12);
  border-color: rgba(227, 195, 154, 0.3);
}

html[data-theme="dark"] .rv2-callout-title {
  color: #e3c39a;
}

html[data-theme="dark"] .rv2-callout .rv2-plain-list li {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .rv2-callout .rv2-plain-list li::before {
  background: #e3c39a;
}

html[data-theme="dark"] .rv2-tab.is-active {
  background: var(--color-surface);
}

html[data-theme="dark"] .rv2-step:not(:last-child)::before {
  background: var(--color-border);
}

html[data-theme="dark"] .rv2-step-num {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .rv2-acc--safe > summary {
  background: var(--color-surface-2);
}

html[data-theme="dark"] .ai-results-wrapper--v2 .ai-product-card,
html[data-theme="dark"] .ai-results-wrapper--v2 .ai-product-card-clickable:hover,
html[data-theme="dark"] .ai-results-wrapper--v2 .ingredient-chip,
html[data-theme="dark"] .ai-results-wrapper--v2 .feedback-chip,
html[data-theme="dark"] .ai-results-wrapper--v2 .feedback-notes textarea,
html[data-theme="dark"] .ai-results-wrapper--v2 .followup-textarea {
  background: var(--color-surface);
}

html[data-theme="dark"] .ai-results-wrapper--v2 .ingredient-chip {
  border-color: var(--color-border-brand);
}

html[data-theme="dark"] .ai-results-wrapper--v2 .product-price-tag,
html[data-theme="dark"] .ai-results-wrapper--v2 .feedback-status.is-success {
  color: #86efac;
}

html[data-theme="dark"] .ai-results-wrapper--v2 .feedback-status.is-error {
  color: #fca5a5;
}

html[data-theme="dark"] .ai-results-wrapper--v2 .dialog-confidence-chip {
  background: rgba(74, 222, 128, 0.16);
  color: #86efac;
}

/* ================================================================
   Точечные фиксы: именованные CSS-цвета (white/black), которые не
   ловятся поиском по #hex/rgb — найдены при визуальной проверке.
   ================================================================ */

/* .ai-btn-secondary использует background: white (буквально), из-за
   чего с уже перекрашенным в светлый color:#374151 текст становился
   «белым на белом». */
html[data-theme="dark"] .ai-btn-secondary {
  background: var(--color-surface);
}

html[data-theme="dark"] .ai-btn-secondary:hover {
  background: var(--color-surface-2);
  border-color: var(--color-border-strong);
}

/* Мобильное бургер-меню (.nav) — белая панель поверх тёмной страницы.
   Важно: base.css задаёт фон/тень для .nav ТОЛЬКО внутри
   @media (max-width: 1024px) (десктопная .nav — это просто прозрачная
   обёртка над .nav-links, без фона). Поэтому override обязан жить в
   том же брейкпоинте — иначе на десктопе появляется лишний тёмный
   прямоугольник за пунктами меню. */
@media (max-width: 1024px) {
  html[data-theme="dark"] .nav {
    background: var(--color-surface);
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.4);
  }
}
