/* ============================================================
   ЦифроСити — премиум-тема, Этап 1: фундамент (css/theme.css)
   Все правила строго под body.theme-premium.
   Откат: убрать класс theme-premium с <body> — портал вернётся
   к прежнему виду, ни одна старая CSS-строка не изменена.
   Исключение: неймспейс .rr-* (Run Rate) — новые классы, которых
   в старом CSS нет; базовые стили без префикса, чтобы виджет
   оставался читаемым и при откате темы.
   ============================================================ */

/* ---------- Дизайн-токены ---------- */
:root {
    --cp-bg-0: #0B0F1A;            /* Глубокий фон */
    --cp-bg-1: #121A2E;            /* Верх градиента */
    --cp-glass: rgba(255, 255, 255, .045);        /* Стекло панелей */
    --cp-glass-strong: rgba(255, 255, 255, .07);  /* Стекло активных элементов */
    --cp-stroke: rgba(255, 255, 255, .09);        /* Обводка панелей */
    --cp-stroke-gold: rgba(232, 200, 116, .35);   /* Золотая обводка акцентов */
    --cp-text: #EDF0F7;            /* Основной текст */
    --cp-muted: #8A93A8;           /* Приглушённый текст */
    --cp-gold: #E8C874;            /* Золото — главный акцент */
    --cp-gold-deep: #B8923A;       /* Тёмное золото для градиентов */
    --cp-teal: #4FD1C5;            /* Позитив / рост */
    --cp-coral: #FF7A6B;           /* Негатив / ошибки */
    --cp-violet: #8B7CF6;          /* Вторичный акцент графиков */
    --cp-amber: #F0B45B;           /* Предупреждения */
    --cp-radius: 16px;             /* Скругление панелей */
    --cp-font: 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;
    --cp-font-display: 'Playfair Display', Georgia, serif;
}

/* ---------- Фон и базовая типографика ---------- */
body.theme-premium {
    font-family: var(--cp-font);
    color: var(--cp-text);
    background:
        radial-gradient(1100px 550px at 78% -8%, rgba(139, 124, 246, .10), transparent 60%),
        radial-gradient(850px 480px at -8% 32%, rgba(79, 209, 197, .07), transparent 55%),
        linear-gradient(160deg, var(--cp-bg-1), var(--cp-bg-0) 60%);
    background-attachment: fixed;
    font-variant-numeric: tabular-nums; /* Ровные колонки цифр в таблицах */
}

/* ---------- Карточки: эффект матового стекла ---------- */
body.theme-premium .card {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
    border-radius: var(--cp-radius);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px); /* Safari / iOS PWA */
    box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
    color: var(--cp-text);
}

body.theme-premium .card-title {
    color: var(--cp-text);
    font-weight: 800;
    letter-spacing: .2px;
}

/* ---------- Кнопки ---------- */
body.theme-premium .btn-primary {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    border: none;
    color: #1A1408;               /* Тёмный текст на золоте — контраст AA */
    font-weight: 800;
    border-radius: 12px;
    transition: filter .18s, transform .12s;
}
body.theme-premium .btn-primary:hover  { filter: brightness(1.08); }
body.theme-premium .btn-primary:active { transform: translateY(1px); }

body.theme-premium .btn-outline {
    background: transparent;
    border: 1px solid var(--cp-stroke-gold);
    color: var(--cp-gold);
    border-radius: 12px;
}
body.theme-premium .btn-outline:hover { background: var(--cp-glass-strong); }

/* ---------- Формы ---------- */
body.theme-premium .form-control {
    background: var(--cp-glass-strong);
    border: 1px solid var(--cp-stroke);
    border-radius: 10px;
    color: var(--cp-text);
}
body.theme-premium .form-control:focus {
    border-color: var(--cp-stroke-gold);
    outline: none;
    box-shadow: 0 0 0 3px rgba(232, 200, 116, .12);
}
body.theme-premium .form-control::placeholder { color: var(--cp-muted); }
body.theme-premium .form-label { color: var(--cp-muted); }
body.theme-premium .form-control option { background: var(--cp-bg-1); } /* Выпадающие списки */

/* ---------- Вкладки разделов (Загрузка Excel / Таблица / Динамика) ---------- */
body.theme-premium .section-tab {
    color: var(--cp-muted);
    border-radius: 10px 10px 0 0;
    transition: color .18s;
}
body.theme-premium .section-tab:hover  { color: var(--cp-text); }
body.theme-premium .section-tab.active {
    color: var(--cp-gold);
    border-bottom: 2px solid var(--cp-gold);
    font-weight: 700;
}

/* ---------- Зона загрузки файла ---------- */
body.theme-premium .drop-zone {
    background: var(--cp-glass);
    border: 2px dashed var(--cp-stroke-gold);
    border-radius: var(--cp-radius);
    color: var(--cp-muted);
}
body.theme-premium .drop-zone:hover { background: var(--cp-glass-strong); }

/* ---------- Тёмный скроллбар (светлая полоса выдаёт недоделанность) ---------- */
body.theme-premium ::-webkit-scrollbar        { width: 10px; height: 10px; }
body.theme-premium ::-webkit-scrollbar-track  { background: transparent; }
body.theme-premium ::-webkit-scrollbar-thumb  {
    background: rgba(255, 255, 255, .14);
    border-radius: 6px;
}
body.theme-premium ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .22); }

/* ---------- Уважение к reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    body.theme-premium * { transition: none !important; animation: none !important; }
}

/* ============================================================
   Этап 1.1 — стабилизация после визуальной приёмки
   ============================================================ */

/* ---------- Таблица статистики: читаемость на светлых строках ----------
   Строки красятся инлайн-стилями из stats.js (розовый = план не выполнен),
   поэтому полотно оставляем светлым, а тексту возвращаем тёмный цвет.
   Полный тёмный рескин таблицы — отдельной итерацией вместе со stats.js. */
body.theme-premium .stats-table,
body.theme-premium .stats-table td,
body.theme-premium .stats-table .num-cell,
body.theme-premium .stats-table .num-cell.money,
body.theme-premium .stats-table .num-cell.coef {
    color: #1F2937;
}
body.theme-premium .stats-table .totals-row td {
    color: #111827;
    font-weight: 800;
}
body.theme-premium .table-wrap {
    border-radius: var(--cp-radius);
    /* overflow-x: auto (не hidden) — иначе на мобильном широкая таблица
       (напр. "Сотрудники") не может прокрутиться вбок, свайп ничего не двигает. */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--cp-stroke);
}

/* ---------- Номинации: «золотые ложи» из мокапа ---------- */
body.theme-premium .nomination-card {
    background:
        radial-gradient(120% 90% at 50% 0%, rgba(232, 200, 116, .09), transparent 55%),
        var(--cp-glass);
    border: 1px solid var(--cp-stroke-gold);
    border-radius: var(--cp-radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--cp-text);
    transition: transform .2s, box-shadow .2s;
}
body.theme-premium .nomination-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
}
body.theme-premium .nomination-title {
    font-family: var(--cp-font-display);
    color: var(--cp-gold);
    font-weight: 600;
}
body.theme-premium .nomination-name {
    color: var(--cp-text);
    font-weight: 800;
}
body.theme-premium .nomination-desc { color: var(--cp-muted); }
body.theme-premium .nomination-avatar {
    border: 2px solid var(--cp-gold);
    box-shadow: 0 0 0 3px rgba(232, 200, 116, .18);
}
body.theme-premium .trophy-icon {
    filter: drop-shadow(0 0 8px rgba(232, 200, 116, .65)) drop-shadow(0 0 3px rgba(232, 200, 116, .4));
}
/* Победитель месяца — выделяем сильнее, чем обычные "золотые ложи" */
body.theme-premium .nomination-card.is-month-winner {
    border-color: var(--cp-gold);
    box-shadow: 0 0 26px rgba(232, 200, 116, .22), 0 14px 34px rgba(0, 0, 0, .35);
}
body.theme-premium .nomination-card.is-month-winner .nomination-avatar {
    box-shadow: 0 0 0 4px rgba(232, 200, 116, .32);
}

/* ---------- Пикер значка номинации ---------- */
body.theme-premium .emoji-pick {
    background: var(--cp-glass-strong);
    border-color: var(--cp-stroke);
}
body.theme-premium .emoji-pick:hover { border-color: var(--cp-stroke-gold); }
body.theme-premium .emoji-pick.selected {
    border-color: var(--cp-gold);
    background: rgba(232, 200, 116, .14);
    box-shadow: 0 0 0 2px rgba(232, 200, 116, .18);
}

/* ---------- Мои значки: личный кабинет ---------- */
body.theme-premium .badge-chip {
    background: var(--cp-glass-strong);
    border: 1px solid var(--cp-stroke-gold);
    color: var(--cp-text);
}
body.theme-premium .badge-chip-title { color: var(--cp-text); }
body.theme-premium .badge-chip-count {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    color: #1A1408;
}

/* ---------- Геймификация: XP + босс месяца ---------- */
body.theme-premium .xp-level,
body.theme-premium .boss-stage,
body.theme-premium .xp-meta { color: var(--cp-muted); }
body.theme-premium .xp-total { color: var(--cp-gold); }
body.theme-premium .xp-bar,
body.theme-premium .boss-health-bar { background: var(--cp-glass-strong); border-color: var(--cp-stroke); }
body.theme-premium .xp-bar-fill { background: linear-gradient(90deg, var(--cp-gold-deep), var(--cp-gold)); }
body.theme-premium .xp-recent { border-top-color: var(--cp-stroke); }
body.theme-premium .xp-log-label { color: var(--cp-muted); }
body.theme-premium .xp-log-amount { color: var(--cp-teal); }
body.theme-premium .boss-stage-defeated { background: linear-gradient(90deg, var(--cp-gold-deep), var(--cp-gold)); }
body.theme-premium .leaderboard-row { border-bottom-color: var(--cp-stroke); }
body.theme-premium .leaderboard-row-me { background: rgba(232, 200, 116, .12); }
body.theme-premium .leaderboard-rank { color: var(--cp-muted); }
body.theme-premium .leaderboard-avatar { background: var(--cp-glass-strong); color: var(--cp-muted); }
body.theme-premium .leaderboard-meta,
body.theme-premium .leaderboard-title { color: var(--cp-muted); }
body.theme-premium .leaderboard-xp { color: var(--cp-gold); }
body.theme-premium .boss-damage-number { color: var(--cp-coral); }
body.theme-premium .levelup-item { border-bottom-color: var(--cp-stroke); }
body.theme-premium .levelup-avatar { background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep)); color: #1A1408; }
body.theme-premium .levelup-meta { color: var(--cp-muted); }
body.theme-premium .levelup-title { color: var(--cp-gold); }

/* ---------- Icon-кнопки и выпадающее меню строки ---------- */
body.theme-premium .icon-btn { color: var(--cp-muted); }
body.theme-premium .icon-btn:hover { background: var(--cp-glass-strong); color: var(--cp-text); }
body.theme-premium .icon-btn.icon-btn-danger:hover { background: rgba(255,122,107,.14); color: var(--cp-coral); }
body.theme-premium .icon-btn.icon-btn-success:hover { background: rgba(79,209,197,.14); color: var(--cp-teal); }
body.theme-premium .row-menu-dropdown {
    background: var(--cp-bg-1);
    border: 1px solid var(--cp-stroke);
    box-shadow: 0 10px 32px rgba(0,0,0,.4);
}
body.theme-premium .row-menu-dropdown button { color: var(--cp-text); }
body.theme-premium .row-menu-dropdown button svg { color: var(--cp-muted); }
body.theme-premium .row-menu-dropdown button:hover { background: var(--cp-glass-strong); }

/* ---------- Trade-in: группы критериев осмотра ---------- */
body.theme-premium .ti-criteria-group {
    border-color: var(--cp-stroke);
    background: var(--cp-glass);
}
body.theme-premium .ti-criteria-group-danger {
    border-color: rgba(255,122,107,.3);
    background: rgba(255,122,107,.06);
}
body.theme-premium .ti-criteria-group-title { color: var(--cp-text); }
body.theme-premium .ti-criteria-group-title svg { color: var(--cp-muted); }
body.theme-premium .ti-criteria-group-danger .ti-criteria-group-title,
body.theme-premium .ti-criteria-group-danger .ti-criteria-group-title svg { color: var(--cp-coral); }
body.theme-premium .ti-criteria-hint { color: var(--cp-muted); }
body.theme-premium .ti-criteria-row:hover { background: var(--cp-glass-strong); }
body.theme-premium .ti-criteria-group-danger .ti-criteria-row:hover { background: rgba(255,122,107,.1); }
body.theme-premium .ti-criteria-amount { color: var(--cp-muted); }

/* ---------- Flatpickr: тёмная тема календаря ---------- */
body.theme-premium .flatpickr-calendar {
    background: var(--cp-bg-1);
    border: 1px solid var(--cp-stroke);
    box-shadow: 0 10px 32px rgba(0,0,0,.4);
}
body.theme-premium .flatpickr-calendar.arrowTop:before,
body.theme-premium .flatpickr-calendar.arrowTop:after { border-bottom-color: var(--cp-bg-1); }
body.theme-premium .flatpickr-months .flatpickr-month,
body.theme-premium .flatpickr-current-month,
body.theme-premium .flatpickr-current-month input.cur-year { color: var(--cp-text); fill: var(--cp-text); }
body.theme-premium .flatpickr-prev-month svg,
body.theme-premium .flatpickr-next-month svg { fill: var(--cp-muted); }
body.theme-premium .flatpickr-weekday { color: var(--cp-muted); background: transparent; }
body.theme-premium .flatpickr-day { color: var(--cp-text); }
body.theme-premium .flatpickr-day.flatpickr-disabled,
body.theme-premium .flatpickr-day.prevMonthDay,
body.theme-premium .flatpickr-day.nextMonthDay { color: var(--cp-muted); opacity: .5; }
body.theme-premium .flatpickr-day:hover { background: var(--cp-glass-strong); border-color: var(--cp-glass-strong); }
body.theme-premium .flatpickr-day.today { border-color: var(--cp-gold); }
body.theme-premium .flatpickr-day.selected {
    background: var(--cp-gold);
    border-color: var(--cp-gold);
    color: #1A1408;
}

/* ---------- Дни рождения на Главной ---------- */
body.theme-premium .upcoming-birthdays,
body.theme-premium .upcoming-item { color: var(--cp-text); }
body.theme-premium .upcoming-title { color: var(--cp-muted); }
body.theme-premium .upcoming-days { color: var(--cp-gold); font-weight: 800; }

/* ---------- База знаний: боковая панель разделов ---------- */
body.theme-premium .kb-sidebar {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
    border-radius: var(--cp-radius);
    color: var(--cp-text);
}
body.theme-premium .kb-sidebar-title { color: var(--cp-muted); }
body.theme-premium .kb-nav-item { color: var(--cp-text); border-radius: 10px; }
body.theme-premium .kb-nav-item:hover { background: var(--cp-glass-strong); }
body.theme-premium .kb-nav-item.active {
    background: linear-gradient(90deg, rgba(232, 200, 116, .14), rgba(232, 200, 116, .03));
    color: var(--cp-gold);
}
body.theme-premium .kb-count { color: var(--cp-muted); }

/* ---------- Служебные элементы ---------- */
body.theme-premium .empty-state { color: var(--cp-muted); }
body.theme-premium .breadcrumb { color: var(--cp-muted); }
body.theme-premium .drop-hint { color: var(--cp-muted); }        /* «.xlsx или .xls» в drop-zone */
body.theme-premium .user-chip {
    background: var(--cp-glass-strong);
    border: 1px solid var(--cp-stroke);
    color: var(--cp-text);
    border-radius: 10px;
}
body.theme-premium .badge.badge-blocked { background: rgba(255, 122, 107, .18); color: var(--cp-coral); }
body.theme-premium .rank-badge { color: var(--cp-gold); }

/* ---------- Кнопки: недостающие варианты ---------- */
body.theme-premium .btn-ghost {
    background: transparent;
    border: 1px solid var(--cp-stroke);
    color: #C4CBDA;
    border-radius: 10px;
}
body.theme-premium .btn-ghost:hover { background: var(--cp-glass-strong); color: var(--cp-text); }

/* ============================================================
   Этап 1.2 — финал стабилизации: KPI Главной и категории БЗ
   ============================================================ */

/* ---------- KPI-карточки на Главной ---------- */
body.theme-premium .stat-card {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
    border-radius: var(--cp-radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--cp-text);
    transition: transform .2s, border-color .2s;
}
body.theme-premium .stat-card:hover {
    transform: translateY(-2px);
    border-color: var(--cp-stroke-gold);
}
body.theme-premium .stat-value {
    color: var(--cp-text);
    font-weight: 800;
}
body.theme-premium .stat-label { color: var(--cp-muted); }
body.theme-premium .stat-sub   { color: var(--cp-muted); }

/* ---------- Карточки категорий Базы знаний ---------- */
body.theme-premium .kb-cat-card {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
    border-radius: var(--cp-radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--cp-text);
    transition: transform .2s, border-color .2s;
}
body.theme-premium .kb-cat-card:hover {
    transform: translateY(-2px);
    border-color: var(--cp-stroke-gold);
}
body.theme-premium .kb-cat-name  { color: var(--cp-text); font-weight: 800; }
body.theme-premium .kb-cat-desc  { color: var(--cp-muted); }
body.theme-premium .kb-cat-count { color: var(--cp-muted); }

/* ---------- Статья Базы знаний: шапка со сведениями и блок файлов ----------
   #kb-article-view — это .card (тёмное стекло в premium), а .kb-article-info-row
   и .kb-files-title заданы фиксированным тёмным цветом для белого фона —
   на тёмном стекле карточки такой текст практически не виден. Само содержимое
   статьи (.kb-rendered/.kb-article-body/.kb-article-big-title) уже принудительно
   белое — их не трогаем. */
body.theme-premium .kb-article-info-row { color: var(--cp-muted); }
body.theme-premium .kb-files-title { color: var(--cp-text); }
body.theme-premium .kb-article-type-badge { color: var(--cp-text) !important; }
body.theme-premium .kb-muted { color: var(--cp-muted); }

/* Строка списка статей (.kb-article-row) в оригинале — БЕЛАЯ карточка
   (background:white из встроенного <style> в index.html), под которую и
   заданы тёмные .kb-article-title/.kb-article-meta. Раньше здесь просто
   светлел текст поверх этого же белого фона (та же болезнь наоборот) —
   вместо этого делаем саму строку тёмным стеклом, как .kb-cat-card. */
body.theme-premium .kb-article-row {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
}
body.theme-premium .kb-article-row:hover { border-color: var(--cp-stroke-gold); }
body.theme-premium .kb-article-title { color: var(--cp-text); font-weight: 600; }
body.theme-premium .kb-article-meta { color: var(--cp-muted); }
body.theme-premium .kb-list-intro { color: var(--cp-muted); }

/* ============================================================
   Этап 2 — сайдбар: золотой актив, группы, стекло
   ============================================================ */

/* ---------- Пункты меню ---------- */
body.theme-premium .nav-item {
    color: #C4CBDA;
    border-radius: 12px;
    transition: background .18s, color .18s;
    cursor: pointer;
}
body.theme-premium .nav-item:hover {
    background: var(--cp-glass-strong);
    color: var(--cp-text);
}
/* Золотой активный пункт — вместо красного из старой гаммы */
body.theme-premium .nav-item.active {
    background: linear-gradient(90deg, rgba(232, 200, 116, .16), rgba(232, 200, 116, .03));
    border: 1px solid var(--cp-stroke-gold);
    color: var(--cp-gold);
    font-weight: 700;
}

/* ---------- Заголовки групп (ПРОДАЖИ, УПРАВЛЕНИЕ, ...) ---------- */
body.theme-premium .nav-section {
    color: var(--cp-muted);
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* ---------- Футер сайдбара ---------- */
body.theme-premium .sidebar-footer {
    border-top: 1px solid var(--cp-stroke);
}
body.theme-premium .sidebar-footer .name       { color: var(--cp-text); font-weight: 700; }
body.theme-premium .sidebar-footer .role-label { color: var(--cp-muted); }
body.theme-premium .sidebar-footer .avatar {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    color: #1A1408;
    font-weight: 800;
}

/* ============================================================
   Этап 2.1 — читаемость таблицы «Выполнение планов»
   ============================================================ */

/* Таблица рендерится из app.js целиком инлайн-стилями и без классов,
   поэтому целимся через id контейнера #plan-performance-table.
   Что НЕ трогаем (сигналы остаются, т.к. инлайн-стиль сильнее класса):
   — розовый фон строки #FDECEA = «план не выполнен»;
   — светофор процентов (зелёный/жёлтый/красный) — инлайн color в ячейках %;
   — красная шапка с белым текстом — читаема, рескин отдельной итерацией.
   Чиним только унаследованный от body светлый цвет текста ячеек. */
body.theme-premium #plan-performance-table td {
    color: #1F2937;               /* Тёмный текст на светлых/розовых строках */
}

/* Полотно таблицы делаем непрозрачно-белым: строки без инлайн-фона
   не должны просвечивать тёмным фоном страницы */
body.theme-premium #plan-performance-table table {
    background: #fff;
}

/* Внешний вид врезки: скругление и обводка в стиле остальных панелей */
body.theme-premium #plan-performance-table > div {
    border-radius: var(--cp-radius);
    overflow: hidden;
    border: 1px solid var(--cp-stroke);
}

/* Заглушка «Нет данных за выбранный период» — приглушённый цвет темы */
body.theme-premium #plan-performance-table > p {
    color: var(--cp-muted) !important; /* Перебиваем инлайн #9AA0A6 из app.js */
}

/* ============================================================
   Этап 3 — Run Rate по точкам (вкладка «Темп» в Статистике)
   Неймспейс .rr-* новый — в старом CSS его нет, конфликтов нет.
   Базовые стили без префикса: виджет читаем и при откате темы.
   ============================================================ */

/* ---------- База (работает и без theme-premium) ---------- */
.rr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}
.rr-card {
    background: #fff;
    border: 1px solid #E8EAED;
    border-left: 4px solid #9AA0A6;   /* Цвет светофора задаёт модификатор rr-b-* */
    border-radius: 16px;
    padding: 16px;
    color: #1F2937;
}
.rr-b-green { border-left-color: #00A651; }
.rr-b-amber { border-left-color: #F9A825; }
.rr-b-red   { border-left-color: #C0392B; }
.rr-b-gray  { border-left-color: #9AA0A6; }

.rr-head  { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.rr-store { font-weight: 800; }
.rr-pct   { font-weight: 800; font-size: 18px; }
.rr-sub   { font-size: 12px; color: #5F6368; margin-bottom: 10px; }

.rr-bar  { height: 8px; border-radius: 6px; background: #ECEFF3; overflow: hidden; margin-bottom: 12px; }
.rr-fill { height: 100%; border-radius: 6px; }
.rr-f-green { background: #00A651; }
.rr-f-amber { background: #F9A825; }
.rr-f-red   { background: #C0392B; }
.rr-f-gray  { background: #9AA0A6; }

.rr-row { display: grid; grid-template-columns: 1fr auto 52px; gap: 8px; font-size: 13px; padding: 3px 0; }
.rr-row span:last-child { text-align: right; font-weight: 700; }
.rr-green { color: #00A651; }
.rr-amber { color: #F9A825; }
.rr-red   { color: #C0392B; }
.rr-gray  { color: #9AA0A6; }

.rr-dim        { color: #5F6368; }
.rr-hint       { font-size: 12px; color: #5F6368; padding-left: 8px; }
.rr-hint-total { margin-top: 10px; font-weight: 600; }
.rr-note       { color: #9AA0A6; font-size: 13px; padding: 8px 0; }

/* ---------- Премиум-скин: стекло и токены светофора ---------- */
body.theme-premium .rr-card {
    background: var(--cp-glass);
    border-color: var(--cp-stroke);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--cp-text);
}
body.theme-premium .rr-b-green { border-left-color: var(--cp-teal); }
body.theme-premium .rr-b-amber { border-left-color: var(--cp-amber); }
body.theme-premium .rr-b-red   { border-left-color: var(--cp-coral); }
body.theme-premium .rr-b-gray  { border-left-color: var(--cp-muted); }

body.theme-premium .rr-green { color: var(--cp-teal); }
body.theme-premium .rr-amber { color: var(--cp-amber); }
body.theme-premium .rr-red   { color: var(--cp-coral); }
body.theme-premium .rr-gray  { color: var(--cp-muted); }

body.theme-premium .rr-f-green { background: var(--cp-teal); }
body.theme-premium .rr-f-amber { background: var(--cp-amber); }
body.theme-premium .rr-f-red   { background: var(--cp-coral); }
body.theme-premium .rr-f-gray  { background: rgba(255, 255, 255, .25); }

body.theme-premium .rr-dim { color: var(--cp-muted); }
body.theme-premium .rr-bar { background: rgba(255, 255, 255, .08); }
body.theme-premium .rr-sub,
body.theme-premium .rr-hint,
body.theme-premium .rr-note { color: var(--cp-muted); }

/* ---------- Кнопка удаления номинации ---------- */
.nomination-card { position: relative; }
.nom-delete-btn {
    position: absolute; top: 10px; right: 10px;
    width: 24px; height: 24px; border-radius: 50%;
    border: none; background: rgba(255,255,255,.08); color: #C4CBDA;
    cursor: pointer; font-size: 13px; line-height: 24px; padding: 0;
    transition: background .15s, color .15s;
}
.nom-delete-btn:hover { background: var(--cp-coral, #FF7A6B); color: #fff; }

/* ---------- Полотно .stats-table: белый фон против просвечивания ---------- */
body.theme-premium .stats-table { background: #fff; }

/* ---------- Сетка графика работы ---------- */
.sched-cell {
    cursor: pointer; border: 1px solid #F1F3F4;
    height: 28px; transition: background .1s;
}
.sched-cell:hover { background: #F1F3F4; }
.sched-here { background: #00A651; }
.sched-here:hover { background: #00954a; }
.sched-elsewhere { background: #F9A825; }
body.theme-premium .sched-cell { border-color: var(--cp-stroke); }
body.theme-premium .sched-cell:hover { background: var(--cp-glass-strong); }

/* ---------- Выходной день в графике работы ---------- */
.sched-off { background: #E8EAED; color: #5F6368; font-weight: 700; }
.sched-off:hover { background: #DDE1E4; }
body.theme-premium .sched-off { background: rgba(255,255,255,.06); color: var(--cp-muted); }
body.theme-premium .sched-off:hover { background: rgba(255,255,255,.10); }

/* ---------- Плотная сетка графика (в стиле образца) ---------- */
#sched-grid { border-collapse: collapse; }
#sched-grid .sched-cell {
    width: 26px; height: 24px;
    text-align: center; vertical-align: middle;
    font-size: 10px; font-weight: 700; line-height: 1;
    border: 1px solid rgba(0,0,0,.06);
    padding: 0;
}
#sched-grid td:first-child { font-weight: 400; font-size: 12px; text-align: left; padding: 4px 8px; }
.sched-here { background: #00A651; color: #fff; }
.sched-elsewhere { background: #F9A825; color: #1A1408; }
body.theme-premium #sched-grid .sched-cell { border-color: rgba(255,255,255,.05); }
body.theme-premium .sched-here { background: var(--cp-teal); color: #06231F; }
body.theme-premium .sched-elsewhere { background: var(--cp-amber); color: #2A1B04; }

/* ---------- Мобильная адаптация графика работы ---------- */
#sched-grid td:first-child, #sched-grid th:first-child {
    position: sticky; left: 0; z-index: 2;
    background: #fff;
    box-shadow: 2px 0 4px rgba(0,0,0,.08);
}
#sched-grid thead th:first-child { z-index: 3; background: #2C3E50; }
body.theme-premium #sched-grid td:first-child { background: #1A2338; color: var(--cp-text); }
body.theme-premium #sched-grid thead th:first-child { background: #1A2338; color: var(--cp-text); }
#sched-grid td:first-child { color: var(--gray-800); }

@media (max-width: 768px) {
    #sched-grid .sched-cell {
        width: 34px; height: 34px;
        font-size: 11px;
    }
    #sched-grid th { font-size: 9px; padding: 2px 0; }
    #sched-grid td:first-child { min-width: 120px; font-size: 11px; }

    /* Фильтры (Точка/Месяц/Год/кнопки) — в столбик на узких экранах */
    #page-schedule .card > div[style*="display:flex"] {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    #page-schedule .card > div[style*="display:flex"] > * {
        width: 100% !important;
    }
    #page-schedule select, #page-schedule input[type="number"], #page-schedule input[type="date"] {
        width: 100% !important;
    }
}

/* ---------- Чек-листы: карточки пунктов ---------- */
.cl-item-card { border-width: 2px; transition: border-color .2s; }
.cl-item-card.cl-card-yes { border-color: var(--cp-teal, #4FD1C5); }
.cl-item-card.cl-card-no { border-color: var(--cp-coral, #FF7A6B); }
.cl-btn-yes { background: rgba(79,209,197,.06); color: #0F5C54; border: 1px solid rgba(79,209,197,.2); opacity: .55; transition: all .15s ease; }
.cl-btn-yes:hover { background: rgba(79,209,197,.22); opacity: .85; }
.cl-btn-yes.cl-btn-selected { background: rgba(79,209,197,.35); border: 2px solid rgba(79,209,197,.9); opacity: 1; font-weight: 700; box-shadow: 0 0 0 2px rgba(79,209,197,.25) inset; }
.cl-btn-no { background: rgba(255,122,107,.06); color: #7A1F16; border: 1px solid rgba(255,122,107,.2); opacity: .55; transition: all .15s ease; }
.cl-btn-no:hover { background: rgba(255,122,107,.22); opacity: .85; }
.cl-btn-no.cl-btn-selected { background: rgba(255,122,107,.35); border: 2px solid rgba(255,122,107,.9); opacity: 1; font-weight: 700; box-shadow: 0 0 0 2px rgba(255,122,107,.25) inset; }
body.theme-premium .cl-btn-yes { color: var(--cp-teal); }
body.theme-premium .cl-btn-no { color: var(--cp-coral); }

/* ---------- Чек-листы: аккордеон категорий и прогресс ---------- */
.cl-cat-header:hover { background: rgba(0,0,0,.02); }
body.theme-premium .cl-cat-header:hover { background: rgba(255,255,255,.04); }
.cl-progress {
    font-size: 12px; font-weight: 700; color: #9AA0A6;
    background: rgba(0,0,0,.06); padding: 2px 8px; border-radius: 10px;
}
.cl-progress-full { color: #fff; background: var(--cp-teal, #4FD1C5); }
body.theme-premium .cl-progress { background: rgba(255,255,255,.08); color: var(--cp-muted); }

/* ---------- Модальные окна: были не адаптированы под тёмную тему
   (белый фон + светлые формы внутри = невидимый текст). Фикс. ---------- */
body.theme-premium .modal {
    background: var(--cp-bg-1);
    border: 1px solid var(--cp-stroke);
    color: var(--cp-text);
}
body.theme-premium .modal-header,
body.theme-premium .modal-footer {
    border-color: var(--cp-stroke);
}
body.theme-premium .modal-title { color: var(--cp-text); }
body.theme-premium .modal-close { color: var(--cp-muted); }
body.theme-premium .modal-close:hover { color: var(--cp-text); }
body.theme-premium .modal-body { color: var(--cp-text); }
body.theme-premium .modal-body label,
body.theme-premium .modal-body .form-label { color: var(--cp-muted); }
/* Вкладки внутри модалок (например «Добавить документ») */
body.theme-premium .sl-tab {
    color: var(--cp-muted);
    border-bottom-color: var(--cp-stroke) !important;
}
body.theme-premium .sl-tab.active { color: var(--cp-gold); border-bottom-color: var(--cp-gold) !important; }
body.theme-premium .sl-drop-zone {
    background: var(--cp-glass);
    border: 2px dashed var(--cp-stroke);
    color: var(--cp-muted);
}

/* ---------- Бейджи-счётчики в меню (задачи/распоряжения) ---------- */
.nav-badge {
    display: inline-block;
    background: #FF7A6B;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 9px;
    padding: 0 5px;
    margin-left: 4px;
}

/* ---------- Онлайн-продажи: карточки ответственных по точкам ---------- */
.cs-resp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
}
.cs-resp-store {
    background: var(--cp-glass);
    border: 1px solid var(--cp-stroke);
    border-radius: 14px;
    padding: 14px 16px;
}
.cs-resp-store-name {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 10px;
    color: var(--cp-text);
}
.cs-resp-slots {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cs-resp-slot {
    border-radius: 10px;
    padding: 10px 12px;
    background: var(--cp-glass-strong);
}
.cs-resp-slot--filled {
    border-left: 3px solid var(--cp-gold);
}
.cs-resp-slot--empty {
    border: 1px dashed var(--cp-stroke);
    border-left: 3px dashed var(--cp-stroke);
}
.cs-resp-slot-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--cp-muted);
    margin-bottom: 6px;
}
.cs-resp-name {
    font-weight: 700;
    color: var(--cp-gold);
    margin-bottom: 8px;
}
.cs-resp-empty-label {
    color: var(--cp-muted);
    font-size: 13px;
    margin-bottom: 8px;
    font-style: italic;
}
.cs-resp-actions {
    display: flex;
    gap: 6px;
}

/* ---------- Hover строк таблиц: был светлый фон из старой темы,
   из-за чего светлый premium-текст становился нечитаемым ---------- */
body.theme-premium tbody tr:hover {
    background: var(--cp-glass-strong);
}

/* ---------- Баннер «Миссия и ценности» (Главная) ---------- */
body.theme-premium .mission-tagline,
body.theme-premium .mission-final-tagline {
    color: var(--cp-gold);
    font-family: var(--cp-font-display);
}
body.theme-premium .mission-block-lead,
body.theme-premium .mission-why-text,
body.theme-premium .mission-accent-text,
body.theme-premium .mission-value-side-text,
body.theme-premium .mission-checklist li,
body.theme-premium .mission-happiness-text {
    color: var(--cp-muted);
}
body.theme-premium .mission-label {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    color: #1A1408;
}
body.theme-premium .mission-subtitle-highlight,
body.theme-premium .mission-chips-highlight {
    background: var(--cp-glass-strong);
    border-color: var(--cp-stroke-gold);
    color: var(--cp-text);
}
body.theme-premium .mission-subtitle:not(.mission-subtitle-highlight) {
    color: var(--cp-muted);
}
body.theme-premium .mission-chips-highlight .mission-chip { background: var(--cp-glass); }
body.theme-premium .mission-chip {
    background: var(--cp-glass-strong);
    border-color: var(--cp-stroke);
    color: var(--cp-text);
}
body.theme-premium .mission-chip:hover { border-color: var(--cp-gold); }
body.theme-premium .mission-expanded { border-top-color: var(--cp-stroke); }
body.theme-premium .mission-block-title,
body.theme-premium .mission-subheading,
body.theme-premium .mission-reflect-col-title,
body.theme-premium .mission-why-title,
body.theme-premium .mission-accent-title,
body.theme-premium .mission-value-header {
    color: var(--cp-text);
}
body.theme-premium .mission-why-card,
body.theme-premium .mission-accent-card,
body.theme-premium .mission-value-card {
    background: var(--cp-glass-strong);
    border-color: var(--cp-stroke);
}
body.theme-premium .mission-why-num {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    color: #1A1408;
}
body.theme-premium .mission-checklist li::before { color: var(--cp-teal); }
body.theme-premium .mission-happiness {
    background: var(--cp-glass-strong);
    border-color: var(--cp-stroke-gold);
}
body.theme-premium .mission-happiness-title { color: var(--cp-gold); }
body.theme-premium .mission-happiness-tags span {
    background: var(--cp-glass);
    border-color: var(--cp-stroke);
    color: var(--cp-text);
}
body.theme-premium .mission-value-side-label {
    background: linear-gradient(135deg, var(--cp-gold), var(--cp-gold-deep));
    color: #1A1408;
}

/* Кейс-викторина «Продажи и развитие» — вариант ответа в тёмной теме */
body.theme-premium .case-quiz-option-row { border-color: var(--cp-stroke); }
body.theme-premium .case-quiz-option-row:hover { border-color: var(--cp-muted); }
body.theme-premium .case-quiz-option-row:has(input:checked) {
    border-color: var(--cp-coral);
    background: rgba(255, 122, 107, .1);
}

/* Колокольчик уведомлений (Главная) — тёмная тема */
body.theme-premium .notif-bell-btn {
    background: var(--cp-glass);
    border-color: var(--cp-stroke);
}
body.theme-premium .notif-bell-btn:hover { background: var(--cp-glass-strong); }
body.theme-premium .notif-dropdown {
    background: var(--cp-bg-1);
    border-color: var(--cp-stroke);
}
body.theme-premium .notif-item { border-bottom-color: var(--cp-stroke); color: var(--cp-text); }
body.theme-premium .notif-item:hover { background: var(--cp-glass-strong); }
body.theme-premium .notif-empty { color: var(--cp-muted); }

/* Глобальный поиск (шапка) — тёмная тема */
body.theme-premium .gsearch-input {
    background: var(--cp-glass);
    border-color: var(--cp-stroke);
    color: var(--cp-text);
}
body.theme-premium .gsearch-input:focus { background: var(--cp-glass-strong); border-color: var(--cp-gold); }
body.theme-premium .gsearch-dropdown { background: var(--cp-bg-1); border-color: var(--cp-stroke); }
body.theme-premium .gsearch-group-title { color: var(--cp-muted); }
body.theme-premium .gsearch-item:hover { background: var(--cp-glass-strong); }
body.theme-premium .gsearch-item-title { color: var(--cp-text); }
body.theme-premium .gsearch-item-sub { color: var(--cp-muted); }
body.theme-premium .gsearch-empty { color: var(--cp-muted); }
