:root {
  --brand-dark: #0d3b66;
  --brand: #14568c;
  --sidebar-width: 240px;
}
body { background:#f4f6f9; }
.topbar { background: var(--brand-dark); }
.app-wrapper { display:flex; min-height: calc(100vh - 56px); }
.app-sidebar {
  width: var(--sidebar-width);
  background: #fff;
  border-right: 1px solid #e5e7eb;
  min-height: calc(100vh - 56px);
  flex-shrink: 0;
}
.app-sidebar .nav-link {
  color:#333; padding:.75rem 1.25rem; border-left:3px solid transparent; font-size:.92rem;
}
.app-sidebar .nav-link i { margin-right:.5rem; width:18px; display:inline-block; }
.app-sidebar .nav-link:hover { background:#f0f4f8; }
.app-sidebar .nav-link.active { background:#eaf2fb; color:var(--brand-dark); border-left-color:var(--brand-dark); font-weight:600; }
.app-content { flex:1; padding:1.5rem; min-width:0; }

.stat-card { border:none; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.stat-card .stat-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; }

.card { border:none; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.table thead th { font-size:.8rem; text-transform:uppercase; color:#6b7280; border-bottom-width:1px; }
.table td, .table th { vertical-align:middle; }

@media (max-width: 991.98px) {
  .app-sidebar { position:fixed; top:56px; left:-100%; z-index:1030; transition:left .2s ease; height:calc(100vh - 56px); }
  .app-sidebar.show { left:0; }
}
