/* ==========================================================================================================================
   Feel Box WMS — тема оформления (версия 1)
   Подключается одной строкой в шаблоне после Bootstrap 5; разметку страниц и их скрипты не затрагивает.
   Всё, что здесь написано, действует только на экране: печатный вид страниц остаётся прежним.
   Чтобы поменять цвета или шрифт, правьте блок «1. Токены» — остальное берёт значения оттуда.
   Шрифт — Golos Text (лицензия OFL), лежит рядом: static/fonts/golos-text.woff2.
   ========================================================================================================================== */

@font-face {
  font-family: 'Golos Text';
  src: url('../fonts/golos-text.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@media screen {

/* ---- 1. Токены ---- */
:root {
  --fb-font: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --fb-ink: #162036;            /* верхняя панель, заголовки */
  --fb-text: #1e2a44;           /* основной текст */
  --fb-text2: #47536b;         /* второстепенный текст */
  --fb-muted: #5f6b85;         /* подписи, шапки таблиц */
  --fb-faint: #8792aa;         /* подсказки в полях */
  --fb-paper: #f3f5fa;         /* фон страницы */
  --fb-tint: #f6f8fd;           /* едва заметная подкраска строк */
  --fb-tint2: #eef2fa;         /* наведение, шапки таблиц */
  --fb-line: #e2e7f0;           /* тонкие линии */
  --fb-line2: #cdd5e4;         /* границы полей и кнопок */
  --fb-accent: #2b4de6;       /* главный цвет */
  --fb-accent-rgb: 43, 77, 230;
  --fb-radius: .625rem;          /* поля, кнопки */
  --fb-radius-lg: .875rem;       /* карточки */
  --fb-radius-xl: 1.125rem;      /* окна */
  --fb-shadow: 0 1px 2px rgba(22, 32, 54, .06);
  --fb-shadow-pop: 0 14px 36px rgba(22, 32, 54, .16);
}

/* ---- 2. Переменные Bootstrap: так цвета и скругления меняются сразу везде, включая классы вида text-*, bg-*, border-*, rounded ---- */
:root {
  --bs-font-sans-serif: var(--fb-font);
  --bs-body-font-family: var(--fb-font);
  --bs-body-font-size: .9375rem;
  --bs-body-line-height: 1.5;
  --bs-body-color: var(--fb-text); --bs-body-color-rgb: 30, 42, 68;
  --bs-emphasis-color: var(--fb-ink); --bs-emphasis-color-rgb: 22, 32, 54;
  --bs-secondary-color: var(--fb-muted); --bs-secondary-color-rgb: 95, 107, 133;
  --bs-tertiary-color: var(--fb-faint); --bs-tertiary-color-rgb: 135, 146, 170;
  --bs-secondary-bg: #eceff6; --bs-secondary-bg-rgb: 236, 239, 246;
  --bs-tertiary-bg: #f6f8fc; --bs-tertiary-bg-rgb: 246, 248, 252;
  --bs-light: var(--fb-paper); --bs-light-rgb: 243, 245, 250;
  --bs-dark: var(--fb-ink); --bs-dark-rgb: 22, 32, 54;
  --bs-border-color: var(--fb-line); --bs-border-color-translucent: rgba(22, 32, 54, .10);
  --bs-border-radius: var(--fb-radius); --bs-border-radius-sm: .4375rem; --bs-border-radius-lg: var(--fb-radius-lg);
  --bs-border-radius-xl: var(--fb-radius-xl); --bs-border-radius-xxl: 1.5rem; --bs-border-radius-2xl: 1.5rem;
  --bs-box-shadow-sm: var(--fb-shadow);
  --bs-box-shadow: 0 8px 24px rgba(22, 32, 54, .10);
  --bs-box-shadow-lg: var(--fb-shadow-pop);
  --bs-link-color: var(--fb-accent); --bs-link-color-rgb: var(--fb-accent-rgb);
  --bs-link-hover-color: #2340c8; --bs-link-hover-color-rgb: 35, 64, 200;
  --bs-code-color: #3b4a73;
  --bs-highlight-bg: #fff0cc;
  --bs-focus-ring-color: rgba(var(--fb-accent-rgb), .22);
  --bs-primary: #2b4de6; --bs-primary-rgb: 43, 77, 230;
  --bs-primary-text-emphasis: #2338a8; --bs-primary-bg-subtle: #e7ecff; --bs-primary-border-subtle: #c5d0fb;
  --bs-secondary: #5b6882; --bs-secondary-rgb: 91, 104, 130;
  --bs-secondary-text-emphasis: #47536b; --bs-secondary-bg-subtle: #eceff6; --bs-secondary-border-subtle: #d3d9e6;
  --bs-success: #12864f; --bs-success-rgb: 18, 134, 79;
  --bs-success-text-emphasis: #0f6a3f; --bs-success-bg-subtle: #def4e8; --bs-success-border-subtle: #b4e2c9;
  --bs-info: #1a6fc4; --bs-info-rgb: 26, 111, 196;
  --bs-info-text-emphasis: #11568f; --bs-info-bg-subtle: #e1effc; --bs-info-border-subtle: #b7d7f6;
  --bs-warning: #f5a524; --bs-warning-rgb: 245, 165, 36;
  --bs-warning-text-emphasis: #7a4b00; --bs-warning-bg-subtle: #fff0cc; --bs-warning-border-subtle: #f7d98a;
  --bs-danger: #cf3340; --bs-danger-rgb: 207, 51, 64;
  --bs-danger-text-emphasis: #a3212b; --bs-danger-bg-subtle: #fde3e5; --bs-danger-border-subtle: #f6b9be;
}

/* ---- 3. Основа ---- */
html { -webkit-text-size-adjust: 100%; }
body {
  background-color: var(--fb-paper);
  font-feature-settings: 'kern' 1, 'calt' 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 700; letter-spacing: -.012em; line-height: 1.25; }
h1, .h1 { font-size: 2rem; }
h2, .h2 { font-size: 1.6rem; }
h3, .h3 { font-size: 1.4rem; }
h4, .h4 { font-size: 1.2rem; }
h5, .h5 { font-size: 1.05rem; }
h6, .h6 { font-size: .95rem; }
a { text-underline-offset: .18em; text-decoration-thickness: from-font; }
small, .small { font-size: .8125rem; }
strong, b { font-weight: 650; }
hr { border-color: var(--fb-line); opacity: 1; }
code { color: var(--bs-code-color); background: var(--fb-tint2); padding: .12em .4em; border-radius: .4rem; font-size: .84em; }
pre code, .table code:empty { background: none; padding: 0; }
::selection { background: rgba(var(--fb-accent-rgb), .18); }
table, .badge, .stock-input, input[type="number"] { font-variant-numeric: tabular-nums; }
:focus-visible { outline-color: rgba(var(--fb-accent-rgb), .55); }

/* ---- 4. Верхняя панель ---- */
.navbar { --bs-navbar-padding-y: .5rem; }
.navbar.navbar-dark {
  --bs-navbar-color: #c9d2e8; --bs-navbar-hover-color: #ffffff; --bs-navbar-active-color: #ffffff;
  --bs-navbar-brand-color: #ffffff; --bs-navbar-brand-hover-color: #ffffff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, .22);
}
.navbar.bg-dark {
  background-color: var(--fb-ink) !important;
  border-top: 3px solid var(--fb-accent);
}
.navbar.shadow-sm { box-shadow: 0 10px 24px -14px rgba(22, 32, 54, .55) !important; }
.navbar-brand { display: inline-flex; align-items: center; gap: .65rem; font-weight: 800; font-size: 1.0625rem; letter-spacing: .03em; }
.navbar-brand .bi {
  display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin: 0 !important;
  border-radius: .6rem; background: var(--fb-accent); color: #ffffff; font-size: 1.05rem;
}
.navbar-expand-lg .navbar-nav { flex-wrap: wrap; gap: .125rem; }
.navbar .navbar-nav .nav-link {
  display: flex; align-items: center; gap: .45rem; white-space: nowrap;
  padding: .45rem .7rem; border-radius: .6rem; font-size: .9rem; font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
}
.navbar .navbar-nav .nav-link .bi { margin: 0 !important; opacity: .72; font-size: 1.02em; }
.navbar .navbar-nav .nav-link:hover .bi, .navbar .navbar-nav .nav-link[aria-current="page"] .bi { opacity: 1; }
.navbar-dark .navbar-nav .nav-link:hover { background-color: rgba(255, 255, 255, .09); color: #ffffff !important; }
.navbar-dark .navbar-nav .nav-link[aria-current="page"] { background-color: rgba(255, 255, 255, .14); color: #ffffff; }
.navbar-dark .navbar-nav .nav-link:focus-visible { box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .28); }
.navbar-dark .nav-link.dropdown-toggle { color: #d9e0f1 !important; }
.navbar-dark .nav-link.dropdown-toggle:hover, .navbar-dark .nav-link.dropdown-toggle.show { color: #ffffff !important; }
.navbar:not(.navbar-dark) .navbar-nav .nav-link:hover { background-color: var(--fb-tint2); }
.navbar:not(.navbar-dark) .navbar-nav .nav-link[aria-current="page"] { background-color: var(--fb-tint2); color: var(--fb-ink); }
.navbar-toggler { border-radius: .6rem; padding: .35rem .6rem; }
@media (min-width: 992px) and (max-width: 1519.98px) {
  /* ноутбуки: значки в меню скрыты и отступы теснее, чтобы все пункты помещались в одну строку */
  .navbar .navbar-nav .nav-link { padding: .45rem .6rem; }
  .navbar .navbar-nav .nav-link > .bi { display: none; }
}
@media (max-width: 991.98px) {
  .navbar-collapse { padding: .4rem 0 .6rem; }
  .navbar .navbar-nav .nav-link { padding: .65rem .8rem; }
}

/* ---- 5. Кнопки: заливка (btn-*) и контурные (btn-outline-*) ---- */
.btn-primary {
  --bs-btn-color: #ffffff; --bs-btn-bg: #2b4de6; --bs-btn-border-color: #2b4de6;
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #2340c8; --bs-btn-hover-border-color: #2340c8;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #1d37ad; --bs-btn-active-border-color: #1d37ad; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #2b4de6; --bs-btn-disabled-border-color: #2b4de6;
  --bs-btn-focus-shadow-rgb: 43, 77, 230;
}
.btn-success {
  --bs-btn-color: #ffffff; --bs-btn-bg: #12864f; --bs-btn-border-color: #12864f;
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #0f7343; --bs-btn-hover-border-color: #0f7343;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #0c6139; --bs-btn-active-border-color: #0c6139; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #12864f; --bs-btn-disabled-border-color: #12864f;
  --bs-btn-focus-shadow-rgb: 18, 134, 79;
}
.btn-info {
  --bs-btn-color: #ffffff; --bs-btn-bg: #1a6fc4; --bs-btn-border-color: #1a6fc4;
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #165fa8; --bs-btn-hover-border-color: #165fa8;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #124f8c; --bs-btn-active-border-color: #124f8c; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #1a6fc4; --bs-btn-disabled-border-color: #1a6fc4;
  --bs-btn-focus-shadow-rgb: 26, 111, 196;
}
.btn-warning {
  --bs-btn-color: #1f1400; --bs-btn-bg: #f5a524; --bs-btn-border-color: #f5a524;
  --bs-btn-hover-color: #1f1400; --bs-btn-hover-bg: #e4960f; --bs-btn-hover-border-color: #e4960f;
  --bs-btn-active-color: #1f1400; --bs-btn-active-bg: #cc8508; --bs-btn-active-border-color: #cc8508; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #1f1400; --bs-btn-disabled-bg: #f5a524; --bs-btn-disabled-border-color: #f5a524;
  --bs-btn-focus-shadow-rgb: 245, 165, 36;
}
.btn-danger {
  --bs-btn-color: #ffffff; --bs-btn-bg: #cf3340; --bs-btn-border-color: #cf3340;
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #b32a36; --bs-btn-hover-border-color: #b32a36;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #9a232e; --bs-btn-active-border-color: #9a232e; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #cf3340; --bs-btn-disabled-border-color: #cf3340;
  --bs-btn-focus-shadow-rgb: 207, 51, 64;
}
.btn-dark {
  --bs-btn-color: #ffffff; --bs-btn-bg: #162036; --bs-btn-border-color: #162036;
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #0f182b; --bs-btn-hover-border-color: #0f182b;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #0a1120; --bs-btn-active-border-color: #0a1120; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #162036; --bs-btn-disabled-border-color: #162036;
  --bs-btn-focus-shadow-rgb: 22, 32, 54;
}
/* «вторичная» кнопка — спокойная, без заливки цветом */
.btn-secondary {
  --bs-btn-color: #2b3652; --bs-btn-bg: #eceff6; --bs-btn-border-color: #eceff6;
  --bs-btn-hover-color: #1e2a44; --bs-btn-hover-bg: #e0e5f0; --bs-btn-hover-border-color: #e0e5f0;
  --bs-btn-active-color: #1e2a44; --bs-btn-active-bg: #d3dae9; --bs-btn-active-border-color: #d3dae9; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #2b3652; --bs-btn-disabled-bg: #eceff6; --bs-btn-disabled-border-color: #eceff6;
  --bs-btn-focus-shadow-rgb: 91, 104, 130;
}
.btn-light {
  --bs-btn-color: var(--fb-text); --bs-btn-bg: #ffffff; --bs-btn-border-color: var(--fb-line2);
  --bs-btn-hover-color: var(--fb-ink); --bs-btn-hover-bg: var(--fb-tint2); --bs-btn-hover-border-color: var(--fb-line2);
  --bs-btn-active-color: var(--fb-ink); --bs-btn-active-bg: #e3e9f5; --bs-btn-active-border-color: var(--fb-line2); --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--fb-text); --bs-btn-disabled-bg: #ffffff; --bs-btn-disabled-border-color: var(--fb-line2);
  --bs-btn-focus-shadow-rgb: 91, 104, 130;
}
.btn-outline-primary {
  --bs-btn-color: #2b4de6; --bs-btn-border-color: #c5d0fb; --bs-btn-bg: transparent;
  --bs-btn-hover-color: #2338a8; --bs-btn-hover-bg: #e7ecff; --bs-btn-hover-border-color: #2b4de6;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #2b4de6; --bs-btn-active-border-color: #2b4de6; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #2b4de6; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #c5d0fb;
  --bs-btn-focus-shadow-rgb: 43, 77, 230;
}
.btn-outline-success {
  --bs-btn-color: #12864f; --bs-btn-border-color: #b4e2c9; --bs-btn-bg: transparent;
  --bs-btn-hover-color: #0f6a3f; --bs-btn-hover-bg: #def4e8; --bs-btn-hover-border-color: #12864f;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #12864f; --bs-btn-active-border-color: #12864f; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #12864f; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #b4e2c9;
  --bs-btn-focus-shadow-rgb: 18, 134, 79;
}
.btn-outline-info {
  --bs-btn-color: #1a6fc4; --bs-btn-border-color: #b7d7f6; --bs-btn-bg: transparent;
  --bs-btn-hover-color: #11568f; --bs-btn-hover-bg: #e1effc; --bs-btn-hover-border-color: #1a6fc4;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #1a6fc4; --bs-btn-active-border-color: #1a6fc4; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #1a6fc4; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #b7d7f6;
  --bs-btn-focus-shadow-rgb: 26, 111, 196;
}
.btn-outline-warning {
  --bs-btn-color: #8a5200; --bs-btn-border-color: #f7d98a; --bs-btn-bg: transparent;
  --bs-btn-hover-color: #7a4b00; --bs-btn-hover-bg: #fff0cc; --bs-btn-hover-border-color: #e9b84f;
  --bs-btn-active-color: #1f1400; --bs-btn-active-bg: #f5a524; --bs-btn-active-border-color: #f5a524; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #8a5200; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #f7d98a;
  --bs-btn-focus-shadow-rgb: 245, 165, 36;
}
.btn-outline-danger {
  --bs-btn-color: #cf3340; --bs-btn-border-color: #f6b9be; --bs-btn-bg: transparent;
  --bs-btn-hover-color: #a3212b; --bs-btn-hover-bg: #fde3e5; --bs-btn-hover-border-color: #cf3340;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #cf3340; --bs-btn-active-border-color: #cf3340; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #cf3340; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #f6b9be;
  --bs-btn-focus-shadow-rgb: 207, 51, 64;
}
.btn-outline-secondary {
  --bs-btn-color: var(--fb-text2); --bs-btn-border-color: var(--fb-line2); --bs-btn-bg: transparent;
  --bs-btn-hover-color: var(--fb-ink); --bs-btn-hover-bg: var(--fb-tint2); --bs-btn-hover-border-color: #b9c3d8;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #5b6882; --bs-btn-active-border-color: #5b6882; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--fb-text2); --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: var(--fb-line2);
  --bs-btn-focus-shadow-rgb: 91, 104, 130;
}
.btn-outline-dark {
  --bs-btn-color: var(--fb-ink); --bs-btn-border-color: #b9c3d8; --bs-btn-bg: transparent;
  --bs-btn-hover-color: var(--fb-ink); --bs-btn-hover-bg: var(--fb-tint2); --bs-btn-hover-border-color: #8f9cb8;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #162036; --bs-btn-active-border-color: #162036; --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--fb-ink); --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #b9c3d8;
  --bs-btn-focus-shadow-rgb: 22, 32, 54;
}
.btn {
  --bs-btn-padding-x: 1rem; --bs-btn-padding-y: .5rem; --bs-btn-font-size: .9rem; --bs-btn-font-weight: 600;
  --bs-btn-line-height: 1.35; --bs-btn-border-radius: var(--fb-radius); --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--bs-btn-focus-shadow-rgb), .28);
  letter-spacing: .005em;
  transition: color .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn-sm, .btn-group-sm > .btn { --bs-btn-padding-y: .32rem; --bs-btn-padding-x: .7rem; --bs-btn-font-size: .8125rem; --bs-btn-border-radius: .5rem; }
.btn-lg, .btn-group-lg > .btn { --bs-btn-padding-y: .72rem; --bs-btn-padding-x: 1.4rem; --bs-btn-font-size: 1rem; --bs-btn-border-radius: .8rem; }
.btn-link { --bs-btn-color: var(--fb-accent); --bs-btn-hover-color: #2340c8; --bs-btn-active-color: #2340c8; --bs-btn-font-weight: 600; text-decoration: none; }
.btn-link:hover { text-decoration: underline; }
.btn-close { border-radius: .5rem; }

/* ---- 6. Плашки: мягкие, в цвет смысла (цвета Bootstrap bg-* заменяются на спокойные оттенки) ---- */
.badge.bg-primary, .badge.text-bg-primary { background-color: #e7ecff !important; color: #2338a8 !important; box-shadow: inset 0 0 0 1px #c5d0fb; }
.badge.bg-secondary, .badge.text-bg-secondary { background-color: #eceff6 !important; color: #47536b !important; box-shadow: inset 0 0 0 1px #d3d9e6; }
.badge.bg-success, .badge.text-bg-success { background-color: #def4e8 !important; color: #0f6a3f !important; box-shadow: inset 0 0 0 1px #b4e2c9; }
.badge.bg-info, .badge.text-bg-info { background-color: #e1effc !important; color: #11568f !important; box-shadow: inset 0 0 0 1px #b7d7f6; }
.badge.bg-warning, .badge.text-bg-warning { background-color: #fff0cc !important; color: #7a4b00 !important; box-shadow: inset 0 0 0 1px #f7d98a; }
.badge.bg-danger, .badge.text-bg-danger { background-color: #fde3e5 !important; color: #a3212b !important; box-shadow: inset 0 0 0 1px #f6b9be; }
.badge.bg-dark, .badge.text-bg-dark { background-color: #162036 !important; color: #ffffff !important; box-shadow: none; }
.badge.bg-light, .badge.text-bg-light { background-color: #f6f8fc !important; color: var(--fb-text) !important; box-shadow: none; }
.badge { --bs-badge-padding-x: .62em; --bs-badge-padding-y: .4em; --bs-badge-font-size: .8em; --bs-badge-border-radius: 99rem; --bs-badge-font-weight: 600; letter-spacing: .005em; }
.badge.fs-6 { font-size: .875rem !important; }

/* ---- 7. Карточки ---- */
.card {
  --bs-card-border-color: var(--fb-line); --bs-card-border-radius: var(--fb-radius-lg);
  --bs-card-inner-border-radius: calc(var(--fb-radius-lg) - 1px);
  --bs-card-cap-bg: var(--fb-tint); --bs-card-cap-padding-y: .75rem; --bs-card-cap-padding-x: 1.1rem;
  --bs-card-spacer-x: 1.1rem; --bs-card-spacer-y: 1.1rem;
  --bs-card-bg: #ffffff;
}
.card-header, .card-footer { border-color: var(--fb-line); }
.card-header { font-weight: 600; }
.card-title { font-weight: 700; }

/* ---- 8. Таблицы ---- */
.table {
  --bs-table-color: var(--fb-text); --bs-table-border-color: var(--fb-line);
  --bs-table-hover-bg: #f3f6fc; --bs-table-hover-color: var(--fb-text);
  --bs-table-striped-bg: #f8f9fd; --bs-table-striped-color: var(--fb-text);
  --bs-table-active-bg: #eaeffb;
}
.table > :not(caption) > * > * { padding: .62rem .8rem; }
.table-sm > :not(caption) > * > * { padding: .38rem .55rem; }
.table:not(.table-dark) > thead { --bs-table-color: var(--fb-muted); }
.table > thead > tr > th { font-size: .78rem; font-weight: 600; border-bottom-color: var(--fb-line2); vertical-align: middle; }
.table-light, thead.table-dark, .table > thead.table-dark {
  --bs-table-bg: var(--fb-tint); --bs-table-color: var(--fb-muted); --bs-table-border-color: var(--fb-line2);
  --bs-table-hover-bg: var(--fb-tint2); --bs-table-hover-color: var(--fb-muted); --bs-table-striped-bg: var(--fb-tint2);
}
.table-dark { --bs-table-bg: var(--fb-ink); --bs-table-color: #ffffff; --bs-table-border-color: #2a3550; --bs-table-hover-bg: #1d2943; --bs-table-striped-bg: #1b2640; }
.table > tbody > tr:last-child > * { border-bottom-color: transparent; }

/* ---- 8а. Подсветка строк и таблиц цветом (table-success и др.) ---- */
.table-primary {
  --bs-table-color: var(--fb-text); --bs-table-bg: #e7ecff; --bs-table-border-color: #c5d0fb;
  --bs-table-striped-bg: #dbe2fe; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #c5d0fb; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #dbe2fe; --bs-table-hover-color: var(--fb-text);
}
.table-secondary {
  --bs-table-color: var(--fb-text); --bs-table-bg: #eceff6; --bs-table-border-color: #d3d9e6;
  --bs-table-striped-bg: #e3e7f0; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #d3d9e6; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #e3e7f0; --bs-table-hover-color: var(--fb-text);
}
.table-success {
  --bs-table-color: var(--fb-text); --bs-table-bg: #def4e8; --bs-table-border-color: #b4e2c9;
  --bs-table-striped-bg: #cfeedd; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #b4e2c9; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #cfeedd; --bs-table-hover-color: var(--fb-text);
}
.table-info {
  --bs-table-color: var(--fb-text); --bs-table-bg: #e1effc; --bs-table-border-color: #b7d7f6;
  --bs-table-striped-bg: #d2e7fa; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #b7d7f6; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #d2e7fa; --bs-table-hover-color: var(--fb-text);
}
.table-warning {
  --bs-table-color: var(--fb-text); --bs-table-bg: #fff0cc; --bs-table-border-color: #f7d98a;
  --bs-table-striped-bg: #fce8b5; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #f7d98a; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #fce8b5; --bs-table-hover-color: var(--fb-text);
}
.table-danger {
  --bs-table-color: var(--fb-text); --bs-table-bg: #fde3e5; --bs-table-border-color: #f6b9be;
  --bs-table-striped-bg: #fbd4d7; --bs-table-striped-color: var(--fb-text); --bs-table-active-bg: #f6b9be; --bs-table-active-color: var(--fb-text);
  --bs-table-hover-bg: #fbd4d7; --bs-table-hover-color: var(--fb-text);
}

/* ---- 9. Вкладки и пилюли ---- */
.nav-tabs {
  --bs-nav-tabs-border-width: 0; --bs-nav-tabs-border-color: transparent; --bs-nav-tabs-border-radius: 0;
  --bs-nav-tabs-link-hover-border-color: transparent; --bs-nav-tabs-link-active-bg: transparent;
  --bs-nav-tabs-link-active-color: var(--fb-ink); --bs-nav-tabs-link-active-border-color: transparent;
  border-bottom: 1px solid var(--fb-line); gap: .125rem;
}
.nav-tabs .nav-link {
  margin-bottom: -1px; padding: .7rem .95rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0;
  color: var(--fb-muted); font-weight: 500; background: transparent;
  transition: color .15s ease, border-color .15s ease;
}
/* в шаблоне base.html у всех ссылок .nav-link при наведении текст белый (!important) — на светлом фоне вкладок он пропадал; здесь это исправлено */
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: transparent transparent var(--fb-line2); color: var(--fb-ink) !important; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { border-color: transparent transparent var(--fb-accent); color: var(--fb-ink); background: transparent; }
.nav-tabs .nav-link.disabled { color: var(--fb-faint); }
.nav-pills { --bs-nav-pills-border-radius: .6rem; --bs-nav-pills-link-active-bg: var(--fb-accent); --bs-nav-pills-link-active-color: #ffffff; }
.nav-pills .nav-link { font-weight: 500; color: var(--fb-text2); transition: background-color .15s ease, color .15s ease; }
.nav-pills .nav-link:hover:not(.active):not(.disabled) { background-color: var(--fb-tint2); color: var(--fb-ink) !important; }
.nav-pills .nav-link.disabled { color: var(--fb-faint); }

/* ---- 10. Раскрывающиеся списки (поставки, журнал отгрузок) ---- */
.accordion {
  --bs-accordion-border-color: var(--fb-line); --bs-accordion-btn-bg: #ffffff; --bs-accordion-bg: #ffffff;
  --bs-accordion-active-bg: var(--fb-tint); --bs-accordion-active-color: var(--fb-ink); --bs-accordion-btn-color: var(--fb-ink);
  --bs-accordion-btn-focus-border-color: transparent; --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--fb-accent-rgb), .18);
  --bs-accordion-border-radius: var(--fb-radius-lg); --bs-accordion-inner-border-radius: calc(var(--fb-radius-lg) - 1px);
}
.accordion-item.rounded { border-radius: var(--fb-radius-lg) !important; overflow: hidden; }
.accordion-item .accordion-button.bg-light { background-color: transparent !important; }
.accordion-button:not(.collapsed) { box-shadow: none; }
.accordion-header:has(> .accordion-button:not(.collapsed)) { background-color: var(--fb-tint); }
.accordion-collapse { border-top: 1px solid var(--fb-line); }

/* ---- 11. Формы ---- */
.form-control, .form-select {
  padding-top: .5rem; padding-bottom: .5rem; padding-left: .8rem; font-size: .9375rem; border-color: var(--fb-line2); border-radius: var(--fb-radius); background-color: #ffffff; color: var(--fb-text);
  transition: border-color .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.form-control { padding-right: .8rem; }
.form-select { padding-right: 2.4rem; background-position: right .8rem center; }
.form-control::placeholder { color: var(--fb-faint); opacity: 1; }
.form-control:hover:not(:disabled):not([readonly]), .form-select:hover:not(:disabled) { border-color: #b9c3d8; }
.form-control:focus, .form-select:focus { border-color: var(--fb-accent); box-shadow: 0 0 0 .22rem rgba(var(--fb-accent-rgb), .16); background-color: #ffffff; }
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--fb-tint); }
.form-control-sm, .form-select-sm { padding-top: .34rem; padding-bottom: .34rem; padding-left: .6rem; font-size: .8125rem; border-radius: .5rem; }
.form-control-sm { padding-right: .6rem; }
.form-select-sm { padding-right: 2.1rem; background-position: right .6rem center; }
.form-control-lg, .form-select-lg { padding-top: .72rem; padding-bottom: .72rem; padding-left: 1rem; font-size: 1.0625rem; border-radius: .8rem; }
.form-control-lg { padding-right: 1rem; }
.form-select-lg { padding-right: 2.8rem; }
.form-label { font-weight: 600; color: var(--fb-text2); margin-bottom: .4rem; }
.form-text { color: var(--fb-muted); }
.form-check-input { border-color: #b3bdd2; }
.form-check-input:checked, .form-check-input[type="checkbox"]:indeterminate { background-color: var(--fb-accent); border-color: var(--fb-accent); }
.form-check-input:focus { border-color: var(--fb-accent); box-shadow: 0 0 0 .22rem rgba(var(--fb-accent-rgb), .16); }
.form-switch .form-check-input:focus:not(:checked) { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%232b4de6'/%3e%3c/svg%3e"); }
.input-group-text { background-color: var(--fb-tint2); border-color: var(--fb-line2); color: var(--fb-text2); border-radius: var(--fb-radius); }
.was-validated .form-control:valid, .form-control.is-valid { border-color: #12864f; }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: #cf3340; }
@media (max-width: 767.98px) {
  .form-control:not(.form-control-sm), .form-select:not(.form-select-sm) { font-size: 1rem; }
}

/* ---- 12. Сообщения ---- */
.alert { --bs-alert-border-radius: .75rem; font-weight: 500; }
.alert .btn-close { border-radius: .4rem; }

/* ---- 13. Меню, окна, списки, постраничность ---- */
.dropdown-menu {
  --bs-dropdown-border-radius: .85rem; --bs-dropdown-padding-x: .35rem; --bs-dropdown-padding-y: .35rem; --bs-dropdown-spacer: .35rem;
  --bs-dropdown-border-color: var(--fb-line); --bs-dropdown-box-shadow: var(--fb-shadow-pop); --bs-dropdown-font-size: .9rem;
  --bs-dropdown-item-padding-x: .7rem; --bs-dropdown-item-padding-y: .45rem; --bs-dropdown-divider-bg: var(--fb-line);
  --bs-dropdown-link-hover-bg: #f1f4fb; --bs-dropdown-link-hover-color: var(--fb-ink);
  --bs-dropdown-link-active-bg: var(--fb-accent); --bs-dropdown-link-active-color: #ffffff; --bs-dropdown-header-color: var(--fb-muted);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-item { border-radius: .55rem; font-weight: 500; }
.dropdown-divider { margin-left: .3rem; margin-right: .3rem; }
.modal {
  --bs-modal-border-radius: var(--fb-radius-xl); --bs-modal-inner-border-radius: calc(var(--fb-radius-xl) - 1px);
  --bs-modal-border-color: transparent; --bs-modal-box-shadow: 0 24px 64px rgba(22, 32, 54, .30);
  --bs-modal-header-border-color: var(--fb-line); --bs-modal-footer-border-color: var(--fb-line);
  --bs-modal-padding: 1.25rem; --bs-modal-header-padding: 1rem 1.25rem; --bs-modal-title-line-height: 1.3;
}
.modal-content { box-shadow: var(--bs-modal-box-shadow); }
.modal-title { font-weight: 700; font-size: 1.1rem; color: var(--fb-ink); }
.modal-footer { gap: .5rem; }
.modal-backdrop { --bs-backdrop-bg: #0e1628; --bs-backdrop-opacity: .52; }
.list-group {
  --bs-list-group-border-color: var(--fb-line); --bs-list-group-border-radius: var(--fb-radius-lg);
  --bs-list-group-action-hover-bg: #f3f6fc; --bs-list-group-action-hover-color: var(--fb-ink); --bs-list-group-action-color: var(--fb-text);
  --bs-list-group-active-bg: var(--fb-accent); --bs-list-group-active-border-color: var(--fb-accent); --bs-list-group-item-padding-y: .65rem;
}
.pagination {
  --bs-pagination-border-radius: .6rem; --bs-pagination-color: var(--fb-text); --bs-pagination-border-color: var(--fb-line);
  --bs-pagination-hover-bg: var(--fb-tint2); --bs-pagination-hover-color: var(--fb-ink); --bs-pagination-hover-border-color: var(--fb-line2);
  --bs-pagination-active-bg: var(--fb-accent); --bs-pagination-active-border-color: var(--fb-accent); --bs-pagination-active-color: #ffffff;
  --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(var(--fb-accent-rgb), .18); --bs-pagination-focus-bg: var(--fb-tint2);
  --bs-pagination-disabled-bg: var(--fb-tint);
  gap: .2rem;
}
.pagination .page-link { border-radius: .6rem !important; font-weight: 500; }
.progress { --bs-progress-height: .55rem; --bs-progress-bg: #e6eaf3; --bs-progress-border-radius: 99rem; --bs-progress-bar-bg: var(--fb-accent); }
.toast { --bs-toast-border-radius: .85rem; --bs-toast-border-color: var(--fb-line); --bs-toast-box-shadow: var(--fb-shadow-pop); }
.tooltip { --bs-tooltip-bg: var(--fb-ink); --bs-tooltip-border-radius: .5rem; --bs-tooltip-font-size: .8125rem; }
.popover { --bs-popover-border-color: var(--fb-line); --bs-popover-border-radius: .85rem; --bs-popover-box-shadow: var(--fb-shadow-pop); }
.spinner-border { --bs-spinner-border-width: .16em; }

/* ---- 14. Согласование цветов с отдельными страницами ---- */
.text-warning { color: #8a5200 !important; }
.text-white-50 { color: rgba(255, 255, 255, .78) !important; }
.bg-dark .text-warning, .navbar .text-warning, .table-dark .text-warning { color: #ffc24d !important; }
/* страница «Этикетки КИЗ» задаёт синий цвет Bootstrap прямо в своих стилях; здесь он заменяется на главный цвет темы */
body .kiz-dropzone.drag { border-color: var(--fb-accent); background: #eef1ff; }
body .kiz-step-dot.active { background: var(--fb-accent); }
body table.kiz-table td input:focus { border-color: var(--fb-accent); }
body .kiz-fillall { color: var(--fb-accent); }
body .kiz-fld-box.selected { border-color: var(--fb-accent); background: rgba(var(--fb-accent-rgb), .06); }
body .kiz-fld-box .resize-handle { background: var(--fb-accent); }
body .kiz-pack-opt.on { border-color: var(--fb-accent); background: #f3f6ff; }

/* ---- 15. Узкие экраны ---- */
@media (max-width: 575.98px) {
  .navbar-brand { font-size: 1rem; }
  .nav-tabs .nav-link { padding: .6rem .75rem; }
  .card { --bs-card-spacer-x: .9rem; --bs-card-spacer-y: .9rem; }
  .modal { --bs-modal-padding: 1rem; --bs-modal-border-radius: 1rem; }
  h1, .h1 { font-size: 1.5rem; }
  h2, .h2 { font-size: 1.25rem; }
}

}   /* конец @media screen */
