/* polish.css — типографика и «дороже на вид» для кабинета.
   Грузится ПОСЛЕ styles.css / theme.css / lime.css (см. base.html).
   Тело = DM Sans, заголовки/бренд = Syne — как на лендинге (index-c.html).
   Откат всей причёски = убрать один <link> на этот файл. */

/* ── Шрифты ──
   Было: --bs-font-sans-serif:"Plus Jakarta Sans" БЕЗ фолбэка → при недогрузе
   Google Fonts текст падал на Times (засечки). Теперь DM Sans + системный стек. */
:root {
  --bs-font-sans-serif: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ad-font-display: "Syne", var(--bs-font-sans-serif);
}

/* Заголовки/бренд → Syne с плотным трекингом (как hero лендинга) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.navbar-brand {
  font-family: var(--ad-font-display);
  letter-spacing: -0.02em;
}
.navbar-brand { font-weight: 800; }

/* Тело — чуть плотнее трекинг = «дороже»/спокойнее */
body { letter-spacing: -0.003em; }

/* Sticky footer: прижать футер к низу при коротком контенте.
   base.html уже имеет body.d-flex.flex-column.h-100 + main.flex-shrink-0 +
   footer.mt-auto, но снятый styles.css задавал html,body{height:100%} — без
   высоты html класс h-100 на body не разворачивается. Возвращаем. */
html { height: 100%; }

/* ── «Дороже на вид»: мягче карточки, спокойнее таблицы, аккуратный фокус ── */

/* Карточки: крупнее радиус, мягкая слоёная тень вместо резкой */
.card { border-radius: 0.85rem; }
/* Таблица лежит вплотную к краям карточки → её прямые углы рвут скругление.
   Клипаем по радиусу на самой .table-responsive (overflow-x:auto уже делает её
   скролл-контейнером → border-radius обрезает углы), НЕ ставим overflow:hidden
   на карточку — иначе на узком экране прячется горизонтальный скролл и правые
   кнопки (Stats/Edit) становятся недоступны. */
.card > .table-responsive { border-radius: inherit; }
.card.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.18), 0 10px 28px -16px rgba(0,0,0,0.45) !important; }
[data-bs-theme="dark"] .card { border-color: rgba(255,255,255,0.06); }
[data-bs-theme="dark"] .card.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 14px 36px -18px rgba(0,0,0,0.7) !important; }

/* Таблицы: «премиальная» шапка — мелкая, разрядка, приглушённая; строки чуть выше */
.table > thead th {
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--bs-tertiary-color);
  border-bottom-color: var(--bs-border-color);
}
.table > :not(caption) > * > * { padding-top: 0.8rem; padding-bottom: 0.8rem; }

/* Скруглённее контролы + спокойный лайм-фокус */
.btn, .form-control, .form-select { border-radius: 0.55rem; }
.form-control:focus, .form-select:focus {
  border-color: rgba(217,255,78,0.5);
  box-shadow: 0 0 0 0.2rem rgba(217,255,78,0.18);
}

/* Бейджи статусов — чуть мягче */
.badge { font-weight: 600; border-radius: 0.5rem; }

/* Навбар: тонкая нижняя грань = опрятный «сепарат» от контента */
[data-bs-theme="dark"] .navbar.bg-body-tertiary { border-bottom: 1px solid rgba(255,255,255,0.05); }

/* Числовые ячейки/KPI — моноширинные цифры (колонки не «гуляют») */
.num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

/* Адаптивный размер шрифта (Bootstrap не даёт fs-{bp}-*): мелкий на xs, крупнее с sm */
@media (min-width: 576px) { .fs-sm-5 { font-size: 1.25rem !important; } }

/* Мобайл: закрепить колонку действий справа — широкая таблица скроллится по
   горизонтали, а кнопки (Stats/Edit) остаются на экране, не уезжают за край.
   Непрозрачный фон под тему, чтобы под закреплённой колонкой не просвечивал скролл. */
@media (max-width: 767.98px) {
  .table th.col-actions, .table td.col-actions {
    position: sticky; right: 0; z-index: 2;
    box-shadow: -8px 0 8px -8px rgba(0, 0, 0, 0.35);
  }
  [data-bs-theme="dark"] .table th.col-actions,
  [data-bs-theme="dark"] .table td.col-actions { background-color: #2b3035; }
  [data-bs-theme="light"] .table th.col-actions,
  [data-bs-theme="light"] .table td.col-actions { background-color: #ffffff; }
}

/* Мобайл: ужать вертикальные отступы секций (py-5 = 3rem — на телефоне избыточно)
   и горизонтальные на узких контейнерах, чтобы контент не жался к краям/не зиял. */
@media (max-width: 575.98px) {
  main > section, main > header { padding-top: 1.75rem !important; padding-bottom: 1.75rem !important; }
  .container.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* ── СВЕТЛАЯ ТЕМА: не «слепящий» чистый белый ──
   Голый Bootstrap-дефолт = #fff везде (после снятия styles.css). Делаем мягкий
   серо-белый холст + белые карточки/навбар с тонкими границами = глубина. */
[data-bs-theme="light"] {
  --bs-body-bg: #f2f3f5;
  --bs-body-bg-rgb: 242, 243, 245;
  --bs-tertiary-bg: #ffffff;            /* navbar/footer bg-body-tertiary → белый над серым холстом */
  --bs-border-color: #e5e8ec;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.075);
}
[data-bs-theme="light"] .card { background-color: #ffffff; border-color: #e8eaee; }
[data-bs-theme="light"] .navbar.bg-body-tertiary { border-bottom: 1px solid #e6e9ed; }
[data-bs-theme="light"] footer.bg-body-tertiary { border-top: 1px solid #e6e9ed; }
