:root {
  --primary: #0047BB;
  --primary-dark: #003087;
  --primary-light: #E8F0FE;
  --secondary: #00A86B;
  --accent: #FF6B35;
  --gray-50: #F8F9FA;
  --gray-100: #F0F2F5;
  --gray-200: #E1E5EA;
  --gray-600: #6B7280;
  --gray-800: #1F2937;
  --gray-900: #111827;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--gray-50);
  color: var(--gray-800);
}

/* Hero Section */
.hero {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  color: white;
  padding: 80px 0 60px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 400px;
  height: 400px;
  background: rgba(255,255,255,0.03);
  border-radius: 50%;
}
.hero h1 { font-size: 2.8rem; font-weight: 700; line-height: 1.2; }
.hero p { font-size: 1.15rem; opacity: 0.9; max-width: 540px; }
.hero .btn-light { 
  background: white; 
  color: var(--primary); 
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 8px;
  transition: all 0.3s;
}
.hero .btn-light:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.hero .btn-outline-light {
  border: 2px solid rgba(255,255,255,0.5);
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 8px;
  transition: all 0.3s;
}
.hero .btn-outline-light:hover {
  background: rgba(255,255,255,0.1);
  border-color: white;
}

/* Section Titles */
.section-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--gray-900);
  margin-bottom: 0.5rem;
}
.section-subtitle {
  color: var(--gray-600);
  font-size: 1rem;
  margin-bottom: 2rem;
}

/* Cards */
.modern-card {
  background: white;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 2rem;
  transition: all 0.3s ease;
  cursor: default;
}
.modern-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  border-color: transparent;
}
.modern-card .icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
.modern-card h3 { font-size: 1.15rem; font-weight: 600; margin-bottom: 0.5rem; }
.modern-card p { color: var(--gray-600); font-size: 0.9rem; line-height: 1.5; }
.modern-card a { text-decoration: none; color: inherit; display: block; }
.modern-card a:hover { color: inherit; }

.icon-blue { background: var(--primary-light); color: var(--primary); }
.icon-green { background: #E8F5E9; color: var(--secondary); }
.icon-orange { background: #FFF3E0; color: var(--accent); }
.icon-purple { background: #F3E8FF; color: #7C3AED; }
.icon-teal { background: #E0F7FA; color: #0D9488; }
.icon-rose { background: #FFE4E6; color: #E11D48; }

/* Navbar */
.navbar-modern {
  background: white !important;
  border-bottom: 1px solid var(--gray-200);
  padding: 0.75rem 0;
}
.navbar-modern .navbar-brand {
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--primary) !important;
}
.navbar-modern .nav-link {
  color: var(--gray-600) !important;
  font-weight: 500;
  padding: 0.5rem 1rem !important;
  border-radius: 6px;
  transition: all 0.2s;
}
.navbar-modern .nav-link:hover {
  color: var(--primary) !important;
  background: var(--primary-light);
}
.navbar-modern .btn-login {
  background: var(--primary);
  color: white !important;
  padding: 0.5rem 1.5rem !important;
  border-radius: 8px;
  font-weight: 600;
}
.navbar-modern .btn-login:hover {
  background: var(--primary-dark) !important;
  color: white !important;
}

/* Stats Bar */
.stats-bar {
  background: white;
  border-bottom: 1px solid var(--gray-200);
  padding: 1.5rem 0;
}
.stat-item { text-align: center; }
.stat-number { font-size: 1.8rem; font-weight: 700; color: var(--primary); }
.stat-label { font-size: 0.85rem; color: var(--gray-600); }

/* Footer */
.footer {
  background: var(--gray-900);
  color: rgba(255,255,255,0.7);
  padding: 3rem 0 2rem;
}
.footer h5 { color: white; font-weight: 600; font-size: 1rem; margin-bottom: 1rem; }
.footer a { color: rgba(255,255,255,0.6); text-decoration: none; }
.footer a:hover { color: white; }
