:root{
  --brand-blue:#1463ff;
  --brand-orange:#ff7a00;
  --brand-green:#45b649;
  --card-radius:18px;
}
body{
  background: radial-gradient(1200px 600px at 10% -10%, rgba(20,99,255,.12), transparent 60%),
              radial-gradient(1200px 600px at 110% 10%, rgba(255,122,0,.12), transparent 55%),
              #f6f7fb;
}
.sidebar{
  width:280px; min-height:100vh;
  background:#0f172a; color:#e2e8f0;
  padding:18px 14px;
  position: sticky; top:0;
  display:flex; flex-direction:column; gap:10px;
}
.brand{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.06); }
.logo-badge{ width:40px; height:40px; border-radius:12px; background:linear-gradient(135deg,var(--brand-blue),var(--brand-orange)); display:flex; align-items:center; justify-content:center; font-weight:800; color:#fff; }
.brand-green{ color: var(--brand-green); }
.nav-btn{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; color:#e2e8f0; text-decoration:none; border:1px solid transparent; }
.nav-btn:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.08); color:#fff; }
.nav-btn.active{ background:rgba(20,99,255,.18); border-color:rgba(20,99,255,.35); color:#fff; }
.content{ padding:22px; }
.topbar{
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  border:1px solid rgba(15,23,42,.08);
  border-radius: var(--card-radius);
  padding:14px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.card-soft{
  border:1px solid rgba(15,23,42,.08);
  border-radius: var(--card-radius);
  box-shadow: 0 10px 35px rgba(15,23,42,.06);
  background: rgba(255,255,255,.92);
}
.btn-brand{ background:linear-gradient(135deg,var(--brand-blue),var(--brand-orange)); border:none; color:#fff; }
.btn-brand:hover{ opacity:.95; color:#fff; }
.mono{ font-variant-numeric: tabular-nums; font-feature-settings:"tnum"; }
.mobile-side{
  position: fixed; left:0; top:0; bottom:0; width: 80%;
  background:#fff; z-index: 1055; transform: translateX(-105%);
  transition: .2s ease; box-shadow: 0 12px 40px rgba(0,0,0,.2);
}
.mobile-side.show{ transform: translateX(0); }
