/* ====== ASB OpVision — тёмный дашборд-стиль ====== */
:root { --opv-radius: 16px; }

body {
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: .94rem;
}
.navbar-brand { font-weight: 700; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.table > :not(caption) > * > * { padding: .55rem .7rem; }

/* ---------- палитра тёмной темы (по умолчанию) ---------- */
[data-bs-theme="dark"] {
  --bs-body-bg: #0b1322;
  --bs-body-color: #e6ecf6;
  --bs-secondary-color: #8a96ad;
  --bs-secondary-bg: #16203a;
  --bs-tertiary-bg: #0f1830;
  --bs-border-color: rgba(255,255,255,.08);
  --bs-border-color-translucent: rgba(255,255,255,.08);
  --bs-emphasis-color: #ffffff;
  --bs-heading-color: #f3f6fc;
  --bs-link-color: #7dd3fc;
  --bs-link-color-rgb: 125,211,248;
  --bs-link-hover-color: #a9e2ff;
}
[data-bs-theme="dark"] body {
  background:
    radial-gradient(1200px 520px at 12% -12%, rgba(79,124,255,.12), transparent 60%),
    radial-gradient(1000px 520px at 100% -8%, rgba(56,189,248,.07), transparent 55%),
    #0b1322;
}

/* ---------- карточки ---------- */
.card {
  border: 1px solid var(--bs-border-color);
  border-radius: var(--opv-radius);
}
[data-bs-theme="dark"] .card {
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), #131d33;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
}
.card-header { background: transparent !important; border-bottom-color: var(--bs-border-color); font-weight: 600; }

/* ---------- навбар ---------- */
.navbar.opv { background: #0a1221; border-bottom: 1px solid var(--bs-border-color); }
.navbar.opv .navbar-brand { color: #f3f6fc; display: inline-flex; align-items: center; }
.navbar.opv .nav-link { color: #aeb9cf; border-radius: 10px; padding: .4rem .7rem; }
.navbar.opv .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.brand-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 10px; margin-right: .5rem;
  font-weight: 800; font-size: .78rem; letter-spacing: .5px; color: #fff;
  background: linear-gradient(135deg, #4f7cff, #38bdf8);
}

/* ---------- поисковый выпадающий список (форма заявки) ---------- */
.suggest {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 1060;
  max-height: 290px; overflow-y: auto; margin-top: 2px;
  background: var(--bs-body-bg); border: 1px solid var(--bs-border-color);
  border-radius: 12px; box-shadow: 0 10px 28px rgba(0,0,0,.35);
}
[data-bs-theme="dark"] .suggest { background: #131d33; }
.suggest-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: .45rem .7rem; cursor: pointer; font-size: .88rem;
}
.suggest-item + .suggest-item { border-top: 1px solid var(--bs-border-color); }
.suggest-item:hover { background: rgba(79,124,255,.12); }

/* ---------- переключатель разделов (Склад/ГСМ) ---------- */
.seg { color:#aeb9cf; border-radius: 10px !important; padding: .25rem .8rem; font-weight: 600; }
.seg:hover { color:#fff; }
.seg-on { background: linear-gradient(135deg,#4f7cff,#38bdf8); color:#fff !important; }
.seg.dropdown-toggle::after { vertical-align: middle; }

/* ---------- статус-баннер ---------- */
.banner {
  border: 1px solid var(--bs-border-color); border-radius: var(--opv-radius);
  background: linear-gradient(90deg, rgba(52,211,154,.10), transparent);
  padding: .75rem 1rem;
}
.banner .dot {
  width: 9px; height: 9px; border-radius: 50%; background: #34d39a; display: inline-block;
  box-shadow: 0 0 0 4px rgba(52,211,154,.15);
}

/* ---------- стат-карточки ---------- */
.stat-card .label { color: var(--bs-secondary-color); font-size: .82rem; }
.stat-card .value { font-size: 1.9rem; font-weight: 800; line-height: 1.1; letter-spacing: -.5px; }
.stat-card .sub { color: var(--bs-secondary-color); font-size: .8rem; }
.text-acc-green { color: #34d39a !important; }
.text-acc-cyan  { color: #38bdf8 !important; }
.text-acc-blue  { color: #7aa2ff !important; }
.text-acc-red   { color: #f87171 !important; }

/* ---------- заголовок раздела с акцентной полосой ---------- */
.section-title { display: flex; align-items: center; gap: .6rem; font-weight: 700; }
.section-title::before { content: ""; width: 4px; height: 1.05em; border-radius: 4px; background: #4f7cff; display: inline-block; }

/* ---------- пилюли-бейджи ---------- */
.pill { display: inline-block; padding: .22rem .6rem; border-radius: 999px; font-weight: 600; font-size: .8rem; line-height: 1; }
.pill-green { background: rgba(52,211,154,.16); color: #56e0ab; }
.pill-blue  { background: rgba(56,189,248,.16); color: #7dd3fc; }
.pill-red   { background: rgba(248,113,113,.16); color: #fda4a4; }
.pill-amber { background: rgba(251,191,36,.16);  color: #fcd34d; }
.pill-gray  { background: rgba(255,255,255,.09);  color: #aeb9cf; }

/* ---------- таблицы ---------- */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--bs-body-color);
  --bs-table-border-color: rgba(255,255,255,.06);
}
.table > thead th { color: var(--bs-secondary-color); font-weight: 600; font-size: .82rem; border-bottom: 1px solid var(--bs-border-color); }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * { background: rgba(255,255,255,.035); }

/* ---------- кнопки / инпуты ---------- */
.btn { border-radius: 12px; }
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background: #0f1830; border-color: var(--bs-border-color); color: var(--bs-body-color);
}
[data-bs-theme="dark"] .form-control::placeholder { color: #6b7790; }
[data-bs-theme="dark"] .dropdown-menu { background: #131d33; border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .accordion-button:not(.collapsed) { background-color: #14532d; color: #d1e7dd; }
[data-bs-theme="dark"] code { color: #7dd3fc; }

/* фиксированные светлые утилиты адаптируем под тёмную */
[data-bs-theme="dark"] .bg-white { background-color: var(--bs-tertiary-bg) !important; }
[data-bs-theme="dark"] .bg-light { background-color: var(--bs-secondary-bg) !important; }
[data-bs-theme="dark"] .table-light { --bs-table-bg: var(--bs-secondary-bg); --bs-table-color: var(--bs-body-color); }

/* ---------- светлая тема (если переключат) ---------- */
[data-bs-theme="light"] body { background: #eef1f6; }
[data-bs-theme="light"] .card { box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.navbar.opv[data-bs-theme="light"] { background: #ffffff; }
