/* ── Inventory Management App — Custom Styles ─────────────────────────────── */

/* Body & Layout */
body {
  background-color: #f8f9fa;
  font-size: 0.9rem;
}
body > .container-fluid {
  position: relative;
  z-index: 1;
}

/* Navbar — sticky at top, above all other content */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
}
.navbar .dropdown-menu {
  z-index: 1040;
}
.navbar-brand {
  letter-spacing: 0.5px;
}

/* Cards */
.card {
  border: none;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.card-header {
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  font-weight: 600;
}

/* Tables */
.table th {
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.table td {
  vertical-align: middle;
}

/* Partial-unit widget */
.partial-unit-widget .btn-group .btn {
  min-width: 3rem;
}
.partial-unit-widget .btn.active {
  background-color: var(--bs-primary);
  color: #fff;
  border-color: var(--bs-primary);
}

/* Dashboard stat cards */
.card .fs-2 {
  line-height: 1.1;
}

/* Code elements */
code {
  color: #6f42c1;
  background: #f1f0f9;
  padding: 1px 5px;
  border-radius: 3px;
}

/* Sticky report header (Stock Levels) — sticks below navbar */
.sticky-report-header {
  position: sticky;
  top: 56px;   /* navbar height */
  z-index: 1020;
  background: #f8f9fa;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #dee2e6;
}

/* Sticky table header — sticks below report header (top set by JS) */
.sticky-thead th {
  position: sticky;
  z-index: 1019;
}

/* Responsive table tweaks on small screens */
@media (max-width: 576px) {
  .table-responsive .table {
    font-size: 0.8rem;
  }
}

/* Print / PDF styles */
@media print {
  .navbar, .btn, form { display: none !important; }
  .card { box-shadow: none; border: 1px solid #ccc; }
}
