/* ==========================================================================
   QR Consult Design System — Токены дизайна v2
   "Юридический инженер" стиль: минимализм, технологичность, надёжность
   
   Палитра оптимизирована для WCAG AA контрастности (4.5:1 для текста)
   ========================================================================== */

:root {
    /* ===== LIGHT THEME ===== */

    /* Backgrounds (трёхуровневый фон) */
    --bg-primary: #F3F4F6;
    /* Основной фон страницы */
    --bg-secondary: #F9FAFB;
    /* Вторичный фон секций */
    --bg-surface-card: #FFFFFF;
    /* Карточки */
    --bg-surface-hover: #F3F4F6;
    /* Hover состояние карточек */
    --bg-header: #FFFFFF;
    /* Хедер */
    --bg-input: #FFFFFF;
    /* Поля ввода */
    --bg-footer: #F9FAFB;
    /* Футер (светлый в светлой теме) */

    /* Алиасы для совместимости */
    --bg-base: var(--bg-primary);
    --bg-elevated: var(--bg-secondary);
    --bg-card: var(--bg-surface-card);

    /* Borders */
    --border-subtle: rgba(148, 163, 184, 0.25);
    /* Деликатный бордер */
    --border-default: rgba(148, 163, 184, 0.35);
    /* Стандартный бордер */
    --border-strong: #2563EB;
    /* Акцентный бордер (focus) */
    --border-focus: #2563EB;
    --border-step-line: #E5E7EB;
    /* Линия между шагами */

    /* Text — оптимизировано для контрастности */
    --text-primary: #111827;
    /* Основной текст (contrast 15.8:1 на белом) */
    --text-secondary: #4B5563;
    /* Вторичный текст (contrast 7.5:1) */
    --text-tertiary: #6B7280;
    /* Третичный текст (contrast 5.4:1) */
    --text-muted: #9CA3AF;
    /* Приглушённый (только для декора) */
    --text-disabled: #9CA3AF;
    /* Disabled состояние */
    --text-inverse: #FFFFFF;
    /* Инверсный текст на тёмном фоне */

    /* Accent Colors */
    --accent-primary: #2563EB;
    /* Основной акцент (синий) */
    --accent-primary-hover: #1D4ED8;
    /* Hover */
    --accent-primary-active: #1E40AF;
    /* Active */
    --accent-secondary: #22D3EE;
    /* Вторичный акцент (циан) */
    --accent-secondary-hover: #06B6D4;

    /* Semantic Colors */
    --color-success: #059669;
    --color-success-bg: #ECFDF5;
    --color-warning: #D97706;
    --color-warning-bg: #FFFBEB;
    --color-error: #DC2626;
    --color-error-bg: #FEF2F2;
    --color-info: #2563EB;
    --color-info-bg: rgba(37, 99, 235, 0.08);

    /* Badge colors for light theme */
    --badge-bg: rgba(37, 99, 235, 0.08);
    --badge-text: #2563EB;

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.03);
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.12);

    /* Focus Ring */
    --focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.25);
    --focus-glow: 0 0 0 3px rgba(37, 99, 235, 0.15), 0 0 12px rgba(37, 99, 235, 0.1);

    /* Spacing Scale (8px base) */
    --space-1: 0.25rem;
    /* 4px */
    --space-2: 0.5rem;
    /* 8px */
    --space-3: 0.75rem;
    /* 12px */
    --space-4: 1rem;
    /* 16px */
    --space-5: 1.25rem;
    /* 20px */
    --space-6: 1.5rem;
    /* 24px */
    --space-8: 2rem;
    /* 32px */
    --space-10: 2.5rem;
    /* 40px */
    --space-12: 3rem;
    /* 48px */
    --space-16: 4rem;
    /* 64px */

    /* Border Radius */
    --radius-sm: 0.375rem;
    /* 6px */
    --radius-md: 0.5rem;
    /* 8px */
    --radius-lg: 0.75rem;
    /* 12px */
    --radius-xl: 1rem;
    /* 16px */
    --radius-2xl: 1.5rem;
    /* 24px */
    --radius-full: 9999px;

    /* Typography */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

    /* Font Sizes */
    --text-xs: 0.75rem;
    /* 12px */
    --text-sm: 0.875rem;
    /* 14px */
    --text-base: 1rem;
    /* 16px */
    --text-lg: 1.125rem;
    /* 18px */
    --text-xl: 1.25rem;
    /* 20px */
    --text-2xl: 1.5rem;
    /* 24px */
    --text-3xl: 1.875rem;
    /* 30px */
    --text-4xl: 2.25rem;
    /* 36px */

    /* Line Heights */
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    /* Input Variables (from Unified Theme) */
    --input-bg: #F9FAFB;
    --input-text: #111827;
    --input-border: #E5E7EB;
    --input-placeholder: #9CA3AF;
    --input-focus-border: #2563EB;
    --input-focus-ring: rgba(37, 99, 235, 0.25);
}

/* ===== LOGO TEXT COLOR ===== */
/* Светлая тема — синий */
.logo-link {
    color: #2563EB !important;
}

/* Тёмная тема — почти белый */
.dark .logo-link {
    color: #E5EDF7 !important;
}

/* ===== DARK THEME ===== */
.dark {
    /* Backgrounds (трёхуровневый фон — от тёмного к светлому) */
    --bg-primary: #05090F;
    /* Основной фон (самый тёмный) */
    --bg-secondary: #0D1117;
    /* Вторичный фон секций */
    --bg-surface-card: #111827;
    /* Карточки */
    --bg-surface-hover: #1F2937;
    /* Hover состояние карточек */
    --bg-header: #05090F;
    /* Хедер (самый тёмный) */
    --bg-input: #111827;
    /* Поля ввода */
    --bg-footer: #0A0F1A;
    /* Футер (темнее основного) */

    /* Алиасы для совместимости */
    --bg-base: var(--bg-primary);
    --bg-elevated: var(--bg-secondary);
    --bg-card: var(--bg-surface-card);

    /* Borders */
    --border-subtle: rgba(255, 255, 255, 0.06);
    --border-default: rgba(255, 255, 255, 0.12);
    --border-strong: #2563EB;
    --border-focus: #2563EB;
    --border-step-line: #4B5563;
    /* Линия между шагами */

    /* Text — оптимизировано для контрастности на тёмном фоне */
    --text-primary: #E5EDF7;
    /* Основной текст — почти белый */
    --text-secondary: #9CA3AF;
    /* Вторичный текст — светло-серый */
    --text-tertiary: #6B7280;
    /* Третичный текст */
    --text-muted: #6B7280;
    /* Приглушённый */
    --text-disabled: #6B7280;
    /* Disabled состояние */
    --text-inverse: #FFFFFF;
    /* Белый текст на синем фоне */

    /* Accent Colors */
    --accent-primary: #2563EB;
    --accent-primary-hover: #1D4ED8;
    --accent-primary-active: #1E40AF;
    --accent-secondary: #22D3EE;
    --accent-secondary-hover: #06B6D4;

    /* Semantic Colors */
    --color-success: #34D399;
    --color-success-bg: rgba(16, 185, 129, 0.15);
    --color-warning: #FBBF24;
    --color-warning-bg: rgba(245, 158, 11, 0.15);
    --color-error: #F87171;
    --color-error-bg: rgba(239, 68, 68, 0.15);
    --color-info: #60A5FA;
    --color-info-bg: rgba(37, 99, 235, 0.18);

    /* Badge colors for dark theme */
    --badge-bg: rgba(37, 99, 235, 0.18);
    --badge-text: #BFDBFE;

    /* Shadows (более мягкие для тёмной темы) */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 10px 10px -5px rgba(0, 0, 0, 0.4);
    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.4);
    --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.5);

    /* Focus Ring */
    --focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.4);
    --focus-glow: 0 0 0 3px rgba(37, 99, 235, 0.3), 0 0 16px rgba(37, 99, 235, 0.2);
    /* Input Variables (Dark Mode) */
    --input-bg: #111827;
    --input-text: #E5EDF7;
    --input-border: rgba(148, 163, 184, 0.25);
    --input-placeholder: #9CA3AF;
    --input-focus-border: #2563EB;
    --input-focus-ring: rgba(37, 99, 235, 0.25);
}