/* Soileu Ortalygy — фирменная тема поверх стандартного Django Admin.
   Работает через переопределение CSS-переменных из admin/css/base.css —
   этот файл подключается ПОСЛЕ base.css (templates/admin/base_site.html),
   поэтому побеждает по порядку каскада без !important. */

:root,
html[data-theme="light"] {
  --primary: #ff6a00;
  --secondary: #c2470a;
  --accent: #ff6a00;
  --primary-fg: #fff;

  --body-fg: #2b2117;
  --body-bg: #ffffff;
  --body-quiet-color: #8a7355;
  --body-medium-color: #55432e;
  --body-loud-color: #201a12;

  --header-color: #fff;
  --header-branding-color: #fff;
  --header-bg: #ff6a00;
  --header-link-color: #fff;

  --breadcrumbs-fg: #fde4cc;
  --breadcrumbs-link-fg: #fff;
  --breadcrumbs-bg: #c2470a;

  --link-fg: #c2470a;
  --link-hover-color: #ff6a00;
  --link-selected-fg: #c2470a;

  --hairline-color: #f1e2cb;
  --border-color: #ecdcc2;

  --darkened-bg: #fbf3e7;
  --selected-bg: #fff0e2;
  --selected-row: #fff0e2;

  --button-fg: #fff;
  --button-bg: #ff6a00;
  --button-hover-bg: #c2470a;
  --default-button-bg: #c2470a;
  --default-button-hover-bg: #ff6a00;

  --font-family-primary:
    "Golos Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
    "Noto Color Emoji";
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --primary: #ff8a3d;
    --secondary: #d97a45;
    --accent: #ff8a3d;
    --body-fg: #f1ece3;
    --body-bg: #1c1712;
    --body-quiet-color: #c9b79c;
    --body-medium-color: #ddd0ba;
    --body-loud-color: #ffffff;
    --header-bg: #a83c0c;
    --header-color: #fff;
    --header-link-color: #fff;
    --breadcrumbs-bg: #7a2c09;
    --breadcrumbs-link-fg: #fff;
    --link-fg: #ff9d5c;
    --link-hover-color: #ffb27e;
    --hairline-color: #3a2f22;
    --border-color: #453724;
    --darkened-bg: #241d16;
    --selected-bg: #2d2013;
    --selected-row: #2d2013;
    --button-bg: #ff6a00;
    --button-hover-bg: #ff8a3d;
    --default-button-bg: #c2470a;
    --default-button-hover-bg: #ff6a00;
  }
}

html[data-theme="dark"] {
  --primary: #ff8a3d;
  --secondary: #d97a45;
  --accent: #ff8a3d;
  --body-fg: #f1ece3;
  --body-bg: #1c1712;
  --body-quiet-color: #c9b79c;
  --body-medium-color: #ddd0ba;
  --body-loud-color: #ffffff;
  --header-bg: #a83c0c;
  --header-color: #fff;
  --header-link-color: #fff;
  --breadcrumbs-bg: #7a2c09;
  --breadcrumbs-link-fg: #fff;
  --link-fg: #ff9d5c;
  --link-hover-color: #ffb27e;
  --hairline-color: #3a2f22;
  --border-color: #453724;
  --darkened-bg: #241d16;
  --selected-bg: #2d2013;
  --selected-row: #2d2013;
  --button-bg: #ff6a00;
  --button-hover-bg: #ff8a3d;
  --default-button-bg: #c2470a;
  --default-button-hover-bg: #ff6a00;
}

/* Холст страницы отделён от --body-bg (тот остаётся белым — он же цвет
   карточек/модулей), чтобы получить "белые карточки на тёплой подложке". */
body {
  background: #fbf3e7;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body { background: #17130f; }
}
html[data-theme="dark"] body {
  background: #17130f;
}

/* ===== Брендинг в шапке ===== */
#site-name a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.brand-mark {
  height: 30px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.brand-word {
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.01em;
  color: #fff;
}
.login .brand-mark { height: 40px; }
.login .brand-word { font-size: 1.3rem; }
.login #header h1 { display: flex; justify-content: center; }

/* ===== Заголовки набирают дисплейным шрифтом ===== */
#content h1,
.module h2,
.module caption,
.inline-group h2,
#content-main > h2 {
  font-family: "Unbounded", sans-serif;
}

/* ===== Карточки модулей ===== */
.module {
  border: 1px solid var(--border-color);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px -20px rgba(120, 70, 10, 0.45);
}
.module h2,
.module caption,
.inline-group h2 {
  border-radius: 0;
}

/* ===== Активный пункт в боковом меню моделей ===== */
#nav-sidebar .current-app .section:link,
#nav-sidebar .current-app .section:visited {
  color: var(--secondary);
  font-weight: 700;
}
#nav-sidebar .current-model {
  border-radius: 8px;
}

/* ===== Форма входа ===== */
.login #container {
  border-radius: 20px;
  box-shadow: 0 24px 50px -28px rgba(120, 70, 10, 0.45);
}
.login .submit-row input {
  border-radius: 8px;
  font-weight: 700;
}

/* ===== Кнопки чуть мягче ===== */
.button,
input[type="submit"],
input[type="button"],
.submit-row input,
a.button {
  border-radius: 8px;
  font-weight: 600;
}

/* ===== Дашборд: сводные карточки (templates/dashboard.html) ===== */
.soi-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 24px;
}
.soi-stat {
  flex: 1;
  min-width: 190px;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 10px 24px -20px rgba(120, 70, 10, 0.45);
}
.soi-stat .n {
  font-family: "Unbounded", sans-serif;
  font-size: 1.7rem;
  font-variant-numeric: tabular-nums;
  color: var(--body-loud-color);
}
.soi-stat .l {
  font-size: 0.82rem;
  color: var(--body-quiet-color);
  margin-top: 4px;
}
.soi-stat.warn .n { color: #c2470a; }
.soi-stat.ok .n { color: #3d8361; }

.soi-panel {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  padding: 4px 0 12px;
  margin-bottom: 24px;
  overflow: hidden;
  box-shadow: 0 10px 24px -20px rgba(120, 70, 10, 0.45);
}
.soi-panel h2 {
  margin: 0 0 8px !important;
  padding: 14px 18px !important;
  background: transparent !important;
  color: var(--body-loud-color) !important;
  font-size: 1rem !important;
}
.soi-panel table {
  width: 100%;
  border-collapse: collapse;
}
.soi-panel td,
.soi-panel th {
  padding: 9px 18px;
  border-top: 1px solid var(--hairline-color);
  font-size: 0.86rem;
  text-align: left;
}
.soi-panel thead th {
  border-top: none;
  color: var(--body-quiet-color);
  font-weight: 600;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.soi-panel td.amt {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: #c2470a;
}
.soi-links {
  margin-top: 4px;
}
.soi-city-switch {
  margin-bottom: 18px;
  font-size: 0.86rem;
}
.soi-city-switch strong { color: #c2470a; }
