:root{ --bs-primary:#2563eb; }
html,body{ background:#fff; color:#111; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.navbar{ background:#fff !important; border-bottom:1px solid #eee; }
.navbar .btn{ border-color:#e5e7eb !important; color:#111 !important; }
.hero-white{ padding:48px 0 24px; background:#fff; border-bottom:1px solid #eee; }
.hero-white .logo{ max-width:420px; width:90%; height:auto; display:block; margin:0 auto; }
.section{ padding:24px 0; }
.logo-card{ display:flex; align-items:center; justify-content:center; height:112px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; padding:10px; }
.logo-img{ max-height:56px; max-width:100%; object-fit:contain; image-rendering:auto; }
.logo-cap{ font-size:.9rem; color:#555; margin-top:.5rem; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.badge-soft{ background:#f6f7f8; border:1px solid #e5e7eb; color:#333; border-radius:999px; padding:.2rem .55rem; font-size:.75rem; }
.card-lite{ background:#fff; border:1px solid #e5e7eb; border-radius:14px; }
.kpi{ display:flex; flex-direction:column; gap:.25rem; padding:12px; border-radius:12px; background:#fff; border:1px solid #e5e7eb; }
.kpi .v{ font-size:1.25rem; font-weight:700; }
.kpi .l{ font-size:.8rem; color:#666; text-transform:uppercase; letter-spacing:.04em; }
.grid-kpi{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
@media(min-width:992px){ .grid-kpi{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
input[type="number"]{ text-align:right; }
.small-muted{ font-size:.875rem; color:#6b7280; }
.hero-banner{
  background:#fff url('/assets/img/hero-banner.png') center/cover no-repeat;
  padding:120px 0 140px;
  border-bottom:1px solid #eee;
  text-align:center;
}
.hero-title{
  font-weight:800;
  font-size:clamp(26px,5vw,44px);
  line-height:1.15;
  color:#111;
  margin:0;
}
.hero-sub{
  color:#6b7280;
  margin-top:.5rem;
  font-size:clamp(14px,2.5vw,18px);
}
/* MOBILE FIXES */
html,body{overflow-x:hidden}
.nav-actions{display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width: 991.98px){
  .hero-banner{padding:72px 0 90px}
}
@media (max-width: 575.98px){
  .logo-card{height:88px}
  .logo-img{max-height:48px}
  .logo-cap{white-space:normal;overflow-wrap:anywhere}
}
/* Navbar collapse spacing */
.navbar .navbar-nav .nav-link{padding:.5rem .75rem}
