fix(votes): chair-keyed tallies — party counts/absent match the hemicycle
Follow-up to !40 (merged) (post-!39 fix round with Catalyst, 2026-09-09).
Root cause of the tallies mismatch (SOC 2-vs-6, H&I 3-vs-4, DR 48/47): the party counter mixed CURRENT directory M2M with AT-VOTE-TIME members:
- ministers kept old party rows and voted via suppléant (AN counts them)
- resigned members kept seatless vote rows (DR phantom: 48 votes / 47 seats)
- renamed groups left orphan rows
party-tallies now returns chair-keyed fields alongside the row-based ones:
- absent = group directory chairs nobody voted from (== amber rule)
- chairVotes / chairPositions = vote rows mapped to the group's current seats Scrutin-level legend counters stay row-based (AN official decompte). Verified: chairVotes + absent == size on every party (law 705 / scrutin 7764). Front counterpart: risefor-front !80 (reads chair-keyed bar/total, amber seat-keyed, absent legend dot visible).