/* Свой внешний вид админки в фирменной палитре FUN&SUN (взято из
   цветовой схемы чат-виджета: красный градиент + золотой акцент).
   Переопределяем CSS-переменные темы Django Admin — ОБЯЗАТЕЛЬНО отдельно
   для светлой и тёмной темы, иначе встроенная тёмная тема Django (тумблер
   🌓 в шапке) перекрывает наши цвета своими более специфичными правилами. */

:root, html[data-theme="light"] {
    --primary: #b91c1c;
    --primary-fg: #fff;
    --secondary: #7f1d1d;
    --accent: #f4d84a;
    --link-fg: #991b1b;
    --link-hover-color: #7f1d1d;
    --link-selected-fg: #b91c1c;
    --header-color: #fff;
    --header-branding-color: #fff;
    --header-bg: linear-gradient(120deg, #7f1d1d 0%, #991b1b 45%, #b91c1c 100%);
    --header-link-color: #fff;
    --breadcrumbs-fg: #fbe9c9;
    --breadcrumbs-link-fg: #fff;
    --breadcrumbs-bg: #991b1b;
    --selected-bg: #fdecec;
    --selected-row: #f8fafc;
    --button-bg: #b91c1c;
    --button-fg: #fff;
    --button-hover-bg: #991b1b;
    --default-button-bg: #b91c1c;
    --default-button-hover-bg: #991b1b;
    --close-button-bg: #767676;
    --close-button-hover-bg: #333;
    --body-fg: #1e293b;
    --body-bg: #f8fafc;
    --body-quiet-color: #64748b;
    --body-loud-color: #0f172a;
    --darkened-bg: #f1f5f9;
    --border-color: #e2e8f0;
    --hairline-color: #e2e8f0;
    --font-family-primary: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
    html[data-theme="auto"] {
        --primary: #e05a5a;
        --primary-fg: #1a1a1a;
        --secondary: #f4d84a;
        --accent: #f4d84a;
        --link-fg: #ff8a8a;
        --link-hover-color: #ffb0b0;
        --link-selected-fg: #e05a5a;
        --header-color: #fff;
        --header-branding-color: #fff;
        --header-bg: linear-gradient(120deg, #4a1414 0%, #6b1818 45%, #7f1d1d 100%);
        --breadcrumbs-fg: #f2d9a8;
        --breadcrumbs-link-fg: #fff;
        --breadcrumbs-bg: #5a1414;
        --button-bg: #b91c1c;
        --button-hover-bg: #991b1b;
        --default-button-bg: #b91c1c;
        --default-button-hover-bg: #991b1b;
        --body-fg: #eee6da;
        --body-bg: #1c1a17;
        --darkened-bg: #16140f;
        --selected-bg: #2a1a1a;
    }
}

html[data-theme="dark"] {
    --primary: #e05a5a;
    --primary-fg: #1a1a1a;
    --secondary: #f4d84a;
    --accent: #f4d84a;
    --link-fg: #ff8a8a;
    --link-hover-color: #ffb0b0;
    --link-selected-fg: #e05a5a;
    --header-color: #fff;
    --header-branding-color: #fff;
    --header-bg: linear-gradient(120deg, #4a1414 0%, #6b1818 45%, #7f1d1d 100%);
    --breadcrumbs-fg: #f2d9a8;
    --breadcrumbs-link-fg: #fff;
    --breadcrumbs-bg: #5a1414;
    --button-bg: #b91c1c;
    --button-hover-bg: #991b1b;
    --default-button-bg: #b91c1c;
    --default-button-hover-bg: #991b1b;
    --body-fg: #eee6da;
    --body-bg: #1c1a17;
    --darkened-bg: #16140f;
    --selected-bg: #2a1a1a;
}

body {
    font-size: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.module h2, .module caption, fieldset.module h2, #branding h1 {
    font-family: "Manrope", "Inter", sans-serif;
}

#header {
    padding: 12px 40px;
    background: var(--header-bg) !important;
}

#branding h1, #branding h1 a:link, #branding h1 a:visited {
    font-weight: 700;
    letter-spacing: 0.2px;
}

/* Карточный вид разделов формы (fieldset) */
fieldset.module {
    background: var(--body-bg, #fff);
    border: 1px solid rgba(127, 29, 29, 0.12);
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(60, 20, 10, 0.06);
    margin-bottom: 20px;
    padding: 20px 24px 24px;
}

fieldset.module h2 {
    background: transparent !important;
    color: var(--secondary);
    font-size: 15px;
    font-weight: 700;
    padding: 0 0 12px;
    margin-bottom: 14px;
    border-bottom: 2px solid rgba(185, 28, 28, 0.12);
}

fieldset.module > div.description {
    color: var(--body-quiet-color, #6b6355);
    font-size: 13px;
    margin: -6px 0 16px;
    line-height: 1.55;
}

.form-row {
    padding: 12px 0;
    border-bottom-color: rgba(127, 29, 29, 0.06) !important;
}

.form-row label {
    font-weight: 600;
}

.help, p.help, form .form-row .help {
    color: var(--body-quiet-color, #6b6355);
    font-size: 12.5px;
    line-height: 1.55;
    margin-top: 6px;
}

/* Скрываем пустую подпись у "Текущее состояние" (readonly-поле без label) —
   иначе Django CSS дорисовывает висящее двоеточие после пустой подписи. */
.field-status_summary_display > label {
    display: none;
}

/* Кнопки */
.submit-row input, .button, input[type=submit], input[type=button] {
    border-radius: 999px;
    padding: 10px 20px;
    font-weight: 700;
}

.submit-row {
    border-radius: 14px;
    background: var(--body-bg, #f6f1ea);
    border: 1px solid rgba(127, 29, 29, 0.12);
}

/* Свёрнутые (collapse) блоки */
fieldset.collapse h2 {
    cursor: pointer;
}

fieldset.collapse h2::after {
    content: " (нажмите, чтобы раскрыть)";
    font-weight: 400;
    font-size: 12px;
    color: var(--body-quiet-color, #8a988f);
}

/* Таблицы списков */
#changelist table thead th {
    background: rgba(185, 28, 28, 0.06);
}

/* --- Переключатели вместо обычных чекбоксов --- */
.form-row input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #d8d2c6;
    position: relative;
    cursor: pointer;
    outline: none;
    vertical-align: middle;
    transition: background 0.18s ease;
    flex-shrink: 0;
}

.form-row input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
    transition: transform 0.18s ease;
}

.form-row input[type="checkbox"]:checked {
    background: linear-gradient(135deg, #b91c1c, #991b1b);
}

.form-row input[type="checkbox"]:checked::before {
    transform: translateX(18px);
}

.form-row input[type="checkbox"]:focus-visible {
    box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.25);
}

.form-row .checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* =========================================================================
   Сайдбар навигации (встроенная фича Django Admin с версии 4.1,
   #nav-sidebar) — светлая тема, единая с остальной админкой (никакого
   отдельного тёмного фона — раньше здесь была тёмная версия, но ссылки
   внутри caption/th/td не наследуют цвет контейнера автоматически, из-за
   чего текст оставался тёмным на тёмном фоне и был невиден).
   ========================================================================= */

#nav-sidebar {
  background: var(--body-bg, #f6f1ea);
  border-right: 1px solid rgba(127, 29, 29, 0.1);
  padding-top: 8px;
}

#nav-sidebar .module {
  background: transparent;
  border: none;
  margin-bottom: 4px;
}

#nav-sidebar caption {
  background: transparent;
  padding: 16px 18px 4px;
}

#nav-sidebar caption a.section {
  color: #7f1d1d !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#nav-sidebar th {
  background: transparent;
}

#nav-sidebar table {
  width: 100%;
}

#nav-sidebar td a,
#nav-sidebar th a {
  display: block;
  padding: 8px 18px;
  color: var(--body-fg, #26241f) !important;
  font-size: 13.5px;
  font-weight: 500;
  border-radius: 0;
  transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}

#nav-sidebar td a:hover,
#nav-sidebar th a:hover {
  background: rgba(185, 28, 28, 0.06);
  color: #7f1d1d !important;
  padding-left: 22px;
}

#nav-sidebar tr.current-model th a {
  color: #7f1d1d !important;
  font-weight: 700;
  background: rgba(185, 28, 28, 0.08);
  border-left: 3px solid #b91c1c;
}

#nav-sidebar #nav-filter {
  margin: 10px 14px 6px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(127, 29, 29, 0.15);
  background: #fff;
  color: var(--body-fg, #26241f);
  width: calc(100% - 28px);
}

#nav-sidebar #nav-filter::placeholder { color: var(--body-quiet-color, #8a8175); }

.toggle-nav-sidebar {
  border-right: 1px solid rgba(127, 29, 29, 0.1);
  background: #fff;
}

/* --- Хлебные крошки — компактная "пилюля", как в референсе --- */
div.breadcrumbs {
  background: transparent;
  border: none;
  padding: 14px 40px 0;
  color: var(--body-quiet-color, #6b6355);
  font-size: 12.5px;
}

div.breadcrumbs a {
  color: var(--link-fg);
  font-weight: 600;
}

/* =========================================================================
   Современный редизайн панели настроек (BotConfig) — статус-карточка,
   сегментированный переключатель провайдера, инлайн-тумблеры,
   плавающая панель сохранения.
   ========================================================================= */

/* --- Статус-карточка "Текущее состояние" --- */
.admin-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
}

.admin-status-badge.is-on {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.admin-status-badge.is-off {
    background: #f1f5f9;
    color: #64748b;
    border-color: #e2e8f0;
}

.admin-status-badge.is-info {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

/* --- Сегментированный переключатель (провайдер модели) --- */
.field-llm_provider ul {
    display: inline-flex;
    border: 1px solid rgba(127, 29, 29, 0.18);
    border-radius: 8px;
    overflow: hidden;
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
}

.field-llm_provider ul li { margin: 0; }

.field-llm_provider ul label {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    cursor: pointer;
    font-weight: 600 !important;
    font-size: 13px;
    color: var(--body-quiet-color, #64748b);
    border-right: 1px solid rgba(127, 29, 29, 0.12);
    transition: background 0.15s ease, color 0.15s ease;
}

.field-llm_provider ul li:last-child label { border-right: none; }
.field-llm_provider ul input[type="radio"] { accent-color: #b91c1c; }

.field-llm_provider ul label:has(input:checked) {
    background: linear-gradient(135deg, #b91c1c, #991b1b);
    color: #fff;
}

/* --- Инлайн-раскладка переключателей: заголовок+описание слева, тумблер
   справа. Django кладёт <label>Текст<input></label> внутри .checkbox-row —
   прижимаем сам переключатель к правому краю без переупорядочивания DOM. */
.form-row .checkbox-row {
    justify-content: space-between;
}

.form-row .checkbox-row input[type="checkbox"] {
    margin-left: auto;
    order: 2;
}

.form-row .checkbox-row label {
    order: 1;
}

/* --- Плавающая панель сохранения --- */
.submit-row {
    position: sticky;
    bottom: 0;
    z-index: 50;
    box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.08);
}

/* --- Убираем "+ Добавить" из сайдбара: добавление — внутри разделов --- */
#nav-sidebar .addlink {
    display: none;
}

/* --- Единый стиль полей ввода/списков --- */
.form-row input[type="text"],
.form-row input[type="number"],
.form-row input[type="url"],
.form-row textarea,
.form-row select {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.form-row input[type="text"]:focus,
.form-row input[type="number"]:focus,
.form-row input[type="url"]:focus,
.form-row textarea:focus,
.form-row select:focus {
    outline: none;
    border-color: #b91c1c;
    box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.12);
}
