/* ================= Global ================= */
body { font-family: 'Segoe UI', Roboto, sans-serif; }
.outer-content { min-height: 70vh; padding: 40px 0; }
a { text-decoration: none; }

.hero-section {
  background: linear-gradient(135deg, var(--body-color), #003366);
  color: #fff;
  padding: 80px 0;
}
.card-hover { transition: transform .2s ease, box-shadow .2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,.1); }

.btn-warning { background: #ffc107; border-color: #ffc107; }

/* ================= Dashboard Layout ================= */
.dash-wrapper { display: flex; min-height: 100vh; }

.dash-sidebar {
  width: 250px;
  color: #fff;
  min-height: 100vh;
  position: fixed;
  top: 0; left: 0;
  z-index: 1030;
  transition: left .25s ease;
  overflow-y: auto;
}
.sidebar-brand {
  padding: 18px 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  color: rgba(255,255,255,.85);
  font-size: .94rem;
}
.sidebar-link:hover, .sidebar-link.active {
  background: rgba(255,255,255,.15);
  color: #fff;
  border-left: 4px solid #ffc107;
}
.sidebar-link i { width: 18px; text-align: center; }

.dash-main { margin-left: 250px; flex: 1; width: calc(100% - 250px); background: #f4f6f9; min-height: 100vh; }
.dash-topbar {
  background: #fff;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.dash-content { padding: 24px; }
.notif-badge { position: absolute; top: -6px; right: -8px; font-size: .6rem; }

.stat-card {
  border: none;
  border-radius: 14px;
  color: #fff;
  padding: 22px;
}
.stat-card h3 { font-weight: 700; margin-bottom: 0; }
.stat-card .fa { font-size: 2rem; opacity: .5; }

@media (max-width: 991px) {
  .dash-sidebar { left: -260px; }
  .dash-sidebar.show { left: 0; }
  .dash-main { margin-left: 0; width: 100%; }
}
