:root{
  --brand-a:#53C2BF;
  --brand-b:#A2D5B5;
  --ink:#0f172a;
}
.bg-soft{ background: linear-gradient(180deg, rgba(83,194,191,.10), rgba(162,213,181,.08) 55%, rgba(15,23,42,.02)); }
.nav-brand{ background: linear-gradient(90deg, var(--brand-a), var(--brand-b)); box-shadow: 0 10px 30px rgba(0,0,0,.10); }
.brand-logo{ height:30px; width:auto; border-radius:8px; background:#fff; padding:4px; }
.topbar{ position: sticky; top: 0; z-index: 1030; }

.sidebar{
  width: 270px;
  background: linear-gradient(180deg, rgba(15,23,42,.94), rgba(15,23,42,.88));
  color: rgba(255,255,255,.85);
  position: sticky;
  top: 52px; /* approx topbar height */
  height: calc(100vh - 52px);
  overflow: auto;
}

.side-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  color: rgba(255,255,255,.80);
  text-decoration:none;
  margin: 4px 6px;
}
.side-link i{ width:18px; text-align:center; opacity:.95; }
.side-link span{ font-weight:600; font-size: .95rem; }
.side-link:hover{ background: rgba(255,255,255,.10); color:#fff; }
.side-link.active{ background: rgba(83,194,191,.22); color:#fff; }
.side-sep{ height:1px; background: rgba(255,255,255,.12); margin: 10px 14px; border-radius:999px; }

.content{ min-width: 0; }
.card-glass{ border:0; border-radius:18px; box-shadow: 0 12px 40px rgba(2,6,23,.10); }
.kpi{ border-radius:18px; border:0; box-shadow: 0 10px 30px rgba(2,6,23,.08); }
.kpi .icon{
  width:44px; height:44px; border-radius:14px;
  background: linear-gradient(135deg, rgba(83,194,191,.18), rgba(162,213,181,.18));
  display:flex; align-items:center; justify-content:center;
}
.table thead th{ color:#334155; font-weight:700; }
.badge-soft{ background: rgba(83,194,191,.12); color:#0f766e; }
.footer-brand{ background: linear-gradient(90deg, rgba(15,23,42,.92), rgba(15,23,42,.82)); }
.form-control, .form-select{ border-radius:14px; }
.btn{ border-radius:14px; }
hr.soft{ opacity:.12; }
.small-muted{ color:#64748b; }
