
:root{
  --brand:#4634ff;
  --ink:#0f172a;
  --muted:#64748b;
  --bg:#0b1220;
  --card:#111b2e;
  --soft:#f1f5f9;
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--ink)}
a{color:inherit;text-decoration:none}
.container-narrow{max-width:1100px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{filter:brightness(.95);color:#fff}
.badge-soft{background:rgba(70,52,255,.12);color:var(--brand);border:1px solid rgba(70,52,255,.2)}
/* Header */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(15,23,42,.08);transition:transform .25s ease, box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 12px 30px rgba(2,6,23,.08)}
.navbar-brand img{height:34px}
.nav-link{font-weight:600;color:#0f172a}
.nav-link:hover{color:var(--brand)}
/* Hero */
.hero{
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(70,52,255,.20), transparent 55%),
    radial-gradient(900px 500px at 90% 0%, rgba(14,165,233,.18), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.hero-card{
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 60px rgba(2,6,23,.08);
  overflow:hidden;
}
.hero-visual{
  min-height:320px;
  background:
    radial-gradient(600px 300px at 25% 30%, rgba(70,52,255,.30), transparent 60%),
    radial-gradient(600px 300px at 75% 60%, rgba(34,197,94,.18), transparent 60%),
    linear-gradient(135deg, #0b1220 0%, #111b2e 100%);
  color:#fff;
}
.kpi{
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  padding:14px;
}
.section-title{letter-spacing:-.02em}
.card-soft{
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 40px rgba(2,6,23,.06);
}
.icon-pill{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(70,52,255,.12);
  border:1px solid rgba(70,52,255,.18);
  color:var(--brand);
  transition:transform .18s ease, filter .18s ease;
}
.hover-lift:hover .icon-pill{transform:translateY(-2px)}
.hover-lift:hover{transform:translateY(-3px)}
.hover-lift{transition:transform .18s ease}
.fade-in{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
.fade-in.in{opacity:1;transform:none}
.footer{
  background:linear-gradient(180deg,#0b1220 0%, #060b14 100%);
  color:#e2e8f0;
}
.footer a{color:#e2e8f0}
.small-muted{color:var(--muted)}
/* Auth pages */
.auth-wrap{min-height:calc(100vh - 76px);display:flex;align-items:center}
.auth-card{border-radius:var(--radius);border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(2,6,23,.10);overflow:hidden}
.auth-side{
  background:
    radial-gradient(700px 350px at 20% 30%, rgba(70,52,255,.35), transparent 60%),
    radial-gradient(700px 350px at 80% 60%, rgba(34,197,94,.22), transparent 60%),
    linear-gradient(135deg,#0b1220 0%, #111b2e 100%);
  color:#fff;
}
.form-control:focus{border-color:rgba(70,52,255,.6);box-shadow:0 0 0 .2rem rgba(70,52,255,.15)}
/* Dashboard */
.sidebar{
  position:sticky;top:88px;
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
}
.sidebar a{display:block;padding:10px 12px;border-radius:12px;font-weight:600;color:#0f172a}
.sidebar a:hover{background:#f1f5ff;color:var(--brand)}
