/* === переменные === */
:root{
  --sb-width:240px;

  --sb-bg-light:#f8f9fa;
  --sb-bg-dark:#212529;

  --sb-hover-light:#e9ecef;
  --sb-hover-dark:#343a40;
}

/* ===== sidebar ===== */
#sidebar-wrapper{
  width:var(--sb-width);
  min-height:100vh;
  background:var(--sb-bg-light);
  transition:margin .25s;
}
body[data-theme="dark"] #sidebar-wrapper{
  background:var(--sb-bg-dark);
  color:#adb5bd;
}
#wrapper.toggled #sidebar-wrapper{
  margin-left:calc(-1*var(--sb-width));
}

/* список ссылок */
#sidebar-wrapper .list-group-item{
  border:0;
}
body:not([data-theme="dark"]) #sidebar-wrapper .list-group-item:hover{
  background:var(--sb-hover-light);
}
body[data-theme="dark"] #sidebar-wrapper .list-group-item{
  background:transparent;
  color:#adb5bd;
}
body[data-theme="dark"] #sidebar-wrapper .list-group-item:hover{
  background:var(--sb-hover-dark);
  color:#fff;
}
#sidebar-wrapper .list-group-item.active{
  font-weight:600;
  background:#0d6efd;
  color:#fff;
}
body[data-theme="dark"] #sidebar-wrapper .list-group-item.active{
  background:#495057;
}

/* заголовок */
.sidebar-heading{
  font-size:1.25rem;
  padding:.75rem 1rem;
  user-select:none;
  background:rgba(0,0,0,.05);
}
body[data-theme="dark"] .sidebar-heading{
  background:rgba(255,255,255,.05);
}

/* page-area компенсирует сворачивание */
#page-content-wrapper{
  flex:1 1 auto;
  min-width:0;           /* чтобы таблицы не выдавливали sidebar */
  transition:margin .25s;
}
#wrapper.toggled #page-content-wrapper{
  margin-left:calc(-1*var(--sb-width));
}

/* topbar под темы */
body[data-theme="dark"] #topbar{
  background:#212529 !important;
  color:#adb5bd;
}
body:not([data-theme="dark"]) #topbar{
  background:#ffffff !important;
}

/* misc утилити — можно оставить как было */
.table-secondary{--bs-table-bg:#f8f9fa;}
.badge{user-select:none;}
#wrapper{
  display:flex;
}
/* фиксируем сайдбар относительно окна; не даём ему «сплющиться» */
#sidebar-wrapper{
  position:fixed;      /* ← ключевой момент */
  top:0; left:0;
  height:100vh;
  overflow-y:auto;
  box-shadow:0 0 1rem rgba(0,0,0,.15);
  z-index:1030;        /* чуть выше .navbar */
}
#wrapper.toggled #sidebar-wrapper{
  transform:translateX(calc(-1*var(--sb-width)));
}
#page-content-wrapper{
  margin-left:var(--sb-width);
}
#wrapper.toggled #page-content-wrapper{
  margin-left:0;
}

/* ── 2. «Серые» строки товаров: читаемые поля в тёмной теме ── */
body[data-theme="dark"] .table-secondary{
  --bs-table-bg:#343a40;  /* чуть темнее, чем фон */
  --bs-table-striped-bg:#3f444a;
  --bs-table-hover-bg:#454b51;
  color:#dee2e6;
}

/* ── 3. Сужаем длинные input-ы на страницах без контейнеров ── */
/* все .form-control, находящиеся непосредственно в .container-fluid */
.container-fluid > .form-control{
  max-width:520px;      /* смотрится как «обычное поле» */
}