:root {
  --brand: #16794f;
  --brand-dark: #0f5a39;
  --bg-soft: #f6faf8;
}

body { background-color: var(--bg-soft); font-family: 'Segoe UI', system-ui, sans-serif; }

.text-success, .navbar-brand { color: var(--brand) !important; }
.btn-success { background-color: var(--brand); border-color: var(--brand); }
.btn-success:hover { background-color: var(--brand-dark); border-color: var(--brand-dark); }
.btn-outline-success { color: var(--brand); border-color: var(--brand); }
.btn-outline-success:hover { background-color: var(--brand); }
.bg-success { background-color: var(--brand) !important; }

/* Hero */
.hero-section {
  background: linear-gradient(135deg, #16794f 0%, #0b3d27 100%);
  color: #fff;
  padding: 80px 0;
}
.hero-section img { border-radius: 16px; box-shadow: 0 20px 40px rgba(0,0,0,.25); }

.card { border: none; border-radius: 14px; box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.10); }

.stat-card { border-radius: 16px; padding: 24px; color:#fff; }
.stat-card h2 { font-weight:700; }

/* Dashboard layout */
#dashWrap { min-height: 100vh; }
.sidebar {
  width: 260px;
  min-width: 260px;
  min-height: 100vh;
  position: sticky;
  top: 0;
  align-self: flex-start;
}
.sidebar .nav-link { border-radius: 8px; opacity: .9; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background-color: rgba(255,255,255,.15); opacity:1; }
.main-content { min-width: 0; }

@media (max-width: 991.98px) {
  .sidebar {
    position: fixed;
    z-index: 1050;
    left: -270px;
    transition: left .25s ease;
    height: 100vh;
  }
  .sidebar.show { left: 0; }
}

.materi-item { border-left: 4px solid var(--brand); }
.quiz-option label { cursor: pointer; }

footer a:hover { color: #fff !important; }
