@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700&family=Cabin:wght@400;500;600&display=swap');

:root {
  --carnival-yellow: #ffe66d;
  --carnival-green: #10b981;
  --carnival-red: #ef4444;
  --carnival-blue: #38bdf8;
  --carnival-purple: #8b5cf6;
  --carnival-dark: #0f172a;
  --carnival-light: #f8fafc;
}

body {
  font-family: "Cabin", sans-serif;
  background:
    radial-gradient(1200px 600px at -10% -10%, rgba(16, 185, 129, 0.18), transparent 60%),
    radial-gradient(900px 500px at 110% 0%, rgba(255, 230, 109, 0.2), transparent 60%),
    radial-gradient(800px 400px at 50% 120%, rgba(56, 189, 248, 0.16), transparent 60%),
    #f7f7fb;
}

main {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
}
nav .nav-link.active { background-color: rgba(255,255,255,0.2); }

.app-shell { min-height: 100vh; }
.app-main { min-width: 0; }
.sidebar {
  min-width: 260px;
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.92), rgba(56, 189, 248, 0.92)),
    radial-gradient(120px 120px at 20% 15%, rgba(255, 230, 109, 0.8), transparent 60%),
    radial-gradient(140px 140px at 80% 25%, rgba(16, 185, 129, 0.6), transparent 60%),
    #111827;
}
.sidebar .nav-link {
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
}
.sidebar .nav-link.active {
  background-color: rgba(255, 255, 255, 0.2);
}
.sidebar .fw-bold {
  font-family: "Baloo 2", sans-serif;
  font-size: 1.1rem;
}

.page-header {
  padding: 0.75rem 1rem;
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(255, 230, 109, 0.5), rgba(56, 189, 248, 0.35));
}
.app-title {
  font-family: "Baloo 2", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--carnival-dark);
  letter-spacing: 0.2px;
}

.card {
  border-radius: 16px;
  border: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.btn-primary {
  background: linear-gradient(120deg, var(--carnival-red), var(--carnival-purple));
  border: none;
}
.btn-primary:hover {
  filter: brightness(0.95);
}

.table thead th {
  background: rgba(15, 23, 42, 0.04);
}

@media (max-width: 991.98px) {
  .app-shell { flex-direction: column; }
  .sidebar { min-width: 100%; min-height: auto; }
  .app-main { padding: 1rem; }
  main { border-radius: 14px; }
  .page-header { padding: 0.75rem; }
  .app-title { font-size: 1.4rem; }
}
