:root{
  --brand: #0d6efd;
  --brand2:#198754;
}
body{ background:#f8fafc; }
.navbar-brand{ letter-spacing:.2px; }
.hero{
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(13,110,253,.25), transparent 60%),
    radial-gradient(1000px 600px at 90% 20%, rgba(25,135,84,.20), transparent 55%),
    linear-gradient(180deg, #0b5ed7 0%, #0d6efd 60%, #0d6efd 100%);
  color:#fff;
}
.badge-soft{
  background: rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
}
.card-hover{ transition: transform .12s ease, box-shadow .12s ease; }
.card-hover:hover{ transform: translateY(-2px); box-shadow:0 12px 30px rgba(2,6,23,.10)!important; }
.kpi{
  background:#fff; border:1px solid rgba(2,6,23,.08);
  border-radius: 16px;
}
.kpi i{ color: var(--brand); }
.small-muted{ color:#64748b; }
.bg-grid{
  background-image: linear-gradient(rgba(2,6,23,.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(2,6,23,.04) 1px, transparent 1px);
  background-size: 20px 20px;
}
.policy h2{ margin-top: 2.0rem; }
.policy h3{ margin-top: 1.4rem; }
.anchor-offset{ scroll-margin-top: 90px; }
.form-control, .form-select{ border-radius: 12px; }
.btn{ border-radius: 12px; }
.card{ border-radius: 18px; }
.shadow-soft{ box-shadow: 0 10px 30px rgba(2,6,23,.08); }
footer a:hover{ text-decoration: underline !important; }
pre, code{ white-space: pre-wrap; word-break: break-word; }
