/*
 * Фирменная палитра кабинета партнёра.
 *
 * Дефолтные цвета Bootstrap (яркий синий #0d6efd, кислотный жёлтый #ffc107,
 * бирюзовый #0dcaf0 и т.п.) слишком «кричащие» для делового B2B-интерфейса.
 * Здесь мы приглушаем их до более спокойных, современных оттенков и следим,
 * чтобы плотные заливки (навбар, кнопки, значки) не были угольно-чёрными,
 * тёмно-синими или тёмно-фиолетовыми — только сдержанный графитовый серый.
 *
 * Primary смещён из синего в шалфейно-зелёный — спокойнее и мягче
 * банковского синего, при этом не мрачно: светлота и насыщенность подняты
 * по сравнению с первой версией палитры.
 *
 * Файл подключается сразу после bootstrap.min.css и переопределяет:
 *   1) базовые CSS-переменные Bootstrap 5.3 (--bs-primary и т.п. вместе с их
 *      *-rgb/*-text-emphasis/*-bg-subtle/*-border-subtle производными) —
 *      этого достаточно для alert-*, text-*, border-*, ссылок и т.п.,
 *      так как они ссылаются на переменные через var();
 *   2) точечные правила компонентов, где Bootstrap «зашивает» цвет как
 *      статичный hex/rgba прямо в класс (кнопки, text-bg-*, поля форм,
 *      пагинация, список, дропдаун, аккордеон) — их нужно переопределять
 *      отдельно.
 *
 * Производные оттенки посчитаны по формулам самого Bootstrap
 * (shade-color/tint-color — линейная примесь чёрного/белого) и проверены
 * по контрасту WCAG (текст на сплошной заливке >=4.5:1).
 *
 * Если будете обновлять bootstrap.min.css — сверьте, что имена переменных
 * и структура правил ниже не изменились.
 */

:root,
[data-bs-theme="light"] {
  /* ───────── Primary — шалфейно-зелёный (вместо кислотного #0d6efd) ───────── */
  --bs-primary: #478164;
  --bs-primary-rgb: 71, 129, 100;
  --bs-primary-text-emphasis: #1c3428;
  --bs-primary-bg-subtle: #dae6e0;
  --bs-primary-border-subtle: #b5cdc1;

  /* ───────── Secondary — тёплый серо-оливковый ───────── */
  --bs-secondary: #7a7669;
  --bs-secondary-rgb: 122, 118, 105;
  --bs-secondary-text-emphasis: #312f2a;
  --bs-secondary-bg-subtle: #e4e4e1;
  --bs-secondary-border-subtle: #cac8c3;

  /* ───────── Success — более тёплый оливково-зелёный (отличим от primary) ───────── */
  --bs-success: #568140;
  --bs-success-rgb: 86, 129, 64;
  --bs-success-text-emphasis: #22341a;
  --bs-success-bg-subtle: #dde6d9;
  --bs-success-border-subtle: #bbcdb3;

  /* ───────── Info — приглушённый серо-голубой ───────── */
  --bs-info: #5f9fb0;
  --bs-info-rgb: 95, 159, 176;
  --bs-info-text-emphasis: #264046;
  --bs-info-bg-subtle: #dfecef;
  --bs-info-border-subtle: #bfd9df;

  /* ───────── Warning — мягкая охра (вместо кислотно-жёлтого) ───────── */
  --bs-warning: #d3a05a;
  --bs-warning-rgb: 211, 160, 90;
  --bs-warning-text-emphasis: #544024;
  --bs-warning-bg-subtle: #f6ecde;
  --bs-warning-border-subtle: #edd9bd;

  /* ───────── Danger — приглушённый терракотовый (вместо ярко-алого) ───────── */
  --bs-danger: #b45d4f;
  --bs-danger-rgb: 180, 93, 79;
  --bs-danger-text-emphasis: #482520;
  --bs-danger-bg-subtle: #f0dfdc;
  --bs-danger-border-subtle: #e1beb9;

  /* ───────── Dark — тёмный графит с лёгким оливковым оттенком ───────── */
  --bs-dark: #46564d;
  --bs-dark-rgb: 70, 86, 77;
  --bs-dark-text-emphasis: #1c221f;
  --bs-dark-bg-subtle: #dadddb;
  --bs-dark-border-subtle: #b5bbb8;

  /* Ссылки и фокус-кольцо — в тон новому primary */
  --bs-link-color: #478164;
  --bs-link-color-rgb: 71, 129, 100;
  --bs-link-hover-color: #3c6e55;
  --bs-link-hover-color-rgb: 60, 110, 85;
  --bs-focus-ring-color: rgba(71, 129, 100, 0.25);

  /* Валидация форм — в тон новым success/danger */
  --bs-form-valid-color: #568140;
  --bs-form-valid-border-color: #568140;
  --bs-form-invalid-color: #b45d4f;
  --bs-form-invalid-border-color: #b45d4f;
}

/* ───────────────────────── Кнопки (сплошные) ─────────────────────────
   Bootstrap хранит hover/active-оттенки как статичные hex внутри самого
   класса, поэтому переопределяем блок целиком под каждый цвет. */

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #478164;
  --bs-btn-border-color: #478164;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3c6e55;
  --bs-btn-hover-border-color: #396750;
  --bs-btn-focus-shadow-rgb: 71, 129, 100;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #396750;
  --bs-btn-active-border-color: #35614b;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #478164;
  --bs-btn-disabled-border-color: #478164;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #7a7669;
  --bs-btn-border-color: #7a7669;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #686459;
  --bs-btn-hover-border-color: #625e54;
  --bs-btn-focus-shadow-rgb: 122, 118, 105;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #625e54;
  --bs-btn-active-border-color: #5c594f;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #7a7669;
  --bs-btn-disabled-border-color: #7a7669;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #568140;
  --bs-btn-border-color: #568140;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #496e36;
  --bs-btn-hover-border-color: #456733;
  --bs-btn-focus-shadow-rgb: 86, 129, 64;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #456733;
  --bs-btn-active-border-color: #416130;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #568140;
  --bs-btn-disabled-border-color: #568140;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #b45d4f;
  --bs-btn-border-color: #b45d4f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #994f43;
  --bs-btn-hover-border-color: #904a3f;
  --bs-btn-focus-shadow-rgb: 180, 93, 79;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #904a3f;
  --bs-btn-active-border-color: #87463b;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #b45d4f;
  --bs-btn-disabled-border-color: #b45d4f;
}

.btn-warning {
  --bs-btn-color: #1f2429;
  --bs-btn-bg: #d3a05a;
  --bs-btn-border-color: #d3a05a;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #daae73;
  --bs-btn-hover-border-color: #d7aa6b;
  --bs-btn-focus-shadow-rgb: 211, 160, 90;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #dcb37b;
  --bs-btn-active-border-color: #d7aa6b;
  --bs-btn-disabled-color: #1f2429;
  --bs-btn-disabled-bg: #d3a05a;
  --bs-btn-disabled-border-color: #d3a05a;
}

.btn-info {
  --bs-btn-color: #1f2429;
  --bs-btn-bg: #5f9fb0;
  --bs-btn-border-color: #5f9fb0;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #77adbc;
  --bs-btn-hover-border-color: #6fa9b8;
  --bs-btn-focus-shadow-rgb: 95, 159, 176;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #7fb2c0;
  --bs-btn-active-border-color: #6fa9b8;
  --bs-btn-disabled-color: #1f2429;
  --bs-btn-disabled-bg: #5f9fb0;
  --bs-btn-disabled-border-color: #5f9fb0;
}

.btn-light {
  --bs-btn-color: #1f2429;
  --bs-btn-bg: #f5f6f8;
  --bs-btn-border-color: #f5f6f8;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #dcdddf;
  --bs-btn-hover-border-color: #d0d1d3;
  --bs-btn-focus-shadow-rgb: 245, 246, 248;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #d0d1d3;
  --bs-btn-active-border-color: #c4c5c7;
  --bs-btn-disabled-color: #1f2429;
  --bs-btn-disabled-bg: #f5f6f8;
  --bs-btn-disabled-border-color: #f5f6f8;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #46564d;
  --bs-btn-border-color: #46564d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #59675f;
  --bs-btn-hover-border-color: #4f5e56;
  --bs-btn-focus-shadow-rgb: 70, 86, 77;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #626f68;
  --bs-btn-active-border-color: #4f5e56;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #46564d;
  --bs-btn-disabled-border-color: #46564d;
}

/* ───────────────────────── Кнопки (outline) ─────────────────────────
   У outline-вариантов hover/active просто заливаются базовым цветом —
   достаточно поменять сам цвет и rgb для фокус-тени. */

.btn-outline-primary {
  --bs-btn-color: #478164;
  --bs-btn-border-color: #478164;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #478164;
  --bs-btn-hover-border-color: #478164;
  --bs-btn-focus-shadow-rgb: 71, 129, 100;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #478164;
  --bs-btn-active-border-color: #478164;
  --bs-btn-disabled-color: #478164;
  --bs-btn-disabled-border-color: #478164;
}

.btn-outline-secondary {
  --bs-btn-color: #7a7669;
  --bs-btn-border-color: #7a7669;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7a7669;
  --bs-btn-hover-border-color: #7a7669;
  --bs-btn-focus-shadow-rgb: 122, 118, 105;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #7a7669;
  --bs-btn-active-border-color: #7a7669;
  --bs-btn-disabled-color: #7a7669;
  --bs-btn-disabled-border-color: #7a7669;
}

.btn-outline-success {
  --bs-btn-color: #568140;
  --bs-btn-border-color: #568140;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #568140;
  --bs-btn-hover-border-color: #568140;
  --bs-btn-focus-shadow-rgb: 86, 129, 64;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #568140;
  --bs-btn-active-border-color: #568140;
  --bs-btn-disabled-color: #568140;
  --bs-btn-disabled-border-color: #568140;
}

.btn-outline-danger {
  --bs-btn-color: #b45d4f;
  --bs-btn-border-color: #b45d4f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #b45d4f;
  --bs-btn-hover-border-color: #b45d4f;
  --bs-btn-focus-shadow-rgb: 180, 93, 79;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b45d4f;
  --bs-btn-active-border-color: #b45d4f;
  --bs-btn-disabled-color: #b45d4f;
  --bs-btn-disabled-border-color: #b45d4f;
}

.btn-outline-warning {
  --bs-btn-color: #d3a05a;
  --bs-btn-border-color: #d3a05a;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #d3a05a;
  --bs-btn-hover-border-color: #d3a05a;
  --bs-btn-focus-shadow-rgb: 211, 160, 90;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #d3a05a;
  --bs-btn-active-border-color: #d3a05a;
  --bs-btn-disabled-color: #d3a05a;
  --bs-btn-disabled-border-color: #d3a05a;
}

.btn-outline-info {
  --bs-btn-color: #5f9fb0;
  --bs-btn-border-color: #5f9fb0;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #5f9fb0;
  --bs-btn-hover-border-color: #5f9fb0;
  --bs-btn-focus-shadow-rgb: 95, 159, 176;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #5f9fb0;
  --bs-btn-active-border-color: #5f9fb0;
  --bs-btn-disabled-color: #5f9fb0;
  --bs-btn-disabled-border-color: #5f9fb0;
}

.btn-outline-light {
  --bs-btn-color: #f5f6f8;
  --bs-btn-border-color: #f5f6f8;
  --bs-btn-hover-color: #1f2429;
  --bs-btn-hover-bg: #f5f6f8;
  --bs-btn-hover-border-color: #f5f6f8;
  --bs-btn-focus-shadow-rgb: 245, 246, 248;
  --bs-btn-active-color: #1f2429;
  --bs-btn-active-bg: #f5f6f8;
  --bs-btn-active-border-color: #f5f6f8;
  --bs-btn-disabled-color: #f5f6f8;
  --bs-btn-disabled-border-color: #f5f6f8;
}

.btn-outline-dark {
  --bs-btn-color: #46564d;
  --bs-btn-border-color: #46564d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #46564d;
  --bs-btn-hover-border-color: #46564d;
  --bs-btn-focus-shadow-rgb: 70, 86, 77;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #46564d;
  --bs-btn-active-border-color: #46564d;
  --bs-btn-disabled-color: #46564d;
  --bs-btn-disabled-border-color: #46564d;
}

/* ───────────────────────── Значки (text-bg-*) ─────────────────────────
   .text-bg-* задают цвет через RGBA(...) напрямую, а не через var(),
   поэтому переменные из :root на них не действуют. */

.text-bg-primary { color: #fff !important; background-color: RGBA(71, 129, 100, var(--bs-bg-opacity, 1)) !important; }
.text-bg-secondary { color: #fff !important; background-color: RGBA(122, 118, 105, var(--bs-bg-opacity, 1)) !important; }
.text-bg-success { color: #fff !important; background-color: RGBA(86, 129, 64, var(--bs-bg-opacity, 1)) !important; }
.text-bg-info { color: #1f2429 !important; background-color: RGBA(95, 159, 176, var(--bs-bg-opacity, 1)) !important; }
.text-bg-warning { color: #1f2429 !important; background-color: RGBA(211, 160, 90, var(--bs-bg-opacity, 1)) !important; }
.text-bg-danger { color: #fff !important; background-color: RGBA(180, 93, 79, var(--bs-bg-opacity, 1)) !important; }
.text-bg-light { color: #1f2429 !important; background-color: RGBA(245, 246, 248, var(--bs-bg-opacity, 1)) !important; }
.text-bg-dark { color: #fff !important; background-color: RGBA(70, 86, 77, var(--bs-bg-opacity, 1)) !important; }

/* ───────────────────────── Поля форм ─────────────────────────
   Цвет обводки/тени фокуса у полей и чекбоксов/радио зашит как hex. */

.form-control:focus,
.form-select:focus {
  border-color: #9abaaa;
  box-shadow: 0 0 0 0.25rem rgba(71, 129, 100, 0.25);
}

.form-check-input:checked {
  background-color: #478164;
  border-color: #478164;
}

.form-check-input:focus {
  border-color: #9abaaa;
  box-shadow: 0 0 0 0.25rem rgba(71, 129, 100, 0.25);
}

.btn-close:focus {
  box-shadow: 0 0 0 0.25rem rgba(71, 129, 100, 0.25);
}

/* ───────────────────────── Пагинация, список, дропдаун, аккордеон ─────────────────────────
   Активные/фокусные состояния этих компонентов тоже захардкожены. */

.pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(71, 129, 100, 0.25);
  --bs-pagination-active-bg: #478164;
  --bs-pagination-active-border-color: #478164;
}

.list-group {
  --bs-list-group-active-bg: #478164;
  --bs-list-group-active-border-color: #478164;
}

.dropdown-menu {
  --bs-dropdown-link-active-bg: #478164;
}

.accordion {
  --bs-accordion-btn-focus-border-color: #9abaaa;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(71, 129, 100, 0.25);
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231c3428'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
