:root {
  --soc-primary: #0d6efd;
  --soc-accent: #1971f3;
  --soc-success: #20c997;
  --soc-warning: #ffc107;
  --soc-danger: #dc3545;
  --soc-info: #0dcaf0;
}

body {
  color: #2b2b2b;
  background: linear-gradient(180deg, rgba(13,110,253,0.03), rgba(13,110,253,0.00));
}

.hero {
  background-image: radial-gradient(circle at top left, rgba(13,110,253,0.06), transparent 60%);
}

.navbar-brand {
  letter-spacing: 0.2px;
}

.navbar-gradient {
  background: linear-gradient(90deg, #0d6efd, #6610f2);
}

.navbar-gradient .navbar-brand, .navbar-gradient .nav-link {
  color: #fff !important;
}

.layout {
  display: flex;
  gap: 1rem;
}

.sidebar {
  width: 220px;
  flex: 0 0 220px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: .75rem;
  height: 100%;
}

.sidebar .list-group-item {
  border: none;
  border-radius: .5rem;
  margin: .25rem 0;
}

.content-with-sidebar {
  flex: 1;
}

.card-title {
  color: var(--soc-primary);
}

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

.btn-outline-primary {
  color: var(--soc-primary);
  border-color: var(--soc-primary);
}

.btn-outline-primary:hover {
  background-color: var(--soc-primary);
  color: #fff;
}

/* Colorful KPI cards */
.card-kpi {
  color: #fff;
  border: none;
  border-radius: .75rem;
}
.kpi-primary { background: linear-gradient(135deg, #0d6efd, #4dabf7); }
.kpi-success { background: linear-gradient(135deg, #20c997, #63e6be); }
.kpi-info { background: linear-gradient(135deg, #0dcaf0, #74c0fc); }
.kpi-warning { background: linear-gradient(135deg, #ffc107, #ffdf7e); color: #3b2b00; }
.kpi-danger { background: linear-gradient(135deg, #dc3545, #ff6b6b); }

.card-kpi .text-muted { color: rgba(255,255,255,0.85) !important; }

/* Chart container */
.chart-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: .75rem;
}

/* Footer */
.footer-gradient {
  background: linear-gradient(90deg, #6610f2, #0d6efd);
  color: #fff;
}
.footer-gradient a { color: #fff; }
/* Dashboard enhancements */
.card-kpi {
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: .5rem;
  background: #fff;
}
.kpi-primary { border-left: 4px solid #0d6efd; }
.kpi-info { border-left: 4px solid #0dcaf0; }
.kpi-success { border-left: 4px solid #198754; }
.kpi-warning { border-left: 4px solid #ffc107; }
.kpi-danger { border-left: 4px solid #dc3545; }

.chart-card {
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: .5rem;
  background: #fff;
}

.sidebar {
  border-right: 1px solid rgba(0,0,0,0.06);
}

.content-with-sidebar {
  padding: 1rem 1.5rem;
}

/* Dark mode tweaks */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] {
  color: #e6e6e6;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.15));
}
[data-bs-theme="dark"] .sidebar,
[data-bs-theme="dark"] .chart-card,
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-kpi {
  background-color: #1f1f1f;
  border-color: rgba(255,255,255,0.08);
}
[data-bs-theme="dark"] .navbar-gradient {
  background: linear-gradient(90deg, #212529, #343a40);
}
[data-bs-theme="dark"] .footer-gradient {
  background: linear-gradient(90deg, #343a40, #212529);
}
[data-bs-theme="dark"] .list-group-item {
  background-color: #1f1f1f;
  color: #e6e6e6;
}