:root{
  --brand: #1e3a8a;
  --accent: #facc15;
  --ink: #0f172a;
  --bg-soft: #f8fafc;
  --card: #ffffff;
}
body{color:var(--ink); background: var(--bg-soft);}
.brand-mark{
  width:44px;height:44px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:900; letter-spacing:.5px;
  background: linear-gradient(135deg, var(--accent), #fde68a);
  color: #111827;
  border: 1px solid rgba(15,23,42,.08);
}
.hero{
  position:relative; min-height: 62vh; display:flex; align-items:center;
  background:#0b1220; overflow:hidden;
}
.hero .hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform: scale(1.02); }
.hero .overlay{ position:absolute; inset:0; background: linear-gradient(90deg, rgba(15,23,42,.78), rgba(15,23,42,.45)); }
.hero .content{ position:relative; padding: 64px 0; }
.kpi,.card-soft{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.card-soft{ transition:.18s ease; }
.card-soft:hover{ transform: translateY(-2px); box-shadow:0 18px 40px rgba(15,23,42,.10); }
.badge-accent{ background: rgba(250,204,21,.18); color:#7c5b00; border:1px solid rgba(250,204,21,.35); }
.footer{ background:#fff; border-top:1px solid rgba(15,23,42,.08); }
.whats-float{
  position:fixed; right:18px; bottom:18px;
  width:54px; height:54px; border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  background:#22c55e; color:#fff; text-decoration:none; font-size:26px;
  box-shadow:0 18px 40px rgba(15,23,42,.18); z-index:9999;
}
.img-cover{ width:100%; height:220px; object-fit:cover; border-top-left-radius:18px; border-top-right-radius:18px; }
.page-hero{ background: linear-gradient(135deg, rgba(30,58,138,.12), rgba(250,204,21,.10)); border-bottom:1px solid rgba(15,23,42,.08); }
.form-control,.form-select,.btn{ border-radius:14px; }
