/*
 * APS mobile design tokens — единственный источник цветов, отступов, радиусов и размеров шрифта
 * для Mobile.PhoneWeb. Зеркалится во Flutter как AppTokens (apps/mobile/aps_mobile/lib/core/design/tokens.dart):
 * имена и значения должны совпадать; расхождение — дефект, а не «платформенная адаптация».
 *
 * Правила:
 * - hex/rgba допустимы только здесь; страничные CSS и .cshtml ссылаются на var(--aps-*).
 * - Тёмная тема объявляется на [data-bs-theme="dark"], потому что этот атрибут ставит переключатель Keen.
 * - Подключается в Views/Layout/Master.cshtml после Keen-бандла и до страничных файлов.
 *
 * Источники значений: .memory-bank/architecture/decisions/ADR-001-mobile-design-system-style-variant.md,
 * .memory-bank/architecture/brandbook.md, .memory-bank/architecture/design-tokens.json.
 * Каталог: .memory-bank/architecture/mobile-design-system.md
 */

:root {
    /* Нативные контролы (select popup, скроллбары, date picker) рисуются браузером в цвете схемы */
    color-scheme: light;

    /* Поверхности и текст (светлая тема — нейтральная система брендбука / WPF Standard) */
    --aps-bg: #F3F3F5;
    --aps-surface: #FFFFFF;
    --aps-surface-raised: #F9F9FB;
    --aps-text: #1A1C1D;
    --aps-text-secondary: #494456;
    --aps-text-muted: #7A7488;
    --aps-border: #CBC3D9;
    --aps-border-subtle: #E8E8EA;

    /* Акцент — OperationalGreen, целевой primary всей линейки (ADR-001 п.4) */
    --aps-accent: #0A7A3D;
    --aps-on-accent: #FFFFFF;
    --aps-accent-soft: rgba(10, 122, 61, 0.10);

    /* Статусы (значения WPF Standard) */
    --aps-success: #1B7A3D;
    --aps-success-soft: rgba(27, 122, 61, 0.10);
    --aps-warning: #A85A00;
    --aps-warning-soft: rgba(168, 90, 0, 0.12);
    --aps-error: #BA1A1A;
    --aps-error-soft: rgba(186, 26, 26, 0.10);
    --aps-info: #1565C0;
    --aps-info-soft: rgba(21, 101, 192, 0.10);

    /* Тени и оверлеи */
    --aps-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.04);
    --aps-shadow-raised: 0 1px 3px rgba(0, 0, 0, 0.08);
    --aps-shadow-sheet: 0 -4px 24px rgba(0, 0, 0, 0.12);
    --aps-overlay: rgba(0, 0, 0, 0.40);
    /* Текст поверх фото и тёмных оверлеев — одинаков в обеих темах */
    --aps-on-overlay: #FFFFFF;
    --aps-text-shadow-overlay: 0 1px 3px rgba(0, 0, 0, 0.70);
    /* Сплошной фон под фото (галерея, полноэкранный просмотр) — одинаков в обеих темах */
    --aps-scrim: #000000;

    /* Боковое меню — тёмное в обеих темах (зеркало drawer во Flutter) */
    --aps-nav-bg: #1E293B;
    --aps-nav-active: #334155;
    --aps-nav-text: #E2E8F0;
    --aps-nav-text-active: #FFFFFF;
    --aps-nav-text-muted: #94A3B8;
    --aps-nav-accent: #3DBA6A;
    --aps-nav-divider: rgba(148, 163, 184, 0.24);

    /* Доменные роли */
    --aps-highlight: #FFF3A0;          /* подсветка совпадения в поиске */
    --aps-on-highlight: #1A1C1D;
    --aps-mark-used: #F5C518;          /* бейдж «Б/У» — одинаков в обеих темах */
    --aps-on-mark-used: #1A1C1D;

    /* Отступы */
    --aps-space-1: 4px;
    --aps-space-2: 8px;
    --aps-space-3: 12px;
    --aps-space-4: 16px;
    --aps-space-5: 24px;
    --aps-space-6: 32px;

    /* Радиусы */
    --aps-radius-s: 8px;
    --aps-radius-m: 12px;
    --aps-radius-pill: 999px;

    /* Шрифт */
    --aps-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --aps-font-caption: 12px;
    --aps-font-body-s: 13px;
    --aps-font-body: 14px;
    --aps-font-title: 16px;
    --aps-font-headline: 20px;
    --aps-font-display: 24px;
    --aps-font-weight-regular: 400;
    --aps-font-weight-medium: 500;
    --aps-font-weight-bold: 600;
    --aps-line-height: 1.4;

    /* Размеры контролов */
    --aps-control-height: 44px;
    --aps-control-height-s: 36px;
    --aps-touch-target: 44px;
}

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

    --aps-bg: #111213;
    --aps-surface: #1C1D1F;
    --aps-surface-raised: #252628;
    --aps-text: #F0F0EC;
    --aps-text-secondary: #8A8D92;
    --aps-text-muted: #5A5D62;
    --aps-border: #2E3033;
    --aps-border-subtle: #252628;

    --aps-accent: #3DBA6A;
    --aps-on-accent: #052E16;
    --aps-accent-soft: rgba(61, 186, 106, 0.14);

    --aps-success: #3DBA6A;
    --aps-success-soft: rgba(61, 186, 106, 0.14);
    --aps-warning: #F0A93B;
    --aps-warning-soft: rgba(240, 169, 59, 0.14);
    --aps-error: #FF6B6B;
    --aps-error-soft: rgba(255, 107, 107, 0.14);
    --aps-info: #64A8FF;
    --aps-info-soft: rgba(100, 168, 255, 0.14);

    --aps-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.20);
    --aps-shadow-raised: 0 1px 3px rgba(0, 0, 0, 0.30);
    --aps-shadow-sheet: 0 -4px 24px rgba(0, 0, 0, 0.50);
    --aps-overlay: rgba(0, 0, 0, 0.60);

    --aps-highlight: #5C4D00;
    --aps-on-highlight: #FFE47A;
}
