
/* HarmonySite-like theme: clean teal/blue palette, soft cards, readable type */
:root{
  --hs-primary: #2c7fb8;   /* teal-blue */
  --hs-primary-2: #135d98; /* deeper */
  --hs-accent: #f4b942;    /* warm accent */
  --bs-primary: var(--hs-primary);
  --bs-secondary: #6c757d;
  --bs-body-font-size: 1rem;
  --hs-radius: 1rem;
}
body{ background:#f7f9fc; }
.navbar-brand{ letter-spacing:.4px }
.navbar.bg-primary{
  background: linear-gradient(90deg, var(--hs-primary-2), var(--hs-primary));
}
.navbar .nav-link.active, .navbar .nav-link:hover{ opacity:.95 }

.card{ border:none; border-radius: var(--hs-radius); box-shadow: 0 6px 24px rgba(23,57,94,.08); }
.card-quiet{ border:1px solid #eaeef6; box-shadow:none; }
.table thead th{ background:#f2f6fb; }

.btn-primary{
  --bs-btn-bg: var(--hs-primary);
  --bs-btn-border-color: var(--hs-primary);
  --bs-btn-hover-bg: var(--hs-primary-2);
  --bs-btn-hover-border-color: var(--hs-primary-2);
  border-radius:.6rem;
}

.badge-part{ background:#eaf2ff; border:1px solid #d3e3ff; color:#245fa3; }

.hero{
  background: radial-gradient(1200px 400px at 10% 0%, rgba(255,255,255,.4), transparent 60%),
              linear-gradient(180deg, #ffffff, #f5f8ff);
  border-radius: var(--hs-radius);
  padding: 3rem;
  box-shadow: 0 8px 40px rgba(30,60,114,.08);
}
.hero h1{ font-weight:800; letter-spacing:.2px }
.hero .lead{ color:#5a6b85 }

.footer{
  color:#8a96a8;
}

a{ text-decoration: none; }
a:hover{ text-decoration: underline; }
