:root{
  --bg:#0e0e10;
  --panel:#16161a;
  --panel2:#1d1d24;
  --text:#e9e9ee;
  --muted:#a2a2ad;
  --accent:#6e6eff;
  --border:rgba(255,255,255,.08);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  background:var(--bg);
  color:var(--text);
}

.wrap{max-width:1100px;margin:0 auto;padding:2.5rem 1.25rem 3rem}

.hero{
  padding:2.5rem 0 1.5rem;
  border-bottom:1px solid var(--border);
}
.hero h1{margin:0;font-size:2.6rem;letter-spacing:.2px}
.sub{margin:.75rem 0 0;color:var(--muted);max-width:70ch}

.cta{margin-top:1.25rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.btn{
  display:inline-block;
  background:var(--accent);
  color:#0b0b0c;
  font-weight:650;
  text-decoration:none;
  padding:.75rem 1rem;
  border-radius:.75rem;
}
.updated{color:var(--muted);font-size:.9rem}

.section{padding:2rem 0}
.section h2{margin:0 0 1rem;font-size:1.4rem}

.grid{display:grid;gap:1rem}
.kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.charts{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
/* Chart sizing */
.chart-wrap {
  max-width: 420px;
  margin: 0 auto;
}

.chart-wrap canvas {
  max-height: 320px;
}

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:1rem;
  padding:1.25rem;
}
.card h3{margin:.1rem 0 1rem;font-size:1.05rem}

.kpiTitle{color:var(--muted);font-size:.9rem}
.kpiValue{font-size:2rem;font-weight:750;margin:.25rem 0 .25rem}
.kpiNote{color:var(--muted);font-size:.85rem}

.bigNumber{font-size:2.25rem;font-weight:800;margin:.25rem 0 .25rem}

.row{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  padding:.5rem 0;
  border-top:1px solid var(--border);
}
.row:first-of-type{border-top:none;padding-top:0}
.row span{color:var(--muted)}
.row strong{font-weight:750}

.muted{color:var(--muted)}
.small{font-size:.85rem}

.footer{
  margin-top:1.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
}
