:root {
  --accent: #2563eb;
  --text: #111827;
  --muted: #6b7280;
}

* {
  font-family: 'Inter', system-ui, sans-serif;
}

body {
  color: var(--text);
  background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
  overflow-x: hidden;
}

.navbar {
  backdrop-filter: blur(10px);
}

.hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
}

.btn-primary {
  background-color: var(--accent);
  border: none;
}

.btn-primary:hover {
  background-color: #1d4ed8;
}

.section {
  padding: 80px 0;
}

.card {
  border-radius: 18px;
}

label.form-label {
  font-weight: 600;
}

.table thead th {
  color: var(--muted);
  font-weight: 600;
}

.sidebar-nav .list-group-item {
  border: 1px solid #e5e7eb;
  margin-bottom: 8px;
  border-radius: 10px;
}

.sidebar-nav .list-group-item.active {
  background-color: #eef2ff;
  color: #111827;
  border-color: #c7d2fe;
  font-weight: 700;
}

.hero {
  background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
  overflow: hidden;
}

.hero-wrap {
  position: relative;
  min-height: 560px;
}

.hero-text {
  max-width: 540px;
}

.hero-image {
  width: 100%;
  max-width: 520px;
  transform: rotate(-5deg);
  margin: 0 0 0 auto;
  margin-right: -240px;
}

.hero-image img {
  width: 200%;
  filter: drop-shadow(0 40px 80px rgba(0, 80, 150, 0.18));
}

@media (max-width: 992px) {
  .hero-image {
    max-width: 420px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .hero-image {
    max-width: 320px;
    margin-top: 20px;
  }
}
