.funding-comparison .row { row-gap: 1rem; }
.funding-comparison .funding-party { padding: 1rem; border-radius: 8px; }
.funding-comparison .funding-item { display: block; min-width: 0; border-radius: 8px; text-align: left; }
.funding-comparison .candidate-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.35rem 0.75rem;
    min-width: 0;
}
.funding-comparison .candidate-name { grid-column: 1; font-size: 1rem; overflow-wrap: anywhere; }
.funding-comparison .candidate-name a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.funding-comparison .candidate-info > .small { grid-column: 1 / -1; grid-row: 2; overflow-wrap: anywhere; }
.funding-comparison .candidate-party { grid-column: 2; grid-row: 1; max-width: 7rem; }
.funding-comparison .funding-stats { align-items: flex-start; min-width: 0; gap: 0.35rem; margin-top: 1rem; }
.funding-comparison .primary-stat { font-size: 1.05rem; }
.funding-comparison .secondary-stat { line-height: 1.45; }
.funding-comparison .funding-stats > .small { font-size: 0.75rem; }
/* Compact account leaderboard; amounts retain their own column on mobile. */
.top-fundraisers { margin: 40px auto; }
.fundraisers-more { display:inline-block; margin:0 0 20px; font-weight:700; }
.fundraisers-directory { max-width:1100px; margin:40px auto; padding:0 20px; }
.fundraiser-filters { display:flex; flex-wrap:wrap; gap:20px; margin:28px 0 16px; }
.fundraiser-filters label { display:grid; gap:8px; flex:1 1 240px; font-weight:600; }
.fundraiser-filters input,.fundraiser-filters select { width:100%; min-height:44px; padding:8px; border:1px solid #9aabb8; border-radius:4px; background:#fff; color:#20242c; font:inherit; }
.fundraiser-sources { margin:24px 0; }
.fundraisers-directory .fundraiser-amount strong { color:var(--accent); }
.fundraisers-directory .fundraiser-rank { color:var(--muted); }
.fundraisers-directory .fundraiser-list li { border-color:var(--line); }
.fundraisers-directory .small { font-size:13px; }
.fundraisers-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.fundraiser-list { list-style:none; padding:0; margin:20px 0; }
.fundraiser-list li { display:grid; grid-template-columns:28px minmax(0,1fr) minmax(180px,auto); gap:16px; padding:16px 0; border-top:1px solid #cbd5dd; }
.fundraiser-rank { font-weight:700; color:#52616b; }
.fundraiser-identity a { font-weight:700; }
.fundraiser-identity,.fundraiser-amount { min-width:0; overflow-wrap:anywhere; }
.fundraiser-amount { text-align:right; }
.fundraiser-amount strong { font-size:20px; color:#007f83; }
.fundraiser-amount .small { max-width:290px; }
@media(max-width:600px) {
    .fundraiser-list li { grid-template-columns:20px minmax(0,1fr); gap:8px; }
    .fundraiser-amount { grid-column:2; text-align:left; }
    .fundraiser-amount .small { max-width:none; }
}
