:root{
  --brand:#0d6efd;
  --bg:#0b1220;
  --card:#111a2e;
  --muted:#94a3b8;
}
body{background:#f6f8fb;}
.navbar-brand{font-weight:700; letter-spacing:.3px;}
.hero{
  background: radial-gradient(1000px 600px at 10% 10%, rgba(13,110,253,.25), transparent 60%),
              radial-gradient(800px 500px at 90% 0%, rgba(20,184,166,.20), transparent 55%),
              linear-gradient(135deg, #0b1220 0%, #0f172a 55%, #0b1220 100%);
  color:#fff;
}
.hero .lead{color:rgba(255,255,255,.75);}
.hero-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  backdrop-filter: blur(8px);
}
.badge-soft{background:rgba(13,110,253,.12); color:#0d6efd; border:1px solid rgba(13,110,253,.15);}
.section-title{font-weight:800; letter-spacing:.2px;}
.small-muted{color:var(--muted); font-size:.95rem;}
.card{border-radius:16px; border:1px solid #e8edf5;}
.btn{border-radius:12px;}
.form-control, .form-select{border-radius:12px;}
.table{border-color:#e8edf5;}
/* Dashboard layout */
.dash-shell{min-height:100vh; display:flex;}
.sidebar{
  width:270px; background:#0b1220; color:#dbeafe; position:fixed; top:0; bottom:0; left:0;
  padding:18px 14px; border-right:1px solid rgba(148,163,184,.15);
}
.sidebar .brand{display:flex; align-items:center; gap:10px; padding:10px 10px 18px 10px;}
.sidebar .brand .logo{
  width:38px;height:38px;border-radius:12px;background:rgba(13,110,253,.18);
  display:flex;align-items:center;justify-content:center;font-weight:800;color:#93c5fd;
  border:1px solid rgba(147,197,253,.25);
}
.sidebar .nav-link{
  color:rgba(219,234,254,.85);
  border-radius:12px;
  padding:10px 12px;
  display:flex; align-items:center; gap:10px;
}
.sidebar .nav-link:hover{background:rgba(255,255,255,.06); color:#fff;}
.sidebar .nav-link.active{background:rgba(13,110,253,.18); color:#fff; border:1px solid rgba(13,110,253,.25);}
.content{
  margin-left:270px; width:calc(100% - 270px);
}
.topbar{
  background:#fff; border-bottom:1px solid #e8edf5; position:sticky; top:0; z-index:10;
}
.kpi{
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid #e8edf5;
  border-radius:16px;
}
.kpi .value{font-weight:800; font-size:1.45rem;}
.status-pill{border-radius:999px; padding:3px 10px; font-weight:600; font-size:.82rem;}
.status-pending{background:rgba(148,163,184,.18); color:#334155;}
.status-safe{background:rgba(34,197,94,.15); color:#15803d;}
.status-suspicious{background:rgba(245,158,11,.18); color:#b45309;}
.status-fraud{background:rgba(239,68,68,.18); color:#b91c1c;}
