body { background: #f6f7f9; }
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card .display-6 { font-weight: 600; }
.table td, .table th { vertical-align: middle; }
.badge-soft { background: #eef1f6; color: #444; font-weight: 500; }

/* Mobile bottom navigation (PWA) */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  display: flex;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -1px 6px rgba(0,0,0,.06);
  padding-bottom: env(safe-area-inset-bottom);
  z-index: 1030;
}
.mobile-bottom-nav a {
  flex: 1;
  text-align: center;
  padding: .5rem 0 .55rem;
  font-size: .7rem;
  color: #6b7280;
  text-decoration: none;
  line-height: 1.2;
}
.mobile-bottom-nav a span {
  display: block;
  font-size: 1.25rem;
  margin-bottom: 2px;
}
.mobile-bottom-nav a.active { color: #5b3fa6; font-weight: 600; }

/* Keep content clear of the fixed bottom nav on small screens. */
@media (max-width: 991.98px) {
  .has-bottom-nav { padding-bottom: 5rem !important; }
}
