/* Sankalp Foundation: deep navy, mint, sky and amber, styled like a data report. Space Grotesk for headings, Manrope
   for text. Change the colours and fonts here; base.css reads these variables. */
:root {
  --bg: #0B1220;
  --surface: #121B2E;
  --soft: #0F1729;
  --ink: #E9EEF7;
  --muted: #A9B4C8;
  --line: #24304A;
  --line-strong: #34425F;
  --brand: #3DDC97;
  --brand-hover: #5BE6AA;
  --brand-ink: #0B1220;
  --brand-text: #3DDC97;
  --focus: #F4B740;
  --eyebrow: #5AB4F0;
  --head: "Space Grotesk", system-ui, sans-serif;
  --body: "Manrope", system-ui, sans-serif;
  --radius: 10px;
  --radius-lg: 16px;
  --btn-radius: 10px;
  --wrap: 1220px;
  --gap: 18px;
  --input-bg: #0B1220;
  --menu-bg: #0B1220;
  --out-bg: #121B2E;
  --out-btn: #3DDC97;
  --out-btn-ink: #0B1220;
}
h1, h2, h3 { font-weight: 600; letter-spacing: -.02em; }
.btn { font-weight: 700; }
.btn-ghost { color: var(--ink); }

/* header */
.header { background: rgba(11,18,32,.95); border-bottom: 1px solid var(--line); }
.logo b { font: 700 1.35rem/1 var(--head); color: var(--ink); }
.logo small { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.nav a { font-weight: 600; color: var(--muted); }
.nav a:hover, .nav a[aria-current="page"] { color: var(--ink); background: var(--surface); }
.nav-toggle { color: var(--ink); border-color: var(--line-strong); }

/* hero dashboard */
.hero { padding-block: clamp(36px, 6vw, 80px); background: radial-gradient(circle at 80% 0%, rgba(61,220,151,.12), transparent 50%), radial-gradient(circle at 0% 100%, rgba(90,180,240,.10), transparent 45%); border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 60px); align-items: center; }
@media (max-width: 920px) { .hero-grid { grid-template-columns: minmax(0, 1fr); } }
.hero h1 { font-size: clamp(2.4rem, 5.6vw, 4.2rem); line-height: 1.02; margin: 14px 0 18px; }
.hero h1 span { color: var(--brand); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.dash { padding: clamp(18px, 3vw, 26px); border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kpis div { display: grid; gap: 4px; padding: 14px; border-radius: var(--radius); background: var(--bg); border: 1px solid var(--line); min-width: 0; }
.kpis b { font: 600 clamp(1.3rem, 3vw, 1.8rem)/1.1 var(--head); color: var(--ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kpis span { font-size: .85rem; color: var(--muted); }
.dash-h { margin: 18px 0 10px; font: 600 .82rem var(--head); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.hbars { list-style: none; display: grid; gap: 10px; }
.hbars li { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: .9rem; }
.hbars i { display: block; height: 12px; border-radius: 6px; min-width: 4px; transition: width .4s; }
.hbars b { font-variant-numeric: tabular-nums; font-size: .86rem; }
@media (max-width: 420px) { .hbars li { grid-template-columns: 80px minmax(0, 1fr); } .hbars b { grid-column: 2; } }
.p-art svg { border-bottom: 1px solid var(--line); }
.how-band { background: var(--soft); border-block: 1px solid var(--line); }
.process { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: var(--gap); }
.process li { display: grid; gap: 8px; align-content: start; padding: 22px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--surface); }
.process span { font: 700 2rem var(--head); color: var(--brand); }
.process p { color: var(--muted); }

/* impact report */
.filters { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(180px, 240px); gap: 18px 28px; align-items: end; padding: 18px; border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--line); }
@media (max-width: 1000px) { .filters { grid-template-columns: minmax(0, 1fr); } }
.f-group { display: grid; gap: 8px; min-width: 0; }
.f-label { font: 600 .78rem var(--head); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.chips button { background: var(--bg); color: var(--ink); border-color: var(--line-strong); border-radius: var(--radius); display: inline-flex; align-items: center; gap: 8px; }
.chips button i { width: 10px; height: 10px; border-radius: 50%; background: var(--dot, var(--brand)); }
.chips button[aria-pressed="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.chips button[data-prog][aria-pressed="false"] { opacity: .55; text-decoration: line-through; }
.kpis-lg { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0; }
@media (max-width: 760px) { .kpis-lg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kpis-lg b { font-size: clamp(1.4rem, 3.4vw, 2.2rem); color: var(--brand); }
.report-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 860px) { .report-grid { grid-template-columns: minmax(0, 1fr); } }
.panel { padding: 20px; border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--line); min-width: 0; }
.panel h2 { font-size: 1.15rem; margin-bottom: 14px; }
.panel svg { width: 100%; height: auto; max-width: 420px; }
.table-panel { margin-top: 18px; }
.table-scroll { overflow-x: auto; }
.ptable { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .93rem; }
.ptable th, .ptable td { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.ptable thead th { font: 600 .76rem var(--head); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ptable tbody th { font-weight: 700; }
.ptable small { display: block; font-weight: 400; color: var(--muted); font-size: .8rem; }
.ptable .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ptable .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; }
.empty-note { color: var(--muted); padding: 12px 0; }
.report-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-top: 18px; padding: 20px; border-radius: var(--radius-lg); border: 1px dashed var(--line-strong); }

/* inner pages */
.page-head { border-bottom: 1px solid var(--line); background: var(--soft); margin-bottom: clamp(24px, 4vw, 40px); }
.cta-band { background: var(--brand); color: var(--bg); }
.cta-band .btn-primary { background: var(--bg); color: var(--ink); }
.cta-band .btn-ghost { color: var(--bg); border-color: var(--bg); }
.footer { background: #070C16; color: var(--muted); --footer-line: var(--line); }
.footer h2 { color: var(--ink); }
.footer .credit a { color: var(--ink); }
.p-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
