@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap');

:root {
  --gf-primary: #2563EB;
  --gf-secondary: #3B82F6;
  --gf-dark: #1F2937;
  --gf-bg: #F3F4F6;
  --gf-surface: #FFFFFF;
  --gf-title: #111827;
  --gf-body: #374151;
  --gf-muted: #6B7280;
  --gf-accent: #F59E0B;
  --gf-radius: 14px;
  --gf-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  --gf-focus: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);

  --bs-primary: var(--gf-primary);
  --bs-secondary: var(--gf-secondary);
  --bs-body-color: var(--gf-body);
  --bs-body-bg: var(--gf-bg);
  --bs-border-color: #E5E7EB;
}

body {
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--gf-body);
  background: var(--gf-bg);
}

body.account-page.bg-white {
  background: var(--gf-bg) !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Sora', 'Manrope', system-ui, -apple-system, sans-serif;
  color: var(--gf-title);
  letter-spacing: -0.01em;
}

.btn-primary {
  --bs-btn-bg: var(--gf-primary);
  --bs-btn-border-color: var(--gf-primary);
  --bs-btn-hover-bg: #1D4ED8;
  --bs-btn-hover-border-color: #1D4ED8;
  --bs-btn-active-bg: #1E40AF;
  --bs-btn-active-border-color: #1E40AF;
  border-radius: 12px;
  font-weight: 600;
}

.btn-outline-primary {
  --bs-btn-color: var(--gf-primary);
  --bs-btn-border-color: rgba(37, 99, 235, 0.4);
  --bs-btn-hover-bg: rgba(37, 99, 235, 0.08);
  --bs-btn-hover-border-color: var(--gf-primary);
  border-radius: 12px;
  font-weight: 600;
}

.btn-secondary {
  --bs-btn-bg: var(--gf-secondary);
  --bs-btn-border-color: var(--gf-secondary);
  --bs-btn-hover-bg: #2563EB;
  --bs-btn-hover-border-color: #2563EB;
  border-radius: 12px;
  font-weight: 600;
}

.form-control,
.form-select {
  border-radius: 12px;
  border-color: #E5E7EB;
  padding: 0.65rem 0.85rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--gf-primary);
  box-shadow: var(--gf-focus);
}

.card {
  border: 1px solid #E5E7EB;
  border-radius: var(--gf-radius);
  box-shadow: var(--gf-shadow);
}

.alert {
  border-radius: 12px;
}

.badge {
  font-weight: 600;
}

.text-muted {
  color: var(--gf-muted) !important;
}

.link-muted {
  color: var(--gf-muted);
  text-decoration: none;
}

.link-muted:hover {
  color: var(--gf-primary);
}
