/*
===============================================
CSS ПЕРЕМЕННЫЕ - Здесь меняем дизайн!
Цвета, размеры, шрифты - всё в одном месте
===============================================
*/

:root {
    /* ===== ЦВЕТА ===== */

    /* Основные цвета (меняй здесь для изменения всей темы) */
    --color-primary: #fa9a03;          /* Оранжевый - основной акцент */
    --color-primary-hover: #e08a00;    /* Оранжевый темнее - при наведении */
    --color-primary-light: #fff3e0;    /* Оранжевый светлый - фон */

    --color-success: #10b981;          /* Зеленый - успех */
    --color-danger: #ef4444;           /* Красный - ошибка/удаление */
    --color-warning: #f59e0b;          /* Оранжевый - предупреждение */
    --color-info: #616468;             /* Голубой - информация */

    /* Нейтральные цвета */
    --color-bg: #fafafa;               /* Фон страницы — приглушённый белый */
    --color-surface: #fafafa;          /* Фон карточек */
    --color-border: #c0c4cb;           /* Границы */
    --color-hover: #f3f4f6;            /* Фон при наведении */
    --color-dropdown-selected: #e8eaee; /* Дропдаун: пункт уже выбран (светло-серый) */
    --color-dropdown-cursor: #d9dde3;   /* Дропдаун: курсор стрелок (серый темнее) */
    --color-input-bg: var(--color-surface); /* 329.6: фон полей ввода (в тёмной теме чуть светлее карточки) */

    /* Текст */
    --color-text: #00060f;             /* Основной текст — по брендбуку */
    --color-text-muted: #6b7280;       /* Второстепенный текст */
    --color-text-light: #9ca3af;       /* Подсказки, плейсхолдеры */

    /* Пачка 329: кнопки цвета текста (.btn-primary, .login-btn, .btn-submit,
       .btn-acc-save) — цвет надписи на них и фон при наведении/нажатии.
       В тёмной теме такая кнопка светлая, надпись тёмная. */
    --color-on-text: #ffffff;
    --color-text-active: #1a1f2e;

    /* ===== РАЗМЕРЫ ===== */

    /* Структура приложения */
    --sidebar-width: 360px;            /* Ширина боковой панели */
    --header-height: 64px;             /* Высота шапки */

    /* Отступы */
    --spacing-xs: 0.25rem;             /* 4px */
    --spacing-sm: 0.5rem;              /* 8px */
    --spacing-md: 1rem;                /* 16px */
    --spacing-lg: 1.5rem;              /* 24px */
    --spacing-xl: 2rem;                /* 32px */
    --spacing-2xl: 3rem;               /* 48px */

    /* Радиусы скругления */
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-full: 9999px;

    /* Толщина обводки контейнеров (меняй тут!) */
    --border-width: 2px;

    /* ===== ТЕНИ ===== */

    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);

    /* ===== ПЕРЕХОДЫ ===== */

    --transition-fast: 150ms ease;
    --transition-normal: 250ms ease;
    --transition-slow: 350ms ease;

    /* ===== ШРИФТЫ ===== */

    --font-size-xs: 0.75rem;           /* 12px */
    --font-size-sm: 0.875rem;          /* 14px */
    --font-size-base: 1rem;            /* 16px */
    --font-size-lg: 1.125rem;          /* 18px */
    --font-size-xl: 1.25rem;           /* 20px */
    --font-size-2xl: 1.5rem;           /* 24px */

    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* ===== Z-INDEX (слои) ===== */

    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-toast: 1060;
}

/* ===== ТЁМНАЯ ТЕМА (пачка 328) =====
   Атрибут data-theme ставит static/js/shared/theme.js (ДО первой отрисовки).
   Переопределяем только нейтральные цвета: оранжевый акцент, зелёный и
   красный — те же, что в светлой. :root[data-theme] сильнее :root, поэтому
   побеждает и локальный :root в pwa.css (--color-surface). */
:root[data-theme="dark"] {
    /* 329.7: встроенные элементы браузера (полосы прокрутки, стрелки
       <select>, календарь <input type=date>) — в тёмном исполнении */
    color-scheme: dark;

    --color-primary-light: rgba(250, 154, 3, 0.18);   /* оранжевая подложка — полупрозрачная вместо кремовой */

    --color-bg: #292929;               /* Фон страницы (виден, пока грузится картинка) */
    --color-surface: #292929;          /* Фон карточек */
    --color-border: #0b0c0e;           /* Границы */
    --color-hover: #353535;            /* Фон при наведении */
    --color-dropdown-selected: #3a3a3a;
    --color-dropdown-cursor: #454545;
    --color-input-bg: #333333;         /* Поля ввода — светлее карточки (#292929) */

    --color-text: #d7d8d6;             /* Основной текст */
    --color-text-muted: #9a9c99;       /* Второстепенный текст */
    --color-text-light: #6f716e;       /* Подсказки, плейсхолдеры */

    --color-on-text: #292929;          /* Надпись на светлой кнопке */
    --color-text-active: #ffffff;      /* Её фон при наведении/нажатии */

    --bb-bg-color: #292929;            /* Цвет под фоном PWA (pwa.css body) */

    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.45);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.55);
}

/* ===== Пачка 329.2: цвет текста элементов форм =====
   У <button>, <select>, <input>, <textarea> браузер ставит СВОЙ цвет текста
   (чёрный), от страницы они его не наследуют — в тёмной теме кнопки без явного
   color (напр. .settings-action-btn, .settings-select) оставались с чёрной
   надписью. :where() даёт нулевую специфичность: правило перебивает только
   стиль браузера, любое правило проекта (.btn-primary, .btn-danger…) сильнее. */
:where(button, input, select, textarea) {
    color: inherit;
}
