/* Per-politician profile pages: comparison chart, stat grid, delegation table.
   Chart palette validated with the dataviz validator against surface #111318:
     subject (took money) #EF1E20 · subject (clean) #1FA850 · context #5C626B
   Context bars are a deliberate neutral, and every bar is direct-labelled,
   so identity never rests on colour alone. */
:root{
  --cmp-ctx:   #5C626B;
  --cmp-hot:   #EF1E20;
  --cmp-clean: #1FA850;
}

/* ---------- comparison chart ---------- */
.cmp{margin-top:18px;max-width:820px}
.cmprow{display:grid;grid-template-columns:minmax(120px,190px) 1fr minmax(88px,auto);
        align-items:center;gap:14px;padding:7px 0}
.cmplabel{font-family:var(--font-condensed);font-size:13px;letter-spacing:.6px;
          text-transform:uppercase;color:var(--ink-dim);line-height:1.25}
.cmptrack{position:relative;height:22px;background:var(--bg-raise-2);border-radius:2px;overflow:hidden}
.cmptrack i{position:absolute;inset:0 auto 0 0;display:block;background:var(--cmp-ctx);
            border-radius:0 4px 4px 0;min-width:3px}
.cmpval{font-family:var(--font-condensed);font-weight:700;font-size:15px;
        color:var(--ink);white-space:nowrap;text-align:right}
.cmprow.is-subject .cmplabel{color:var(--ink);font-weight:600}
.cmprow.is-subject.hot   .cmptrack i{background:var(--cmp-hot)}
.cmprow.is-subject.hot   .cmpval{color:var(--red-bright)}
.cmprow.is-subject.clean .cmptrack i{background:var(--cmp-clean)}
.cmprow.is-subject.clean .cmpval{color:var(--cmp-clean)}
.chartnote{color:var(--ink-meta);font-size:13px;line-height:1.55;margin-top:14px;max-width:820px}
.chartnote a{color:var(--ink-dim)}

/* ---------- stat grid ---------- */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
          gap:12px;margin-top:22px;max-width:900px}
.statcell{background:var(--bg-raise);border:1px solid var(--line);border-left:3px solid var(--red);padding:13px 15px}
.statcell .sk{font-family:var(--font-condensed);font-size:11px;letter-spacing:1.4px;
              text-transform:uppercase;color:var(--ink-meta)}
.statcell .sv{font-family:var(--font-display);font-size:32px;line-height:1.05;margin:4px 0 3px;color:var(--ink)}
.statcell .sn{font-size:12.5px;color:var(--ink-dim);line-height:1.4}

/* ---------- delegation table ---------- */
.tablewrap{overflow-x:auto;margin-top:16px;border:1px solid var(--line);background:var(--bg-raise)}
table.deleg{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
table.deleg th{font-family:var(--font-condensed);font-size:11px;letter-spacing:1.6px;
               text-transform:uppercase;color:var(--ink-meta);text-align:left;
               padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
table.deleg td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.deleg tbody tr:last-child td{border-bottom:0}
table.deleg tbody tr:hover{background:var(--bg-raise-2)}
table.deleg tr.me{background:var(--bg-raise-2)}
table.deleg tr.me td{border-left:0}
table.deleg tr.me td:first-child{box-shadow:inset 3px 0 0 var(--red)}
table.deleg .num{text-align:right;font-family:var(--font-condensed);font-weight:600;white-space:nowrap}
table.deleg .dim{color:var(--ink-meta);font-weight:400}
table.deleg .ok{color:var(--cmp-clean);font-weight:700}
table.deleg a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
table.deleg a:hover{color:var(--red-bright);border-bottom-color:var(--red-bright)}

/* ---------- similar / candidate cards ---------- */
.simgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}
.simcard{display:flex;flex-direction:column;gap:5px;background:var(--bg-raise);
         border:1px solid var(--line);padding:14px 15px;text-decoration:none;transition:border-color .15s}
.simcard:hover{border-color:var(--red)}
.simcard .sn2{font-weight:700;color:var(--ink);font-size:15px;line-height:1.25}
.simcard .sm{font-family:var(--font-condensed);font-size:12px;letter-spacing:1px;
             text-transform:uppercase;color:var(--ink-meta)}
.simcard .sa{font-family:var(--font-condensed);font-weight:700;font-size:17px;color:var(--red-bright);margin-top:2px}

@media (max-width:640px){
  .cmprow{grid-template-columns:1fr;gap:5px;padding:9px 0}
  .cmpval{text-align:left}
  .statcell .sv{font-size:27px}
}

.simcard .sa.ok{color:var(--cmp-clean)}
