/* ============================================================================
   theme.css — слой темы админки под палитру мобильного приложения.

   Как работает:
   1) Переопределяем стандартные переменные Bootstrap 5.3 (--bs-*) значениями
      из мобильной палитры — для :root (светлая) и [data-bs-theme="dark"] (тёмная).
      Bootstrap 5.3 рисует ВСЕ штатные компоненты через эти переменные, поэтому
      навбар/карточки/таблицы/формы/модалки/дропдауны перекрашиваются автоматически.
   2) Вводим свои токены --admin-* для того, чего в Bootstrap нет (белая карточка
      с элевацией над серой страницей, фон шапки, статус-плашки, бренд-градиент).
   3) Внизу — привязка --admin-* к компонентам (без неё токены сами ничего не красят).

   ВАЖНО про порядок подключения: этот файл грузится СРАЗУ после bootstrap.min.css
   (см. _Layout.cshtml), чтобы наши :root-оверрайды победили дефолты Bootstrap.

   Стратегия акцента (как в мобилке): малиновый #E0567A остаётся на ЗАЛИВКАХ
   (кнопки/бейджи с белым текстом) в обеих темах; а ССЫЛКИ и акцентный ТЕКСТ в
   тёмной теме уходят в песочный #D4A574 — малина текстом на тёмном фоне «звенит».
   Бренд-градиент кнопок (#E0567A→#E67E22→#E74C3C) — общий для обеих тем.
   ============================================================================ */

:root {
  /* ---- поверхности / текст ---- */
  --bs-body-bg: #f0f0f0;
  --bs-body-color: #2C2520;
  --bs-emphasis-color: #1A1716;
  --bs-emphasis-color-rgb: 26, 23, 22;
  --bs-secondary-color: #5D5347;
  --bs-tertiary-color: #8B7E74;
  --bs-secondary-bg: #E8E8E8;
  --bs-tertiary-bg: #F0F0F0;
  --bs-border-color: #E8E8E8;
  --bs-heading-color: #2C2520;

  /* ---- бренд / семантика ---- */
  --bs-primary: #E0567A;            --bs-primary-rgb: 224, 86, 122;
  --bs-primary-bg-subtle: #FBE4EA;  --bs-primary-text-emphasis: #C64A67;
  --bs-link-color: #E0567A;         --bs-link-color-rgb: 224, 86, 122;
  --bs-link-hover-color: #C64A67;   --bs-link-hover-color-rgb: 198, 74, 103;
  --bs-success: #27AE60;            --bs-success-rgb: 39, 174, 96;
  --bs-warning: #F39C12;            --bs-warning-rgb: 243, 156, 18;
  --bs-danger:  #E74C3C;            --bs-danger-rgb: 231, 76, 60;
  --bs-info:    #3498DB;            --bs-info-rgb: 52, 152, 219;

  /* ---- кастомные admin-токены ---- */
  --admin-card-bg: #FFFFFF;
  --admin-header-bg: #E0567A;          /* розовая шапка (бренд-малина) */
  --admin-header-block-bg: #F0F0F0;
  --admin-input-bg: #F0F0F0;
  --admin-placeholder: #A89B8E;
  --admin-label: #8B7E74;
  --admin-separator: #D8D8D8;

  --admin-accent: #E0567A;
  --admin-accent-secondary: #D4A574;
  --admin-link: #E0567A;

  --admin-success: #27AE60;  --admin-success-subtle: #E7F7EE;
  --admin-warning: #F39C12;  --admin-warning-subtle: #FEF3E0;
  --admin-danger:  #E74C3C;  --admin-danger-subtle:  #FDEAE8;
  --admin-info:    #3498DB;  --admin-info-subtle:    #E7F2FB;
  --admin-planned: #3B82F6;  --admin-planned-subtle: #E8F0FE;

  --admin-sandbox-bg: #FEF3E2;  --admin-sandbox-fg: #B26A00;

  --admin-gradient: linear-gradient(135deg, #E0567A 0%, #E67E22 50%, #E74C3C 100%);
  --admin-gradient-start: #E0567A;
  --admin-gradient-mid:   #E67E22;
  --admin-gradient-end:   #E74C3C;
  --admin-card-gradient: linear-gradient(135deg, #FFFFFF 0%, #FBE4EA 100%);
  --admin-card-shadow: 0 1px 3px rgba(44, 37, 32, .08);
}

[data-bs-theme="dark"] {
  /* ---- поверхности / текст ---- */
  --bs-body-bg: #1A1716;
  --bs-body-color: #F5F1ED;
  --bs-emphasis-color: #FFFFFF;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: #A89B8E;
  --bs-tertiary-color: #8B7E74;
  --bs-secondary-bg: #4A423D;
  --bs-tertiary-bg: #3A3330;
  --bs-border-color: #3A3330;
  --bs-heading-color: #F5F1ED;

  /* ---- бренд / семантика ---- */
  --bs-primary: #E0567A;            --bs-primary-rgb: 224, 86, 122;      /* заливки остаются малиновыми */
  --bs-primary-bg-subtle: #3A2129;  --bs-primary-text-emphasis: #D4A574; /* акцентный ТЕКСТ → песок */
  --bs-link-color: #D4A574;         --bs-link-color-rgb: 212, 165, 116;  /* ССЫЛКИ → песок */
  --bs-link-hover-color: #E1C199;   --bs-link-hover-color-rgb: 225, 193, 153;
  --bs-success: #27AE60;            --bs-success-rgb: 39, 174, 96;
  --bs-warning: #F39C12;            --bs-warning-rgb: 243, 156, 18;
  --bs-danger:  #E74C3C;            --bs-danger-rgb: 231, 76, 60;
  --bs-info:    #3498DB;            --bs-info-rgb: 52, 152, 219;

  /* ---- кастомные admin-токены ---- */
  --admin-card-bg: #2C2520;
  --admin-header-bg: #7A2E45;          /* тёмно-розовая шапка (малина под тёмную тему) */
  --admin-header-block-bg: #3A3330;
  --admin-input-bg: #3A3330;
  --admin-placeholder: #6B625A;
  --admin-label: #8B7E74;
  --admin-separator: #4A423D;

  --admin-accent: #E0567A;
  --admin-accent-secondary: #D4A574;
  --admin-link: #D4A574;

  --admin-success-subtle: #16311F;
  --admin-warning-subtle: #3A2C12;
  --admin-danger-subtle:  #3A1D18;
  --admin-info-subtle:    #16283A;
  --admin-planned-subtle: #172642;

  --admin-sandbox-bg: #3A2E1A;  --admin-sandbox-fg: #F0C48A;

  --admin-card-gradient: linear-gradient(135deg, #2C2520 0%, #3A2129 100%);
  --admin-card-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}

/* ============================================================================
   Привязка кастомных токенов к компонентам Bootstrap.
   Без этого --admin-* сами по себе ничего не красят: card/modal/dropdown по
   умолчанию наследуют --bs-body-bg (серую страницу), а нам нужна белая карточка
   с элевацией — как в мобильном cardBackground.
   ============================================================================ */

.card,
.modal-content,
.dropdown-menu,
.list-group,
.offcanvas,
.accordion,
.toast {
  --bs-card-bg: var(--admin-card-bg);
  --bs-modal-bg: var(--admin-card-bg);
  --bs-dropdown-bg: var(--admin-card-bg);
  --bs-list-group-bg: var(--admin-card-bg);
  --bs-accordion-bg: var(--admin-card-bg);
  --bs-offcanvas-bg: var(--admin-card-bg);
}

.card {
  box-shadow: var(--admin-card-shadow);
}

/* Навбар/шапка — фон из токена; navbar-light убран в разметке, цвета ссылок
   навбара Bootstrap 5.3 берёт из --bs-emphasis-color-rgb, так что они уже
   следуют за data-bs-theme. */
.navbar {
  background-color: var(--admin-header-bg);
}

/* Формы: filled-инпуты как в мобилке (на белой карточке #F0F0F0 читается полем). */
.form-control,
.form-select {
  background-color: var(--admin-input-bg);
}
.form-control::placeholder {
  color: var(--admin-placeholder);
  opacity: 1;
}
.form-label {
  color: var(--admin-label);
}

/* Разделители заметны в обеих темах (по умолчанию hr полупрозрачен). */
hr {
  color: var(--admin-separator);
  opacity: 1;
}

/* Бренд-градиентная кнопка (start→middle→end), одинакова в обеих темах.
   Используйте class="btn btn-gradient". */
.btn-gradient {
  background: var(--admin-gradient);
  border: 0;
  color: #fff;
}
.btn-gradient:hover,
.btn-gradient:focus {
  color: #fff;
  filter: brightness(1.05);
}

/* Плашка «Песочница» — отдельный статус, которого нет в семантике Bootstrap. */
.badge-sandbox {
  background: var(--admin-sandbox-bg);
  color: var(--admin-sandbox-fg);
}

/* ============================================================================
   Bootstrap «primary» под бренд-малину.
   Bootstrap 5.3 ЗАПЕКАЕТ $primary=#0d6efd в компоненты ЛИТЕРАЛОМ (--bs-btn-bg,
   галочка чекбокса, актив пагинации и т.п.), поэтому оверрайда --bs-primary
   НЕДОСТАТОЧНО — эти элементы остаются синими. Ниже перецеливаем переменные самих
   компонентов на малину #E0567A (= buttonBackground мобилки), чтобы «основное
   действие» везде было бренд-цветом. Малина одинакова в обеих темах (белый текст).
   ============================================================================ */

/* Кнопки */
.btn-primary {
  --bs-btn-bg: #E0567A;
  --bs-btn-border-color: #E0567A;
  --bs-btn-hover-bg: #C64A67;
  --bs-btn-hover-border-color: #C64A67;
  --bs-btn-active-bg: #C64A67;
  --bs-btn-active-border-color: #C64A67;
  --bs-btn-disabled-bg: #E0567A;
  --bs-btn-disabled-border-color: #E0567A;
}
.btn-outline-primary {
  --bs-btn-color: #E0567A;
  --bs-btn-border-color: #E0567A;
  --bs-btn-hover-bg: #E0567A;
  --bs-btn-hover-border-color: #E0567A;
  --bs-btn-active-bg: #E0567A;
  --bs-btn-active-border-color: #E0567A;
  --bs-btn-disabled-color: #E0567A;
  --bs-btn-disabled-border-color: #E0567A;
}
.btn-link {
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-hover-color: var(--bs-link-hover-color);
}

/* Чекбоксы / радио / свитчи (галочка была синей) */
.form-check-input:checked {
  background-color: #E0567A;
  border-color: #E0567A;
}

/* Фокус-кольцо на инпутах/чекбоксах — малиновое вместо синего */
.form-check-input:focus,
.form-control:focus,
.form-select:focus {
  border-color: #EA8AA1;
  box-shadow: 0 0 0 0.25rem rgba(224, 86, 122, 0.25);
}

/* Пагинация / nav-pills / прогресс-бар — активное состояние на малину */
.pagination {
  --bs-pagination-active-bg: #E0567A;
  --bs-pagination-active-border-color: #E0567A;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
}
.nav-pills {
  --bs-nav-pills-link-active-bg: #E0567A;
}
.progress {
  --bs-progress-bar-bg: #E0567A;
}

/* Общий фокус-ринг Bootstrap 5.3 (напр. .btn:focus-visible) */
:root {
  --bs-focus-ring-color: rgba(224, 86, 122, 0.25);
}
