body {
  background-color: #121212;
  color: #f8f9fa;
}
.table-dark th, .table-dark td {
  color: #fff;
}
.btn-close {
  filter: invert(1);
}

/* Липкий заголовок и аккуратная таблица */
.table thead th.sticky-head {
  position: sticky; top: 0; z-index: 2;
}
.table-modern td, .table-modern th { vertical-align: middle; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }

/* Левый цветной бордер строки по статусу */
.tr-status-pending { border-left: 4px solid #0d6efd; }  /* primary */
.tr-status-waiting { border-left: 4px solid #ffc107; }  /* warning */
.tr-status-success { border-left: 4px solid #198754; }  /* success */
.tr-status-overpaid{ border-left: 4px solid #6c757d; }  /* secondary */
.tr-status-error   { border-left: 4px solid #dc3545; }  /* danger */
.tr-status-unknown { border-left: 4px solid #0dcaf0; }  /* info */

/* Скелетоны */
.skel-block {
  display:block; width:100%; height:0.9rem; border-radius:4px; 
  background-image: linear-gradient(90deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.05) 100%);
  background-size: 200% 100%; animation: skel 1.2s ease-in-out infinite;
}
@keyframes skel { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* Чипы статусов */
.status-chips .btn { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size:.8rem; }

/* Крошечный бейдж разницы у ID */
.badge-delta { font-size:.60rem; transform: translate(-10%, -50%); }

/* Компактный режим таблицы */
.table-compact table.table { font-size: .78rem; }

:root {
  color-scheme: dark;

  /* Общий фон и текст */
  --bs-body-bg: #0e1116;            /* чуть светлее «чёрного», меньше бликов */
  --bs-body-color: #e6e9ef;         /* мягкий, не чисто белый */
  --bs-secondary-color: #a6afbd;

  /* Границы и поверхности */
  --bs-border-color: #262c36;
  --bs-secondary-bg: #151a23;       /* панели/карточки/инпуты */

  /* Ссылки (менее ядовитые) */
  --bs-link-color: #9db5ff;
  --bs-link-hover-color: #c1d0ff;

  /* Тёмная подложка (bg-dark) — более «чернильная», не серо-грязная */
  --bs-dark-rgb: 21, 26, 34;
}

/* Таблица в тёмной теме — ровные оттенки без синевы */
.table-dark{
  --bs-table-bg: #121723;
  --bs-table-striped-bg: #161c29;
  --bs-table-striped-color: #e6e9ef;
  --bs-table-hover-bg: #1a2030;
  --bs-table-hover-color: #e6e9ef;
  --bs-table-border-color: #2a3140;
}

/* Чипы/кнопки — чуть спокойнее границы */
.btn-outline-secondary, .btn-outline-info {
  --bs-btn-border-color: #394151;
}

/* Если где-то напрямую используется .bg-dark — станет более мягким */
.bg-dark { 
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

