/* Shared election profile, approved October 30, 2026. */
.approved-design { --area-gold:#876019; --gold:#876019; --approved-ink:#122f3f; --approved-line:#d5dedd; }
.approved-design [hidden] { display:none !important; }
.approved-preview-banner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:13px max(22px,calc((100% - 1180px)/2)); border-bottom:1px solid #d5dedd; color:#122f3f; background:#fff; font:14px/1.4 Inter,system-ui,sans-serif; }
.approved-preview-banner > div { display:flex; flex-wrap:wrap; gap:8px; }
.approved-preview-banner > div > span { color:#5e717a; }
.approved-preview-banner nav { display:flex; flex-wrap:wrap; gap:8px 18px; }
.approved-preview-banner a { color:#14655f; text-decoration:underline; text-underline-offset:3px; }
.approved-preview-banner a[aria-current] { font-weight:800; color:#122f3f; }
.approved-design .area-section > .section-heading .section-kicker,
.approved-design .content-section > .section-heading .section-kicker,
.approved-design .detail-heading .section-kicker { color:#876019; }
.approved-design .meeting-items-heading .section-kicker { color:#e0bd68; }
.approved-design .precinct-category-mark { color:#e0bd68; }
.approved-design :is(button,input,select,summary,a):focus-visible { outline:3px solid #16766f; outline-offset:3px; }
.approved-disclosure { border-top:1px solid var(--approved-line); color:#122f3f; }
.approved-disclosure > summary { min-height:44px; padding:12px 0; color:#14655f; font:700 14px/1.45 Inter,system-ui,sans-serif; cursor:pointer; }
.approved-disclosure[open] > summary { margin-bottom:8px; }
.approved-design[data-design-preview="city"] #stats { padding-bottom:40px; }
.approved-design[data-design-preview="city"] #stats + #offices { padding-top:40px; }
.approved-civic-records { margin-top:26px; border-top:1px solid #d5dedd; padding-top:24px; }
.approved-civic-records > h3 { margin:0 0 16px; color:#082f49; font:500 27px/1.2 Georgia,serif; }
.approved-civic-records .snapshot-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.approved-civic-records .snapshot-metric { padding:18px; border:1px solid #d5dedd; background:#fff; }
.approved-civic-records .snapshot-metric > span { color:#876019; font-size:11px; }
.approved-civic-records .snapshot-metric > strong { color:#082f49; font-size:34px; }
.approved-civic-records .snapshot-metric > small { color:#5e717a; font-size:12px; line-height:1.45; }
.approved-civic-records > p { color:#5e717a; font-size:14px; line-height:1.55; }
.approved-design .demographics-panel { align-self:start; }
.approved-design .demographics-panel .glance-panel-heading { margin-bottom:16px; }
.approved-design .demographics-panel .glance-source { margin-top:16px; padding-top:0; }
.approved-design .community-indicators.approved-income { display:block; margin-top:16px; border:1px solid #d5dedd; }
.approved-design .approved-income > div { border:0; padding:14px 16px; }

/* Meetings: headlines and recorded outcomes remain readable without expanding. */
.approved-design .meeting-report-list { gap:26px; }
.approved-design .meeting-report { box-shadow:none; }
.approved-design .meeting-report-header { padding:22px 24px 18px; gap:20px; }
.approved-design .meeting-report-heading h3 { font-size:28px; line-height:1.15; }
.approved-design .meeting-report-dek { font-size:14px; line-height:1.55; }
.approved-design .meeting-date-badge { min-height:98px; }
.approved-design .meeting-facts dd { font-size:13px; }
.approved-design .meeting-facts dt { font-size:11px; }
.approved-design .meeting-items-heading { margin:24px 24px 16px; padding:17px 20px; border:0; border-left:4px solid #d3a64c; background:#082f49; }
.approved-design .meeting-items-heading h4 { color:#fff; }
.approved-design .meeting-note-grid { grid-template-columns:minmax(0,1fr); gap:14px; padding:0 24px 18px; }
.approved-design .meeting-note-card,
.approved-design .meeting-note-card.is-latest { grid-template-columns:74px minmax(0,1fr); border:1px solid #d5dedd; border-left:4px solid var(--meeting-accent); box-shadow:none; background:var(--meeting-wash); }
.approved-design .meeting-note-card.is-topic-housing,
.approved-design .meeting-note-card.is-topic-transportation { --meeting-accent:#96513f; }
.approved-design .meeting-note-rail { align-self:start; margin:18px 0 18px 14px; padding:10px 6px; background:var(--meeting-accent); border:0; border-radius:2px; }
.approved-design .meeting-topic-icon { display:none; }
.approved-design .meeting-note-rail > span:nth-child(2) { margin-top:0; color:#fff; font-size:10px; }
.approved-design .meeting-note-rail > strong { margin-top:3px; color:#fff; font-size:26px; }
.approved-design .meeting-note-body { min-width:0; padding:18px 18px 8px 16px; }
.approved-design .meeting-note-body h5 { font-size:21px; line-height:1.25; margin:7px 0 12px; }
.approved-design .meeting-note-topline { font-size:11px; gap:8px; }
.approved-design .meeting-note-outcome { margin:8px 0 12px; padding:12px 14px; }
.approved-design .meeting-note-outcome > strong { font-size:14px; line-height:1.5; }
.approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); column-gap:24px; align-content:start; }
.approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-topline { grid-column:1 / -1; margin-bottom:12px; }
.approved-design .meeting-note-card:is(.is-latest,.is-previous) h5 { grid-column:1; margin:0; }
.approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-outcome { grid-column:2; margin:0; border:1px solid #d8c9a8; border-left:3px solid #876019; background:#fffdf7; }
.approved-design .meeting-note-outcome > span { display:inline-block; align-self:start; width:fit-content; padding:5px 7px; color:#735017; background:#f3e5c3; font-size:10px; letter-spacing:0.07em; }
.approved-outcome-points { margin:10px 0 0; padding-left:18px; color:#122f3f; font:650 14px/1.5 Inter,system-ui,sans-serif; }
.approved-outcome-points li + li { margin-top:7px; }
.approved-outcome-points li::marker { color:#876019; }
.approved-design .meeting-note-card:is(.is-latest,.is-previous) .approved-meeting-details { grid-column:1 / -1; margin-top:16px; }
.approved-design .meeting-outcome-note { display:flex; align-items:center; gap:12px; padding:12px 14px; font-size:13px; line-height:1.5; background:#faf4e6; }
.approved-design .meeting-outcome-note::before { content:'i'; flex:0 0 24px; width:24px; height:24px; border:1px solid #876019; border-radius:50%; color:#876019; font:700 17px/24px Georgia,serif; text-align:center; }
.approved-design .meeting-note-summary,
.approved-design .meeting-note-context p { font-size:14px; line-height:1.6; }
.approved-meeting-details { margin-top:10px; border-top-color:color-mix(in srgb,var(--meeting-accent) 24%,#fff); }
.approved-meeting-details > summary { color:var(--meeting-accent); }
/* Underlining the whole summary also paints a line beneath its +/− control. */
.approved-meeting-details > summary:hover { text-decoration:none; }
.approved-meeting-details > small { display:block; margin:12px 0; font-size:13px; line-height:1.5; }
.approved-meeting-details .meeting-note-context-row { margin:14px 0; }
.approved-design .meeting-note-links { margin:14px 0; }
.approved-design .meeting-public-comments { margin:18px 24px; }
.approved-design .meeting-public-comments-header h4 { font-size:21px; }
.approved-design .meeting-public-comments-header p { font-size:14px; }
.approved-comment-details { margin:14px 0 0; }

/* Boards: smaller illustrations, real title links, independent disclosures. */
.approved-design .board-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.approved-design .board-list > .board-item:nth-child(odd):last-child { width:100%; grid-column:auto; justify-self:stretch; }
.approved-design .board-item { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:start; gap:22px; padding:20px; overflow:visible; cursor:default; }
.approved-design .board-item > :not(.board-item-link) { pointer-events:auto; }
.approved-design .board-item.is-linked:hover { transform:none; box-shadow:none; }
.approved-design .board-item-visual { width:112px; height:auto; aspect-ratio:56/45; margin:0; overflow:hidden; border-radius:2px; }
.approved-design .board-item-visual img { width:100%; height:100%; object-fit:cover; transform:none !important; }
.approved-design .board-item-visual-shade { display:none; }
.approved-board-copy { min-width:0; }
.approved-design .board-item-topline { margin:0 0 6px; }
.approved-design .board-item-topline > span { font-size:11px; color:#876019; }
.approved-design .board-item .board-item-name { display:block; margin:0; font:500 25px/1.2 Georgia,serif; }
.approved-board-link { display:inline-block; color:#082f49; text-decoration:none; }
.approved-board-link:hover { text-decoration:underline; text-underline-offset:4px; }
.approved-design .board-item-description { margin:8px 0 12px; font-size:14px; line-height:1.55; }
.approved-design .public-meeting-summary.is-board-meeting { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:10px 0; padding:0; border:0; background:none; box-shadow:none; }
.approved-design .is-board-meeting .public-meeting-icon { display:none; }
.approved-design .is-board-meeting .public-meeting-copy { grid-column:1 / -1; }
.approved-design .is-board-meeting .public-meeting-label { font-size:11px; }
.approved-design .is-board-meeting .public-meeting-date { font-size:14px; }
.approved-design .is-board-meeting .public-meeting-venue,
.approved-design .is-board-meeting .public-meeting-address { font-size:12px; }
.approved-design .is-board-meeting .public-meeting-agenda-link { width:auto; min-height:40px; font-size:13px; padding:8px 12px; gap:8px; }
.approved-design .is-board-meeting .public-meeting-agenda-icon { width:16px; height:18px; }
.approved-board-details { margin-top:8px; }
.approved-design .board-item-facts dd,
.approved-design .board-item .board-item-leadership > strong,
.approved-design .board-item-roster > p { font-size:13px; }
.approved-design .board-item-facts dt,
.approved-design .board-item-leadership > span { font-size:11px; }
.approved-board-search { margin:0 0 24px; max-width:620px; }
.approved-board-search label,.approved-transaction-search > label { display:block; margin:0 0 8px; color:#122f3f; font-size:14px; font-weight:750; }
.approved-board-search input,.approved-transaction-search input { width:100%; min-height:46px; border:1px solid #91a3a9; border-radius:2px; padding:10px 13px; color:#122f3f; background:#fff; font:16px/1.4 Inter,system-ui,sans-serif; }
.approved-board-search p,.approved-transaction-search p { margin:7px 0 0; color:#5e717a; font-size:13px; }
.approved-board-search p:empty,.approved-transaction-search p:empty { display:none; }

/* Election essentials and financial records. */
.approved-design .race-stats-section { padding-top:40px; padding-bottom:38px; }
.approved-design .race-stats-money { margin-bottom:20px; }
.approved-design .race-stats-information-grid { grid-template-columns:minmax(0,1fr); gap:0; margin:20px 0; }
.approved-design .race-stats-voting-card { padding:20px 24px; }
.approved-design .race-stats-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.approved-design .race-stats-facts > div { min-width:0; background:#fbf5e7; }
.approved-design .race-stats-facts dt { color:#76551b; }
.approved-design .race-stats-facts dd { color:#122f3f; }
.approved-design .race-stats-voter-links { display:flex; flex-wrap:wrap; gap:10px 20px; }
.approved-design .race-stats-voter-links a { min-height:40px; display:inline-flex; align-items:center; font-size:14px; }
.approved-election-details { padding:0 24px; background:#fff; border:1px solid #d5dedd; }
.approved-election-details > summary { padding:16px 0; }
.approved-election-details-body { padding-bottom:22px; }
.approved-design .approved-election-details-body .race-stats-dates-card { padding:18px; margin-bottom:24px; }
.approved-design .approved-election-details-body .race-stats-path { margin-bottom:0; }
.approved-coverage { grid-column:1 / -1; align-self:stretch; width:100%; margin-top:12px; }
.approved-coverage dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:14px 0 10px; border-top:1px solid #d5dedd; }
.approved-coverage dt { font-size:12px; line-height:1.45; color:#5e717a; }
.approved-coverage dd { margin:4px 0 0; color:#122f3f; font-size:15px; font-weight:750; }
.approved-finances-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#14655f; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.approved-finances-link:hover { color:#122f3f; }
/* Candidate review, October 29: larger portraits and a clear page action. */
.approved-design[data-design-preview="election"] .candidate-card-top { grid-template-areas:"identity portrait" "coverage coverage"; grid-template-columns:minmax(0,1fr) 132px; }
.approved-design[data-design-preview="election"] .candidate-card-portrait { grid-row:1; width:132px; }
.approved-design[data-design-preview="election"] .candidate-card-portrait-frame { width:128px; height:128px; }
.approved-design[data-design-preview="election"] .candidate-record { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; }
.approved-candidate-record-copy { display:grid; gap:4px; min-width:0; line-height:1.4; overflow-wrap:anywhere; }
.approved-design .candidate-record .approved-candidate-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--teal); border-radius:3px; color:#fff; background:var(--teal); font-size:12px; line-height:1.4; text-decoration:none; }
.approved-design .candidate-record .approved-candidate-button .ptp-inline-page-mark { --ptp-inline-page-mark-color:#fff; }
.approved-design .candidate-record .approved-candidate-button:hover { background:#0d625d; border-color:#0d625d; text-decoration:none; }
.approved-design .candidate-record .approved-candidate-button:focus-visible { outline:3px solid #16766f; outline-offset:3px; text-decoration:none; }
@media(max-width:600px) {
  .approved-design[data-design-preview="election"] .candidate-card-top { grid-template-columns:minmax(0,1fr) 108px; }
  .approved-design[data-design-preview="election"] .candidate-card-portrait { width:108px; }
  .approved-design[data-design-preview="election"] .candidate-card-portrait-frame { width:104px; height:104px; }
  .approved-design[data-design-preview="election"] .candidate-record { grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:10px; }
  .approved-design .candidate-record .approved-candidate-button { margin:0; padding:8px; gap:4px; font-size:11px; text-align:center; }
}
.approved-transaction-search { margin:18px 0; padding:16px 20px; border:1px solid #d5dedd; background:#fff; }
.approved-transaction-search > div { display:flex; gap:10px; max-width:640px; }
.approved-transaction-search button,.approved-show-contributors { min-height:44px; padding:9px 14px; border:1px solid #91a3a9; background:#fff; color:#14655f; font:700 14px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
.approved-show-contributors { margin:14px 0 0; }
.approved-design .reviewed-ranking-group li { padding:10px 0; }
.approved-design .reviewed-ranking-group li strong { font-size:14px; line-height:1.4; }
.approved-design .reviewed-ranking-group li small { font-size:12px; }
.approved-design .transaction-sort { min-height:44px; }
.approved-design .transaction-sort .sort-indicator { min-width:16px; }
.approved-sections-button { display:none; }

@media(max-width:1000px) {
  .approved-design .board-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:900px) {
  .approved-civic-records .snapshot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-body { display:flex; }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) h5 { margin-bottom:14px; }
}
@media(max-width:600px) {
  .approved-design[data-design-preview="city"] #stats { padding-bottom:24px; }
  .approved-design[data-design-preview="city"] #stats + #offices { padding-top:24px; }
  .approved-preview-banner { padding:12px 20px; font-size:12px; }
  .approved-preview-banner nav { gap:10px 14px; }
  .approved-design .area-identity-line,
  .approved-design[data-hierarchy-style] .area-identity-line { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding:0; border:0; }
  .approved-design .area-identity-line > .area-layer,
  .approved-design[data-hierarchy-style] .area-identity-line > .area-layer { display:flex; flex:1 1 145px; min-width:0; min-height:60px; gap:9px; margin:0; padding:9px 11px; border:1px solid #d5dedd; border-radius:2px; background:#fff; }
  .approved-design .area-identity-line > .area-layer::before,
  .approved-design .area-identity-line > .area-layer::after,
  .approved-design .area-layer-branch-break { display:none !important; }
  .approved-design .area-layer-map,
  .approved-design[data-hierarchy-style] .area-layer-map { display:block !important; width:30px; height:34px; flex:0 0 30px; margin:0; }
  .approved-design .area-layer-map img { width:100%; height:100%; object-fit:contain; }
  .approved-design .area-layer-copy strong { color:#876019; font-size:10px; }
  .approved-design .area-layer-copy > span { color:#122f3f; font-size:13px; white-space:normal; }
  .approved-design[data-hierarchy-style] .area-identity-line > .area-layer.is-current { border-color:#876019; background:#fff8e6; }
  .approved-design .ptp-section-nav { overflow:visible; display:flex; flex-direction:column; }
  .approved-design .approved-sections-button { display:flex; order:-1; width:100%; min-height:48px; align-items:center; justify-content:space-between; padding:12px 22px; border:0; background:#fff; color:#122f3f; text-align:left; font:750 14px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
  .approved-sections-button::after { content:'⌄'; font-size:20px; }
  .approved-sections-button[aria-expanded="true"]::after { content:'⌃'; }
  .approved-design .ptp-section-nav-inner { display:none; position:absolute; top:100%; left:0; width:100%; max-height:65vh; margin:0; padding:8px 14px 14px; overflow:auto; background:#fff; box-shadow:0 14px 22px #082f4926; border-bottom:1px solid #d5dedd; }
  .approved-design .approved-sections-open .ptp-section-nav-inner { display:grid; grid-template-columns:minmax(0,1fr); }
  .approved-design .ptp-section-nav-inner a { min-height:44px; padding:12px; font-size:14px; }
  .approved-design .meeting-report-header { grid-template-columns:minmax(0,1fr); padding:18px; }
  .approved-design .meeting-report-heading h3 { font-size:25px; }
  .approved-design .meeting-date-badge { display:none; }
  .approved-design .meeting-facts { grid-template-columns:1fr; }
  .approved-design .meeting-facts > div { padding:12px 18px; border-left:0; }
  .approved-design .meeting-facts > div + div { border-top:1px solid #d5dedd; }
  .approved-design .meeting-note-grid { padding:0 16px 16px; }
  .approved-design .meeting-note-card,
  .approved-design .meeting-note-card.is-latest { grid-template-columns:54px minmax(0,1fr); }
  .approved-design .meeting-note-rail { margin:14px 0 14px 8px; padding:9px 4px; }
  .approved-design .meeting-note-rail > strong { font-size:24px; }
  .approved-design .meeting-note-body { padding:14px 12px 4px; }
  .approved-design .meeting-note-body h5 { font-size:20px; }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) { position:relative; display:block; }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-rail { position:absolute; top:14px; left:12px; width:44px; margin:0; }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-topline { min-height:54px; padding-left:58px; }
  .approved-design .meeting-note-card:is(.is-latest,.is-previous) .meeting-note-outcome { padding:12px; }
  .approved-design .meeting-source-links { padding:14px 18px 0; }
  .approved-design .meeting-items-heading { margin:22px 18px 12px; }
  .approved-design .meeting-public-comments { margin:16px; }
  .approved-design .board-item { grid-template-columns:62px minmax(0,1fr); gap:12px; padding:16px 14px; }
  .approved-design .board-item-visual { width:62px; height:auto; }
  .approved-design .board-item .board-item-name { font-size:22px; }
  .approved-design .board-item-description { font-size:14px; }
  .approved-design .board-item-facts { grid-template-columns:1fr; }
  .approved-design .board-item-leadership { grid-template-columns:1fr; gap:5px; }
  .approved-design .board-item-facts > div + div { border-left:0; padding-left:0; }
  .approved-design .race-stats-facts { grid-template-columns:1fr; }
  .approved-design .race-stats-voting-card { padding:18px; }
  .approved-election-details { padding:0 18px; }
  .approved-coverage dl { grid-template-columns:1fr; gap:10px; }
  .approved-transaction-search { padding:14px; }
}

.approved-terrain-help{margin:0;padding:12px 18px;border-top:1px solid #d5dedd;background:#fff;color:#5e717a;font-size:12px;line-height:1.5}

.approved-design[data-design-preview="election"] .candidate-identity .political-label{margin-top:5px}
.approved-design[data-design-preview="election"] .approved-campaign-website{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;min-height:36px;margin-top:6px;color:#14655f;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.approved-design[data-design-preview="election"] .approved-campaign-website:hover{color:#122f3f}

.approved-news-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin-top:24px}
.approved-news-controls p{margin:0;color:#c8d7dc;font-size:13px}
.approved-news-controls button{min-height:44px;border:1px solid #70c5af;border-radius:3px;padding:10px 20px;background:#16766f;color:#fff;font:750 14px/1.4 Inter,system-ui,sans-serif;cursor:pointer}
.approved-news-controls button:hover{background:#0d625d}

.approved-design[data-design-preview="election"] .approved-coverage .approved-campaign-website{margin-top:0;margin-bottom:8px}

/* Extend the existing Issues cards with the same three-color topic sequence. */
.approved-design[data-design-preview="election"] .issue-gallery-column:nth-child(3n + 2){--issue-gallery-accent:#d7a73b;--issue-gallery-tint:#f7ebc9}
.approved-design[data-design-preview="election"] .issue-gallery-column:nth-child(3n + 3){--issue-gallery-accent:var(--coral);--issue-gallery-tint:#f8dfd8}
.approved-design[data-design-preview="election"] .issue-gallery-column:nth-child(3n + 2) .issue-gallery-heading{color:var(--navy-deep)}
.approved-design[data-design-preview="election"] .issue-source-note{margin:0 0 16px;color:var(--muted);font-size:.8rem;line-height:1.6}

.approved-finance-scope{margin:0 0 8px;color:#5e717a;font-size:12px;line-height:1.5}
.approved-design[data-page-template="election-profile-v3"] .candidate-result-note{color:var(--approved-ink);font-size:20px;line-height:1.4;font-weight:800;}
.approved-design[data-page-template="election-profile-v3"] .candidate-result-note strong{font-weight:800;}
.approved-design[data-page-template="election-profile-v3"] .candidate-result-scope{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.4;font-weight:500;}
.approved-results-section .election-results-band{border:1px solid var(--approved-line);border-left:0;border-right:0;}
.approved-design #election-results .results-heading .section-kicker{color:#14655f;}
.approved-results-section .election-results-inner{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0;}
.approved-design .approved-results-section{width:100%;padding:20px 0 12px;}
.approved-design .approved-results-section>.section-heading{width:min(1180px,calc(100% - 40px));margin:0 auto 12px;padding-bottom:10px;}
.approved-results-section>[data-results-waiting]{width:min(1180px,calc(100% - 40px));margin-left:auto;margin-right:auto;}
.approved-design .approved-results-section:not([hidden])+#candidates{padding-top:24px;}
.approved-design .election-results-band.is-results-stuck{position:fixed;top:var(--approved-results-top);left:0;right:0;z-index:900;max-height:calc(100dvh - var(--approved-results-top) - 24px);overflow:auto;border-left:0;border-right:0;box-shadow:0 5px 12px #122f3f20;}
.approved-design .election-results-band.is-results-stuck.is-results-dismissed{visibility:hidden;pointer-events:none;}
.approved-design .results-details{position:relative;}
.approved-results-controls{position:relative;padding-top:12px;}
.approved-results-controls>.results-details{margin-top:0;}
.approved-design .results-details>summary{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;padding:9px 54px 9px 0;}
.approved-design .results-details>summary .ptp-disclosure-icon{order:-1;}
.approved-results-hide{position:absolute;right:0;top:13px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;}
.approved-results-hide-icon::before{content:"↑"!important;}
.approved-results-hide:disabled{cursor:default;}
.approved-results-hide:disabled .ptp-disclosure-icon{color:#929b9e!important;background:#e2e6e6!important;border-color:#b8c0c2!important;box-shadow:none!important;}
.approved-results-section .is-results-stuck .election-results-inner{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:12px 0;}
.approved-design[data-page-template="election-profile-v3"] main>[id]{scroll-margin-top:calc(var(--ptp-header-height,66px) + var(--ptp-section-nav-height,44px) + var(--approved-results-sticky-height,0px) + 16px)!important;}
.approved-design[data-page-template="election-profile-v3"] #results{scroll-margin-top:calc(var(--ptp-header-height,66px) + var(--ptp-section-nav-height,44px) + 16px)!important;}
@media(max-width:600px){.approved-results-section .election-results-inner{padding:18px 0;}}
@media(max-width:600px){.approved-results-section .is-results-stuck .election-results-inner{padding:10px 0;}}
@media(min-width:761px){
  .approved-design[data-page-template="election-profile-v3"] .candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Election selection uses text color, without the global header underline. */
.ptp-global-header[data-ptp-page-type="Election page"] .ptp-global-nav a[aria-current="page"] { color:#14655f; }
.ptp-global-header[data-ptp-page-type="Election page"] .ptp-global-nav a[aria-current="page"]::after { display:none; }

/* Keep each party contest separate in the compact Results bar. */
.party-primary-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:16px;}
.party-primary-overview .party-primary-heading{align-items:center;flex-wrap:wrap;gap:4px 12px;margin-bottom:9px;}
.party-primary-overview .party-primary-heading h3{font-size:15px;}

/* Quote cards need a full column on phones. */
@media(max-width:600px){.approved-design[data-page-template="election-profile-v3"] .issue-gallery-positions{grid-template-columns:minmax(0,1fr);}}
/* Three-candidate issue comparisons share one row on desktop. */
@media(min-width:960px){.approved-design[data-page-template="election-profile-v3"] .issue-gallery-positions:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Owner-requested supporting/opposing meters reuse the candidate amount tracks. */
.approved-design .candidate-independent-title { margin:0 0 12px; color:var(--muted); font:750 0.76rem/1.4 Inter,system-ui,sans-serif; }
.approved-design .independent-meter-pair { display:grid; gap:14px; }
.approved-design .candidate-card .cash-independent .cash-independent-support .amount-track span { background:#397b73; }
.approved-design .candidate-card .cash-independent .cash-independent-opposition .amount-track span { background:#9b594b; }
.approved-design .independent-meter-note { display:block; margin-top:9px; color:var(--muted); font:400 0.67rem/1.4 Inter,system-ui,sans-serif; }

/* Outside-spending tags preserve their labels as well as directional color. */
.approved-design .transaction-kind.is-outside-support { color:#17623a; border-color:#a9ceb7; background:#eaf5ee; }
.approved-design .transaction-kind.is-outside-opposition { color:#9f2c32; border-color:#e5b8bc; background:#fbecee; }

/* Payee drill-down keeps the existing ranking and transaction disclosure styles. */
.approved-design .reviewed-ranking-group li.payee-ranking-item { display:block; padding:0; }
.payee-disclosure > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 18px; align-items:center; gap:12px; padding:12px 0; cursor:pointer; list-style:none; }
.payee-disclosure > summary::-webkit-details-marker { display:none; }
.payee-disclosure > summary > span:first-child { display:grid; gap:3px; min-width:0; }
.payee-disclosure[open] > summary { border-bottom:1px solid #d5dedd; }
.payee-summary-body { padding:12px; background:#f4f8f7; color:#122f3f; font:13px/1.5 Inter,system-ui,sans-serif; }
.payee-summary-body p { margin:0 0 10px; }
.payee-summary-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 14px; }
.payee-summary-facts dt { color:#53656c; font-size:12px; }
.payee-summary-facts dd { margin:2px 0 0; font-weight:750; }
.payee-purpose-heading { font-weight:750; }
.payee-purpose-list { margin:0 0 12px; padding:0; list-style:none; }
.approved-design .reviewed-ranking-group .payee-purpose-list li { padding:8px 0; gap:10px; }
.payee-purpose-list li > span { overflow-wrap:anywhere; }
.payee-transactions-link { display:inline-block; padding:8px 0; color:#14655f; font-weight:750; text-underline-offset:3px; }
.payee-show-all,.payee-filter-status button { min-height:44px; margin-top:10px; padding:8px 12px; border:1px solid #91a3a9; background:#fff; color:#14655f; font:700 13px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
.payee-filter-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; padding:14px 16px; margin:14px 0; border:1px solid #91b4ad; background:#edf5f2; scroll-margin-top:calc(var(--ptp-global-header-height,66px) + var(--approved-results-sticky-height,0px) + 90px); }
.payee-filter-status p { margin:0; font:13px/1.5 Inter,system-ui,sans-serif; }
.payee-filter-status button { margin:0; }
@media(max-width:600px) {
  .payee-disclosure > summary { gap:8px; grid-template-columns:minmax(0,1fr) auto 18px; }
  .approved-design .reviewed-ranking-group .payee-purpose-list li { flex-wrap:wrap; }
}

.payee-entity-link { display:inline-flex; align-items:center; padding:9px 13px; margin:8px 12px 8px 0; border-radius:4px; background:#14655f; color:#fff; font-weight:750; text-decoration:none; }
.payee-entity-link:hover { background:#0d514d; }

.approved-design .donor-entity-link{color:#14655f;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
