body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.card {
  border-radius: 14px;
}

table.dataTable thead .filters input {
  min-width: 120px;
}
:root {
  --bg-dark: #232c19;
  --bg-deep: #2a490a;
  --green: #91b046;
  --lime: #97d407;
  --white: #ffffff;
}

/* ==== ОСНОВА ==== */
body {
  font-family: Bahnschrift, "Segoe UI", Roboto, system-ui, sans-serif;
  background:
    linear-gradient(rgba(35,44,25,0.92), rgba(35,44,25,0.92)),
    url("/static/bg2.jpg") center/cover fixed no-repeat;
  color: var(--white);
}

/* Заголовок */
h3 {
  color: var(--lime);
  letter-spacing: 0.5px;
}

/* Метаданные */
#metaLine {
  color: #b7c9a3 !important;
}

/* ==== Карточки ==== */
.card {
  background: rgba(255,255,255,0.95);
  border-radius: 14px;
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}

/* ==== Блок ИТОГО ==== */
#totalsCard .card {
  background: linear-gradient(135deg, var(--green), var(--lime));
  color: #1b260f;
  font-weight: 600;
}

#totalsCard {
  max-width: 60%;
}

@media (max-width: 768px) {
  #totalsCard {
    max-width: 100%;
  }
}

#totalsCard .badge {
  background: #1b260f !important;
  color: var(--lime);
}

/* ==== КНОПКИ ==== */
.btn-outline-primary {
  color: var(--lime);
  border-color: var(--lime);
}

.btn-outline-primary:hover {
  background: var(--lime);
  color: #1b260f;
}

/* ==== ТАБЛИЦА ==== */
table.dataTable {
  border-radius: 12px;
  overflow: hidden;
}

/* Заголовки */
table.dataTable thead th {
  background: linear-gradient(135deg, var(--bg-deep), var(--green));
  color: white;
  border: none;
}

/* Строка фильтров */
table.dataTable thead tr.filters th {
  background: #e8f2d2;
}

/* Поля фильтров */
table.dataTable thead input {
  border-radius: 8px;
  border: 1px solid var(--green);
}

/* Строки */
table.dataTable tbody tr:nth-child(odd) {
  background-color: #f3f7e8;
}

table.dataTable tbody tr:nth-child(even) {
  background-color: #ffffff;
}

table.dataTable tbody tr:hover {
  background-color: #dff0a3 !important;
}



/* ==== КНОПКИ ЭКСПОРТА ==== */
.dt-buttons .btn {
  background: linear-gradient(135deg, #ff9a3c, #ffd166);
  border: none;
  color: #1b260f;
  font-weight: 600;
  box-shadow: 0 8px 16px rgba(255, 154, 60, 0.35);
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}

.dt-buttons .btn:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(255, 154, 60, 0.45);
}

#exportButtons .dt-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

#typeFilterContainer .form-select {
  min-width: 180px;
}

#typeFilterContainer {
  white-space: nowrap;
}

/* ================================
   Пагинация DT2 (ul.pagination) — ПРИЦЕЛЬНО
   ================================ */
div.dt-container div.dt-paging ul.pagination {
  --bs-pagination-color: var(--bg-deep) !important;
  --bs-pagination-bg: rgba(255,255,255,0.92) !important;
  --bs-pagination-border-color: var(--green) !important;

  --bs-pagination-hover-color: #1b260f !important;
  --bs-pagination-hover-bg: var(--lime) !important;
  --bs-pagination-hover-border-color: var(--lime) !important;

  --bs-pagination-focus-color: #1b260f !important;
  --bs-pagination-focus-bg: var(--lime) !important;
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(151,212,7,0.35) !important;

  --bs-pagination-active-color: #1b260f !important;
  --bs-pagination-active-bg: var(--green) !important;
  --bs-pagination-active-border-color: var(--green) !important;

  --bs-pagination-disabled-color: #999 !important;
  --bs-pagination-disabled-bg: rgba(255,255,255,0.55) !important;
  --bs-pagination-disabled-border-color: #ccc !important;
}

/* Активная страница — градиент */
div.dt-container div.dt-paging ul.pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--green), var(--lime)) !important;
  border-color: var(--green) !important;
  color: #1b260f !important;
  box-shadow: 0 0 8px rgba(151,212,7,0.8) !important;
}

/* Вид кнопок/цифр */
div.dt-container div.dt-paging ul.pagination .page-link {
  font-weight: 700 !important;
  border-radius: 8px !important;
  margin: 0 3px !important;
}

/* Убираем синий focus */
div.dt-container div.dt-paging ul.pagination .page-link:focus,
div.dt-container div.dt-paging ul.pagination .page-link:active {
  outline: none !important;
  box-shadow: 0 0 0 0.25rem rgba(151,212,7,0.35) !important;
}
/* ================================
   Hover-анимация строки таблицы
   ================================ */

/* Плавность для ячеек (чтобы не дёргалось) */
table.dataTable tbody td {
  transition: background-color .18s ease, color .18s ease;
}

/* Плавность для строк */
table.dataTable tbody tr {
  transition: transform .12s ease, box-shadow .18s ease, background-color .18s ease;
}

/* Подсветка строки при наведении */
table.dataTable tbody tr:hover {
  background-color: #dff0a3 !important;              /* твой лаймовый оттенок */
  box-shadow: 0 0 0 2px rgba(145, 176, 70, 0.35),
              0 10px 22px rgba(0, 0, 0, 0.15) !important;
  transform: translateY(-1px);
}

/* Чтобы цвет применялся и к ячейкам (DataTables иногда задаёт фон ячейкам отдельно) */
table.dataTable tbody tr:hover > * {
  background-color: #dff0a3 !important;
}

/* Чуть выделим первую колонку (№) при наведении — выглядит “как в системе” */
table.dataTable tbody tr:hover td:first-child {
  background-color: rgba(151, 212, 7, 0.35) !important;
  font-weight: 800;
}

/* Убираем “липкий” hover на тач-устройствах */
@media (hover: none) {
  table.dataTable tbody tr:hover {
    transform: none;
    box-shadow: none !important;
  }
}
/* ================================
   Выбранная строка (клик)
   ================================ */

/* Базовое состояние выбранной строки */
table.dataTable tbody tr.selected {
  background: linear-gradient(135deg, rgba(145,176,70,0.55), rgba(151,212,7,0.55)) !important;
  box-shadow: 0 0 0 2px rgba(151,212,7,0.8),
              0 10px 24px rgba(0,0,0,0.25) !important;
}

/* Все ячейки выбранной строки */
table.dataTable tbody tr.selected > * {
  background: transparent !important;
  color: #1b260f !important;
  font-weight: 700;
}

/* Если выбрана строка и навели — усиливаем эффект */
table.dataTable tbody tr.selected:hover {
  background: linear-gradient(135deg, rgba(145,176,70,0.75), rgba(151,212,7,0.75)) !important;
}

/* Небольшая анимация “прилипания” */
table.dataTable tbody tr.selected {
  transition: box-shadow .15s ease, transform .12s ease;
  transform: scale(1.002);
}
/* ================================
   Убиваем DataTables blue selection
   ================================ */

/* Переопределяем системные переменные DataTables */
:root {
  --dt-row-selected: 145, 176, 70;        /* #91b046 */
  --dt-row-selected-text: 27, 38, 15;     /* тёмно-зелёный */
  --dt-row-selected-link: 27, 38, 15;
}

/* Убираем встроенный фон ячеек DataTables */
table.dataTable tbody tr.selected > * {
  background-color: transparent !important;
}

/* ================================
   Фирменный заголовок склада
   ================================ */

/* Главный заголовок */
h3 {
  color: var(--lime);
  font-weight: 800;
  letter-spacing: 1px;
  text-shadow:
    0 1px 0 #1b260f,                 /* тиснение вниз */
    0 2px 2px rgba(0,0,0,0.6),       /* глубина */
    0 0 14px rgba(151,212,7,0.45);   /* зелёное свечение */
}

/* Строка с метаданными */
#metaLine {
  color: #cfe7a8 !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-shadow:
    0 1px 0 rgba(27,38,15,0.8),
    0 2px 6px rgba(0,0,0,0.6);
}
