/* LockerOps custom styles */
[data-bs-theme="light"] body {
  background-color: #f8f9fa;
}
[data-bs-theme="dark"] body {
  background-color: #1a1d21;
}
[data-bs-theme="dark"] .card {
  border-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .table-light {
  --bs-table-bg: #2b3035;
  --bs-table-color: #dee2e6;
  --bs-table-border-color: #3d4349;
}
[data-bs-theme="dark"] .bg-light {
  background-color: #343a40 !important;
  color: #dee2e6;
}
[data-bs-theme="dark"] .card.bg-light {
  background-color: #343a40 !important;
  color: #dee2e6;
}

.navbar-brand {
  font-size: 1.3rem;
  letter-spacing: 0.5px;
}

.card {
  border: none;
}

.table th {
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.badge {
  font-weight: 500;
}

/* ─── Mobile-responsive tables ─── */
.card-body.p-0 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ─── Page headers: wrap on small screens ─── */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* ─── Mobile-specific styles ─── */
@media (max-width: 767.98px) {
  /* Tighter container padding */
  main.container-fluid {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 1rem;
  }

  /* Smaller headings */
  h2 {
    font-size: 1.3rem;
  }

  /* Compact tables */
  .table {
    font-size: 0.82rem;
  }
  .table th {
    font-size: 0.72rem;
    white-space: nowrap;
  }
  .table td {
    white-space: nowrap;
  }

  /* Smaller cards */
  .card-header h6 {
    font-size: 0.85rem;
  }

  /* Stack action buttons */
  .page-header .btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
  }

  /* Compact badges */
  .badge {
    font-size: 0.7rem;
  }

  /* Navbar brand smaller */
  .navbar-brand {
    font-size: 1.1rem;
  }

  /* Detail key-value rows */
  .detail-label {
    font-size: 0.8rem;
    margin-bottom: 0;
  }

  /* Dashboard summary cards tighter */
  .card .card-body h2 {
    font-size: 1.5rem;
  }
  .card .card-body h6 {
    font-size: 0.75rem;
  }

  /* BOM requirement header: stack vertically */
  .bom-req-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.5rem;
  }
  .bom-req-actions {
    flex-wrap: wrap;
    gap: 0.25rem !important;
  }

  /* Project info row: stack on mobile */
  .project-info-grid {
    flex-direction: column;
    gap: 0.25rem;
  }
}
