body { background: #f7f7fb; }
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card { border-radius: .75rem; }
.stat-card .display-6 { font-weight: 600; }
table.table thead th { background: #eef0f5; white-space: nowrap; }
.badge-status { font-size: .8rem; }
.item-row td { vertical-align: middle; }
.navbar-brand { font-weight: 600; }

/* ---- Responsive navbar & page-width fixes (no horizontal page scroll) ---- */
html, body { max-width: 100%; overflow-x: hidden; }
.navbar-nav { flex-wrap: wrap; row-gap: .35rem; }
.navbar-nav .nav-link { padding-left: .65rem; padding-right: .65rem; white-space: nowrap; }
#navMain { display: flex; flex-wrap: wrap; flex-grow: 1; row-gap: .5rem; column-gap: .5rem; align-items: center; }
#navMain > form { flex: 0 1 auto; }
#navMain input[type="search"] { width: 100%; max-width: 220px; min-width: 140px; }
@media (max-width: 991.98px) {
  #navMain input[type="search"] { max-width: 100%; }
  .navbar-nav .nav-link { white-space: normal; }
}
.d-flex.gap-2, .d-flex.gap-3, .btn-toolbar { flex-wrap: wrap; }
.table-responsive { -webkit-overflow-scrolling: touch; }
