/**
 * Система тем CMS
 * Единый файл для управления светлой и тёмной темами
 * Используй data-theme="light" или data-theme="dark" на body
 */

/* === Базовые переменные === */
:root {
  /* Отступы */
  --cms-spacing-xs: 4px;
  --cms-spacing-sm: 8px;
  --cms-spacing-md: 16px;
  --cms-border-radius-md: 8px;
  --cms-transition: all 0.2s ease-in-out;

  /* Z-index для слоёв */
  --cms-z-dropdown: 1000;
  --cms-z-modal: 1050;

  /* Маппинг Kendo на новые CMS-переменные типографики */
  --kendo-font-family: var(--cms-font-family);
  --kendo-font-size:   var(--cms-font-size-md);
  --kendo-line-height: var(--cms-line-height-base);
}

/**
 * Светлая тема (по умолчанию)
 */
:root {
  --kendo-font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --kendo-body-bg: #ffffff;
  --kendo-body-text: #1f2326;
  /* === Основные цвета === */
  --cms-primary: #0a58ca;
  --cms-primary-hover: #0a53be;
  --cms-primary-active: #0a4190;
  --cms-secondary: #6c757d;
  --cms-success: #198754;
  --cms-danger: #dc3545;
  --cms-warning: #ffc107;
  --cms-info: #0dcaf0;
  /* === Фоны === */
  --cms-header-bg: #ffffff;
  --cms-header-border: #e8ecf0;
  --cms-sidebar-bg: #f5f6f8;
  --cms-content-bg: #f5f6f8;
  --cms-footer-bg: #ffffff;
  /* === Цвета текста === */
  --cms-text-primary: #1f2326;
  --cms-text-secondary: #6c757d;
  --cms-text-muted: #6c757d;
  --cms-text-inverse: #ffffff;
  --cms-text-bold: #515151;
  --cms-text-warning: #664d03;
  /* === Цвета ссылок === */
  --cms-link-color: #0a58ca;
  --cms-link-hover: #0a53be;
  /* === Цвета границ === */
  --cms-border-color: #e8ecf0;
  --cms-border-color-hover: #b8d1e5;
  --cms-filter-border-color: #dee2e6;
  --cms-grid-border-color: #dee2e6;
  /* === Кнопки === */
  --cms-btn-primary-bg: #0a58ca;
  --cms-btn-primary-border: #0a58ca;
  --cms-btn-primary-color: #ffffff;
  --cms-btn-primary-hover-bg: #0a53be;
  --cms-btn-primary-hover-border: #0a53be;
  /* === Поля ввода === */
  --cms-input-bg: #ffffff;
  --cms-input-border: #e0e3e8;
  --cms-input-color: #1f2326;
  --cms-input-placeholder: #6c757d;
  --cms-input-focus-border: #0a58ca;
  /* === Меню === */
  --cms-menu-bg: #ffffff;
  --cms-menu-item-color: #1f2326;
  --cms-menu-item-hover-bg: rgba(10, 88, 202, 0.08);
  --cms-menu-item-active-bg: rgba(10, 88, 202, 0.12);
  --cms-menu-item-active-color: #0a58ca;
  /* === Таблицы === */
  --cms-table-header-bg: #f8f9fa;
  --cms-table-striped-bg: rgba(0, 0, 0, 0.02);
  /*--cms-table-striped-bg: #f8f9fa;*/
  --cms-table-hover-bg: rgba(10, 88, 202, 0.06);
  --cms-row-hover: rgba(10, 88, 202, 0.06);
  /* === Карточки === */
  --cms-card-bg: #ffffff;
  --cms-card-border: #e8ecf0;
  --cms-card-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  /* === Заголовки секций === */
  --cms-section-header-bg: transparent;
  --cms-section-header-border: transparent;
  --cms-section-header-color: #1f2326;
  /* === Строки формы === */
  --cms-form-row-bg: transparent;
  --cms-form-row-border: #e8ecf0;
  --cms-form-label-bg: transparent;
  /* === Модальные окна === */
  --cms-modal-backdrop-bg: rgba(0, 0, 0, 0.5);
  --cms-modal-content-bg: #ffffff;
  --cms-modal-content-border: #dfe5eb;
  /* === Уведомления === */
  --cms-notification-success-bg: #d1e7dd;
  --cms-notification-error-bg: #f8d7da;
  --cms-notification-warning-bg: #fff3cd;
  --cms-notification-info-bg: #cff4fc;
  /* === Отчёты === */
  --cms-report-header: #c4d7f2;
  /* === Устаревшие переменные (для обратной совместимости) === */
  --report-header: #c4d7f2;
  --primary: #0a58ca;
  --secondary: #dfe5eb;
  --dark: #ffffff;
  --light: #ffffff;
  --text-dark: #1f2326;
  --text-light: #6c757d;
  --text-hover: #0a58ca;
  --header: #ffffff;
  --header-menu: #ffffff;
  --menu-text: #1f2326;
  --menu-text-background: #0a58ca;
  --borders-color: #dfe5eb;
  --borders-hover-color: #b8d1e5;
  --action: #1f2326;
  --action-active: #0a58ca;
  --action-background-active: rgba(10, 88, 202, 0.12);
  --action-hover: rgba(10, 88, 202, 0.5);
  --action-background-hover: rgba(10, 88, 202, 0.08);
  --filter-block: #f1f1f1;
  /* Флаг тёмной темы (0 = светлая) */
  --cms-is-dark: 0;
}

/**
 * Тёмная тема
 */
[data-theme="dark"] {
  --kendo-font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --kendo-body-bg: #1a1a1a;
  --kendo-body-text: #e0e0e0;
  /* === Основные цвета === */
  --cms-primary: #1f5a8b;
  --cms-primary-hover: #3370a8;
  --cms-primary-active: #164466;
  --cms-secondary: #121212;
  --cms-success: #75b798;
  --cms-danger: #ea868f;
  --cms-warning: #ffda6a;
  --cms-info: #6edff6;
  /* === Фоны === */
  --cms-header-bg: #1e2125;
  --cms-header-border: #333840;
  --cms-sidebar-bg: #1a1d23;
  --cms-content-bg: #1a1d23;
  --cms-footer-bg: #1e2125;
  /* === Цвета текста === */
  --cms-text-primary: #e5e5e5;
  --cms-text-secondary: #adb5bd;
  --cms-text-muted: #6c757d;
  --cms-text-inverse: #1a1a1a;
  --cms-text-bold: #515151;
  /* === Цвета ссылок === */
  --cms-link-color: #33a3ff;
  --cms-link-hover: #66b8ff;
  /* === Цвета границ === */
  --cms-border-color: #333840;
  --cms-border-color-hover: #4a5060;
  --cms-filter-border-color: #4a5060;
  --cms-grid-border-color: #4a5060;
  /* === Кнопки === */
  --cms-btn-primary-bg: #1f5a8b;
  --cms-btn-primary-border: #1f5a8b;
  --cms-btn-primary-color: #ffffff;
  --cms-btn-primary-hover-bg: #3370a8;
  --cms-btn-primary-hover-border: #3370a8;
  /* === Поля ввода === */
  --cms-input-bg: #252830;
  --cms-input-border: #333840;
  --cms-input-color: #e5e5e5;
  --cms-input-placeholder: #8a8f98;
  --cms-input-focus-border: #1f5a8b;
  /* === Меню === */
  --cms-menu-bg: #293238;
  --cms-menu-item-color: #e5e5e5;
  --cms-menu-item-hover-bg: rgba(51, 163, 255, 0.15);
  --cms-menu-item-active-bg: rgba(31, 90, 139, 0.4);
  --cms-menu-item-active-color: #33a3ff;
  /* === Таблицы === */
  --cms-table-header-bg: #252830;
  --cms-table-striped-bg: #1e2125;
  --cms-table-hover-bg: rgba(51, 163, 255, 0.1);
  --cms-row-hover: rgba(51, 163, 255, 0.1);
  /* === Карточки === */
  --cms-card-bg: #252830;
  --cms-card-border: #333840;
  --cms-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  /* === Заголовки секций === */
  --cms-section-header-bg: transparent;
  --cms-section-header-border: transparent;
  --cms-section-header-color: #e5e5e5;
  /* === Строки формы === */
  --cms-form-row-bg: transparent;
  --cms-form-row-border: #333840;
  --cms-form-label-bg: transparent;
  /* === Модальные окна === */
  --cms-modal-backdrop-bg: rgba(0, 0, 0, 0.7);
  --cms-modal-content-bg: #23272b;
  --cms-modal-content-border: #475159;
  /* === Уведомления === */
  --cms-notification-success-bg: #1f3a2e;
  --cms-notification-error-bg: #3d1f1f;
  --cms-notification-warning-bg: #3d3a1f;
  --cms-notification-info-bg: #1f2d3d;
  /* === Отчёты === */
  --cms-report-header: #2d3a4d;
  /* === Устаревшие переменные (для обратной совместимости) === */
  --report-header: #2d3a4d;
  --primary: #1f5a8b;
  --secondary: #121212;
  --dark: #23272b;
  --light: #1a1a1a;
  --text-dark: #e5e5e5;
  --text-light: #adb5bd;
  --text-hover: #33a3ff;
  --header: #23272b;
  --header-menu: #293238;
  --menu-text: #e5e5e5;
  --menu-text-background: #33a3ff;
  --borders-color: #475159;
  --borders-hover-color: #5a6673;
  --action: #406380;
  --action-active: #1f5a8b;
  --action-background-active: #406380;
  --action-hover: #33a3ff;
  --action-background-hover: rgba(51, 163, 255, 0.25);
  --filter-block: #293238;
  /* Флаг тёмной темы (1 = тёмная) */
  --cms-is-dark: 1;
}

/**
 * Инверсия логотипа для тёмной темы
 */
[data-theme="dark"] .logo {
  filter: invert(1) hue-rotate(180deg);
}

/**
 * Маппинг переменных Kendo на переменные CMS
 */
:root {
  --kendo-primary: var(--cms-primary);
  --kendo-secondary: var(--cms-secondary);
  --kendo-success: var(--cms-success);
  --kendo-danger: var(--cms-danger);
  --kendo-warning: var(--cms-warning);
  --kendo-info: var(--cms-info);
  --kendo-header-bg: var(--cms-header-bg);
  --kendo-surface-bg: var(--cms-content-bg);
  --kendo-border: var(--cms-border-color);
  --kendo-link: var(--cms-link-color);
  --kendo-link-hover: var(--cms-link-hover);
}

/**
 * Анимация перехода между темами
 */
body,
body * {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* Отключение анимации при начальной загрузке */
body.no-transition,
body.no-transition * {
  transition: none !important;
}

/**
 * Утилитарные классы для текста
 */
.text-primary { color: var(--cms-text-primary) !important; }
.text-secondary { color: var(--cms-text-secondary) !important; }
.text-muted { color: var(--cms-text-muted) !important; }
.text-inverse { color: var(--cms-text-inverse) !important; }
.text-link { color: var(--cms-link-color) !important; }

/**
 * Утилитарные классы для фона
 */
.bg-primary { background-color: var(--cms-primary) !important; }
.bg-secondary { background-color: var(--cms-secondary) !important; }
.bg-surface { background-color: var(--cms-content-bg) !important; }
.bg-header { background-color: var(--cms-header-bg) !important; }

/**
 * Утилитарные классы для границ
 */
.border-default { border-color: var(--cms-border-color) !important; }

/**
 * Кнопка CMS - основной стиль
 */
.btn-cms-primary {
  background-color: var(--cms-btn-primary-bg);
  border-color: var(--cms-btn-primary-border);
  color: var(--cms-btn-primary-color);
}

.btn-cms-primary:hover {
  background-color: var(--cms-btn-primary-hover-bg);
  border-color: var(--cms-btn-primary-hover-border);
}

/**
 * Стили для печати
 */
@media print {
  :root {
    --cms-header-bg: #ffffff;
    --cms-content-bg: #ffffff;
    --cms-text-primary: #000000;
    --cms-text-secondary: #666666;
    --cms-border-color: #cccccc;
  }
}

