body {
  font-family: "Manrope", sans-serif;
  background: linear-gradient(180deg, #f7fafc 0%, #edf6f9 100%);
  color: #102a43;
}

.site-navbar {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(16, 42, 67, 0.05);
}

.page-wrap {
  min-height: calc(100vh - 180px);
}

.hero-section {
  padding: 5rem 0 4rem;
}

.hero-card,
.feature-card,
.dashboard-card,
.course-card,
.card {
  border-radius: 1.4rem;
  box-shadow: 0 20px 45px rgba(16, 42, 67, 0.08);
}

.hero-card {
  background: linear-gradient(135deg, rgba(31, 122, 140, 0.14), rgba(46, 196, 182, 0.18));
  border: 1px solid rgba(31, 122, 140, 0.12);
}

.pill-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(31, 122, 140, 0.1);
  color: #1f7a8c;
  font-size: 0.9rem;
  font-weight: 700;
}

.section-space {
  padding: 4rem 0;
}

.soft-panel {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(16, 42, 67, 0.06);
  border-radius: 1.5rem;
}

.gradient-panel {
  background: linear-gradient(135deg, #102a43, #1f7a8c);
  color: #fff;
}

.course-card .card-body,
.dashboard-card .card-body,
.feature-card .card-body {
  padding: 1.5rem;
}

.muted-copy {
  color: #52606d;
}

.lesson-item,
.module-item {
  border: 1px solid rgba(16, 42, 67, 0.08);
  border-radius: 1rem;
  background: #fff;
}

.dashboard-sidebar {
  position: sticky;
  top: 100px;
}

.dashboard-sidebar .list-group-item {
  border: none;
  background: #f8fbfc;
  color: #102a43;
  font-weight: 600;
}

.dashboard-sidebar .list-group-item.active {
  background: linear-gradient(135deg, #1f7a8c, #2ec4b6);
  color: #fff;
}

.sidebar-label {
  letter-spacing: 0.08em;
  color: #52606d;
}

.table-modern {
  --bs-table-bg: transparent;
  border-radius: 1rem;
  overflow: hidden;
}

.table-modern thead th {
  background: rgba(31, 122, 140, 0.08);
  border-bottom: none;
}

.site-footer {
  background: rgba(255, 255, 255, 0.82);
  border-top: 1px solid rgba(16, 42, 67, 0.08);
}

.footer-link {
  color: #102a43;
  text-decoration: none;
}

.footer-link:hover {
  color: #1f7a8c;
}

.progress {
  height: 0.8rem;
  border-radius: 999px;
}

.progress-bar {
  background: linear-gradient(90deg, #1f7a8c, #2ec4b6);
}

.btn-primary {
  background: linear-gradient(135deg, #1f7a8c, #2ec4b6);
  border: none;
}

.btn-outline-dark {
  border-color: rgba(16, 42, 67, 0.22);
}

.auth-card {
  max-width: 520px;
  margin: 3rem auto;
}

@media (max-width: 991.98px) {
  .hero-section {
    padding-top: 3rem;
  }

  .dashboard-sidebar {
    position: static;
  }
}
