/* V3 Section C data analysis.
   Isolated from the voting observatory styles so the report-led prototype can
   evolve without changing the existing charts or generated deployment mirror. */

#tab-sectionc{
  --sc-blue:#2878B5;
  --sc-coral:#D4776B;
  --sc-slate:#3D5A68;
  --sc-amber:#C98B2E;
  --sc-green:#3C8066;
  --sc-muted:#7D8995;
}

.sc-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,300px);
  gap:30px;
  align-items:end;
  padding:25px 28px;
  margin-bottom:16px;
  border:1px solid var(--line);
  border-left:4px solid var(--coral);
  border-radius:0 14px 14px 0;
  background:linear-gradient(135deg,#fff 0%,#f6f9fa 100%);
  box-shadow:0 1px 3px rgba(45,55,72,.05);
}
.sc-intro h2{
  margin:0 0 8px;
  color:var(--slate-dark);
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.2vw,1.8rem);
  font-weight:400;
  line-height:1.16;
}
.sc-intro p:not(.section-title){max-width:790px;color:var(--text-light);font-size:.84rem}
.sc-filterbar{
  display:grid;
  grid-template-columns:1fr 1.35fr 1.2fr;
  gap:10px;
  margin-bottom:18px;
}
.sc-filter{
  min-width:0;
  padding:9px 11px 11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--white);
  box-shadow:0 1px 2px rgba(45,55,72,.03);
}
.sc-filter legend{
  padding:0 5px;
  color:var(--text-light);
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sc-filter-options{display:flex;gap:5px;flex-wrap:wrap}
.sc-filter-options button{
  appearance:none;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--text-light);
  padding:5px 9px;
  font:600 .63rem/1.2 inherit;
  cursor:pointer;
  transition:border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease);
}
.sc-filter-options button:hover{border-color:var(--slate);color:var(--text)}
.sc-filter-options button.on{
  border-color:var(--slate-dark);
  background:var(--slate-dark);
  color:#fff;
}
.sc-filter-options button:focus-visible,.sc-subnav button:focus-visible,.sc-pager button:focus-visible,
.sc-inline-control select:focus-visible{
  outline:3px solid rgba(212,119,107,.35);
  outline-offset:2px;
}

.sc-workspace{
  display:grid;
  grid-template-columns:255px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.sc-subnav{
  position:sticky;
  top:12px;
  max-height:calc(100vh - 24px);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  box-shadow:0 1px 3px rgba(45,55,72,.05);
  scrollbar-width:thin;
}
.sc-subnav-head{
  position:sticky;
  top:0;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px 9px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.97);
  color:var(--text-light);
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.sc-subnav button{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  width:100%;
  padding:9px 12px;
  border:0;
  border-bottom:1px solid #f0f2f4;
  background:transparent;
  color:var(--text-light);
  text-align:left;
  cursor:pointer;
}
.sc-subnav button:last-child{border-bottom:0}
.sc-subnav button:hover{background:#f7f9fa;color:var(--text)}
.sc-subnav button.on{
  background:linear-gradient(90deg,rgba(212,119,107,.13),rgba(212,119,107,.03));
  color:var(--slate-dark);
  box-shadow:inset 3px 0 0 var(--coral);
}
.sc-nav-number{
  color:var(--coral-deep);
  font-size:.67rem;
  font-weight:700;
  line-height:1.45;
}
.sc-nav-copy{min-width:0}
.sc-nav-title{display:block;font-size:.7rem;font-weight:600;line-height:1.32}

.sc-stage{min-width:0}
.sc-status{
  padding:28px;
  border:1px dashed #cdd5dc;
  border-radius:12px;
  background:#fff;
  color:var(--text-light);
  font-size:.88rem;
  text-align:center;
}
.sc-status.sc-error{border-color:#e1b2ab;background:#fff8f7;color:#9d483e}

.sc-article{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  box-shadow:0 2px 8px rgba(45,55,72,.06);
  animation:scReveal .25s var(--ease);
}
@keyframes scReveal{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.sc-article-head{padding:23px 27px 18px;border-bottom:1px solid var(--line)}
.sc-article h2{
  max-width:820px;
  margin:0 0 13px;
  color:var(--slate-dark);
  font-family:var(--serif);
  font-size:clamp(1.22rem,2vw,1.6rem);
  font-weight:400;
  line-height:1.2;
}
.sc-paragraphs{max-width:830px}
.sc-paragraphs p{
  margin:0 0 12px;
  color:#465463;
  font-family:var(--serif);
  font-size:.91rem;
  line-height:1.6;
}
.sc-paragraphs p:last-child{margin-bottom:0}

.sc-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:16px 27px;
  background:#fafbfc;
  border-bottom:1px solid var(--line);
}
.sc-metric{
  min-width:0;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.sc-metric-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.sc-metric-label{color:var(--text-light);font-size:.69rem;font-weight:600;line-height:1.35}
.sc-metric-value{
  display:block;
  margin:7px 0 4px;
  overflow-wrap:anywhere;
  color:var(--slate-dark);
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:500;
  line-height:1.05;
}
.sc-metric-unit{color:#8b97a2;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em}
.sc-metric-denominator{margin-top:7px;color:#7b8792;font-size:.65rem;line-height:1.35}

.sc-analysis{padding:20px 27px 22px}
.sc-analysis-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:15px;
  margin-bottom:10px;
}
.sc-analysis-head h3{
  margin:0;
  color:var(--slate-dark);
  font-family:var(--serif);
  font-size:1rem;
  font-weight:400;
}
.sc-analysis-head span{color:var(--text-light);font-size:.68rem;text-align:right}
.sc-chart{
  min-height:140px;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  padding:8px;
}
.sc-chart svg{display:block;width:100%;height:auto;min-width:500px}
.sc-chart text{font-family:'Inter',sans-serif}
.sc-chart-note{margin:7px 3px 0;color:#87939e;font-size:.67rem;font-style:italic;line-height:1.45}
.sc-empty-chart{display:grid;place-items:center;min-height:120px;padding:20px;color:var(--text-light);font-size:.8rem;text-align:center}
.sc-chart-stack{display:grid;gap:12px}
.sc-chart-subtitle{margin:2px 3px 5px;color:var(--text-light);font-size:.67rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase}

.sc-inline-control{display:flex;align-items:center;gap:8px;color:var(--text-light);font-size:.7rem}
.sc-inline-control select{
  max-width:210px;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--text);
  font:500 .73rem inherit;
}

/* Amplification-network workbench */
.sc-network-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.sc-network-controls select,.sc-network-controls button{
  min-height:30px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text-light);font:600 .65rem/1 inherit
}
.sc-network-controls button{cursor:pointer}.sc-network-controls button.on{border-color:var(--slate-dark);background:var(--slate-dark);color:#fff}
.sc-network-workbench{padding:0;overflow:visible}
.sc-network-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line);background:#f8fafb}
.sc-network-summary div{padding:11px 12px;border-right:1px solid var(--line)}.sc-network-summary div:last-child{border-right:0}
.sc-network-summary strong,.sc-network-summary span{display:block}.sc-network-summary strong{color:var(--slate-dark);font-family:var(--serif);font-size:1.08rem}
.sc-network-summary span{margin-top:2px;color:var(--text-light);font-size:.59rem;line-height:1.25;text-transform:uppercase;letter-spacing:.06em}
.sc-network-timeline{padding:10px 12px 2px;border-bottom:1px solid var(--line);background:#fff}
.sc-network-kicker{margin:1px 2px 4px;color:var(--text-light);font-size:.61rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.sc-network-timeline svg{display:block;width:100%;height:auto}
.sc-network-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);min-height:570px}
.sc-network-graph{min-width:0;padding:10px;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 50%,#fff 0,#f8fafb 100%)}
.sc-network-graph-head{display:grid;grid-template-columns:1fr 1fr 1fr;padding:2px 35px 7px;color:#87939e;font-size:.57rem;font-weight:700;letter-spacing:.1em;text-align:center}
.sc-network-svg{min-height:500px}.sc-network-svg svg{display:block;width:100%;min-width:0;min-height:500px}
.sc-net-nodes g{cursor:grab}.sc-net-nodes g:focus{outline:none}.sc-net-nodes g:focus path,.sc-net-nodes g:focus circle{stroke:#111;stroke-width:4px}
.sc-network-legend{display:flex;flex-wrap:wrap;gap:12px;padding:6px;color:#74828e;font-size:.61rem}
.sc-network-inspector{min-width:0;background:#fff}
.sc-network-tabs{display:grid;grid-template-columns:repeat(5,1fr);position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line);background:#fff}
.sc-network-tabs button{padding:11px 3px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-light);font:650 .61rem/1 inherit;cursor:pointer}
.sc-network-tabs button.on{border-bottom-color:var(--coral);color:var(--slate-dark);background:#fff8f7}
.sc-network-panel{max-height:555px;overflow:auto;padding:13px;scrollbar-width:thin}
.sc-network-panel h4{margin:0 0 9px;color:var(--slate-dark);font:500 1rem/1.2 var(--serif)}
.sc-panel-intro{margin:0 0 11px;color:var(--text-light);font-size:.67rem;line-height:1.45}
.sc-evidence-card{margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}
.sc-evidence-meta{margin-bottom:5px;color:var(--coral-deep);font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.sc-evidence-card p{display:-webkit-box;overflow:hidden;margin:0 0 7px;color:#40505c;font:400 .73rem/1.45 var(--serif);-webkit-box-orient:vertical;-webkit-line-clamp:4}
.sc-evidence-card small{color:#7d8995;font-size:.6rem;line-height:1.35}
.sc-actor-row,.sc-path-row{display:grid;grid-template-columns:auto 1fr auto;gap:4px 7px;align-items:center;padding:7px 2px;border-bottom:1px solid #eef1f3;font-size:.68rem}
.sc-actor-row small,.sc-path-row small{grid-column:2/-1;color:#87939e;font-size:.58rem}.sc-actor-dot{width:8px;height:8px;border-radius:50%}
.sc-path-row{grid-template-columns:1fr auto}.sc-path-row strong{color:var(--slate-dark)}
.sc-dsa-head{display:flex;align-items:baseline;justify-content:space-between;gap:9px}.sc-dsa-head a{color:var(--sc-blue);font-size:.62rem}
.sc-dsa-row{margin-bottom:5px;border:1px solid var(--line);border-left:3px solid #ccd4da;border-radius:7px;background:#fff}
.sc-dsa-row summary{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px;cursor:pointer;font-size:.63rem;list-style:none}
.sc-dsa-row summary::-webkit-details-marker{display:none}.sc-dsa-row summary strong{color:var(--slate-dark)}.sc-dsa-row summary span{line-height:1.3}.sc-dsa-row summary em{color:#7d8995;font-size:.52rem;text-transform:uppercase}
.sc-dsa-row p{margin:0;padding:0 9px 9px;color:#536170;font-size:.64rem;line-height:1.45}
.sc-dsa-potential{border-left-color:#c55447;background:#fff9f8}.sc-dsa-evidence_gap{border-left-color:#d29a37}.sc-dsa-related{border-left-color:#4b84a0}.sc-dsa-remedy{border-left-color:#3c8066}.sc-dsa-enforcement{border-left-color:#825a88}

@media(max-width:900px){
  .sc-network-summary{grid-template-columns:repeat(3,1fr)}
  .sc-network-layout{grid-template-columns:1fr}.sc-network-graph{border-right:0;border-bottom:1px solid var(--line)}
  .sc-network-panel{max-height:none}.sc-network-inspector{min-height:360px}
}
@media(max-width:600px){
  .sc-network-summary{grid-template-columns:repeat(2,1fr)}.sc-network-controls{justify-content:flex-start}
  .sc-network-graph-head{padding-inline:8px}.sc-network-svg{overflow:auto}.sc-network-svg svg{min-width:650px}
}

.sc-methodstrip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
  background:#f7f9fa;
}
.sc-methoditem{padding:12px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.sc-methoditem:nth-child(even){border-right:0}
.sc-methoditem:nth-last-child(-n+2){border-bottom:0}
.sc-methoditem strong{
  display:block;
  margin-bottom:3px;
  color:var(--slate-dark);
  font-size:.61rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.sc-methoditem span{display:block;color:var(--text-light);font-size:.7rem;line-height:1.45}
.sc-methoditem.sc-caveat{background:#fffaf2}

.sc-pager{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 17px;
  border-top:1px solid var(--line);
}
.sc-pager button{
  max-width:46%;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text-light);
  padding:8px 11px;
  font:600 .7rem/1.35 inherit;
  cursor:pointer;
}
.sc-pager button:hover{border-color:var(--coral);color:var(--coral-deep)}
.sc-pager button[disabled]{visibility:hidden}

.sc-dimension-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:3px}
.sc-dimension{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}
.sc-dimension-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}
.sc-dimension-head strong{color:var(--slate-dark);font-size:.74rem}
.sc-dimension p{margin:0;color:var(--text-light);font-size:.68rem;line-height:1.45}
.sc-status-pill{white-space:nowrap;border-radius:999px;padding:1px 5px;font-size:.49rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.sc-status-pill[data-status="implemented"]{background:#eaf6f0;color:#35745c}
.sc-status-pill[data-status="partial"]{background:#fff5df;color:#8a6427}
.sc-status-pill[data-status="not_tested"]{background:#f0f2f4;color:#687580}
.sc-status-pill[data-status="planned"]{background:#f2f0fa;color:#685a8b}

@media (max-width:980px){
  .sc-filterbar{grid-template-columns:1fr}
  .sc-workspace{grid-template-columns:215px minmax(0,1fr)}
  .sc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .sc-intro{grid-template-columns:1fr;padding:21px 20px;gap:15px}
  .sc-workspace{display:block}
  .sc-subnav{position:static;max-height:none;margin-bottom:12px}
  #sc-subnav-list{display:flex;overflow-x:auto;scroll-snap-type:x proximity}
  .sc-subnav button{flex:0 0 210px;border-bottom:0;border-right:1px solid #f0f2f4;scroll-snap-align:start}
  .sc-subnav button.on{box-shadow:inset 0 -3px 0 var(--coral)}
  .sc-article-head,.sc-analysis{padding-left:20px;padding-right:20px}
  .sc-metrics{padding-left:20px;padding-right:20px}
  .sc-methodstrip{grid-template-columns:1fr}
  .sc-methoditem,.sc-methoditem:nth-child(even),.sc-methoditem:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}
  .sc-methoditem:last-child{border-bottom:0}
}
@media (max-width:520px){
  .sc-metrics,.sc-dimension-list{grid-template-columns:1fr}
  .sc-filter-options button{font-size:.67rem}
  .sc-analysis-head{display:block}
  .sc-analysis-head span{display:block;margin-top:3px;text-align:left}
}
@media (prefers-reduced-motion:reduce){.sc-article{animation:none}}
@media print{
  .sc-filterbar,.sc-subnav,.sc-pager{display:none!important}
  .sc-workspace{display:block}
  .sc-article{box-shadow:none}
}
