/* These overrides belong only to the two review pages. */
.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; }
.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-coverage-details summary { display:list-item; min-height:40px; padding:8px 0; color:#14655f; font-size:13px; font-weight:700; cursor:pointer; }
.approved-coverage-details p { font-size:13px; line-height:1.55; color:#5e717a; margin:8px 0; }
.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; }
}
