*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --green:   #006231;
  --green2:  #0b7741;
  --gold:    #d1be78;
  --gold2:   #c2ac5f;
  --ink:     #172033;
  --body-text: #24344d;
  --supporting-text: #5a6e7f;
  --font-editorial: Georgia, "Times New Roman", serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-16: 64px;
  --navy:    var(--ink);
  --light:   #f4f7f5;
  --border:  #e0e8e4;
  --text:    var(--body-text);
  --muted:   var(--supporting-text);
  --nav-h:   74px;
  /* Used by the ported Department Snapshot CSS block below
     (.wc-profile-snapshot-total>small.is-down, .wc-profile-change-list
     .is-down, etc.) for a decrease/negative indicator color. */
  --flag:    #b3261e;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background: #fff;
  line-height: 1.6;
  /* nav#nav-menu is sticky so no padding-top needed */
}

/* Editorial typography is reserved for narrative display moments. Data,
   navigation, controls, and supporting copy remain in the UI sans serif. */
.wc-dept-goal-quote p,
.wc-dept-service-head h3,
.wc-dept-measure-trend span b,
.wc-budget-detail-header h2,
.wc-editorial-title,
.wc-editorial-quote {
  font-family: var(--font-editorial);
}

/* Branded, accessible poster shown before embedded videos are intentionally
   started. This avoids an unstyled black rectangle when YouTube is delayed. */
.wc-video-poster-host { position: relative; background: linear-gradient(145deg, #003f28 0%, #006231 72%, #2f8f5b 100%) !important; }
.wc-video-poster-host iframe { opacity: 0; transition: opacity .25s ease; }
.wc-video-poster-host.is-video-started iframe { opacity: 1; }
.wc-video-poster {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 24px;
  border: 0;
  background: linear-gradient(145deg, rgba(0,63,40,.94), rgba(0,98,49,.88));
  color: #fff;
  cursor: pointer;
  font: 800 .9rem/1.35 Arial, Helvetica, sans-serif;
  text-align: center;
}
.wc-video-poster::before {
  content: "\25B6";
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  padding-left: 4px;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 1.25rem;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.wc-video-poster::after {
  content: "WALTON COUNTY  •  FY 2027 BUDGET";
  color: #eadb9f;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .11em;
}
.wc-video-poster:hover::before { background: rgba(255,255,255,.22); transform: scale(1.04); }
.wc-video-poster:focus-visible { outline: 4px solid var(--gold); outline-offset: -7px; }
.wc-video-poster-host.is-video-started .wc-video-poster { display: none; }

a {
  color: var(--green);
}

a:where(:visited) {
  color: var(--green);
}

/* ── layout shell ── */
#layout {
  display: block;
  min-height: calc(100vh - var(--nav-h));
  background: #ffffff;
}

/* ── main content ── */
#content {
  padding: 40px 48px 80px;
  max-width: 980px;
  min-width: 0;
  margin: 0 auto;
  transition: margin .24s ease, max-width .24s ease;
}
/* ── index hero ── */
.hero {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  color: #fff; border-radius: 12px;
  padding: 40px 44px; margin-bottom: 36px;
}
.hero .eyebrow {
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 8px;
}
.hero h2 { font-size: 1.85rem; font-weight: 800; margin-bottom: 10px; }
.hero p  { font-size: .92rem; color: rgba(255,255,255,.85); max-width: 560px; }
.hero .stats { display: flex; gap: 36px; margin-top: 28px; flex-wrap: wrap; }
.hero .stat .n { font-size: 2rem; font-weight: 800; color: var(--gold); }
.hero .stat .l { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.65); }

/* ── index card grid ── */
.section-heading {
  font-size: .68rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .1em; color: var(--muted);
  border-bottom: 2px solid var(--border); padding-bottom: 6px; margin: 32px 0 14px;
}
.index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
  gap: 14px; margin-top: 0;
}
.index-card {
  border: 1px solid var(--border); border-radius: 10px;
  padding: 16px 18px; text-decoration: none; color: var(--text);
  transition: box-shadow .15s, border-color .15s; display: block;
}
.index-card:hover { border-color: var(--green); box-shadow: 0 4px 14px rgba(0,98,49,.12); color: var(--green); }
.index-card .card-section { font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 5px; }
.index-card .card-title   { font-size: .9rem; font-weight: 700; }

/* ── page content ── */
.page-eyebrow {
  font-size: .78rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: var(--green); margin: 4px 0 14px;
}
/* Section labels are useful in source and breadcrumbs, but the page title is
   the primary visual heading. Keep the labels out of the rendered page. */
.page-eyebrow { display: none; }
.page-title {
  font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 800; line-height: 1.12;
  color: var(--navy); margin: 0 0 16px;
}
.wc-page-title-row {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.wc-page-title-row .page-title { flex: 1 1 auto; min-width: 0; }
.wc-page-title-row .wc-asset-back { flex: 0 0 auto; margin-top: 6px; white-space: nowrap; }
.page-intro {
  max-width: 760px; margin: 0 0 40px;
  font-size: 1.05rem; line-height: 1.65; color: var(--text);
  text-align: left;
}
/* Explorer summaries read as primary explanatory copy. Keep them dark,
   justified, and separated when a summary contains more than one paragraph. */
.wc-personnel-explorer-head p,
.wc-department-explorer-head p,
.wc-revenue-explorer-head p,
.wc-explorer p {
  color: #000;
  font-size: .94rem;
  text-align: left;
  line-height: 1.65;
}
.wc-personnel-explorer-head p + p,
.wc-department-explorer-head p + p,
.wc-revenue-explorer-head p + p,
.wc-explorer p + p {
  margin-top: 14px;
}
.page-text p  { margin-bottom: 14px; font-size: .9rem; line-height: 1.75; }
.page-text h2 {
  font-size: .92rem; font-weight: 800; color: var(--navy);
  margin: 28px 0 10px; text-transform: uppercase; letter-spacing: .05em;
  border-left: 4px solid var(--gold); padding-left: 10px;
}
.page-text .wc-page-text-list {
  margin: -2px 0 18px;
  padding-left: 1.15rem;
}
.page-text .wc-page-text-list li {
  margin: 0 0 5px;
  padding-left: .15rem;
  font-size: .9rem;
  line-height: 1.65;
}
.page-text .wc-page-text-list li::marker {
  color: var(--green);
  font-size: .8em;
}

/* ── key metrics strip ── */
.wc-metrics-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
  margin: 0 0 40px;
}
.wc-metric-card {
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #ffffff;
}
.wc-metric-card .wc-metric-label {
  font-size: .68rem; font-weight: 800; letter-spacing: .07em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 8px;
}
.wc-metric-card .wc-metric-value {
  font-size: 1.5rem; font-weight: 800; color: var(--navy); line-height: 1.1;
}
.wc-metric-card .wc-metric-value.is-positive { color: var(--green); }
.wc-metric-card .wc-metric-value.is-negative { color: #9c3b3b; }

/* Summary of Personnel Cost / Summary of Contractual Services are
   temporarily unpublished -- reusable across list items, links, and spans
   since display:revert restores whatever that element's own natural
   default is (list-item for li, inline for a/span) instead of a single
   hardcoded value that would only be right for one of them. */
.wc-dark-mode-only { display: none; }

/* ── HB 1329 (F.S. 129.03(3)(f)) compliance document PNG export button ── */
.wc-png-export-controls { display: flex; justify-content: flex-end; margin: 14px 0 0; }
.wc-png-export-button { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1px solid var(--green); border-radius: 999px; background: var(--green); color: #fff; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 800; }
.wc-png-export-button:hover, .wc-png-export-button:focus-visible { background: var(--green2); border-color: var(--green2); }
.wc-png-export-button:disabled { opacity: .65; cursor: default; }

/* ── directory list (our-county / departments / budget-overview / financials) ── */
.wc-directory-group { margin: 0 0 30px; }
.wc-directory-group:last-child { margin-bottom: 0; }
.wc-directory-group-heading {
  margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border);
  color: var(--green); font-size: .78rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
}
.wc-directory-list { list-style: none; margin: 0; padding: 0; }
.wc-directory-list li {
  border: 1px solid var(--border); border-radius: 14px; background: #fff;
  margin-bottom: 10px;
}
.wc-directory-item {
  display: flex; align-items: center; gap: 20px; padding: 18px 22px;
  text-decoration: none; color: inherit;
}
.wc-directory-item:hover { background: var(--light); }
.wc-directory-item--static { cursor: default; }
.wc-directory-item--static:hover { background: transparent; }
.wc-directory-item-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; background: var(--light); color: var(--green); }
.wc-directory-item-icon svg { width: 20px; height: 20px; }
.wc-directory-item-main { flex: 1 1 auto; min-width: 0; }
.wc-directory-item-title { display: block; color: var(--navy); font-size: 1rem; font-weight: 800; }
a.wc-directory-item-title-link { text-decoration: none; }
a.wc-directory-item-title-link:hover { color: var(--green); text-decoration: underline; }
.wc-directory-item-desc { display: block; margin-top: 4px; color: var(--muted); font-size: .85rem; line-height: 1.55; }
.wc-directory-item-meta { display: flex; gap: 18px; flex: 0 0 auto; }
.wc-directory-item-stat { text-align: right; min-width: 84px; }
/* Each stat sits in a fixed-width slot, in the same order, on every row --
   so the columns line up down the whole list instead of shifting based on
   each row's own content length (e.g. a longer fund name or dollar
   figure). Wide enough for the longest realistic value in each column
   ("+$24.1M (+12.34%)" for trend) without wrapping. */
.wc-directory-item-stat--fund { width: 150px; flex: 0 0 150px; }
.wc-directory-item-stat--budget { width: 80px; flex: 0 0 80px; }
.wc-directory-item-stat--trend { width: 190px; flex: 0 0 190px; }
.wc-directory-item-stat--personnel { width: 70px; flex: 0 0 70px; }
.wc-directory-item-stat--fte-trend { width: 70px; flex: 0 0 70px; }
.wc-directory-item-stat--fund-budget { width: 90px; flex: 0 0 90px; }
.wc-directory-item-stat--overview-budget { width: 155px; flex: 0 0 155px; }
.wc-directory-item-stat--fund-projects { width: 110px; flex: 0 0 110px; }
.wc-directory-item-stat--fund-inhouse { width: 130px; flex: 0 0 130px; }
.wc-directory-item-stat strong { display: block; color: var(--green); font-size: .95rem; font-weight: 800; }
.wc-directory-item-stat--personnel strong {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
}
.wc-directory-staff-change {
  display: inline;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}
.wc-directory-item-stat span {
  display: block; margin-top: 2px; color: var(--muted); font-size: .65rem;
  font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.wc-directory-item-stat--budget > span,
.wc-directory-item-stat--trend > span,
.wc-directory-item-stat--personnel > span,
.wc-directory-item-stat--fte-trend > span {
  font-size: 0;
}
.wc-directory-item-stat--budget > span::after {
  content: "Budget";
  font-size: .68rem;
}
.wc-directory-item-stat--trend > span::after {
  content: "Budget Change";
  font-size: .68rem;
}
.wc-directory-item-stat--personnel > span::after {
  content: "Staff";
  font-size: .68rem;
}
.wc-directory-item-stat--fte-trend > span::after {
  content: "FTE";
  font-size: .68rem;
}
.wc-directory-item-stat--trend .wc-directory-item-trend-paren,
.wc-directory-item-stat--fte-trend {
  display: none;
}
.wc-directory-item-arrow { flex: 0 0 auto; color: var(--green); font-size: 18px; font-weight: 700; }
/* Sub-offices whose spending rolls up into a department's own total (e.g.
   Marketing/Communications/Sales & Visitor Center under Tourism
   Administration) -- listed under that department's row so the total
   reads as a sum of real accounts rather than one flat, undifferentiated
   number. */
.wc-directory-item-offices {
  list-style: none; margin: 0; padding: 10px 22px 14px; border-top: 1px dashed var(--border);
}
.wc-directory-item-offices li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  padding: 4px 0 4px 16px; border: none; margin: 0; background: transparent;
  position: relative;
}
.wc-directory-item-offices li::before {
  content: ""; position: absolute; left: 0; top: 12px; width: 8px; height: 1px; background: var(--border);
}
.wc-directory-item-office-name { color: var(--muted); font-size: .78rem; font-weight: 700; text-decoration: none; }
a.wc-directory-item-office-name:hover { color: var(--green); text-decoration: underline; }
.wc-directory-item-office-amount { color: var(--navy); font-size: .78rem; font-weight: 800; white-space: nowrap; }
/* "Loading" placeholder shown in directory stats and fund-summary callout
   cards while loadBudgetData() is in flight -- three dots that bounce in
   sequence rather than static text, so it's visually obvious the value is
   still loading rather than reading as a real (oddly-named) data value. */
.wc-loading-dots { display: inline-flex; gap: 3px; align-items: center; vertical-align: middle; }
.wc-loading-dots span {
  width: 5px; height: 5px; border-radius: 50%; background: currentColor;
  display: inline-block; animation: wcLoadingDotBounce 1s infinite ease-in-out both;
}
.wc-loading-dots span:nth-child(2) { animation-delay: .15s; }
.wc-loading-dots span:nth-child(3) { animation-delay: .3s; }
@keyframes wcLoadingDotBounce {
  0%, 80%, 100% { transform: translateY(0); opacity: .35; }
  40% { transform: translateY(-4px); opacity: 1; }
}
.wc-directory-item-stat strong.wc-directory-item-trend-up,
.wc-directory-item-stat strong.wc-directory-item-trend-down { white-space: nowrap; }
.wc-directory-item-stat strong.wc-directory-item-trend-up { color: var(--green); }
.wc-directory-item-stat strong.wc-directory-item-trend-down { color: #b3261e !important; }
.wc-directory-item-stat strong span.wc-directory-item-trend-paren {
  display: inline;
  margin-top: 0;
  text-transform: none;
  letter-spacing: normal;
  font-size: 1em;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
  white-space: nowrap;
}
.wc-directory-item-stat--trend .wc-directory-item-trend-paren {
  display: none;
}
@media (max-width: 640px) {
  .wc-directory-list li { border-radius: 12px; }
  .wc-directory-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 16px;
    padding: 18px;
  }
  .wc-directory-item-main { grid-column: 1 / -1; }
  .wc-directory-item-title { font-size: 1.05rem; line-height: 1.25; }
  .wc-directory-item-desc { font-size: .86rem; line-height: 1.5; }
  .wc-directory-item-meta {
    grid-column: 1 / -1;
    width: 100%;
    padding-top: 2px;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    width: 100%;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat {
    display: grid;
    grid-template-columns: minmax(82px, .55fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 10px;
    min-width: 0;
    width: auto;
    flex: none;
    text-align: left;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat strong {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    font-size: .9rem;
    line-height: 1.25;
    text-align: right;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat > span {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
    font-size: .68rem;
    line-height: 1.2;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat--budget > span,
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat--trend > span,
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat--personnel > span,
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat--fte-trend > span {
    font-size: 0;
  }
  .wc-directory-item-meta:has(.wc-directory-item-stat--trend) .wc-directory-item-stat--fte-trend {
    display: none;
  }
  .wc-directory-item-stat { min-width: 0; text-align: left; }
  .wc-directory-item-stat--fund,
  .wc-directory-item-stat--budget,
  .wc-directory-item-stat--trend,
  .wc-directory-item-stat--personnel,
  .wc-directory-item-stat--fte-trend,
  .wc-directory-item-stat--fund-budget,
  .wc-directory-item-stat--overview-budget,
  .wc-directory-item-stat--fund-projects,
  .wc-directory-item-stat--fund-inhouse {
    width: auto; flex: none;
  }
  .wc-directory-item-stat--fund,
  .wc-directory-item-stat--trend {
    grid-column: 1 / -1;
  }
  .wc-directory-item-stat--trend strong.wc-directory-item-trend-up,
  .wc-directory-item-stat--trend strong.wc-directory-item-trend-down {
    white-space: normal;
  }
  .wc-directory-item-arrow {
    grid-column: 1 / -1;
    justify-self: start;
    line-height: 1;
  }
}

/* ── table label (above walton-styled table) ── */
.wc-table-wrap { margin: 28px 0; }
.wc-table-wrap:has(+ .wc-table-footer-row) { margin-bottom: 8px; }

#general-government-tax-topics,
#intergovernmental-revenue-topics,
#charges-for-services-topics,
#permits-fees-topics,
#judgments-fines-topics,
#miscellaneous-revenue-topics { padding-top: 32px; }
#consolidated-revenue-summary-table { margin-bottom: 32px; }
#consolidated-revenue-summary-table > h2 { margin: 0 0 6px; color: var(--navy); font-size: 1.35rem; }
#consolidated-revenue-summary-table > p { margin: 0 0 16px; color: var(--muted); font-size: .75rem; }
.wc-revenue-ledger-section { margin: 34px 0 18px; border: 1px solid var(--border); border-radius: 18px; background: var(--card); overflow: hidden; }
.wc-revenue-ledger-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; cursor: pointer; list-style: none; }
.wc-revenue-ledger-section > summary::-webkit-details-marker { display: none; }
.wc-revenue-ledger-section > summary span { display: grid; gap: 4px; }
.wc-revenue-ledger-section > summary small {
  color: var(--green);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wc-revenue-ledger-section > summary strong { color: var(--navy); font-size: 1.25rem; }
.wc-revenue-ledger-section > summary em { color: var(--muted); font-size: .82rem; font-style: normal; font-weight: 400; }
.wc-revenue-ledger-section > summary b::before { content: "+"; color: var(--green); font-size: 1.8rem; }
.wc-revenue-ledger-section[open] > summary b::before { content: "−"; }
.wc-revenue-ledger-section.is-explorer-controlled { border: 0; border-radius: 0; background: transparent; overflow: visible; scroll-margin-top: 105px; }
.wc-revenue-ledger-section.is-explorer-controlled > summary { display: none; }
.wc-revenue-ledger-section.is-explorer-controlled:not([open]) { margin: 0; }
.wc-revenue-ledger-section.is-explorer-controlled[open] { margin-top: 34px; }
.wc-revenue-ledger-body { padding: 0 24px 20px; border-top: 1px solid var(--border); }
.wc-revenue-ledger-body > p { margin: 18px 0 0; color: var(--muted); line-height: 1.6; }
#consolidated-revenue-summary-table .wc-table-wrap { margin: 14px 0 8px; }
#consolidated-revenue-summary-table .wc-data-table th,
#consolidated-revenue-summary-table .wc-data-table td { padding-top: 9px; padding-bottom: 9px; }
#consolidated-revenue-summary-table .wc-table-label-row { padding-bottom: 8px; }
.wc-revenue-questions { margin: 32px 0 38px; }
.wc-revenue-question-heading { margin-bottom: 16px; }
.wc-revenue-question-heading span {
  color: var(--green);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wc-revenue-question-heading h2 { margin: 7px 0 0; color: var(--navy); }
.wc-revenue-question {
  margin: 0 0 12px;
  border: 1px solid rgba(0,63,40,.12);
  border-radius: 14px;
  background: #eef4ff;
  overflow: hidden;
}
.wc-revenue-question summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  color: #07549b;
  cursor: pointer;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 800;
  list-style: none;
}
.wc-revenue-question summary::-webkit-details-marker { display: none; }
.wc-revenue-question summary span::before { content: "+"; color: var(--green); font-size: 1.6rem; }
.wc-revenue-question[open] summary span::before { content: "−"; }
.wc-revenue-question > div { padding: 0 22px 20px; background: #fff; border-top: 1px solid rgba(0,63,40,.1); }
.wc-revenue-question p { max-width: 900px; margin: 18px 0 0; line-height: 1.7; }
.wc-revenue-guide-checklist { margin: 0 0 20px; padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: #f6f8fb; }
.wc-revenue-guide-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.wc-revenue-guide-head strong { color: var(--navy); font-size: 1rem; }
.wc-revenue-guide-head p { margin: 3px 0 0; color: var(--muted); font-size: .8rem; }
.wc-revenue-guide-head > span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: rgba(0,63,40,.09); color: var(--green); font-size: .72rem; font-weight: 800; }
.wc-revenue-guide-progress-track { height: 7px; margin: 0 0 15px; overflow: hidden; border-radius: 999px; background: rgba(0,63,40,.09); }
.wc-revenue-guide-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--green),#79b99a); transition: width .25s ease; }
.wc-revenue-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.wc-revenue-guide-grid label { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: flex-start; gap: 9px; min-width: 0; padding: 11px 10px 30px; border: 1px solid transparent; border-radius: 9px; background: #fff; color: var(--text); cursor: pointer; font-size: .78rem; line-height: 1.4; }
.wc-revenue-guide-grid label.is-complete { border-color: rgba(23,107,58,.18); background: #f4faf6; }
.wc-revenue-guide-grid input { flex: 0 0 auto; width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--green); }
.wc-revenue-guide-grid label > span { display: grid; gap: 3px; }
.wc-revenue-guide-grid label small { color: var(--green); font-size: .58rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.wc-revenue-guide-grid label b { color: var(--text); font-size: .76rem; font-weight: 700; }
.wc-revenue-guide-grid label em { position: absolute; right: 10px; bottom: 8px; padding: 2px 7px; border-radius: 999px; background: #eef1f5; color: #526175; font-size: .56rem; font-style: normal; font-weight: 850; text-transform: uppercase; }
.wc-revenue-guide-grid label.is-complete em { background: #e3f2e7; color: #176b3a; }
#revenue-source-concentration { margin: 30px 0; scroll-margin-top: 105px; }
.wc-revenue-browse { margin-top: 22px; border-top: 1px solid #cadbd2; padding-top: 16px; }
.wc-revenue-browse > summary { color: #006b35; cursor: pointer; font-weight: 800; list-style-position: inside; }
.wc-revenue-browse-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 8px; }
.wc-revenue-browse-controls label { color: #52677b; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wc-revenue-browse-controls select { background: #fff; border: 1px solid #cbd8d1; border-radius: 10px; color: var(--text); display: block; font: inherit; font-size: .92rem; margin-top: 6px; padding: 10px 12px; text-transform: none; width: 100%; }
.wc-revenue-browse-count { color: #607286; font-size: .85rem; margin: 10px 0; }
.wc-revenue-browse-results { border: 1px solid #d7e2dc; border-radius: 14px; max-height: 390px; overflow: auto; }
.wc-revenue-browse-row { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #e1e9e5; color: var(--text); cursor: pointer; display: grid; font: inherit; gap: 12px; grid-template-columns: minmax(190px, .9fr) minmax(260px, 1.5fr) auto auto; padding: 10px 16px; text-align: left; width: 100%; }
.wc-revenue-browse-row[hidden] { display: none; }
.wc-revenue-browse-row:last-child { border-bottom: 0; }
.wc-revenue-browse-row:hover { background: #f4f9f6; }
.wc-revenue-browse-row > span strong, .wc-revenue-browse-row > span small { display: block; }
.wc-revenue-browse-row > span small { color: #607286; font-size: .82rem; margin-top: 3px; }
.wc-revenue-browse-row > span small.wc-revenue-browse-amount { color: var(--text); font-size: .78rem; font-weight: 700; }
.wc-revenue-browse-description { display: -webkit-box; overflow: hidden; color: #52677b; font-size: .76rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.wc-revenue-browse-row > em { justify-self: start; border-radius: 999px; font-size: .75rem; font-style: normal; font-weight: 800; padding: 5px 9px; white-space: nowrap; }
.wc-revenue-browse-row > em.is-unrestricted, .wc-revenue-browse-row > em.is-moderate { background: #e6f5e9; color: #087332; }
.wc-revenue-browse-row > em.is-restricted { background: #fde8e6; color: #a6231b; }
.wc-revenue-browse-row > em.is-limited { background: #fff3d5; color: #805a00; }
.wc-revenue-browse-row > em.is-low, .wc-revenue-browse-row > em.is-varied { background: #edf1f5; color: #52677b; }
.wc-revenue-browse-row.is-static { cursor: default; background: #fafcfb; }
.wc-revenue-browse-row.is-static:hover { background: #fafcfb; }
.wc-revenue-browse-row.is-static > span strong { color: #52677b; font-weight: 700; }
@media (max-width: 760px) {
  .wc-revenue-browse-controls { grid-template-columns: 1fr; }
  .wc-revenue-browse-row { grid-template-columns: 1fr auto; }
  .wc-revenue-browse-description { grid-column: 1 / -1; grid-row: 2; }
  .wc-revenue-browse-row > em { justify-self: start; }
}
.wc-revenue-concentration { padding: 24px; border: 1px solid rgba(0,63,40,.16); border-radius: 20px; background: linear-gradient(145deg,#f8fcf9,#eef6f1); box-shadow: 0 12px 32px rgba(0,63,40,.07); }
.wc-revenue-concentration { position: relative; margin-top: 20px; }
.wc-revenue-concentration-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.wc-revenue-concentration-head span { color: var(--green); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wc-revenue-concentration-head h3 { margin: 5px 0 0; color: var(--navy); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 800; line-height: 1.12; }
.wc-revenue-concentration-head > div:first-child { flex: 1 1 auto; min-width: 0; }
.wc-revenue-concentration-head > div > p { max-width: 960px; margin: 7px 0 0; color: #000; font-size: .94rem; line-height: 1.55; }
.wc-revenue-concentration-head > strong { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: rgba(209,190,120,.2); color: #64551c; font-size: .72rem; }
.wc-revenue-total-budget { display: flex; flex: 0 0 auto; min-width: 220px; flex-direction: column; align-items: flex-end; gap: 14px; padding-top: 3px; text-align: right; }
.wc-revenue-total-budget span { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.wc-revenue-total-budget strong { display: block; margin-top: 4px; color: var(--navy); font-size: 1.35rem; }
.wc-revenue-total-primary { order: 1; min-width: 210px; }
.wc-revenue-total-primary > span { font-size: .72rem; }
.wc-revenue-total-primary > strong { margin-top: 3px; font-size: 1.65rem; }
.wc-revenue-total-change { display: block; color: var(--muted); font-size: 1rem; line-height: 1.35; white-space: nowrap; }
.wc-revenue-total-change.is-increase { color: #087443; font-weight: 800; }
.wc-revenue-total-change.is-decrease { color: #b42318; font-weight: 800; }
.wc-revenue-ledger-trigger, .wc-revenue-ledger-close, .wc-revenue-peer-trigger, .wc-revenue-peer-close { border: 1px solid #003f28; border-radius: 999px; background: linear-gradient(135deg, #003f28 0%, #005236 100%); color: #fff; cursor: pointer; font: inherit; font-size: .68rem; font-weight: 850; }
.wc-revenue-view-actions { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 7px; margin-top: 8px; }
.wc-revenue-concentration-head .wc-revenue-view-actions,
.wc-department-explorer-head .wc-department-ledger-trigger,
.wc-personnel-explorer-head .wc-personnel-explorer-total button { align-self: flex-start; }
.wc-revenue-concentration-head .wc-revenue-view-actions button,
.wc-department-explorer-head .wc-department-ledger-trigger,
.wc-personnel-explorer-head .wc-personnel-explorer-total button { font-size: .78rem; }
.wc-revenue-ledger-trigger, .wc-revenue-peer-trigger { padding: 7px 11px; }
/* the capital budget page uses an <a> for its Project Search action */
a.wc-revenue-ledger-trigger { display: inline-block; text-decoration: none; text-align: center; }
.wc-capital-page-actions { margin: 0 0 10px; }
.wc-breadcrumb .wc-capital-page-actions { margin: 0; }
.wc-revenue-peer-trigger { background: #fff; color: var(--green); }
.wc-revenue-peer-trigger:hover { background: #eef7f1; }
.wc-revenue-ledger-close { margin: 18px 0 0; padding: 8px 12px; }
.wc-revenue-ledger-trigger:hover, .wc-revenue-ledger-close:hover, .wc-revenue-peer-close:hover { background: linear-gradient(135deg, #00341f 0%, #00432c 100%); }
.wc-revenue-ledger-trigger:focus-visible, .wc-revenue-ledger-close:focus-visible, .wc-revenue-peer-trigger:focus-visible, .wc-revenue-peer-close:focus-visible { outline: 3px solid rgba(121,185,154,.5); outline-offset: 2px; }
.wc-revenue-peer-section { max-width: 1180px; margin: 34px auto 42px; scroll-margin-top: 105px; }
.wc-revenue-peer-close { margin-bottom: 16px; padding: 9px 14px; }
.wc-revenue-peer-card { padding: 26px; border: 1px solid rgba(0,63,40,.14); border-radius: 20px; background: var(--card); box-shadow: 0 8px 24px rgba(0,63,40,.07); }
.wc-revenue-peer-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.wc-revenue-peer-head > div > span { color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.wc-revenue-peer-head h2 { margin: 5px 0 7px; color: var(--navy); font-size: 1.45rem; }
.wc-revenue-peer-head p { max-width: 700px; margin: 0; color: var(--muted); font-size: .82rem; }
.wc-revenue-peer-head label { display: grid; gap: 5px; min-width: 285px; color: var(--muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.wc-revenue-peer-head select { padding: 9px 11px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--navy); font: inherit; font-size: .75rem; text-transform: none; }
.wc-revenue-peer-chart-wrap { height: 390px; margin-top: 22px; }
.wc-revenue-peer-insight { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin-top: 15px; padding: 12px 15px; border-left: 4px solid var(--gold); border-radius: 9px; background: rgba(209,190,120,.14); }
.wc-revenue-peer-insight strong { color: var(--navy); }
.wc-revenue-peer-insight span, .wc-revenue-peer-source { color: var(--muted); font-size: .75rem; }
.wc-revenue-peer-source { margin: 14px 0 0; line-height: 1.5; }
.wc-personnel-explorer { position: relative; margin: 20px 0 34px; padding: 26px; border: 1px solid rgba(0,63,40,.14); border-radius: 22px; background: linear-gradient(135deg,#f4f8f5 0%,#eef7f1 100%); box-shadow: 0 8px 26px rgba(0,63,40,.07); }
.wc-personnel-explorer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; }
.wc-personnel-explorer-head > div:first-child > span { color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.wc-personnel-explorer-head h2 { margin: 5px 0 7px; color: var(--navy); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 800; line-height: 1.12; }
.wc-personnel-explorer-head > div:first-child { flex: 1 1 auto; min-width: 0; }
.wc-personnel-explorer-head p { max-width: 1100px; margin: 0; color: #000; font-size: .94rem; text-align: left; }
.wc-personnel-total-budget { display: flex; flex: 0 0 auto; min-width: 220px; flex-direction: column; align-items: flex-end; gap: 14px; text-align: right; }
.wc-personnel-total-budget .wc-personnel-explorer-total { order: 1; }
.wc-personnel-total-budget .wc-personnel-budget-split { order: 2; }
.wc-personnel-budget-split { display: grid; grid-template-columns: 1fr; gap: 9px; padding-top: 2px; }
.wc-personnel-budget-split > div { min-width: 135px; padding: 0 0 9px; border-bottom: 1px solid rgba(0,63,40,.14); }
.wc-personnel-budget-split > div:first-child { padding-left: 0; }
.wc-personnel-budget-split > div:last-child { border-bottom: 0; padding-bottom: 0; }
.wc-personnel-budget-split span { display: block; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.wc-personnel-budget-split b { display: inline-block; margin-top: 4px; color: var(--green); font-size: 1.2rem; }
.wc-personnel-budget-split small { display: inline-block; margin: 4px 0 0 6px; color: var(--muted); font-size: .68rem; font-weight: 600; text-transform: none; letter-spacing: normal; }
.wc-personnel-explorer-total { flex: 0 0 auto; min-width: 210px; text-align: right; }
.wc-personnel-explorer-total > span { display: block; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.wc-personnel-explorer-total > strong { display: block; margin-top: 3px; color: var(--navy); font-size: 1.65rem; }
.wc-personnel-explorer-total > small { display: block; color: var(--muted); font-size: 1rem; line-height: 1.35; white-space: nowrap; }
.wc-personnel-explorer-total > small.is-increase { color: #087443; font-weight: 800; }
.wc-personnel-explorer-total > small.is-decrease { color: #b42318; font-weight: 800; }
.wc-personnel-explorer-total > div { display: flex; justify-content: flex-end; gap: 7px; margin-top: 9px; }
.wc-personnel-explorer-total button, .wc-personnel-explorer-total .wc-personnel-ledger-trigger, .wc-personnel-explainer-link { padding: 7px 10px; border: 1px solid #003f28; border-radius: 999px; background: linear-gradient(135deg, #003f28 0%, #005236 100%); color: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; display: inline-block; }
.wc-personnel-explorer-total button:hover, .wc-personnel-explorer-total .wc-personnel-ledger-trigger:hover { background: linear-gradient(135deg, #00341f 0%, #00432c 100%); }
.wc-personnel-explorer-total .wc-personnel-ledger-trigger + .wc-personnel-explainer-link { background: #fff; color: var(--green); }
.wc-personnel-explorer-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.wc-personnel-explorer-metrics article { position: relative; padding: 20px 18px 18px; border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: 0 8px 20px rgba(0,63,40,.05); overflow: hidden; }
.wc-personnel-explorer-metrics article:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#003f28,#79b99a); }
.wc-personnel-explorer-metrics article:nth-child(2):before { background: linear-gradient(90deg,#0b7741,#79b99a); }
.wc-personnel-explorer-metrics article:nth-child(3):before { background: linear-gradient(90deg,#c2ac5f,#d1be78); }
.wc-personnel-explorer-metrics article:nth-child(4):before { background: linear-gradient(90deg,#2f6072,#79b99a); }
.wc-personnel-explorer-metrics span { display: block; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wc-personnel-explorer-metrics strong { display: block; margin: 9px 0 3px; color: var(--navy); font-size: 1.5rem; font-weight: 800; }
.wc-personnel-explorer-metrics small { color: var(--muted); font-size: .74rem; line-height: 1.4; }
.wc-personnel-explorer-metrics article:nth-child(2) small { line-height: 1.45; }
.wc-personnel-function-metric { display: flex; flex-direction: column; }
.wc-personnel-function-metric > span { margin-bottom: 8px; }
.wc-personnel-function-metric .wc-personnel-function-list { display: flex; flex-wrap: wrap; gap: 6px; }
.wc-personnel-function-metric .wc-personnel-function-list span { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 8px; border-radius: 999px; background: #eef1f4; color: var(--muted); font-size: .7rem; font-weight: 500; text-transform: none; letter-spacing: normal; cursor: pointer; }
.wc-personnel-function-metric .wc-personnel-function-list span:hover, .wc-personnel-function-metric .wc-personnel-function-list span:focus-visible { background: #dfe7ec; }
.wc-personnel-function-metric .wc-personnel-function-list b { color: #2f6072; font-weight: 800; }
.wc-personnel-driver-row { margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--border); }
.wc-personnel-driver-row strong { display: block; color: var(--navy); font-size: .95rem; }
.wc-personnel-driver-row small { display: block; margin-top: 3px; color: var(--muted); font-size: .7rem; line-height: 1.35; }
.wc-personnel-driver-row small.wc-personnel-driver-amount { color: var(--text); font-weight: 700; font-size: .78rem; }
.wc-personnel-info-badge { position: relative; display: inline-grid; width: 14px; height: 14px; margin-left: 6px; border: 1px solid rgba(0,63,40,.35); border-radius: 50%; background: transparent; place-items: center; color: var(--muted); font-size: .58rem; font-style: italic; font-weight: 700; line-height: 1; vertical-align: .12em; cursor: pointer; }
.wc-personnel-info-badge:hover, .wc-personnel-info-badge:focus { border-color: var(--green); color: var(--green); }
.wc-personnel-workforce-split { display: grid; gap: 5px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--border); }
.wc-personnel-workforce-split span { display: block; color: var(--muted); font-size: .68rem; font-weight: 500; letter-spacing: normal; text-transform: none; }
.wc-personnel-workforce-split b { color: var(--green); font-size: .78rem; }
.wc-personnel-turnover-detail { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 7px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted); font-size: .67rem; line-height: 1.35; }
.wc-personnel-turnover-detail b { color: var(--green); font-size: .78rem; }
.wc-workforce-type-split { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--border); }
.wc-personnel-explorer-metrics .wc-workforce-type-split span { display: inline-flex; align-items: baseline; gap: 4px; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.wc-workforce-type-split b { color: var(--green); font-size: .78rem; }
.wc-personnel-profile-column { display: flex; min-width: 0; flex-direction: column; gap: 18px; margin-top: 18px; }
.wc-personnel-dept-fte-badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: #eef1f4; color: var(--navy); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.wc-personnel-profile-card { padding: 16px; border: 1px solid rgba(0,63,40,.11); border-radius: 14px; background: #fff; }
.wc-personnel-cost-mix + .wc-personnel-cost-mix { margin-top: 9px; }
.wc-personnel-cost-mix > div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .76rem; }
.wc-personnel-cost-mix strong { color: var(--navy); }
.wc-personnel-cost-mix i { display: block; height: 6px; margin-top: 4px; overflow: hidden; border-radius: 999px; background: #e7eee9; }
.wc-personnel-cost-mix i b { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.wc-personnel-profile-card > h3 { margin: 20px 0 10px; }
.wc-personnel-function-list { display: flex; flex-wrap: wrap; gap: 6px; }
.wc-personnel-function-list span { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 8px; border-radius: 999px; background: #eef1f4; color: var(--muted); font-size: .7rem; }
.wc-personnel-function-list span { cursor: pointer; }
.wc-personnel-function-list span:hover,.wc-personnel-function-list span:focus-visible { background: #dfe7ec; }
.wc-personnel-cost-help-badge { position: relative; display: inline-grid; width: 20px; height: 20px; margin-left: 7px; border: 0; border-radius: 50%; background: var(--green); place-items: center; color: #fff; font-size: .7rem; font-weight: 900; line-height: 1; vertical-align: .12em; cursor: pointer; }
.wc-personnel-explorer-metrics .wc-personnel-cost-help-badge { display: inline-grid; width: 18px; height: 18px; margin-left: 5px; padding: 0; color: #fff; font-size: .66rem; vertical-align: middle; }
.wc-personnel-explorer-metrics .wc-personnel-cost-help-text { display: none; left: auto; right: 0; width: 260px; color: var(--text); text-transform: none; letter-spacing: normal; }
.wc-personnel-explorer-metrics .wc-personnel-cost-help-badge:hover .wc-personnel-cost-help-text,.wc-personnel-explorer-metrics .wc-personnel-cost-help-badge:focus .wc-personnel-cost-help-text { display: block; }
.wc-personnel-floating-help { position: fixed; z-index: 9999; display: none; width: 260px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); box-shadow: 0 10px 28px rgba(0,0,0,.16); font-size: .72rem; font-weight: 500; line-height: 1.45; text-align: left; }
.wc-personnel-floating-help.is-visible { display: block; }
.wc-personnel-cost-help-text { display: none; position: absolute; z-index: 5; top: calc(100% + 9px); left: 0; width: 280px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--card,#fff); color: var(--text); box-shadow: 0 8px 22px rgba(0,0,0,.15); font-size: .72rem; font-weight: 500; line-height: 1.45; text-align: left; }
.wc-personnel-cost-help-badge:hover .wc-personnel-cost-help-text,.wc-personnel-cost-help-badge:focus .wc-personnel-cost-help-text { display: block; }
.wc-personnel-function-list b { color: #2f6072; }
.wc-personnel-explorer-metrics .wc-personnel-net-change-pills,
.wc-personnel-profile-card .wc-personnel-net-change-pills { display: flex; flex-wrap: wrap; column-gap: 16px; row-gap: 12px; margin-top: 12px; }
.wc-personnel-net-change-pills span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; background: #eef1f4; color: var(--muted); font-size: .7rem; font-weight: 500; text-transform: none; letter-spacing: normal; cursor: pointer; }
.wc-personnel-net-change-pills span:hover, .wc-personnel-net-change-pills span:focus-visible { background: #dfe7ec; }
.wc-personnel-net-change-pills b { color: #2f6072; font-weight: 800; }
.wc-personnel-net-change-pills span.is-increase b { color: var(--green); }
.wc-personnel-net-change-pills span.is-decrease b { color: #b42318; }
.wc-personnel-profile-card > p { margin: 10px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.wc-personnel-ledger { margin: 34px 0 42px; scroll-margin-top: 105px; }
.wc-personnel-section-heading { margin-bottom: 18px; }
.wc-personnel-section-heading h2 { margin: 0; }
.wc-personnel-section-heading p { margin: 6px 0 0; }
.wc-personnel-ledger-close { display: block; width: max-content; margin: 0 0 12px; padding: 9px 14px; border: 1px solid rgba(0,63,40,.2); border-radius: 999px; background: var(--green); color: #fff; cursor: pointer; font: inherit; font-size: .7rem; font-weight: 850; }
.wc-personnel-ledger-tabs { display: inline-flex; gap: 4px; margin: 4px 0 20px; padding: 4px; border: 1px solid var(--border); border-radius: 999px; background: #edf3ef; }
.wc-personnel-ledger-tabs button { padding: 8px 13px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 800; }
.wc-personnel-ledger-tabs button.is-active { background: var(--green); color: #fff; }
.wc-personnel-ledger-panel-heading { margin: 0 0 14px; }
.wc-personnel-ledger-panel-heading h3 { margin: 0 0 4px; color: var(--navy); }
.wc-personnel-ledger-panel-heading p { margin: 0; color: var(--muted); font-size: .74rem; }
.wc-personnel-ledger-close:hover { background: #075d3d; }
.wc-personnel-ledger-close:focus-visible { outline: 3px solid rgba(121,185,154,.5); outline-offset: 2px; }
/* The "Show COLA, Health Insurance & Increase" toggle (see
   renderPersonnelCostSummary in budget-data.js) sets this body-level
   class -- shared globally since the personnel cost table renders on
   both the homepage Personnel Explorer popup and personnel-ledger.html. */
.wc-personnel-cost-optional-col { display: none; }
body.wc-show-personnel-cost-optional-cols .wc-personnel-cost-optional-col { display: table-cell; }
/* Belt-and-suspenders: keeps the main table's own optional columns out of
   the "Staffing and Cost by Position" popup even if a future change makes
   it reuse this class again. The popup's own COLA/Health Insurance
   breakout uses a separate class + toggle -- see
   .wc-personnel-position-optional-col below. */
body.wc-show-personnel-cost-optional-cols .wc-budget-detail-modal .wc-personnel-cost-optional-col { display: none; }
/* The "Show COLA, Health Insurance & Increase" toggle inside a "Staffing
   and Cost by Position" popup (see personnelCostDeptDetailHtml/the
   delegated click handler for .wc-personnel-position-optional-cols-toggle
   in budget-data.js). Deliberately a separate class from
   .wc-personnel-cost-optional-col above -- this one is scoped per-popup via
   an is-showing-optional-cols class on that popup's own table, since
   several of these popups can exist in the DOM at once, each needing
   independent state. */
.wc-personnel-position-optional-col { display: none; }
table.wc-personnel-position-detail.is-showing-optional-cols .wc-personnel-position-optional-col { display: table-cell; }
/* Salaries & Wages and the combined Retirement/Health Insurance/Other
   Benefits cells each carry two figures (see personnelSplitAmountHtml in
   budget-data.js): the full amount (shown while its own breakout column
   is hidden) and the base amount with that component backed out (shown
   once the breakout column is visible), so the row's visible columns
   always sum to its real Total instead of double-counting COLA/Health
   Insurance. Same is-showing-optional-cols toggle as the breakout
   columns themselves. The header label swap (see the Retirement/Health
   Insurance/Other Benefits <th> markup) follows the same pattern. */
.wc-personnel-base-amt { display: none; }
table.wc-personnel-position-detail.is-showing-optional-cols .wc-personnel-full-amt { display: none; }
table.wc-personnel-position-detail.is-showing-optional-cols .wc-personnel-base-amt { display: inline; }
/* Same idea, independent toggle: FY 2024/FY 2025 FTE columns (see the
   .wc-personnel-position-fte-history-toggle click handler in
   budget-data.js) -- a separate class/state from the COLA & Health
   Insurance toggle above so either can be shown without the other. */
.wc-personnel-position-fte-optional-col { display: none; }
table.wc-personnel-position-detail.is-showing-fte-history .wc-personnel-position-fte-optional-col { display: table-cell; }
.wc-staffing-notes-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.wc-staffing-notes-title-row .wc-staffing-notes-title { margin: 0; }
.wc-staffing-notes-title-row-toggles { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; margin-top: -3px; }
#wcPersonnelCostExportAllButton { display: none; }
.wc-revenue-support-split { order: 2; display: grid; grid-template-columns: 1fr; gap: 9px; width: 100%; padding-top: 2px; }
.wc-revenue-support-split > div { min-width: 135px; padding: 0 0 9px; border-bottom: 1px solid rgba(0,63,40,.14); }
.wc-revenue-support-split > div:last-child { border-bottom: 0; padding-bottom: 0; }
.wc-revenue-support-split span { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.wc-revenue-support-split b { display: block; margin-top: 4px; color: var(--green); font-size: 1.2rem; }
.wc-revenue-concentration-summary { margin: 14px 0 18px !important; font-size: .98rem; }
.wc-revenue-concentration-summary strong { color: var(--green); font-size: 1.25rem; }
.wc-personnel-concentration-summary { margin: 0 !important; color: var(--text); font-size: .98rem; flex: 1 1 auto; }
.wc-personnel-concentration-summary strong { color: var(--green); font-size: 1.25rem; font-weight: 800; }
.wc-personnel-card-summary-row { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); margin: var(--space-6) 0; }
.wc-personnel-card-summary-row .wc-personnel-budget-split { display: flex; flex: 0 0 auto; gap: 28px; width: auto; padding: 0; }
.wc-personnel-card-summary-row .wc-personnel-budget-split > div { min-width: 150px; padding: 0; border: 0; text-align: right; }
@media (max-width: 650px) {
  .wc-personnel-card-summary-row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .wc-personnel-card-summary-row .wc-personnel-budget-split { flex-wrap: wrap; gap: 14px 28px; }
  .wc-personnel-card-summary-row .wc-personnel-budget-split > div { min-width: 130px; text-align: left; }
}
.wc-revenue-card-summary-row { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); margin: var(--space-6) 0; }
.wc-revenue-card-summary-row .wc-revenue-concentration-summary { flex: 1 1 auto; margin: 0 !important; }
.wc-revenue-card-summary-row .wc-revenue-support-split { display: flex; flex: 0 0 auto; gap: 28px; width: auto; padding: 0; }
.wc-revenue-card-summary-row .wc-revenue-support-split > div { min-width: 170px; padding: 0; border: 0; text-align: left; }
.wc-revenue-card-summary-row .wc-revenue-support-split small { display: block; margin-top: 2px; color: var(--muted); font-size: .68rem; }
.wc-revenue-card-summary-row .wc-revenue-support-split .wc-revenue-support-amount-row { display: flex; align-items: baseline; justify-content: flex-start; gap: 8px; }
.wc-revenue-card-summary-row .wc-revenue-support-split .wc-revenue-support-amount-row small { margin-top: 0; }
.wc-revenue-card-summary-row + .wc-revenue-snapshot { margin-top: 0; }
.wc-revenue-snapshot { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.wc-revenue-snapshot > * { position: relative; display: grid; align-content: start; min-width: 0; padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: #fff; color: var(--text); font: inherit; text-align: left; }
.wc-revenue-snapshot span.wc-department-card-rank { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; line-height: 1; padding: 0; border-radius: 999px; background: var(--green); color: #fff; font-size: .72rem; font-weight: 850; text-transform: none; }
.wc-revenue-snapshot strong { padding-right: 32px; }
.wc-revenue-snapshot > button, .wc-revenue-snapshot > a { cursor: pointer; text-decoration: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.wc-revenue-snapshot > button:hover, .wc-revenue-snapshot > a:hover { transform: translateY(-2px); border-color: #79b99a; box-shadow: 0 9px 22px rgba(0,63,40,.1); }
.wc-revenue-snapshot > button:has([data-revenue-tooltip]:hover),
.wc-revenue-snapshot > article:has([data-revenue-tooltip]:hover) { z-index: 30; overflow: visible; }
.wc-revenue-snapshot > button:focus-visible, .wc-revenue-snapshot > a:focus-visible { outline: 3px solid rgba(121,185,154,.45); outline-offset: 2px; }
.wc-revenue-snapshot span { color: var(--green); font-size: .67rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.wc-revenue-snapshot strong { margin-top: 6px; overflow: hidden; color: var(--navy); font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.wc-revenue-snapshot b { margin-top: 12px; color: var(--green); font-size: 1.6rem; }
.wc-revenue-share { display: flex; align-items: baseline; gap: 6px; margin-top: 12px; }
.wc-revenue-share b { margin-top: 0; }
.wc-revenue-share small { margin-top: 0; font-size: .61rem; font-weight: 750; white-space: nowrap; }
.wc-revenue-snapshot small { margin-top: 4px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.wc-revenue-snapshot em { margin-top: 14px; color: var(--green); font-size: .72rem; font-style: normal; font-weight: 800; }
.wc-revenue-snapshot-access { display: inline-flex; align-items: center; justify-self: start; gap: 5px; margin-top: 9px; padding: 4px 7px; border-radius: 999px; font-size: .65rem; font-weight: 900; }
.wc-revenue-snapshot-access::before { content: ""; display: inline-block; width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 50%; }
.wc-revenue-snapshot-access.is-restricted { background: #fdebea; color: #b42318; }
.wc-revenue-snapshot-access.is-restricted::before { content: "!"; width: 12px; height: 12px; border: 0; background: #b42318; color: #fff; font-size: .58rem; line-height: 12px; text-align: center; }
.wc-revenue-snapshot-access.is-unrestricted { background: #e8f5ec; color: #176b3a; }
.wc-revenue-card-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 9px; padding-right: 32px; }
.wc-revenue-card-badges .wc-revenue-snapshot-access { margin: 0; }
.wc-revenue-card-badges .wc-revenue-recurrence-badge { margin: 0; }
.wc-revenue-badge-separator { color: var(--muted); font-size: .8rem; font-weight: 900; }
.wc-revenue-card-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; padding-right: 32px; }
.wc-revenue-card-title-row strong { flex: 1 1 160px; min-width: 120px; padding-right: 0; overflow: visible; text-overflow: clip; white-space: normal; }
.wc-revenue-card-title-row .wc-revenue-card-badges { flex: 0 1 auto; margin-top: 0; }
.wc-revenue-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-width: 0; }
.wc-revenue-card-head-main { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; }
.wc-revenue-card-head-main strong { margin-top: 0; padding-right: 0; overflow: visible; text-overflow: clip; white-space: normal; }
.wc-revenue-card-badge-stack { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 6px; }
.wc-revenue-card-badge-stack span.wc-department-card-rank { position: static; }
.wc-revenue-card-badge-stack .wc-revenue-card-badges { flex-direction: column; align-items: flex-end; gap: 6px; margin-top: 0; padding-right: 0; }
.wc-revenue-card-badge-stack .wc-revenue-snapshot-access,
.wc-revenue-card-badge-stack .wc-revenue-recurrence-badge,
.wc-revenue-card-badge-stack .wc-revenue-control-badge { margin-top: 0; white-space: nowrap; }
.wc-revenue-access-pair { display: flex; align-items: center; gap: 5px; }
.wc-revenue-card-badge-stack .wc-revenue-access-pair { justify-content: flex-end; }
.wc-revenue-control-badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: .65rem; font-weight: 900; }
.wc-revenue-control-badge.is-moderate { background: #e6f3e9; color: #176b3a; }
.wc-revenue-control-badge.is-limited { background: #fff3d6; color: #785800; }
.wc-revenue-control-badge.is-low { background: #eef1f5; color: #46566b; }
.wc-revenue-control-badge.is-varied { background: #e8eef7; color: #315a85; }
.wc-revenue-snapshot-access[data-revenue-tooltip],
.wc-revenue-recurrence-badge[data-revenue-tooltip],
.wc-revenue-control-badge[data-revenue-tooltip] { position: relative; cursor: help; }
.wc-revenue-snapshot-access[data-revenue-tooltip]::after,
.wc-revenue-recurrence-badge[data-revenue-tooltip]::after,
.wc-revenue-control-badge[data-revenue-tooltip]::after { content: attr(data-revenue-tooltip); position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; display: none; width: 250px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text); box-shadow: 0 8px 22px rgba(0,0,0,.16); font-size: .8rem; font-weight: 500; line-height: 1.5; text-align: left; white-space: normal; text-transform: none; letter-spacing: normal; }
.wc-revenue-snapshot-access[data-revenue-tooltip]:hover::after,
.wc-revenue-snapshot-access[data-revenue-tooltip]:focus-visible::after,
.wc-revenue-recurrence-badge[data-revenue-tooltip]:hover::after,
.wc-revenue-recurrence-badge[data-revenue-tooltip]:focus-visible::after,
.wc-revenue-control-badge[data-revenue-tooltip]:hover::after,
.wc-revenue-control-badge[data-revenue-tooltip]:focus-visible::after { display: block; }
.wc-revenue-card-badge-stack [data-revenue-tooltip]::after { right: 0; left: auto; }
.wc-revenue-other-card { grid-column: span 1; }
.wc-revenue-other-title { display: block; padding-right: 32px; color: var(--navy); font-size: .95rem; }
.wc-revenue-other-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 14px; }
.wc-revenue-other-half + .wc-revenue-other-half { padding-left: 16px; border-left: 1px solid var(--border); }
.wc-revenue-other-half > strong { display: block; padding: 0; color: var(--navy); font-size: .82rem; white-space: normal; }
.wc-revenue-other-half .wc-revenue-card-badges { justify-content: flex-start; margin-top: 8px; padding-right: 0; }
.wc-revenue-other-half .wc-revenue-card-amount,.wc-revenue-other-half .wc-revenue-card-share { display: block; }
.wc-revenue-other-half .wc-revenue-card-share { margin-top: 4px; }
.wc-revenue-other-half .wc-revenue-snapshot-change { margin-top: 10px; }
.wc-revenue-snapshot-change { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); }
.wc-revenue-comparison span,.wc-revenue-trend small { display: block; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wc-revenue-comparison > div { display: flex; align-items: baseline; gap: 8px; margin-top: 3px; }
.wc-revenue-comparison strong { margin: 0; color: var(--navy); font-size: 1rem; font-weight: 850; }
.wc-revenue-comparison em { margin: 0; color: var(--green); font-size: .92rem; font-weight: 800; }
.wc-revenue-trend { min-width: 120px; text-align: right; }
.wc-revenue-trend b { display: block; margin: 3px 0 0; color: var(--green); font-size: .78rem; font-weight: 850; letter-spacing: .02em; text-transform: uppercase; }
.wc-revenue-snapshot-change.is-down .wc-revenue-comparison strong,.wc-revenue-snapshot-change.is-down .wc-revenue-comparison em,.wc-revenue-snapshot-change.is-down .wc-revenue-trend b { color: #b42318; }
.wc-revenue-snapshot-change.is-local-government-half-cent .wc-revenue-comparison strong,.wc-revenue-snapshot-change.is-local-government-half-cent .wc-revenue-comparison em,.wc-revenue-snapshot-change.is-local-government-half-cent .wc-revenue-trend b { color: var(--green); }
.wc-revenue-takeaway { position: relative; margin-top: 20px; padding: 20px 22px 20px 26px; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(0,63,40,.08); }
.wc-revenue-takeaway::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: linear-gradient(#003f28,#79b99a); }
.wc-revenue-takeaway > span { color: var(--green); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.wc-revenue-takeaway h4 { max-width: 900px; margin: 6px 0 8px; color: var(--navy); font-size: clamp(1.05rem,2vw,1.35rem); line-height: 1.3; }
.wc-revenue-takeaway p { max-width: 980px; margin: 0; color: var(--text); font-size: .84rem; line-height: 1.65; }
.wc-revenue-profile-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 20px 0 14px; }
.wc-revenue-profile-metrics > div { padding: 14px; border-radius: 12px; background: var(--green); color: #fff; }
.wc-revenue-profile-metrics span,.wc-revenue-profile-metrics small { display: block; }
.wc-revenue-profile-metrics span { color: rgba(255,255,255,.76); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.wc-revenue-profile-metrics strong { display: block; margin: 5px 0 3px; color: #fff; font-size: 1.25rem; }
.wc-revenue-profile-metrics small { color: rgba(255,255,255,.72); font-size: .68rem; }
.wc-revenue-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.wc-revenue-profile-card { width: 100%; min-width: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: #fff; color: inherit; font: inherit; text-align: left; }
button.wc-revenue-profile-card { cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
button.wc-revenue-profile-card:hover { transform: translateY(-2px); border-color: #79b99a; box-shadow: 0 9px 22px rgba(0,63,40,.1); }
button.wc-revenue-profile-card:focus-visible { outline: 3px solid rgba(121,185,154,.45); outline-offset: 2px; }
.wc-revenue-profile-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.wc-revenue-profile-title > div { min-width: 0; }
.wc-revenue-profile-title span { color: var(--muted); font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.wc-revenue-profile-title h4 { margin: 3px 0 0; overflow: hidden; color: var(--navy); font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.wc-revenue-profile-title > strong { flex: 0 0 auto; color: var(--green); font-size: .9rem; }
.wc-revenue-profile-track { height: 6px; margin: 11px 0; overflow: hidden; border-radius: 999px; background: rgba(0,63,40,.09); }
.wc-revenue-profile-track span { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#003f28,#79b99a); }
.wc-revenue-profile-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.wc-revenue-profile-tags span { padding: 4px 7px; border-radius: 999px; background: #eef2f6; color: #445164; font-size: .65rem; font-weight: 700; }
.wc-revenue-profile-tags span.is-restriction { background: #e8f3eb; color: var(--green); }
.wc-revenue-profile-footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--border); color: var(--muted); font-size: .68rem; }
.wc-revenue-profile-footer b { margin-left: auto; color: var(--green); white-space: nowrap; }
.wc-revenue-source-definitions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.wc-revenue-source-definitions p { margin: 0 !important; padding: 12px; border-radius: 10px; background: #fff; }
.wc-revenue-source-definitions strong,.wc-revenue-source-definitions span { display: block; }
.wc-revenue-source-definitions strong { color: var(--green); font-size: .78rem; }
.wc-revenue-source-definitions span { margin-top: 3px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.wc-revenue-method-note { margin: 12px 0 0 !important; color: var(--muted); font-size: .7rem; line-height: 1.5 !important; }
@media (max-width: 900px) {
  .wc-revenue-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-revenue-concentration-head { display: block; }
  .wc-revenue-total-budget { min-width: 0; margin-top: 14px; align-items: flex-start; justify-content: flex-start; text-align: left; }
  .wc-personnel-explorer-head { flex-direction: column; }
  .wc-personnel-total-budget { width: 100%; align-items: flex-start; justify-content: flex-start; text-align: left; }
  .wc-personnel-explorer-total { text-align: left; }
  .wc-personnel-explorer-total > div { justify-content: flex-start; }
  .wc-revenue-card-summary-row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .wc-revenue-card-summary-row .wc-revenue-support-split { flex-wrap: wrap; gap: 14px 28px; }
  .wc-revenue-card-summary-row .wc-revenue-support-split > div { min-width: 150px; text-align: left; }
  .wc-revenue-card-summary-row .wc-revenue-support-split .wc-revenue-support-amount-row { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .wc-revenue-guide-head { display: block; }
  .wc-revenue-guide-head > span { display: inline-block; margin-top: 10px; }
  .wc-revenue-guide-grid { grid-template-columns: 1fr; }
  .wc-revenue-concentration-head { display: block; }
  .wc-revenue-concentration-head > strong { display: inline-block; margin-top: 10px; }
  .wc-revenue-total-budget { flex-wrap: wrap; align-items: stretch; min-width: 0; margin-top: 14px; text-align: left; }
  .wc-revenue-source-definitions { grid-template-columns: 1fr; }
  .wc-revenue-profile-grid { grid-template-columns: 1fr; }
  .wc-revenue-profile-metrics { grid-template-columns: 1fr; }
  .wc-revenue-profile-footer { display: grid; }
  .wc-revenue-snapshot { grid-template-columns: 1fr; }
  .wc-revenue-other-split { grid-template-columns: 1fr; }
  .wc-revenue-other-half + .wc-revenue-other-half { padding-top: 14px; padding-left: 0; border-top: 1px solid var(--border); border-left: 0; }
}
.wc-revenue-classification-nav,
.wc-revenue-topic-selector {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.wc-revenue-explorer-controls { position: sticky; top: 76px; z-index: 4; margin: 24px 0 0; padding: 10px; background: rgba(255,255,255,.94); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(23,32,51,.08); backdrop-filter: blur(12px); }
.wc-revenue-explorer-controls > p,
.wc-revenue-topic-control > p { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; color: var(--navy); font-size: .75rem; }
.wc-revenue-explorer-controls > p span,
.wc-revenue-topic-control > p span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--green); color: #fff; font-size: .68rem; }
.wc-revenue-classification-nav { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.wc-revenue-classification-nav button,
.wc-revenue-topic-selector button { flex: 0 0 auto; border: 1px solid rgba(0,63,40,.16); border-radius: 999px; background: #fff; color: var(--text); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; padding: 10px 14px; }
.wc-revenue-classification-nav button.is-active,
.wc-revenue-topic-selector button.is-active { background: var(--green); border-color: var(--green); color: #fff; }
.wc-revenue-topic-control { max-width: 1180px; margin: 0 auto 22px; padding: 14px; border: 1px solid rgba(0,63,40,.12); border-radius: 14px; background: rgba(255,255,255,.76); }
.wc-revenue-topic-selector { margin: 0; padding: 0 0 3px; }
.wc-revenue-classification-panel { padding-top: 24px !important; padding-bottom: 28px !important; }
.wc-revenue-classification-panel > .wc-revenue-heading { display: none; }
.wc-revenue-classification-panel > div[id] { padding-top: 0; }
.wc-revenue-source-control { position: sticky; top: 76px; z-index: 4; display: grid; grid-template-columns: auto minmax(240px,1fr); align-items: center; gap: 14px; margin: 24px 0 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 8px 24px rgba(23,32,51,.08); backdrop-filter: blur(12px); scroll-margin-top: 90px; }
.wc-revenue-source-control label { color: var(--navy); font-size: .8rem; font-weight: 800; white-space: nowrap; }
.wc-revenue-source-control select { width: 100%; min-width: 0; padding: 10px 38px 10px 12px; border: 1px solid rgba(0,63,40,.22); border-radius: 10px; background: #fff; color: var(--text); font: inherit; font-size: .86rem; font-weight: 700; }
.wc-revenue-classification-panel[hidden],
.wc-revenue-topic-block[hidden] { display: none !important; }
.wc-revenue-ledger-note { display: none; margin: 12px 0 0; color: var(--muted); font-size: .78rem; }
.wc-budget-lines-card.show-prior-years > .wc-revenue-ledger-note { display: block; }
.wc-revenue-budget-year { background: #9ed9a8 !important; color: #14253b !important; }
#consolidated-revenue-summary-table th.wc-revenue-budget-year { background: linear-gradient(135deg, #003f28 0%, #005236 100%) !important; color: #fff !important; }
.wc-revenue-projected.wc-fy-2028 { background: #79b99a !important; color: #14253b !important; }
.wc-revenue-projected.wc-fy-2029 { background: #4f9675 !important; color: #14253b !important; }
#consolidated-revenue-summary-table tr.wc-table-total-row td.wc-revenue-budget-year { background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%) !important; color: var(--navy) !important; }
#consolidated-revenue-summary-table tr.wc-table-total-row td.wc-revenue-projected { background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%) !important; color: var(--navy) !important; }
.wc-budget-detail-body th.wc-revenue-budget-year,
.wc-budget-detail-body th.wc-revenue-projected.wc-fy-2028,
.wc-budget-detail-body th.wc-revenue-projected.wc-fy-2029 { background: linear-gradient(135deg, #003f28 0%, #005236 100%) !important; color: #fff !important; }
.wc-budget-detail-body tr.wc-table-total-row td.wc-revenue-budget-year,
.wc-budget-detail-body tr.wc-table-total-row td.wc-revenue-projected { background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%) !important; color: var(--navy) !important; }
.wc-budget-detail-body td.wc-revenue-budget-year,
.wc-budget-detail-body td.wc-revenue-projected { background: transparent !important; color: inherit !important; }
/* Revenue Ledger: FY2027-2029 shouldn't stand out from the other fiscal
   years shown -- these ID-scoped rules override the general
   wc-revenue-budget-year/wc-revenue-projected highlight colors above,
   without touching the same classes used on other pages' tables. */
#consolidated-revenue-summary-table td.wc-revenue-budget-year,
#consolidated-revenue-summary-table td.wc-revenue-projected { background: transparent !important; color: inherit !important; }
/* The neutral year-column override above must yield to row-level states.
   Otherwise FY 2027 Proposed and the projected columns visually punch
   holes through subtotal shading and the full-row hover highlight. */
#consolidated-revenue-summary-table tbody tr:hover td.wc-revenue-budget-year,
#consolidated-revenue-summary-table tbody tr:hover td.wc-revenue-projected,
.wc-budget-detail-body tbody tr:hover td.wc-revenue-budget-year,
.wc-budget-detail-body tbody tr:hover td.wc-revenue-projected {
  background: rgba(0,63,40,.05) !important;
}
#consolidated-revenue-summary-table tr.wc-table-subtotal-row td.wc-revenue-budget-year,
#consolidated-revenue-summary-table tr.wc-table-subtotal-row td.wc-revenue-projected,
.wc-budget-detail-body tr.wc-table-subtotal-row td.wc-revenue-budget-year,
.wc-budget-detail-body tr.wc-table-subtotal-row td.wc-revenue-projected {
  background: rgba(209,190,120,.18) !important;
}
#consolidated-revenue-summary-table tr.wc-table-total-row td.wc-revenue-budget-year,
#consolidated-revenue-summary-table tr.wc-table-total-row td.wc-revenue-projected { background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%) !important; color: var(--navy) !important; }
#consolidated-revenue-summary-table th.wc-revenue-budget-year,
#consolidated-revenue-summary-table th.wc-revenue-projected { background: linear-gradient(135deg, #003f28 0%, #005236 100%) !important; color: #fff !important; }
/* Revenue Ledger defaults to the two budget columns plus change. Historical
   actuals and future projections are independently revealed by the two
   controls above the table. */
#consolidated-revenue-summary-table .wc-revenue-history-year,
#consolidated-revenue-summary-table .wc-revenue-future-year {
  display: none;
}
#consolidated-revenue-summary-table .show-revenue-history .wc-revenue-history-year,
#consolidated-revenue-summary-table .show-revenue-future .wc-revenue-future-year {
  display: table-cell;
}
.wc-revenue-assumption {
  margin-top: auto;
  padding: 16px 18px;
  border-left: 4px solid #79b99a;
  border-radius: 10px;
  background: rgba(158,217,168,.16);
}
.wc-revenue-assumption strong { color: var(--green); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.wc-revenue-assumption p { margin: 7px 0 0; text-align: left; }
.wc-revenue-topic-chart-card .wc-revenue-assumption { margin-top: 12px; }
.wc-revenue-control-profile { margin: 18px 0; padding: 14px 16px; border: 1px solid rgba(0,63,40,.14); border-radius: 12px; background: #f7faf8; }
/* Flex children don't margin-collapse, so two of these stacked back to
   back (Projection Assumption -> County Ability to Increase Revenue, or
   -> Current Policy Context) added both margins together for a much
   bigger gap than either card was designed to leave on its own. */
.wc-revenue-control-profile + .wc-revenue-control-profile { margin-top: 0; }
.wc-revenue-control-profile > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.wc-revenue-control-profile strong { color: var(--green); font-size: .72rem; letter-spacing: .045em; text-transform: uppercase; }
.wc-revenue-control-profile span { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: .64rem; font-weight: 850; }
.wc-revenue-control-profile span.is-moderate { background: #e6f3e9; color: #176b3a; }
.wc-revenue-control-profile span.is-limited { background: #fff3d6; color: #785800; }
.wc-revenue-control-profile span.is-low { background: #eef1f5; color: #46566b; }
.wc-revenue-control-profile span.is-varied { background: #e8eef7; color: #315a85; }
.wc-revenue-control-profile p { margin: 9px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; text-align: left; }
.wc-revenue-ledger-notes { margin-top: 16px; padding: 13px 15px; border-radius: 10px; background: #f6f8fb; }
.wc-revenue-ledger-notes > strong { color: var(--green); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.wc-revenue-ledger-notes p { margin: 6px 0 0 !important; font-size: .78rem !important; }
.wc-other-revenue-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.wc-other-revenue-group { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.wc-other-revenue-group h3 { display: flex; align-items: center; gap: 7px; margin: 0; padding: 11px 13px; border-bottom: 1px solid var(--border); color: var(--navy); font-size: .78rem; font-weight: 850; }
.wc-other-revenue-group h3 > span { width: 9px; height: 9px; border-radius: 50%; background: #176b3a; }
.wc-other-revenue-group.is-restricted h3 > span { background: #b42318; }
.wc-other-revenue-group h3 small { margin-left: auto; color: var(--muted); font-size: .62rem; font-weight: 750; }
.wc-other-revenue-directory { max-height: 340px; overflow-y: auto; background: #fff; }
.wc-other-revenue-directory button { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 9px; width: 100%; padding: 11px 12px; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: inherit; cursor: pointer; font: inherit; text-align: left; }
.wc-other-revenue-directory button:last-child { border-bottom: 0; }
.wc-other-revenue-directory button:hover { background: rgba(0,63,40,.05); }
.wc-other-revenue-directory button:focus-visible { outline: 3px solid rgba(121,185,154,.45); outline-offset: -3px; }
.wc-other-revenue-directory button span { min-width: 0; overflow: hidden; color: var(--navy); font-size: .78rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.wc-other-revenue-directory button strong { color: var(--green); font-size: .76rem; }
.wc-other-revenue-directory button b { color: var(--green); font-size: 1rem; }
.wc-other-revenue-access { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 999px; font-size: .6rem; font-style: normal; font-weight: 900; white-space: nowrap; }
.wc-other-revenue-access.is-restricted { background: #fdebea; color: #b42318; }
.wc-other-revenue-access.is-unrestricted { background: #e8f5ec; color: #176b3a; }
.wc-revenue-topic-row-list-only { display: block; }
.wc-revenue-topic-row-list-only .wc-revenue-topic-narrative-card { max-width: 900px; margin: 0 auto; }
.wc-revenue-detail-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin: 0 0 16px; }
.wc-revenue-back-to-other { display: none; padding: 7px 11px; border: 1px solid #003f28; border-radius: 999px; background: linear-gradient(135deg, #003f28 0%, #005236 100%); color: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.wc-revenue-close-detail { padding: 7px 11px; border: 1px solid rgba(0,63,40,.24); border-radius: 999px; background: linear-gradient(135deg, #003f28 0%, #005236 100%); color: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.wc-revenue-close-detail:hover { background: linear-gradient(135deg, #00341f 0%, #00432c 100%); }
.wc-revenue-close-detail:focus-visible { outline: 3px solid rgba(121,185,154,.45); outline-offset: 2px; }
body[data-revenue-explorer-from-other="true"] .wc-revenue-topic-block:not(#all-other-revenue):not([hidden]) .wc-revenue-back-to-other { display: inline-flex; }
.wc-revenue-back-to-other:hover { background: linear-gradient(135deg, #00341f 0%, #00432c 100%); }
.wc-revenue-back-to-other:focus-visible { outline: 3px solid rgba(121,185,154,.45); outline-offset: 2px; }
.wc-revenue-topic-block {
  max-width: 1180px;
  margin: 0 auto 40px;
  /* Homepage revenue cards link straight to their topic's anchor here --
     without this, the sticky nav (see nav.js, ~88px + padding) covers the
     top of the chart the link is supposed to land on. */
  scroll-margin-top: 110px;
}
.wc-revenue-topic-title {
  margin: 0 0 18px;
  color: var(--navy);
  font-size: 1.5rem;
  font-weight: 800;
  text-align: center;
}
.wc-revenue-topic-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 28px;
  /* stretch (not start) so both cards in a row match the taller one's
     height -- the chart card's legend (flex: 1 below) grows to fill
     whatever extra room that leaves instead of leaving dead whitespace. */
  align-items: stretch;
}
.wc-revenue-topic-chart-card,
.wc-revenue-topic-narrative-card {
  padding: 24px;
  border-radius: 20px;
  box-sizing: border-box;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.wc-revenue-topic-chart-card {
  position: relative;
  background: linear-gradient(135deg, #003f28 0%, #005236 100%);
  border: 1px solid rgba(0,63,40,.14);
  box-shadow: 0 6px 18px rgba(0,63,40,.18);
  color: #fff;
}
.wc-revenue-topic-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 15px; }
.wc-revenue-topic-badges .wc-revenue-snapshot-access { margin: 0; }
.wc-revenue-recurrence-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: .65rem; font-weight: 900; }
.wc-revenue-recurrence-badge::before { content: "↻"; font-size: .72rem; line-height: 1; }
.wc-revenue-recurrence-badge.is-recurring { background: #e8f1fb; color: #175b91; }
.wc-revenue-recurrence-badge.is-nonrecurring { background: #fff2d9; color: #8a4b08; }
.wc-revenue-recurrence-badge.is-nonrecurring::before { content: "1×"; font-size: .58rem; }
.wc-revenue-topic-narrative-card {
  background: #ffffff;
  border: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}
.wc-revenue-topic-chart-wrap {
  position: relative;
  height: 320px;
  flex: 0 0 320px;
  background: #ffffff;
  border-radius: 14px;
  padding: 14px;
  box-sizing: border-box;
}
.wc-property-tax-burden { margin-top: 16px; padding: 15px; border: 1px solid rgba(0,63,40,.13); border-radius: 12px; background: #f6faf7; }
.wc-property-tax-burden-head, .wc-property-tax-burden-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.wc-property-tax-burden-head { margin-bottom: 12px; }
.wc-property-tax-burden-head strong { color: var(--navy); font-size: .84rem; }
.wc-property-tax-burden-head span { grid-column: 2 / 4; color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.wc-property-tax-burden-row div { display: grid; gap: 2px; }
.wc-property-tax-burden-row span { color: var(--navy); font-size: .76rem; font-weight: 850; }
.wc-property-tax-burden-row small { color: var(--muted); font-size: .66rem; }
.wc-property-tax-burden-row > strong { color: var(--green); font-size: .88rem; }
.wc-property-tax-burden-row > em { min-width: 92px; color: var(--text); font-size: .72rem; font-style: normal; font-weight: 800; text-align: right; }
.wc-property-tax-burden-bar { height: 8px; margin: 8px 0 11px; overflow: hidden; border-radius: 999px; background: #dce8e0; }
.wc-property-tax-burden-bar i { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.wc-property-tax-burden-bar-stacked { display: flex; margin-top: 11px; }
.wc-property-tax-burden-bar-stacked i { border-radius: 0; }
.wc-property-tax-burden-bar-stacked i:first-child { border-radius: 999px 0 0 999px; }
.wc-property-tax-burden-bar-stacked i:last-child { border-radius: 0 999px 999px 0; }
.wc-property-tax-burden-bar-stacked .is-homestead { background: var(--green); }
.wc-property-tax-burden-bar-stacked .is-commercial { background: #d49a2a; }
.wc-property-tax-burden-bar-stacked .is-other { background: #9cb9c8; }
.wc-tourist-tax-burden-bar i { background: #b42318; }
.wc-property-tax-burden > p { margin: 12px 0 0; color: var(--muted); font-size: .65rem; line-height: 1.45; }
/* When a burden row (e.g. "Local-supported") is followed straight by the
   closing paragraph with no bar in between, the default gap reads too
   tight now that the row itself lost its old <small> descriptor line. */
.wc-property-tax-burden-row + p { margin-top: 18px; }
.wc-property-tax-ledger-link { display: inline-block; margin: 13px 8px 8px 0; padding: 8px 12px; font-size: .72rem; }
.wc-property-tax-support-open { display: inline-block; margin: 8px 0 16px; padding: 8px 12px; border: 1px solid #003f28; border-radius: 999px; background: linear-gradient(135deg, #003f28 0%, #005236 100%); color: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
/* Sitting right under the "Property Taxes" title now (see budget-data.js),
   the title's own 18px bottom margin plus this link's 13px top margin
   stacked into a much bigger gap than either was designed for alone. */
.wc-revenue-topic-title + .wc-property-tax-ledger-link { margin-top: 0; }
.wc-property-tax-support-open:hover { background: linear-gradient(135deg, #00341f 0%, #00432c 100%); color: #fff; }
.wc-property-tax-support-open:focus-visible, .wc-property-tax-support-close:focus-visible { outline: 3px solid rgba(121,185,154,.5); outline-offset: 2px; }
.wc-property-tax-support-dialog { position: fixed; inset: 0; width: min(900px,calc(100vw - 28px)); max-width: none; height: min(590px,calc(100vh - 28px)); max-height: none; margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(0,27,17,.28); }
.wc-modal-open,
.wc-modal-open body { overflow: hidden; overscroll-behavior: none; }
.wc-property-tax-support-dialog::backdrop { background: rgba(7,20,16,.66); backdrop-filter: blur(3px); }
.wc-property-tax-support-dialog > div { display: grid; grid-template-rows: auto minmax(0,1fr); height: 100%; }
.wc-property-tax-support-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--border); }
.wc-property-tax-support-dialog header span { color: var(--green); font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.wc-property-tax-support-dialog header h3 { margin: 3px 0 0; color: var(--navy); font-size: 1.2rem; }
.wc-property-tax-support-close { display: inline-grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: #fff; color: var(--navy); cursor: pointer; font-size: 1.5rem; line-height: 1; }
.wc-property-tax-support-dialog iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.wc-revenue-chart-legend {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 6px 14px;
  flex: 1 1 auto;
  min-height: 140px;
  overflow-y: auto;
  margin-top: 12px;
  padding: 10px 12px;
  background: #ffffff;
  border-radius: 12px;
}
.wc-revenue-chart-legend[hidden] { display: none; }
.wc-revenue-chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .75rem;
  color: var(--text);
  transition: background-color .15s ease;
}
.wc-revenue-chart-legend-item:hover {
  background: rgba(0,63,40,.08);
}
.wc-revenue-chart-legend-item.is-hidden {
  opacity: .45;
  text-decoration: line-through;
}
.wc-revenue-chart-legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  flex: 0 0 10px;
}
.wc-revenue-topic-narrative-card p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .9rem; line-height: 1.7; text-align:left; color: var(--text);
  margin: 0 0 14px;
}
.wc-revenue-topic-narrative-card p:last-child { margin-bottom: 0; }

.wc-census-topic-block {
  max-width: 1180px;
  margin: 0 auto 40px;
}
.wc-census-narrative-card {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 28px;
  box-sizing: border-box;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}
.wc-census-narrative-card h2 {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: 1.4rem;
  font-weight: 800;
}
.wc-census-narrative-card p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .92rem;
  line-height: 1.75;
  text-align:left;
  color: var(--text);
  margin: 0 0 14px;
}
.wc-census-narrative-card p:last-child { margin-bottom: 0; }
.wc-census-viz-card {
  margin-top: 20px;
  padding: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  background: linear-gradient(135deg, #f4f8f5 0%, #eef7f1 100%);
  border: 1px solid rgba(0,63,40,.14);
  box-shadow: 0 6px 18px rgba(0,63,40,.06);
}
.wc-census-card-stack { display: flex; flex-direction: column; gap: 16px; }
.wc-census-iframe-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 14px;
  box-sizing: border-box;
}
.wc-census-iframe-label {
  margin: 0 0 8px;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
}
.wc-census-iframe-card iframe {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: #ffffff;
}
.wc-census-source {
  margin-top: 14px !important;
  font-size: .75rem;
  color: var(--muted);
  text-align: left !important;
}
.wc-census-missing {
  color: #b3261e;
  font-weight: 700;
  background: rgba(179,38,30,0.08);
  border-radius: 4px;
  padding: 0 4px;
}

@media (max-width: 900px) {
  .wc-revenue-topic-row { grid-template-columns: 1fr; }
  .wc-revenue-topic-row .wc-revenue-topic-narrative-card { order: 1; }
  .wc-revenue-topic-row .wc-revenue-topic-chart-card { order: 2; }
  .wc-revenue-topic-chart-card, .wc-revenue-topic-narrative-card { padding: 20px; }
  .wc-revenue-topic-chart-wrap { height: 260px; }
  .wc-personnel-explorer-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wc-personnel-explorer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .wc-revenue-source-control { grid-template-columns: 1fr; gap: 7px; }
  .wc-other-revenue-groups { grid-template-columns: 1fr; }
  .wc-revenue-peer-card { padding: 20px; }
  .wc-revenue-peer-head { align-items: stretch; flex-direction: column; }
  .wc-revenue-peer-head label { min-width: 0; }
  .wc-revenue-peer-chart-wrap { height: 430px; }
  .wc-personnel-explorer { padding: 20px; }
  .wc-personnel-explorer-head { flex-direction: column; }
  .wc-personnel-total-budget { flex-wrap: wrap; }
  .wc-personnel-budget-split { width: 100%; }
  .wc-personnel-budget-split > div { min-width: 0; }
  .wc-personnel-explorer-total { text-align: left; }
  .wc-personnel-explorer-total > div { justify-content: flex-start; }
  .wc-personnel-explorer-metrics, .wc-personnel-dept-cards { grid-template-columns: 1fr; }
  .wc-personnel-explorer-grid { grid-template-columns: 1fr; }
}

/* Department Budget Explorer */
html.wc-embedded-department nav#nav-menu,
html.wc-embedded-department .wc-breadcrumb{display:none!important}
html.wc-embedded-department #layout{display:block;min-height:0}
html.wc-embedded-department #content{width:min(1380px,100%);max-width:none;margin:0 auto;padding:44px 28px 28px}
html.wc-embedded-department #content>.page-eyebrow,
html.wc-embedded-department #content>.page-title{display:none}
html.wc-embedded-department .wc-dept-function-services--with-video>.wc-dept-supporting-media{margin-top:-34px!important}
.wc-footer-utility-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;background:var(--light);box-sizing:border-box}
.wc-footer-utility-dialog::backdrop{background:var(--light)}
.wc-footer-utility-wave{display:none}
.wc-footer-utility-shade{display:none}
.wc-footer-utility-panel{position:relative;z-index:2;display:flex;width:100%;height:100%;margin:0;overflow:hidden;flex-direction:column;border:0;border-radius:0;background:var(--light);box-shadow:none;box-sizing:border-box}
.wc-footer-utility-head{display:flex;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid var(--border);background:var(--light)}
.wc-footer-utility-head h2{margin:0;color:var(--navy);font-size:1.2rem}
.wc-footer-utility-close{display:grid;width:38px;height:38px;margin-left:auto;padding:0;place-items:center;border:1px solid var(--border);border-radius:50%;background:#f5f8f6;color:var(--navy);font:inherit;font-size:1.45rem;line-height:1;cursor:pointer}
.wc-footer-utility-frame{display:block;width:100%;min-height:0;flex:1;border:0;background:var(--light)}
html.wc-embedded-utility nav#nav-menu,html.wc-embedded-utility footer[role="contentinfo"],html.wc-embedded-utility .wc-breadcrumb,html.wc-embedded-utility #content>.page-eyebrow,html.wc-embedded-utility #content>.page-title{display:none!important}
html.wc-embedded-utility #layout{display:block;min-height:0}
html.wc-embedded-utility #content{width:min(1380px,100%);max-width:none;margin:0 auto;padding:44px 28px 28px}
@media(max-width:700px){html.wc-embedded-utility #content{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.wc-footer-utility-wave{display:none}}
.wc-officer-statement-with-portrait{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.wc-constitutional-officer-copy{min-width:0}
.wc-constitutional-officer-portrait{width:100%;max-width:300px;margin:0 0 20px;padding:9px;border:3px solid var(--gold);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(0,35,22,.13);box-sizing:border-box}
/* Stays out of the flow in its raw, full-width HTML position until
   department-services.js re-parents it into the narrative grid alongside
   the Statement of Function -- without this, the portrait renders large
   and full-width for a moment, then visibly jumps into its smaller,
   side-by-side spot once the department budget data finishes loading. */
.wc-officer-portrait-pending{display:none}
.wc-constitutional-officer-portrait img{display:block;width:100%;height:320px;border-radius:14px;object-fit:cover;object-position:center top}
.wc-constitutional-officer-portrait figcaption{padding:10px 8px 4px;color:var(--navy);font-size:.82rem;font-weight:800;text-align:center}
.wc-officer-statement-with-portrait .wc-constitutional-officer-portrait{margin:0}
@media(max-width:800px){.wc-officer-statement-with-portrait{grid-template-columns:1fr}.wc-constitutional-officer-portrait{width:min(260px,100%);margin:4px auto 8px}.wc-constitutional-officer-portrait img{height:280px}}
.wc-department-explorer{margin:20px 0 34px;padding:26px;border:1px solid rgba(0,63,40,.14);border-radius:22px;background:linear-gradient(135deg,#f4f8f5 0%,#eef7f1 100%);box-shadow:0 8px 26px rgba(0,63,40,.07)}
.wc-department-explorer{position:relative;margin-top:20px}
.wc-department-explorer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.wc-department-explorer-head>div:first-child>span,.wc-department-detail-head>div:first-child>span{color:var(--green);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.wc-department-explorer-head h2{margin:5px 0 7px;color:var(--navy);font-size:clamp(2rem, 4vw, 2.75rem);font-weight:800;line-height:1.12}.wc-department-explorer-head>div:first-child{flex:1 1 auto;min-width:0}.wc-department-explorer-head p{max-width:900px;margin:0;color:#000;font-size:.94rem}
.wc-department-explorer-badges{display:flex;align-items:flex-start;margin:0}.wc-department-explorer-badges>div{min-width:130px;padding:2px 18px;text-align:center}.wc-department-explorer-badges>div+div{border-left:1px solid #d5dfda}.wc-department-explorer-badges span{display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.wc-department-explorer-badges b{display:block;margin-top:7px;color:var(--navy);font-size:1rem}
.wc-department-explorer-total .wc-department-explorer-badges{display:flex;justify-content:flex-end;margin:0}
.wc-department-explorer-total{min-width:275px;text-align:right}.wc-department-explorer-total>span,.wc-department-explorer-total label{display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.wc-department-explorer-total>strong{display:block;margin:3px 0 10px;color:var(--green);font-size:1.65rem}.wc-department-explorer-total select{width:100%;margin-top:5px;padding:8px 34px 8px 11px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--navy);font:inherit;font-size:.72rem;font-weight:750}
.wc-department-explorer-total>strong{display:inline-block;margin-right:0;vertical-align:middle}.wc-department-explorer-total .wc-department-ledger-trigger{display:block;margin-left:auto}
.wc-department-ledger-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-left:auto}
.wc-department-ledger-actions .wc-department-ledger-trigger{display:inline-block;margin:0}
.wc-department-explorer-total{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--space-4);width:min(600px,52%);min-width:0}.wc-department-explorer-total-primary{width:100%;min-width:0;padding-left:0;border-left:0;text-align:right}.wc-department-explorer-total-primary>span{display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;white-space:normal}.wc-department-explorer-total-primary>strong{display:block;margin:7px 0 0;color:var(--navy);font-size:1.65rem}.wc-department-explorer-total-primary .wc-department-ledger-trigger{margin-top:10px;margin-left:auto}
.wc-department-explorer-total-primary>small{display:block;margin:3px 0 10px;color:var(--muted);font-size:1rem;line-height:1.35;white-space:nowrap}.wc-department-explorer-total-primary>small.is-increase{color:#087443;font-weight:800}.wc-department-explorer-total-primary>small.is-decrease{color:#b42318;font-weight:800}
.wc-department-explorer-year-change{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin:-2px 0 10px;color:var(--muted);font-size:.68rem}.wc-department-explorer-year-change>span{display:inline;color:var(--muted);font-size:.68rem;text-transform:none}.wc-department-explorer-year-change>strong,.wc-department-explorer-year-change>em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:800}.wc-department-explorer-year-change.is-increase>strong,.wc-department-explorer-year-change.is-increase>em{color:var(--green)}.wc-department-explorer-year-change.is-decrease>strong,.wc-department-explorer-year-change.is-decrease>em{color:#b42318}
.wc-department-explorer-year-change>strong,.wc-department-explorer-year-change>em{font-size:1rem}.wc-department-metric-change{font-size:.86rem!important}.wc-department-metric-change.is-increase{color:var(--green)!important}.wc-department-metric-change.is-decrease{color:#b42318!important}
.wc-department-ledger-trigger{margin:0 0 12px;padding:8px 12px;border:1px solid #003f28;border-radius:999px;background:linear-gradient(135deg, #003f28 0%, #005236 100%);color:#fff;cursor:pointer;font:inherit;font-size:.68rem;font-weight:800;text-decoration:none;display:inline-block}
.wc-department-ledger-trigger:hover{background:linear-gradient(135deg, #00341f 0%, #00432c 100%)}.wc-department-ledger{margin:30px 0;padding:24px;border:1px solid rgba(0,63,40,.15);border-radius:20px;background:#fff;scroll-margin-top:105px}.wc-department-ledger h2{margin:0 0 6px;color:var(--navy);font-size:1.35rem}.wc-department-ledger>p{margin:0 0 16px;color:var(--muted);font-size:.75rem}.wc-department-ledger.wc-ledger-page-flush{margin:0;padding:0;border:0;border-radius:0;background:transparent;scroll-margin-top:0}
.wc-contract-ledger-section{margin:0 0 34px}.wc-contract-ledger-section h2{margin:0 0 6px;color:var(--navy);font-size:1.35rem}.wc-contract-ledger-section-note{margin:0 0 16px;color:var(--muted);font-size:.75rem}
.wc-contract-document-link{font-weight:700;white-space:nowrap}
.wc-department-explorer-list-footer{display:flex;justify-content:flex-end;margin:14px 0 0}.wc-department-list-link{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 14px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;text-decoration:none}.wc-department-list-link:hover{background:var(--green2);border-color:var(--green2)}.wc-department-list-link .wc-department-list-link-icon{display:inline-block;transition:transform .15s ease}.wc-department-list-link[aria-expanded="true"] .wc-department-list-link-icon{transform:rotate(180deg)}
.wc-department-explorer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.wc-department-explorer-metrics article{padding:14px;border:1px solid rgba(0,63,40,.11);border-radius:12px;background:#fff}.wc-department-explorer-metrics span{display:block;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.wc-department-explorer-metrics strong{display:block;margin:5px 0 2px;color:var(--navy);font-size:1.12rem}.wc-department-explorer-metrics small{color:var(--muted);font-size:.74rem}.wc-department-explorer-metrics .wc-department-metric-change{display:block;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);color:var(--green);font-size:.68rem;font-style:normal;font-weight:800}.wc-department-explorer-metrics .wc-department-metric-change.is-decrease{color:#b42318}
.wc-debt-metrics article{background:#fff;border-color:rgba(0,98,49,.14)}
.wc-department-directory-heading{margin:34px 0 14px;color:var(--navy);font-size:1.3rem}.wc-department-explorer-subhead{margin:20px 0 10px;color:var(--navy);font-size:.9rem}.wc-department-explorer-subhead-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 10px}.wc-department-explorer-subhead-row .wc-department-explorer-subhead{margin:0}.wc-department-directory-link{color:var(--green);font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap}.wc-department-directory-link:hover{text-decoration:underline}.wc-department-budget-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wc-department-budget-cards button,.wc-department-budget-cards a{position:relative;display:flex;min-height:142px;padding:15px;border:1px solid rgba(0,63,40,.13);border-radius:13px;background:#fff;text-align:left;cursor:pointer;flex-direction:column;text-decoration:none;color:inherit}.wc-department-budget-cards button:hover,.wc-department-budget-cards button:focus-visible,.wc-department-budget-cards a:hover,.wc-department-budget-cards a:focus-visible{border-color:var(--green);box-shadow:0 6px 16px rgba(0,63,40,.08);transform:translateY(-1px)}.wc-department-budget-cards span{color:var(--green);font-size:.68rem;font-weight:850;text-transform:uppercase}.wc-department-budget-cards strong{margin:6px 0 4px;padding-right:32px;color:var(--navy);font-size:.88rem}.wc-department-budget-cards b{color:var(--green);font-size:1.1rem}.wc-department-budget-cards small{color:var(--muted);font-size:.72rem}.wc-department-budget-cards em{margin-top:auto;color:var(--green);font-size:.74rem;font-style:normal;font-weight:800}.wc-department-budget-cards span.wc-department-card-rank{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;padding:0;border-radius:999px;background:var(--green);color:#fff;font-size:.72rem;font-weight:850;text-transform:none}
.wc-department-card-change{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:10px 0;padding-top:9px;border-top:1px solid var(--border)}.wc-department-budget-cards .wc-department-card-change>span{grid-column:1/-1;color:var(--muted);font-size:.64rem}.wc-department-budget-cards .wc-department-card-change>strong{margin:0;color:var(--navy);font-size:.78rem}.wc-department-budget-cards .wc-department-card-change>small{align-self:center;color:var(--green);font-size:.74rem;font-weight:800}.wc-department-budget-cards .wc-department-card-change.is-decrease>strong,.wc-department-budget-cards .wc-department-card-change.is-decrease>small{color:#b42318}.wc-department-budget-cards .wc-department-card-change.is-increase>strong{color:var(--green)}
.wc-department-budget-cards button,.wc-department-budget-cards a{padding:18px;border-color:var(--border);border-radius:14px;font:inherit}
.wc-department-budget-cards strong{font-size:.95rem}
.wc-department-budget-cards b{font-size:1.6rem}
.wc-independent-agencies-explorer .wc-department-budget-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.wc-independent-agencies-total { flex-basis: 285px; min-width: 285px; gap: 0; }
.wc-independent-agencies-total > span { line-height: 1.35; white-space: nowrap; }
.wc-independent-agencies-total > strong { margin-top: 6px; }
.wc-independent-agencies-total .wc-revenue-total-change { width: 100%; margin-top: 7px; text-align: right; }
.wc-independent-agencies-total .wc-revenue-view-actions { margin-top: 12px; }
/* Capital ledger cards reuse the Revenue/Personnel explorer card markup
   (wc-revenue-card-head/wc-revenue-comparison) inside a .wc-department-
   budget-cards container -- its own blanket span/strong/b/em rules above
   would otherwise clobber that markup's own sizing, since a compound class
   selector isn't automatically less specific by source order alone. */
.wc-department-budget-cards .wc-revenue-card-head-main strong{margin:0;padding-right:0;font-size:.95rem;white-space:normal}
.wc-department-budget-cards .wc-revenue-card-amount{margin-top:6px;font-size:1.6rem}
.wc-department-budget-cards .wc-revenue-card-share{margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:400;text-transform:none}
.wc-department-budget-cards .wc-revenue-comparison span{margin:0;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.wc-department-budget-cards .wc-revenue-comparison strong{margin:0;color:var(--navy);font-size:1rem;font-weight:850}
.wc-department-budget-cards .wc-revenue-comparison em{margin:0;color:var(--green);font-size:.92rem;font-weight:800;font-style:normal}
.wc-department-budget-cards .wc-revenue-snapshot-change.is-down .wc-revenue-comparison strong,
.wc-department-budget-cards .wc-revenue-snapshot-change.is-down .wc-revenue-comparison em{color:#b42318}
.wc-department-budget-cards .wc-revenue-trend b{font-size:.78rem}
.wc-department-budget-cards .wc-personnel-dept-fte-badge{color:var(--navy);font-size:.72rem;font-weight:800;text-transform:none}
.wc-capital-search-results{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}
.wc-capital-search-results-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.wc-capital-search-results-head h3{margin:0;color:var(--navy);font-size:1rem}
.wc-capital-search-clear{padding:8px 15px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--green);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.wc-capital-search-clear:hover{border-color:var(--green)}
.wc-capital-what-counts{margin:18px 0 26px;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:16px;background:#fff}
.wc-capital-what-counts-head{margin-bottom:14px}
.wc-capital-what-counts-head h3{margin:0 0 8px;color:var(--navy);font-size:1.05rem}
.wc-capital-what-counts-head p{margin:0;max-width:900px;color:var(--muted);font-size:.82rem;line-height:1.6}
.wc-capital-what-counts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wc-capital-what-counts-card{padding:16px;border:1px solid var(--border);border-radius:13px;background:#fff}
.wc-capital-what-counts-card>span{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.wc-capital-what-counts-card.is-included>span{background:#e8f3eb;color:#08663f}
.wc-capital-what-counts-card.is-excluded>span{background:#f6eae8;color:#a3372a}
.wc-capital-what-counts-card ul{margin:0;padding:0;list-style:none}
.wc-capital-what-counts-card li{position:relative;margin:0 0 7px;padding:0 0 0 18px;color:#4a5a6a;font-size:.78rem;line-height:1.5}
.wc-capital-what-counts-card li:last-child{margin-bottom:0}
.wc-capital-what-counts-card li::before{content:"";position:absolute;top:7px;left:0;width:7px;height:7px;border-radius:999px;background:var(--green)}
.wc-capital-what-counts-card.is-excluded li::before{background:#c0705f}
.wc-capital-what-counts-note{margin:14px 0 0;color:var(--muted);font-size:.76rem;line-height:1.6}
.wc-capital-what-counts-note a{color:var(--green);font-weight:800;text-decoration:none}
.wc-capital-what-counts-note a:hover{text-decoration:underline}
@media(max-width:700px){.wc-capital-what-counts-grid{grid-template-columns:1fr}}
.wc-department-budget-cards .wc-capital-search-result-static{display:flex;min-height:142px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff;flex-direction:column;opacity:.72;cursor:default}
.wc-department-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.wc-department-info-badge{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid rgba(0,63,40,.22);border-radius:999px;background:#eef1f4;color:var(--navy);font-size:.68rem;font-weight:800;white-space:nowrap;cursor:pointer;font-style:normal}
.wc-department-info-badge:hover,.wc-department-info-badge:focus{border-color:var(--green);background:#e8f3eb;color:var(--green);outline:none}
.wc-department-badge-tooltip{position:fixed;z-index:90;display:none;width:300px;max-width:calc(100vw - 20px);padding:14px 16px;border:1px solid rgba(0,63,40,.18);border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(0,63,40,.18);color:var(--text);font-size:.78rem;line-height:1.55}
.wc-department-badge-tooltip.is-visible{display:block}
.wc-department-badge-tooltip strong{display:block;margin-bottom:8px;color:var(--navy);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.wc-department-badge-tooltip p{margin:0}
.wc-department-badge-tooltip ul{margin:0;padding-left:16px}
.wc-department-badge-tooltip li{margin-bottom:6px}
.wc-department-badge-tooltip li:last-child{margin-bottom:0}
.wc-department-badge-tooltip li b{color:var(--navy)}
.wc-constitutional-card-wrap{position:relative;z-index:0;min-width:0;display:flex}/* height:100% here clipped/scrolled the card once the "Change from FY 2026" block was added -- stretch via flex instead so the button grows with its content. */.wc-constitutional-card-wrap>button{position:relative;z-index:0;width:100%;height:auto;padding-right:58px}.wc-constitutional-supporting-link{position:absolute;top:13px;right:13px;z-index:5;display:grid;width:31px;height:31px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;place-items:center;text-decoration:none;box-shadow:0 2px 6px rgba(0,63,40,.16)}.wc-constitutional-supporting-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wc-constitutional-supporting-link:hover,.wc-constitutional-supporting-link:focus-visible{border-color:#00452d;background:#00452d;box-shadow:0 4px 10px rgba(0,63,40,.24);transform:translateY(-1px)}
.wc-constitutional-card-wrap:hover>button,.wc-constitutional-card-wrap:focus-within>button{border-color:var(--green);box-shadow:0 6px 16px rgba(0,63,40,.08);transform:none}
.wc-department-detail{scroll-margin-top:24px;margin:30px 0;padding:26px;border:1px solid rgba(0,63,40,.17);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(0,63,40,.07)}.wc-department-detail-close{position:sticky;top:76px;z-index:5;margin-bottom:18px;padding:8px 13px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;cursor:pointer;font:inherit;font-size:.7rem;font-weight:800;box-shadow:0 4px 12px rgba(0,63,40,.18)}.wc-department-detail-back{position:sticky;top:76px;z-index:5;display:inline-block;margin:0 8px 18px 0;padding:8px 13px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);cursor:pointer;font:inherit;font-size:.7rem;font-weight:800;box-shadow:0 4px 12px rgba(0,63,40,.12)}.wc-department-detail-back:hover{background:#e8f3eb}.wc-department-detail-head{display:flex;justify-content:space-between;gap:24px}.wc-department-detail-head h3{margin:5px 0 8px;color:var(--navy);font-size:1.55rem}.wc-department-detail-head p{display:none}.wc-department-detail-head p.wc-department-detail-function{display:block;max-width:640px;margin:0 0 4px;color:var(--muted);font-size:.78rem;line-height:1.5}.wc-department-detail-head>div:last-child{text-align:right}.wc-department-detail-head>div:last-child strong{display:block;color:var(--green);font-size:1.55rem}.wc-department-detail-head small{color:var(--muted);font-size:.68rem}.wc-department-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.wc-department-detail-grid--single{grid-template-columns:1fr}.wc-department-detail-grid article{padding:18px;border:1px solid var(--border);border-radius:14px;background:#f8faf9}.wc-department-detail-grid h4{margin:0 0 10px;color:var(--navy);font-size:.9rem}.wc-department-detail-grid p{color:var(--muted);font-size:.72rem}.wc-department-detail-grid a{color:var(--green);font-size:.68rem;font-weight:800;text-decoration:none}.wc-department-cost-row{margin:10px 0}.wc-department-cost-row span{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.67rem}.wc-department-cost-row span b{color:var(--navy)}.wc-department-cost-row .wc-department-cost-amount{display:inline;padding:0;border:0;border-radius:0;background:none;font:inherit;letter-spacing:normal;color:var(--green);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.wc-department-cost-row .wc-department-cost-amount:hover,.wc-department-cost-row .wc-department-cost-amount:focus-visible{text-decoration-style:solid}.wc-department-cost-row i{display:block;height:5px;margin-top:4px;border-radius:999px;background:#e4ece7;overflow:hidden}.wc-department-cost-row i b{display:block;height:100%;border-radius:inherit;background:var(--green)}.wc-department-result-numbers{display:flex;gap:8px;flex-wrap:wrap}.wc-department-result-numbers span{padding:7px 9px;border-radius:10px;background:#e8f3eb;color:var(--muted);font-size:.65rem}.wc-department-result-numbers b{display:block;color:var(--green);font-size:1rem}
@media(max-width:900px){.wc-department-budget-cards,.wc-department-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1200px){.wc-independent-agencies-explorer .wc-department-budget-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.wc-independent-agencies-explorer .wc-department-budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wc-independent-agencies-explorer .wc-department-budget-cards{grid-template-columns:1fr}}
@media(max-width:900px){.wc-independent-agencies-total{width:100%;min-width:0;align-items:flex-start}.wc-independent-agencies-total .wc-revenue-total-change{text-align:left}.wc-independent-agencies-total .wc-revenue-view-actions{justify-content:flex-start}}
@media(max-width:650px){.wc-department-explorer{padding:20px}.wc-department-explorer-head,.wc-department-detail-head{flex-direction:column}.wc-department-explorer-total{width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-start;text-align:left}.wc-department-explorer-total .wc-department-explorer-badges{justify-content:flex-start}.wc-department-explorer-badges>div:first-child{padding-left:0}.wc-department-explorer-total-primary{width:100%;padding:14px 0 0;border-left:0;border-top:0;text-align:left}.wc-department-explorer-total .wc-department-ledger-trigger{margin-left:0}.wc-department-ledger-actions{justify-content:flex-start;margin-left:0}.wc-department-explorer-year-change{justify-content:flex-start}.wc-department-explorer-metrics,.wc-department-budget-cards,.wc-department-detail-grid{grid-template-columns:1fr}.wc-department-detail-head>div:last-child{text-align:left}}
@media(max-width:650px){.wc-personnel-explorer,.wc-department-explorer,.wc-revenue-concentration{margin-top:20px}.wc-personnel-explorer-total > div:has(.wc-personnel-ledger-trigger),.wc-department-explorer-head .wc-department-ledger-trigger,.wc-revenue-concentration-head .wc-revenue-view-actions{position:static;margin-top:10px}.wc-personnel-explorer-total > div:has(.wc-personnel-ledger-trigger){justify-content:flex-start}.wc-revenue-view-actions{flex-wrap:wrap;justify-content:flex-start}.wc-revenue-total-budget{width:100%}}

/* Shared explorer rhythm and responsive alignment. */
.wc-department-ledger-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
  width:100%;
  margin:var(--space-3) 0 0;
}
.wc-department-ledger-actions .wc-department-ledger-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  text-align:center;
  line-height:1.25;
}
.wc-department-budget-cards,
.wc-revenue-snapshot{
  gap:var(--space-3);
  align-items:stretch;
}
.wc-department-budget-cards > *,
.wc-revenue-snapshot > *{height:100%}
.wc-department-budget-cards .wc-revenue-card-head,
.wc-revenue-snapshot .wc-revenue-card-head{min-height:102px}
.wc-revenue-total-primary .wc-revenue-view-actions,
.wc-personnel-explorer-total>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
  width:100%;
}
.wc-revenue-total-primary .wc-revenue-view-actions>* ,
.wc-personnel-explorer-total>div>*{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  text-align:center;
  line-height:1.25;
}

@media(max-width:1050px){
  .wc-department-explorer-head{
    flex-direction:column;
    gap:var(--space-6);
  }
  .wc-department-explorer-total{
    width:100%;
    min-width:0;
    justify-content:flex-start;
  }
  .wc-department-explorer-total-primary{text-align:left}
  .wc-department-explorer-total-primary .wc-department-ledger-trigger{margin-left:0}
  .wc-department-explorer-year-change{justify-content:flex-start}
}
@media(max-width:650px){
  .wc-department-ledger-actions{grid-template-columns:1fr}
  .wc-revenue-total-primary .wc-revenue-view-actions,
  .wc-personnel-explorer-total>div{grid-template-columns:1fr}
  .wc-department-explorer-total-primary>strong{font-size:1.45rem}
}

/* Keep every explorer's headline budget callout typographically identical.
   Revenue, capital, personnel, department, Constitutional Officer, and
   independent-agency explorers use different layout wrappers, but the label,
   amount, and year-over-year change should read as one shared component. */
.wc-revenue-total-primary > span,
.wc-personnel-explorer-total > span,
.wc-department-explorer-total-primary > span {
  display:block;
  color:var(--muted);
  font:800 .72rem/1.3 Arial, Helvetica, sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.wc-revenue-total-primary > strong,
.wc-personnel-explorer-total > strong,
.wc-department-explorer-total-primary > strong {
  display:block;
  margin:3px 0 0;
  color:var(--navy);
  font:800 1.65rem/1.15 Arial, Helvetica, sans-serif;
  letter-spacing:0;
}
.wc-revenue-total-primary > small,
.wc-personnel-explorer-total > small,
.wc-department-explorer-total-primary > small {
  display:block;
  margin:3px 0 0;
  font:400 1rem/1.35 Arial, Helvetica, sans-serif;
  letter-spacing:0;
  white-space:nowrap;
}
.wc-revenue-total-primary > small.is-increase,
.wc-revenue-total-primary > small.is-decrease,
.wc-personnel-explorer-total > small.is-increase,
.wc-personnel-explorer-total > small.is-decrease,
.wc-department-explorer-total-primary > small.is-increase,
.wc-department-explorer-total-primary > small.is-decrease {
  font-weight:800;
}

#consolidated-expense-summary-table { margin-bottom: 32px; }
.wc-expense-activity-chart-card {
  max-width: 1180px;
  margin: 28px auto 0;
  padding: 24px;
  border-radius: 20px;
  box-sizing: border-box;
  background: linear-gradient(135deg, #f4f8f5 0%, #eef7f1 100%);
  border: 1px solid rgba(0,63,40,.14);
  box-shadow: 0 6px 18px rgba(0,63,40,.06);
}
.wc-expense-activity-chart-wrap {
  position: relative;
  height: 360px;
  background: #ffffff;
  border-radius: 14px;
  padding: 14px;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .wc-expense-activity-chart-card { padding: 20px; }
  .wc-expense-activity-chart-wrap { height: 280px; }
}
.wc-table-label {
  font-size: .68rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: var(--muted); margin-bottom: 8px;
}
.wc-fund-section-heading {
  margin: 36px 0 8px;
  color: var(--navy);
  font-size: 1.3rem;
  font-weight: 800;
  border-left: 4px solid var(--gold);
  padding-left: 10px;
}

/* ── prev/next nav ── */
.page-nav {
  display: flex; justify-content: space-between;
  margin-top: 56px; padding-top: 20px;
  border-top: 1px solid var(--border); gap: 12px;
}
.page-nav a {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px; border: 1px solid var(--border);
  border-radius: 999px; text-decoration: none;
  font-size: .8rem; font-weight: 700; color: var(--text);
  transition: border-color .15s, color .15s;
}
.page-nav a:hover { border-color: var(--green); color: var(--green); }
.page-nav a.prev::before { content: "←  "; }
.page-nav a.next::after  { content: "  →"; }

/* ── chart notice ── */
.chart-notice {
  background: var(--light); border: 1px solid var(--border);
  border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0;
  padding: 14px 18px; font-size: .85rem;
}
.chart-notice p { margin-bottom: 8px; color: var(--muted); }
.chart-notice a { color: var(--green); font-weight: 700; }
.chart-notice ul { margin: 0; padding-left: 18px; color: var(--text); }
.chart-notice li { margin-bottom: 3px; font-size: .82rem; }

/* ── no-content notice ── */
.no-content {
  background: var(--light); border: 1px dashed var(--border);
  border-radius: 10px; padding: 24px 28px;
  font-size: .88rem; color: var(--muted);
}
.no-content a { color: var(--green); }


/* ── responsive ── */
@media (max-width: 768px) {
  #layout { background: #ffffff; }

  #content { padding: 24px 18px 60px; }

  .hero { padding: 28px 22px; }
  .hero h2 { font-size: 1.35rem; }
  .hero .stats { gap: 20px; }

  .index-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  #content { padding: 20px 14px 56px; }
}

/* ── live budget data (assets/budget-data.js) ── */
.content-section { margin: 0 0 var(--space-10); }

.extension-statement-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 28px;
  align-items: start;
  margin-bottom: 32px;
}

.statement-of-function h2,
.statement-of-function-style-heading {
  font-size: .92rem; font-weight: 800; color: var(--navy);
  margin: 0 0 14px; text-transform: uppercase; letter-spacing: .05em;
  border-left: 4px solid var(--gold); padding-left: 10px;
}
.statement-of-function h3 {
  margin: 0 0 10px; color: var(--navy);
  font-size: 1.05rem; font-weight: 800;
}
/* Promotes a section heading out of the small uppercase gold-rule treatment
   above into a full section header (used where a block is a major section of
   the page rather than a labelled sub-block). */
.statement-of-function h2.wc-main-section-heading,
.wc-main-section-heading {
  margin: 0 0 12px; padding-left: 0; border-left: 0;
  color: var(--navy); font-size: 1.55rem; font-weight: 800;
  line-height: 1.2; letter-spacing: normal; text-transform: none;
}
.statement-of-function p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .9rem; line-height: 1.75; text-align: left; color: var(--text);
  margin: 0 0 14px;
}
.statement-of-function p:last-child {
  margin-bottom: 0;
}

.tourism-admin-overview p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .9rem; line-height: 1.75; text-align:left; color: var(--text);
  margin: 0 0 14px;
}
.tourism-admin-overview p:last-child {
  margin-bottom: 0;
}

.tourism-admin-overview h3 {
  margin: 22px 0 14px;
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 800;
}

.tourism-admin-section {
  margin: 0 0 40px;
  /* Summary of Expenses' "View Budget Lines" department links jump
     straight to a division's own section (see departmentPageHref's
     DEPARTMENT_PAGE_ANCHOR_OVERRIDES) -- without this, the sticky nav
     covers the section heading it lands on. */
  scroll-margin-top: 110px;
}

.tourism-admin-section > p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .9rem; line-height: 1.75; text-align:left; color: var(--text);
  margin: 0 0 14px;
}

.tourism-admin-section + .tourism-admin-section {
  padding-top: 32px;
  border-top: 2px solid var(--green);
}

.tourism-admin-section-title {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: 26px;
  font-weight: 800;
  border-left: 5px solid var(--gold);
  padding-left: 14px;
}

.tourism-admin-financial-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  margin: 28px 0;
}

.tourism-admin-financial-pair .wc-finance-card {
  height: 100%;
  margin: 0;
}

.extension-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border: 6px solid var(--gold);
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.16),
    0 6px 16px rgba(36,52,77,0.08);
}

.extension-video-frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 104%;
  height: 104%;
  transform: translate(-50%, -50%);
  border: 0;
  display: block;
}

.libraries-statement-media {
  margin-bottom: 32px;
}

.libraries-statement-lower {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 28px;
  align-items: start;
}

.libraries-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border: 6px solid var(--gold);
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.16),
    0 6px 16px rgba(36,52,77,0.08);
}

.libraries-video-frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  display: block;
}

.mosquito-statement-media {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 32px;
}

.mosquito-page-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 490px);
  gap: 24px;
  align-items: start;
  margin-bottom: 16px;
}

.mosquito-tax-card {
  align-self: start;
  padding: 14px 16px;
  border: 1px solid rgba(209,190,120,.62);
  border-left: 5px solid var(--gold);
  border-radius: 12px;
  background: linear-gradient(135deg, #003f28 0%, #005236 100%);
  box-shadow: 0 14px 34px rgba(0,63,40,.22), 0 5px 12px rgba(36,52,77,.10);
}

.mosquito-tax-card-title {
  margin: 0 0 10px;
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mosquito-tax-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0;
}

.mosquito-tax-card div {
  min-width: 0;
}

.mosquito-tax-card dt {
  margin: 0 0 3px;
  color: rgba(255,255,255,.76);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.mosquito-tax-card dd {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.mosquito-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border: 6px solid var(--gold);
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.16),
    0 6px 16px rgba(36,52,77,0.08);
}

.mosquito-video-frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  display: block;
}

.eagle-springs-statement-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 28px;
  align-items: start;
  margin-bottom: 32px;
}

.eagle-springs-grill-statement-media {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 32px;
}

.code-compliance-statement-media {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 28px;
  overflow: visible;
}

.eagle-springs-grill-statement-media .wc-video-frame,
.eagle-springs-statement-media .wc-video-frame,
.code-compliance-statement-media .wc-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border: 6px solid var(--gold);
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.16),
    0 6px 16px rgba(36,52,77,0.08);
}

.wc-video-frame-cover iframe {
  width: 104% !important;
  height: 104% !important;
}

.eagle-springs-grill-statement-media .wc-video-frame iframe,
.eagle-springs-statement-media .wc-video-frame iframe,
.code-compliance-statement-media .wc-video-frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  display: block;
}

/* department-services.js's render() moves this into the
   .wc-dept-supporting-media rail beside the Statement of Function once its
   (async, Google-Sheets-dependent) data finishes loading -- same
   original-position flash this hides for the Recreation parks section
   above. Only hidden while still a direct child of its original wrapper;
   the selector no longer matches once JS re-parents it into the rail, so
   it reappears there automatically. */
.engineering-statement-media > .wc-savings-card {
  display: none;
}

.wc-savings-card {
  align-self: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 16px;
  border: 1px solid rgba(209,190,120,.62);
  border-left: 5px solid var(--gold);
  border-radius: 12px;
  background: linear-gradient(135deg, #003f28 0%, #005236 100%);
  box-shadow: 0 14px 34px rgba(0,63,40,.22), 0 5px 12px rgba(36,52,77,.10);
}

/* !important on these three: once the card is moved inside
   .statement-of-function (see department-services.js's supportingMedia
   float-wrap), the higher-specificity ".statement-of-function p" rule
   (color: var(--text), a plain dark color meant for narrative paragraphs)
   would otherwise win over these plain class selectors and make the
   card's white text unreadable against its dark green background. */
.wc-savings-card-kicker {
  margin: 0 0 10px;
  color: #fff !important;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wc-savings-card-value {
  margin: 0;
  color: #fff !important;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1.1;
}

.wc-savings-card-label {
  margin: 8px 0 0;
  color: rgba(255,255,255,.76) !important;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.4;
  text-align:left;
}

/* department-services.js's render() moves these into the
   .wc-dept-supporting-media rail beside the Statement of Function once its
   (async, Google-Sheets-dependent) data finishes loading -- until then they
   sit in their original, un-styled-for-that-slot position as a direct
   child of main#content, which is what was visibly flashing full-width in
   the page center before jumping into the narrower rail. Hidden here only
   in that original position (this selector no longer matches once JS
   re-parents the element into the rail, so it reappears there
   automatically -- no JS class toggle needed). */
main#content > a.environmental-iframe-link,
main#content > a.public-works-iframe-link,
main#content > a.lifeguard-iframe-link,
main#content > .recreation-parks-section {
  display: none;
}

.recreation-parks-section {
  max-width: 1280px;
  margin: 40px auto;
  padding: 0 20px;
  text-align: center;
}

.recreation-parks-section h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 32px;
  line-height: 1.2;
  font-weight: 700;
}

.recreation-parks-rule {
  width: 120px;
  height: 5px;
  background: var(--gold);
  margin: 0 auto 28px;
  border-radius: 3px;
}

.recreation-parks-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

.recreation-parks-grid .wc-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border: 6px solid var(--gold);
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.16),
    0 6px 16px rgba(36,52,77,0.08);
}

.recreation-parks-grid .wc-video-frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 104%;
  height: 104%;
  transform: translate(-50%, -50%);
  border: 0;
  display: block;
}

@media (max-width: 1000px) {
  .recreation-parks-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .recreation-parks-section h2 {
    font-size: 26px;
  }
}

.wc-plaque-card {
  margin: 20px 0;
  padding: 10px;
  border-radius: 22px;
  background: linear-gradient(135deg,#b8963e 0%,#d1be78 35%,#e6d7a3 50%,#d1be78 65%,#b8963e 100%);
  box-shadow:
    0 20px 45px rgba(36,52,77,.16),
    inset 0 2px 0 rgba(255,255,255,.45);
  transition: transform .25s ease, box-shadow .25s ease;
}

.wc-plaque-card:hover {
  transform: translateY(-3px) rotate(-.4deg);
  box-shadow:
    0 26px 55px rgba(36,52,77,.20),
    inset 0 2px 0 rgba(255,255,255,.45);
}

.wc-plaque-card:hover .wc-plaque-inner {
  animation: wcPlaqueWiggle .45s ease-in-out;
}

@keyframes wcPlaqueWiggle {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(.5deg); }
  50% { transform: rotate(-.5deg); }
  75% { transform: rotate(.25deg); }
  100% { transform: rotate(0deg); }
}

.wc-plaque-inner {
  padding: 18px 24px;
  border-radius: 16px;
  text-align: center;
  background: linear-gradient(180deg,#f7f4ea 0%,#efe7cf 100%);
  border: 2px solid rgba(209,190,120,.45);
  box-shadow: inset 0 0 25px rgba(255,255,255,.25);
}

.wc-plaque-top {
  color: #7a6b42;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .22em;
}

.wc-plaque-inner h2 {
  margin: 8px 0 4px;
  padding-left: 0;
  color: #172033;
  font-size: 32px;
  line-height: 1.05;
  font-weight: 900;
  border-left: 0;
  text-align: center;
  text-transform: none;
  letter-spacing: normal;
}

.wc-plaque-county {
  color: #24344d;
  font-size: 16px;
  font-style: italic;
  flex: 1;
  text-align: center;
}

.wc-plaque-divider {
  width: 90px;
  height: 2px;
  margin: 10px auto;
  background: #d1be78;
}

.wc-plaque-years {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 10px 0 12px;
}

.wc-plaque-year {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg,#f4e4a6 0%,#d1be78 100%);
  border: 2px solid rgba(120,90,20,.18);
  color: #172033;
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    0 4px 12px rgba(36,52,77,.10);
}

.wc-plaque-year span {
  display: block;
  font-size: 8px;
  letter-spacing: .12em;
  margin-bottom: 4px;
  color: #6b5420;
}

.wc-plaque-inner p {
  max-width: 720px;
  margin: 0 auto 10px;
  color: #3a3120;
  font-size: 15px;
  line-height: 1.7;
}

.wc-plaque-btn {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  background: #006231;
  color: #ffffff;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .05em;
}

@media (max-width: 768px) {
  .wc-plaque-inner {
    padding: 20px 16px;
  }

  .wc-plaque-inner h2 {
    font-size: 22px;
  }

  .wc-plaque-county {
    font-size: 14px;
  }

  .wc-plaque-inner p {
    font-size: 13px;
  }

  .wc-plaque-years {
    gap: 12px;
    margin: 16px 0 22px;
  }

  .wc-plaque-year {
    width: 54px;
    height: 54px;
    font-size: 13px;
  }

  .wc-plaque-btn {
    width: 100%;
    text-align: center;
  }
}

.libraries-iframe-link {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 28px auto;
  text-decoration: none;
}

.libraries-iframe-preview {
  position: relative;
  border: 4px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.14),
    0 6px 16px rgba(36,52,77,0.08);
  cursor: pointer;
}

.libraries-iframe-preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  z-index: 3;
}

.libraries-iframe-preview iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  pointer-events: none;
  filter: saturate(.92) contrast(.98) brightness(.98);
}

.libraries-iframe-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(23,32,51,.18);
  transition: background .25s ease, backdrop-filter .25s ease;
  z-index: 2;
}

.libraries-iframe-button {
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(23,32,51,.18);
  transition: transform .25s ease, background .25s ease;
}

.libraries-iframe-preview:hover .libraries-iframe-overlay {
  background: rgba(23,32,51,.08);
  backdrop-filter: blur(2px);
}

.libraries-iframe-preview:hover .libraries-iframe-button {
  transform: translateY(-2px);
  background: #ffffff;
}

.environmental-iframe-link {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 28px auto;
  text-decoration: none;
}

.environmental-iframe-preview {
  position: relative;
  border: 4px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.14),
    0 6px 16px rgba(36,52,77,0.08);
  cursor: pointer;
}

.environmental-iframe-preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  z-index: 3;
}

.environmental-iframe-preview iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  pointer-events: none;
  filter: saturate(.92) contrast(.98) brightness(.98);
}

.environmental-iframe-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(23,32,51,.18);
  transition: background .25s ease, backdrop-filter .25s ease;
  z-index: 2;
}

.environmental-iframe-button {
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(23,32,51,.18);
  transition: transform .25s ease, background .25s ease;
}

.environmental-iframe-preview:hover .environmental-iframe-overlay {
  background: rgba(23,32,51,.08);
  backdrop-filter: blur(2px);
}

.environmental-iframe-preview:hover .environmental-iframe-button {
  transform: translateY(-2px);
  background: #ffffff;
}

.public-works-iframe-link {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 28px auto;
  text-decoration: none;
}

.public-works-iframe-preview {
  position: relative;
  border: 4px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.14),
    0 6px 16px rgba(36,52,77,0.08);
  cursor: pointer;
}

.public-works-iframe-preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  z-index: 3;
}

.public-works-iframe-preview iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  pointer-events: none;
  filter: saturate(.92) contrast(.98) brightness(.98);
}

.public-works-iframe-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(23,32,51,.18);
  transition: background .25s ease, backdrop-filter .25s ease;
  z-index: 2;
}

.public-works-iframe-button {
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(23,32,51,.18);
  transition: transform .25s ease, background .25s ease;
}

.public-works-iframe-preview:hover .public-works-iframe-overlay {
  background: rgba(23,32,51,.08);
  backdrop-filter: blur(2px);
}

.public-works-iframe-preview:hover .public-works-iframe-button {
  transform: translateY(-2px);
  background: #ffffff;
}

.lifeguard-iframe-link {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  text-decoration: none;
}

.lifeguard-iframe-preview {
  position: relative;
  border: 4px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(36,52,77,0.14),
    0 6px 16px rgba(36,52,77,0.08);
  cursor: pointer;
}

.lifeguard-iframe-preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  z-index: 3;
}

.lifeguard-iframe-preview iframe {
  display: block;
  width: 100%;
  height: 260px;
  border: 0;
  pointer-events: none;
  filter: saturate(.92) contrast(.98) brightness(.98);
}

.lifeguard-iframe-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(23,32,51,.18);
  transition: background .25s ease, backdrop-filter .25s ease;
  z-index: 2;
}

.lifeguard-iframe-button {
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #172033;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(23,32,51,.18);
  transition: transform .25s ease, background .25s ease;
}

.lifeguard-iframe-preview:hover .lifeguard-iframe-overlay {
  background: rgba(23,32,51,.08);
  backdrop-filter: blur(2px);
}

.lifeguard-iframe-preview:hover .lifeguard-iframe-button {
  transform: translateY(-2px);
  background: #ffffff;
}

.lifeguard-statement-full {
  margin-bottom: 32px;
}

.lifeguard-expense-map-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.lifeguard-expense-map-row .wc-budget-lines-card {
  margin: 0;
  height: 100%;
}

.lifeguard-expense-map-row .lifeguard-iframe-link {
  max-width: none;
  margin: 0;
  height: 100%;
}

.lifeguard-expense-map-row .lifeguard-iframe-preview {
  height: 100%;
}

.lifeguard-expense-map-row .lifeguard-iframe-preview iframe {
  height: 100%;
  min-height: 260px;
}

#department-expense-table { margin-top: 32px; }
.court-innovations-supplemental-tables { margin-top: 32px; }
.court-innovations-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.court-innovations-cards .wc-finance-card {
  margin: 0;
  height: 100%;
}
@media (max-width: 768px) {
  .court-innovations-cards {
    grid-template-columns: 1fr;
  }
}

.wc-department-financial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  margin: 28px 0;
}
.wc-department-financial-grid #department-expense-table,
.wc-department-financial-grid #department-revenue-table,
.wc-department-financial-grid #department-staffing-table,
.wc-department-financial-grid #department-state-aid-tables,
.wc-department-financial-grid #department-solid-waste-tables,
.wc-department-financial-grid #department-building-construction-tables,
.wc-department-financial-grid #department-bcc-tables,
.wc-department-financial-grid #department-county-attorney-tables {
  min-width: 0;
  margin: 0;
}
.wc-department-financial-grid #department-solid-waste-tables,
.wc-department-financial-grid #department-building-construction-tables,
.wc-department-financial-grid #department-bcc-tables,
.wc-department-financial-grid #department-county-attorney-tables,
.wc-department-financial-grid .solid-waste-supplemental-tables,
.wc-department-financial-grid .building-construction-supplemental-tables,
.wc-department-financial-grid .bcc-supplemental-tables,
.wc-department-financial-grid .county-attorney-supplemental-tables {
  display: contents;
}
.wc-department-financial-grid .wc-finance-card {
  margin: 0;
}
/* The solid waste / building construction / bcc supplemental wrappers are
   `display: contents` so each of their cards becomes its own independent
   grid cell -- those should always stretch to match whatever they land
   beside in the row, regardless of how many sibling cards share that
   wrapper. */
.wc-department-financial-grid .solid-waste-supplemental-tables .wc-finance-card,
.wc-department-financial-grid .building-construction-supplemental-tables .wc-finance-card,
.wc-department-financial-grid .bcc-supplemental-tables .wc-finance-card,
.wc-department-financial-grid .county-attorney-supplemental-tables .wc-finance-card {
  height: 100%;
}
/* #department-expense-table / #department-revenue-table are different:
   they can stack several sub-program cards inside ONE mount (e.g. Court
   Technology & Innovations, Code Compliance -- see
   arrangeDepartmentFinancialDashboard), so only stretch there when it's
   the sole card in the mount; stretching every stacked card to 100% would
   overflow the mount and spill into the page content below it. */
.wc-department-financial-grid #department-expense-table .wc-finance-card:only-of-type,
.wc-department-financial-grid #department-revenue-table .wc-finance-card:only-of-type {
  height: 100%;
}
/* Only adds a gap between stacked cards sharing one mount
   (#department-expense-table / #department-revenue-table); a supplemental
   wrapper's cards are separate grid cells now (see above), so this same
   sibling selector would otherwise push the second one down within its
   row and break its alignment with whatever it sits beside. */
.wc-department-financial-grid #department-expense-table .wc-finance-card + .wc-finance-card,
.wc-department-financial-grid #department-revenue-table .wc-finance-card + .wc-finance-card {
  margin-top: 18px;
}
.wc-department-financial-grid #department-staffing-table {
  grid-column: 1 / -1;
  align-self: start;
}
#department-personnel-ledger { margin-top: 30px; }
.wc-department-financial-grid #department-staffing-table .wc-finance-card {
  height: auto;
}
.wc-department-financial-grid #department-state-aid-tables {
  grid-column: 1 / -1;
}
.mosquito-state-aid-tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  margin: 28px 0;
}
.mosquito-state-aid-tables .wc-finance-card {
  height: 100%;
  margin: 0;
}
/* Departments with multiple sub-programs (e.g. Code Compliance Beach /
   Code Compliance Street) render one staffing card per sub-program --
   shown side by side in their own 2-column row instead of stacked flush
   against each other. Scoped with :has() to departments with more than one
   card, so the much more common single-staffing-table department still
   just gets one full-width card. */
.wc-department-financial-grid #department-staffing-table:has(.wc-finance-card + .wc-finance-card) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.wc-department-financial-grid #department-staffing-table .wc-code-compliance-staffing-screen {
  display: contents;
}
.wc-department-financial-grid #department-staffing-table:has(.wc-finance-card + .wc-finance-card) .wc-finance-card {
  margin: 0;
}
.wc-department-financial-grid #department-staffing-table .wc-finance-card-footer {
  margin-top: 16px;
}
/* Sub-program departments where the expense/revenue mounts hold a
   different number of stacked cards (see arrangeDepartmentFinancialDashboard) --
   opt out of the grid row's height-stretch so a mount's cards aren't
   inflated to match a taller sibling mount they don't actually pair with. */
.wc-department-financial-grid .wc-financial-mount-natural-height {
  align-self: start;
}
.wc-department-financial-grid .wc-financial-mount-natural-height .wc-finance-card {
  height: auto;
}

/* Code Compliance's two-sub-program layout (see
   arrangeDepartmentFinancialDashboard): the expense mount's stacked cards
   become independent grid cells so they sit side by side in their own row,
   instead of stacking inside one column; the revenue mount then spans the
   full row width underneath both of them. */
.wc-department-financial-grid .wc-financial-mount-cards-as-row {
  display: contents;
}
/* #department-expense-table's own ID selector (".wc-finance-card +
   .wc-finance-card { margin-top: 18px }" above, for the normal stacked
   case) otherwise outweighs a plain class selector here and keeps pushing
   the second card down even once it's display:contents -- this needs the
   ID in the selector too just to win that tie. */
.wc-department-financial-grid #department-expense-table.wc-financial-mount-cards-as-row .wc-finance-card,
.wc-department-financial-grid .wc-financial-mount-cards-as-row .wc-finance-card {
  margin: 0;
  height: 100%;
}
.wc-department-financial-grid .wc-financial-mount-full-width {
  grid-column: 1 / -1;
  align-self: start;
}
.wc-department-financial-grid .wc-financial-mount-full-width .wc-finance-card {
  height: auto;
}

.wc-finance-card {
  display: flex;
  flex-direction: column;
  margin: 28px 0;
  padding: 26px;
  background: #e8f3eb;
  border: 1px solid rgba(23,32,51,.10);
  border-radius: 28px;
  box-shadow: 0 14px 34px rgba(23,32,51,.055);
}
/* A department's position-detail panel on Summary of Personnel (see
   personnelDeptDetailHtml) also carries wc-finance-card so its heading
   gets the print-only ::before treatment, but that means this rule's own
   display:flex (an author rule, so it beats the browser's native
   [hidden]{display:none} UA default) was un-hiding the panel on-screen
   any time it had the hidden attribute, not just in print. Restores the
   native hidden behavior on screen; the print stylesheet's own
   .wc-finance-card[hidden] rule (with !important) still force-shows it
   for printing regardless of this. */
.wc-finance-card[hidden] {
  display: none;
}
.wc-finance-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}
.wc-finance-card-head > div:first-child {
  min-width: 0;
}
/* Capital Outlay's own current amount + YoY change, pulled out of the
   headline total and the top-3 breakdown list (see renderFinancialDashboardCard
   in budget-data.js) so it reads as "here's the recurring budget, and here's
   the one-time capital add-on" rather than one blended number. */
.wc-finance-card-capital-callout {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--light);
  text-align: right;
}
.wc-finance-card-capital-callout-label {
  color: #607184;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wc-finance-card-capital-callout-amount {
  color: #172033;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.1;
}
.wc-finance-card-kicker {
  margin: 0 0 10px;
  color: #003f28;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wc-finance-card-total {
  display: block;
  color: #172033;
  font-size: clamp(2.35rem, 5vw, 4.4rem);
  line-height: .92;
  font-weight: 900;
  letter-spacing: 0;
}
.wc-finance-card-subtitle {
  display: block;
  margin-top: 10px;
  color: #526476;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wc-finance-card-breakdown {
  display: grid;
  gap: 17px;
  align-content: start;
}
.wc-finance-card-rows-1 .wc-finance-card-head {
  margin-bottom: 28px;
}
.wc-finance-card-rows-1 .wc-finance-card-breakdown {
  margin-bottom: 22px;
}
.wc-finance-card-rows-1 .wc-finance-card-footer {
  margin-top: auto;
}
.wc-department-financial-grid #department-staffing-table .wc-finance-card-breakdown {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
}
.wc-finance-card-row.is-zero {
  display: none;
}
.wc-finance-card-row-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 8px;
}
.wc-finance-card-row-head strong {
  display: -webkit-box;
  overflow: hidden;
  color: #172033;
  font-size: .96rem;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.wc-finance-card-row-head strong:has(.wc-budget-line-tooltip-anchor) {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.wc-budget-line-tooltip-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.wc-budget-line-tooltip-anchor {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  align-self: center;
  border: 1px solid rgba(0,63,40,.34);
  border-radius: 999px;
  background: #fff;
  color: #003f28;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  cursor: help;
}
.wc-budget-line-tooltip-anchor:focus-visible {
  outline: 3px solid rgba(209,190,120,.55);
  outline-offset: 2px;
}
.wc-budget-line-tooltip-bubble {
  position: fixed;
  z-index: 9999;
  display: none;
  padding: 10px 12px;
  border: 1px solid rgba(0,63,40,.2);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(23,32,51,.18);
  color: #172033;
  font-size: .82rem;
  line-height: 1.45;
}
.wc-budget-line-tooltip-bubble.is-visible {
  display: block;
}
.wc-finance-card-row-head span {
  flex: 0 0 auto;
  color: #003f28;
  font-size: .82rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.wc-finance-card-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,63,40,.10);
}
.wc-finance-card-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #003f28;
}
.wc-finance-card-amount {
  color: #526577;
  font-size: .86rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.wc-finance-card-amount-row {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 10px; margin-top: 7px; flex-wrap: wrap;
}
/* Each category's own FY2026 -> FY2027 change (see
   renderFinanceCardRowChange in budget-data.js) -- distinct from the
   %-of-total-budget badge in the row head above, which is a same-year
   share, not a year-over-year comparison. */
.wc-finance-card-change {
  font-size: .78rem; font-weight: 800; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.wc-finance-card-change-up { color: var(--green); }
.wc-finance-card-change-down { color: #b3261e; }
.wc-finance-card-change-flat { color: var(--muted); }
.wc-finance-card-change-label {
  font-weight: 700; opacity: 1; text-transform: uppercase;
  letter-spacing: .04em; font-size: .92em;
}
/* Small indented sub-lines under a category's own amount (e.g. Code
   Compliance's Personnel Services broken into its Street/Beach sides --
   see renderCodeComplianceExpenseCard in budget-data.js) instead of a
   whole separate card per sub-program. */
.wc-finance-card-sublines {
  margin: 8px 0 0 12px; padding-left: 10px; border-left: 2px solid var(--border);
  display: flex; flex-direction: column; gap: 4px;
}
.wc-finance-card-subline {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
}
.wc-finance-card-subline span {
  color: var(--muted); font-size: .76rem; font-weight: 700;
}
.wc-finance-card-subline strong {
  color: var(--muted); font-size: .78rem; font-weight: 800;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.wc-finance-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(23,32,51,.08);
}
.wc-finance-card .wc-budget-lines-detail {
  margin-top: 18px;
}

.wc-budget-detail-open #layout,
.wc-budget-detail-open .wc-home-main,
.wc-budget-detail-open .wc-home-shell,
.wc-budget-detail-open footer[role="contentinfo"] {
  filter: blur(8px);
  transition: filter .25s ease;
}
.wc-budget-detail-modal[hidden] {
  display: none;
}
.wc-budget-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 72px 18px 24px;
  overscroll-behavior: contain;
}
.wc-budget-detail-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12,18,26,.34);
  backdrop-filter: blur(8px);
}
.wc-budget-detail-card {
  position: relative;
  z-index: 1;
  width: min(1720px, calc(100vw - 36px));
  max-height: min(86vh, 960px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 30px 80px rgba(0,0,0,.24);
  opacity: 0;
  transform: translateY(10px) scale(.985);
  transition: opacity .24s ease, transform .24s ease;
}
.wc-budget-detail-card.wc-budget-detail-card--ledger {
  display: flex;
  height: min(86vh, 960px);
  flex-direction: column;
}
.wc-budget-detail-card.wc-budget-detail-card--ledger .wc-budget-detail-body {
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
}
.wc-budget-detail-modal.is-open .wc-budget-detail-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.wc-budget-detail-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid rgba(23,32,51,.10);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
}
.wc-budget-detail-kicker {
  margin: 0 0 6px;
  color: #003f28;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wc-budget-detail-header h2 {
  margin: 0;
  color: #172033;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  line-height: 1.05;
  font-weight: 500;
}
.wc-budget-detail-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(23,32,51,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #172033;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.wc-budget-detail-body {
  max-height: calc(min(86vh, 960px) - 92px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 18px 20px 22px;
  scrollbar-width: none;
}
.wc-budget-detail-body::-webkit-scrollbar {
  display: none;
}
.wc-department-office-picker-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wc-department-office-picker-list a,
.wc-department-office-picker-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: none;
  color: var(--navy);
  font: inherit;
  font-weight: 700;
  font-size: 0.9rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
/* When a choice carries an amount (Personnel Ledger picker), it renders as
   <span>Name</span><strong>$Amount</strong> -- same name-left,
   amount-right, bold-amount format as a single-office row's own Total
   Personnel Cost cell. */
.wc-department-office-picker-list button strong {
  color: var(--green);
  font-size: 0.95rem;
  white-space: nowrap;
}
.wc-department-office-picker-list a:hover,
.wc-department-office-picker-list a:focus-visible,
.wc-department-office-picker-list button:hover,
.wc-department-office-picker-list button:focus-visible {
  border-color: var(--green);
  /* Explicit background here, not just color, because a picker choice
     with an amount also carries .wc-view-budget-lines-toggle (so clicking
     it opens that office's detail) -- that base class's own :hover rule
     fills the whole button solid green, which otherwise wins the
     background (nothing here was overriding it) while this rule's color
     still won on specificity, leaving green text on a green fill. */
  background: rgba(0,63,40,.06);
  color: var(--green);
}
.wc-department-office-picker-list button:hover strong,
.wc-department-office-picker-list button:focus-visible strong {
  color: var(--green);
}
.wc-budget-detail-body .wc-budget-lines-detail {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.wc-budget-detail-body .wc-data-table-scroll {
  max-height: 66vh;
  overflow: auto;
  scrollbar-width: none;
}
.wc-budget-detail-body .wc-data-table-scroll::-webkit-scrollbar {
  display: none;
}
.wc-budget-detail-body .wc-budget-lines-detail .wc-data-table {
  font-size: .64rem;
  min-width: 0;
}
.wc-budget-detail-body .wc-budget-lines-detail .wc-data-table th,
.wc-budget-detail-body .wc-budget-lines-detail .wc-data-table td {
  padding: 6px 7px;
}
.wc-budget-detail-body .wc-budget-lines-detail.show-prior-years .wc-data-table th,
.wc-budget-detail-body .wc-budget-lines-detail.show-prior-years .wc-data-table td {
  white-space: nowrap;
}

.wc-data-table-wrap { margin: 24px 0; }
.wc-data-table-wrap:has(+ .wc-table-footer-row) { margin-bottom: 8px; }
.wc-data-table-scroll { width: 100%; overflow-x: auto; overflow-y: visible; border: 1px solid var(--border); border-radius: 12px; }
.code-compliance-page [data-table-scroll-container="true"],
.code-compliance-page [data-report-table-container-id],
.code-compliance-page .wc-data-table-scroll {
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
.wc-data-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .85rem; }
.wc-data-table th, .wc-data-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; white-space: normal; }
.wc-data-table th.wc-num, .wc-data-table td.wc-num { text-align: right; font-variant-numeric: tabular-nums; }
.wc-data-table td.wc-num.is-increase { color: var(--green); font-weight: 700; }
.wc-data-table td.wc-num.is-decrease { color: #a33a32; font-weight: 700; }
/* Forecast Assumptions detail table: a year excluded from a line's
   Historical CAGR basis (see historicalCagrExcludedYears) reads as
   de-emphasized rather than a normal actual, without hiding the figure. */
.wc-forecast-cagr-excluded { color: var(--muted); }
.wc-data-table thead th {
  position: sticky; top: 0; z-index: 1;
  background: linear-gradient(135deg, #003f28 0%, #005236 100%);
  color: #fff; font-weight: 700; border-bottom: 3px solid var(--gold);
}
.wc-data-table tbody tr:hover td { background: rgba(0,63,40,.05); }
.wc-sortable-column-header {
  background: none; border: 0; padding: 0; margin: 0; cursor: pointer;
  font: inherit; font-weight: 700; color: inherit;
}
.wc-sortable-column-header:hover, .wc-sortable-column-header:focus-visible {
  text-decoration: underline; outline: none;
}
.wc-data-table tbody tr.wc-table-total-row:hover td { background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%); }
.wc-data-table tr.wc-table-group-row td {
  background: var(--light); color: var(--navy); font-weight: 800;
  padding-top: 11px; padding-bottom: 11px; text-transform: uppercase; font-size: .72rem; letter-spacing: .04em;
}
.wc-data-table tr.wc-table-subtotal-row td { padding-top: 11px; padding-bottom: 11px; background: rgba(209,190,120,.18); font-weight: 700; }
.wc-data-table tr.wc-table-total-row td {
  padding-top: 11px; padding-bottom: 11px;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%);
  color: var(--navy); font-weight: 800; border-bottom: 0;
}
.wc-department-row-link {
  color: var(--green);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.wc-department-row-link:hover,
.wc-department-row-link:focus {
  color: var(--navy);
}
.wc-department-row-link::after,
.wc-data-table .wc-view-budget-lines-toggle.wc-table-row-link::after,
.wc-cip-project-link::after {
  content: " \2192";
  display: inline-block;
  margin-left: 3px;
  text-decoration: none;
  transition: transform .15s ease;
}
.wc-department-row-link:hover::after,
.wc-data-table .wc-view-budget-lines-toggle.wc-table-row-link:hover::after,
.wc-cip-project-link:hover::after {
  transform: translateX(2px);
}

/* Fund Financial Schedule: collapsible Revenues/Expenditures activity rows
   (see buildFundFinancialSchedule/closeFundActivityDetail in budget-data.js). */
.wc-data-table tr.wc-fund-activity-group-toggle { cursor: pointer; }
.wc-data-table tr.wc-fund-activity-toggle { cursor: pointer; }
.wc-data-table tr.wc-fund-activity-toggle:hover td,
.wc-data-table tr.wc-fund-activity-group-toggle:hover td { background: rgba(0,98,49,.06); }
.wc-fund-activity-chevron {
  display: inline-block;
  margin-right: 8px;
  width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  vertical-align: middle;
  transition: transform .15s ease;
}
.wc-fund-activity-group-toggle[aria-expanded="true"] .wc-fund-activity-chevron,
.wc-fund-activity-toggle[aria-expanded="true"] .wc-fund-activity-chevron {
  transform: rotate(180deg);
}
.wc-fund-activity-detail-row > td { padding: 0 !important; border-bottom: 0 !important; }
.wc-data-table tr.wc-fund-activity-row > td:first-child { padding-left: 42px; }
.wc-revenue-ledger-source-link { padding: 0; border: 0; background: transparent; color: var(--green); font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.wc-revenue-ledger-source-link:hover { color: var(--navy); }
.wc-revenue-source-dialog { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 18px; overflow: hidden; border: 0; background: #0b2a20; color: var(--text); box-sizing: border-box; }
.wc-revenue-source-dialog::backdrop { background: #0b2a20; }
.wc-revenue-source-dialog-wave { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(.72) saturate(.9); pointer-events: none; }
.wc-revenue-source-dialog-shade { position: absolute; z-index: 1; inset: 0; background: rgba(3,38,28,.22); pointer-events: none; }
.wc-revenue-source-dialog-shell { position: relative; z-index: 2; display: grid; grid-template-rows: auto minmax(0,1fr); width: min(1240px,100%); height: 100%; margin: 0 auto; overflow: hidden; border: 1px solid rgba(0,63,40,.18); border-radius: 20px; background: var(--light); box-shadow: 0 28px 80px rgba(0,27,17,.4); }
.wc-revenue-source-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; border-bottom: 1px solid var(--border); background: #fff; }
.wc-revenue-source-dialog-head span { display: block; color: var(--green); font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.wc-revenue-source-dialog-head h2 { margin: 3px 0 0; color: var(--navy); font-size: 1.2rem; }
.wc-revenue-source-dialog-close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--light); color: var(--text); font-size: 1.45rem; line-height: 1; cursor: pointer; }
.wc-revenue-source-dialog-close:hover { border-color: var(--green); color: var(--green); }
.wc-revenue-source-dialog-body { min-height: 0; padding: 20px; overflow: auto; }
.wc-revenue-source-dialog-body .wc-revenue-detail-actions { display: none; }
.wc-revenue-source-dialog-body .wc-revenue-topic-block { width: 100%; max-width: none; margin: 0; }
/* This popup shows exactly one topic at a time, so the chart/narrative
   pair doesn't need to match height the way a scrolling page of many
   topic rows does -- stretch just padded the shorter (narrative) card
   with blank space when it had less content than the chart card. */
.wc-revenue-source-dialog-body .wc-revenue-topic-row { align-items: start; }
@media(max-width:700px){.wc-revenue-source-dialog{padding:0}.wc-revenue-source-dialog-shell{border:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){.wc-revenue-source-dialog-wave{display:none}}
.wc-revenue-ledger-detail-view { margin-top: 14px; border: 1px solid rgba(0,63,40,.18); border-radius: 20px; background: var(--light); box-shadow: 0 12px 34px rgba(0,35,22,.08); overflow: hidden; }
.wc-revenue-ledger-back-button { display: inline-flex; align-items: center; gap: 6px; margin: 18px 0 18px 20px; padding: 9px 16px; border: 1px solid var(--border); border-radius: 999px; background: #fff; color: var(--green); font-size: .82rem; font-weight: 800; cursor: pointer; }
.wc-revenue-ledger-back-button:hover { border-color: var(--green); }
.wc-expenditure-ledger-page > #layout #content > .wc-revenue-full-bleed{display:none!important}
.wc-expenditure-ledger-detail-content{padding:0 20px 22px}
.wc-expenditure-ledger-detail-content .wc-revenue-heading-inner{width:100%;max-width:none;margin:0 0 20px;padding:30px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;text-align:left}
.wc-expenditure-ledger-detail-content .wc-revenue-heading-inner span{display:block;margin-bottom:7px;color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.wc-expenditure-ledger-detail-content .wc-revenue-heading-inner h2{margin:0 0 10px;color:var(--navy)}
.wc-expenditure-ledger-detail-content .wc-revenue-heading-inner p{max-width:1000px;margin:0;color:var(--muted);line-height:1.65}
.wc-fund-activity-detail {
  margin: 4px 14px 14px 28px;
  padding: 10px 14px;
  background: var(--light);
  border-radius: 12px;
  border: 1px solid var(--border);
}
.wc-fund-activity-detail .wc-data-table { font-size: .68rem; margin: 0; }
.wc-fund-activity-detail .wc-data-table th, .wc-fund-activity-detail .wc-data-table td { padding: 6px 8px; }
.wc-fund-activity-detail .wc-data-table thead th {
  position: static; background: none; color: var(--muted);
  text-transform: uppercase; font-size: .62rem; letter-spacing: .04em;
  border-bottom: 2px solid var(--border);
}

.wc-table-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.wc-table-label-row .wc-table-label {
  margin-bottom: 0;
}
.wc-fund-financial-label-row {
  justify-content: space-between;
  min-height: 24px;
}
.wc-fund-financial-table-title {
  display: block;
  color: var(--navy);
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-align: left;
  text-transform: uppercase;
}
.wc-staffing-card:not(.show-prior-years) .wc-staffing-table .wc-prior-year {
  display: none;
}
.wc-staffing-card:not(.show-prior-years) .wc-staffing-table tr.wc-staffing-zero-current {
  display: none;
}
.wc-staffing-card .wc-fy-column-toggle-wrap,
.wc-table-label-row .wc-fy-column-toggle-wrap {
  position: static !important;
  width: auto !important;
  height: 20px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.wc-fy-column-toggle-wrap.wc-budget-lines-detail-header {
  position: static !important;
  width: fit-content !important;
  height: 20px !important;
  margin: 0 0 8px auto !important;
}
.wc-budget-lines-tools {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px;
  padding-right: 150px;
  margin: 0 0 12px;
  box-sizing: border-box;
}
.wc-budget-lines-tools .wc-fy-column-toggle-wrap.wc-budget-lines-detail-header {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.wc-budget-lines-tools:has(.wc-revenue-year-picker) { padding-right: 0; }
.wc-budget-lines-tools .wc-revenue-year-picker { position: relative; z-index: 4; }
.wc-revenue-year-picker > summary { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border: 1px solid var(--gold); border-radius: 999px; background: #fff; color: var(--navy); cursor: pointer; font-size: .68rem; font-weight: 850; list-style: none; }
.wc-revenue-year-picker > summary::-webkit-details-marker { display: none; }
.wc-revenue-year-picker > summary span { color: var(--green); font-size: .6rem; }
.wc-revenue-year-picker > div { position: absolute; top: calc(100% + 7px); left: 0; display: grid; grid-template-columns: repeat(2,minmax(125px,1fr)); gap: 5px; width: 290px; padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: #fff; box-shadow: 0 10px 24px rgba(0,35,22,.14); }
.wc-revenue-year-picker label { display: flex; align-items: center; gap: 6px; padding: 5px 6px; border-radius: 7px; color: var(--text); cursor: pointer; font-size: .68rem; font-weight: 750; }
.wc-revenue-year-picker label:hover { background: rgba(0,63,40,.06); }
.wc-revenue-year-picker input { margin: 0; accent-color: var(--green); }
.wc-budget-detail-body .wc-revenue-year-picker-detail .wc-prior-year:not([hidden]) { display: table-cell !important; }
.wc-staffing-notes {
  margin-top: 10px;
  padding: 10px 14px;
  background: var(--light);
  border-left: 3px solid var(--gold);
  border-radius: 6px;
  font-style: italic;
  font-size: .82rem;
  color: var(--muted);
}
.wc-staffing-notes p { margin: 0 0 4px; }
.wc-staffing-notes p:last-child { margin-bottom: 0; }
.wc-staffing-notes-title { font-weight: 700; }
.wc-staffing-notes-group + .wc-staffing-notes-group { margin-top: 10px; }
.wc-personnel-functional-areas { margin: 0 0 14px; }
.wc-personnel-functional-areas-title { margin: 0 0 8px; font-weight: 700; font-size: .82rem; color: var(--muted); }
.wc-personnel-functional-area-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.wc-personnel-functional-area-list li {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--light);
  font-size: .8rem;
}
.wc-personnel-functional-area-list strong { color: var(--green); }
.wc-personnel-functional-area-list span { color: var(--muted); }
.wc-budget-lines-note {
  flex: 1 1 100%;
  margin-top: 0;
}

.wc-table-footer-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 2px;
}
.wc-view-budget-lines-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border: 1px solid var(--green);
  border-radius: 999px;
  background: #ffffff;
  color: var(--green);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
/* Same display:flex-beats-[hidden] issue as .wc-filter-bar above -- the
   Personnel Ledger's "Show COLA, Health Insurance & Increase" toggle sets
   this element's hidden attribute for non-board scopes, which needs this
   override to actually take effect on screen. */
.wc-view-budget-lines-toggle[hidden] {
  display: none;
}
.wc-view-budget-lines-toggle:hover {
  background: var(--green);
  color: #ffffff;
}
.wc-forecast-assumptions-controls {
  display: grid;
  gap: 8px;
}
.wc-forecast-fund-filter,
.wc-forecast-sort-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.wc-forecast-filter-label {
  align-self: center;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wc-forecast-fund-filter-button,
.wc-forecast-sort-button {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid var(--green);
  border-radius: 999px;
  background: #ffffff;
  color: var(--green);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.wc-forecast-fund-filter-button:hover,
.wc-forecast-sort-button:hover {
  background: var(--green);
  color: #ffffff;
}
.wc-forecast-fund-filter-button.is-active,
.wc-forecast-sort-button.is-active {
  background: var(--green);
  color: #ffffff;
}
/* Plain-text variant used for clickable department names inside a data
   table (see personnelDeptDetailHtml in budget-data.js) -- same
   .wc-view-budget-lines-toggle click/modal behavior, but it should read
   like a normal table cell, not a pill button. Styled to match the CIP
   project links (.wc-cip-project-link in walton-cip-fund-schedule.js) --
   bold, light green, no underline until hover. */
.wc-data-table .wc-view-budget-lines-toggle.wc-table-row-link {
  display: inline; padding: 0; border: 0; border-radius: 0;
  background: none; font: inherit; letter-spacing: normal;
  color: #003f28; font-weight: 800;
  text-decoration: none; text-underline-offset: 3px;
  /* <button> defaults to text-align:center in the browser's own
     stylesheet -- display:inline above doesn't reset that, so a
     department name long enough to wrap onto a second line (the narrow
     sticky first column on mobile) centers each line inside the button's
     own width instead of staying flush left like the rest of the column. */
  text-align: left;
}
.wc-data-table .wc-view-budget-lines-toggle.wc-table-row-link:hover {
  background: none; color: #003f28; text-decoration: underline;
}
.wc-budget-lines-detail {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--border);
}
.wc-budget-lines-detail .wc-data-table { font-size: .68rem; }
.wc-budget-lines-detail .wc-data-table th, .wc-budget-lines-detail .wc-data-table td { padding: 6px 8px; }
.wc-budget-lines-card:not(.show-prior-years) .wc-data-table .wc-prior-year { display: none; }
.wc-budget-lines-card:not(.show-prior-years) .wc-data-table tr.wc-budget-line-zero-current { display: none; }
.wc-budget-lines-card:not(.show-prior-years) .wc-data-table tr.wc-budget-line-summary-row { display: none; }
.wc-budget-lines-card:not(.show-prior-years) .wc-transaction-drilldown-helper { display: none; }
.wc-budget-lines-card.show-prior-years .wc-data-table tr.wc-budget-line-detail-row { display: none; }
.wc-budget-lines-card.show-prior-years .wc-data-table .wc-itemized-description-column { display: none; }
.wc-revenue-actuals-note {
  flex: 1 1 auto;
  max-width: 980px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid rgba(209,190,120,.62);
  border-left: 5px solid var(--gold);
  border-radius: 12px;
  background: linear-gradient(135deg, #003f28 0%, #005236 100%);
  color: #fff;
  font-size: .84rem;
  line-height: 1.45;
  font-style: italic;
  font-weight: 600;
}
.wc-transaction-drilldown-helper {
  flex: 1 1 auto;
  margin: 0;
  color: #526577;
  font-size: .72rem;
  line-height: 1.4;
  font-style: italic;
  text-align: right;
}
.wc-actual-drilldown-link {
  color: var(--green);
  font-weight: 900;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  cursor: pointer;
  pointer-events: auto;
}
.wc-actual-drilldown-link:hover,
.wc-actual-drilldown-link:focus {
  color: var(--green2);
  text-decoration-style: solid;
}
.wc-transaction-page {
  max-width: 1320px;
}
.wc-transaction-panel {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid rgba(23,32,51,.10);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(23,32,51,.055);
}
.wc-transaction-back-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
  color: #003f28;
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}
.wc-transaction-back-link:hover,
.wc-transaction-back-link:focus {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.wc-transaction-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.wc-transaction-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(0,63,40,.14);
  border-radius: 999px;
  background: rgba(0,63,40,.06);
  color: #003f28;
  font-size: .78rem;
  font-weight: 800;
}
.wc-transaction-status {
  margin: 0 0 16px;
  color: #526577;
  font-size: .92rem;
  font-weight: 700;
}
.wc-transaction-summary-note {
  display: block;
  margin-top: 6px;
  font-weight: 600;
  font-style: italic;
}
.wc-transaction-table-scroll {
  max-height: 68vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.wc-transaction-table-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.wc-transaction-table {
  min-width: 760px;
}

/* Summary of Personnel's per-fund FTE callouts (see
   renderPersonnelFundCallouts in budget-data.js). Fixed 7-column grid --
   with the current 14 callouts that's two even rows; fewer/more callouts
   just leave a partial last row rather than reflowing column widths. */
.wc-personnel-fund-stats {
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px; margin-bottom: 20px;
}
.wc-personnel-fund-stat {
  display: block; width: 100%; text-align: left; cursor: pointer;
  padding: 16px 18px; border: 1px solid var(--border);
  border-radius: 14px; background: #fff; font: inherit; color: inherit;
  text-decoration: none; transition: border-color .15s ease, transform .15s ease;
}
.wc-personnel-fund-stat:hover { border-color: var(--green); transform: translateY(-1px); }
.wc-personnel-fund-stat.is-active { border-color: var(--green); border-width: 2px; }
.wc-personnel-fund-stat strong { display: block; color: var(--green); font-size: 1.4rem; font-weight: 800; }
.wc-personnel-fund-stat span {
  display: block; margin-top: 4px; color: var(--muted); font-size: .7rem;
  font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
.wc-personnel-constitutional-row .wc-visually-muted { color: var(--muted); }
/* A Board department name that rolls up multiple offices on different
   pages renders as a <button> (opens the "choose an office" popup)
   instead of a plain <a> -- styled to look identical to a plain
   wc-table-row-link anchor (same color var(--green), same underline)
   so it doesn't stand out from the single-link department names or the
   Constitutional Officers table above it. Excludes the Personnel Ledger's
   Total Personnel Cost picker button, which also carries
   wc-view-budget-lines-toggle specifically so it keeps that cell's own
   dark-green/bold/arrow look instead (see below) -- it's a dollar amount,
   not a name, and should read like every other Total Personnel Cost cell. */
.wc-data-table .wc-department-card-picker.wc-table-row-link:not(.wc-view-budget-lines-toggle) {
  display: inline; padding: 0; border: 0; background: none; font: inherit;
  color: var(--green); text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer; text-align: left;
}
.wc-data-table .wc-department-card-picker.wc-table-row-link:not(.wc-view-budget-lines-toggle):hover {
  color: var(--green); text-decoration: none;
}
.wc-personnel-constitutional-note {
  margin: 14px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--gold);
  border-radius: 0 8px 8px 0;
  background: rgba(203, 181, 99, .12);
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .wc-personnel-fund-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .wc-personnel-fund-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Compact variant used on the Financials directory's "Summary of
   Personnel" link card (see financials.html) -- same 7-column grid as the
   page's own callouts (so it's still two rows of 7), just smaller chips so
   they fit inside one directory row. Each chip is its own link to the
   Personnel page pre-filtered to that fund (?fund=...), sitting beside
   (not inside) that row's own wc-directory-item link. */
.wc-personnel-fund-stats--compact { gap: 8px; margin: 14px 22px 18px; }
.wc-personnel-fund-stats--compact .wc-personnel-fund-stat {
  padding: 8px 10px; border-radius: 10px; text-decoration: none;
  /* Matches the tallest real chip's height (the longest labels, e.g.
     "Housing & Urban Development Fund", wrap to two lines) so the
     loading-state placeholder chips (see personnelCalloutsLoadingHtml in
     financials.html) already reserve the row's eventual height -- no
     layout shift once the real, longer labels load in. */
  min-height: 73px; display: flex; flex-direction: column; justify-content: center;
}
.wc-personnel-fund-stats--compact .wc-personnel-fund-stat strong { font-size: .9rem; }
.wc-personnel-fund-stats--compact .wc-personnel-fund-stat span { font-size: .58rem; margin-top: 2px; }
@media (max-width: 900px) {
  .wc-personnel-fund-stats--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .wc-personnel-fund-stats--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.wc-personnel-table-hint { font-size: .8rem; color: var(--text-muted, #666); margin: 6px 0 10px; font-style: italic; }

.wc-forecast-intro,
.wc-forecast-note {
  max-width: 980px;
}
.wc-breadcrumb-page-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.wc-budget-forecast-explorer {
  margin-top: 22px;
}
.wc-budget-forecast-head {
  margin-bottom: 22px;
}
.wc-budget-forecast-head h2 {
  margin-bottom: 7px;
}
.wc-budget-forecast-explorer .wc-forecast-section {
  margin: 22px 0 0;
}
.wc-budget-forecast-explorer .wc-section-heading-row h2,
.wc-budget-forecast-explorer > .wc-forecast-section > h2 {
  color: var(--navy);
  font-size: 1.3rem;
  font-weight: 800;
}
.wc-budget-forecast-explorer .wc-forecast-health-card,
.wc-budget-forecast-explorer .wc-forecast-driver-panel,
.wc-budget-forecast-explorer .wc-forecast-visual-panel {
  border-radius: 13px;
}
.wc-forecast-section {
  margin: 24px 0;
}
.wc-forecast-overview {
  margin-top: 6px;
}
.wc-forecast-assumption-summary {
  margin-top: 8px;
}
.wc-section-heading-row {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}
.wc-section-heading-row p {
  max-width: 760px;
  color: var(--muted);
  font-size: .9rem;
}
.wc-forecast-health-grid,
.wc-forecast-driver-grid,
.wc-forecast-visual-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.wc-forecast-health-card,
.wc-forecast-driver-panel,
.wc-forecast-visual-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  padding: 16px;
  box-shadow: 0 8px 20px rgba(23,32,51,.06);
}
.wc-forecast-health-card {
  display: block;
  width: 100%;
  text-align: left;
  color: inherit;
  font: inherit;
}
.wc-forecast-fund-card-button {
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.wc-forecast-fund-card-button:hover {
  border-color: rgba(0,98,49,.45);
  box-shadow: 0 12px 26px rgba(23,32,51,.1);
  transform: translateY(-1px);
}
.wc-forecast-fund-card-button:focus-visible {
  outline: 3px solid rgba(209,190,120,.8);
  outline-offset: 3px;
}
.wc-forecast-health-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.wc-forecast-health-card h3,
.wc-forecast-driver-panel h3,
.wc-forecast-visual-panel h3 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  line-height: 1.25;
}
.wc-forecast-health-card-head span {
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 3px 8px;
  color: var(--green);
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}
.wc-forecast-health-card.is-watch .wc-forecast-health-card-head span { color: #9a4b16; }
.wc-forecast-health-card.is-support .wc-forecast-health-card-head span { color: #4f6395; }
.wc-forecast-health-card.is-plan .wc-forecast-health-card-head span { color: #806a20; }
.wc-forecast-health-card p,
.wc-forecast-driver-panel p {
  color: var(--muted);
  font-size: .86rem;
  margin: 0 0 12px;
}
.wc-forecast-health-card dl,
.wc-forecast-driver-panel dl {
  display: grid;
  gap: 8px;
  margin: 0;
}
.wc-forecast-health-card dl div,
.wc-forecast-driver-panel dl div {
  display: grid;
  gap: 2px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}
.wc-forecast-health-card dt,
.wc-forecast-driver-panel dt {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.wc-forecast-health-card dd,
.wc-forecast-driver-panel dd {
  color: var(--text);
  font-size: .95rem;
  font-weight: 800;
}
.wc-forecast-driver-panel dd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.wc-forecast-driver-panel dd strong {
  color: var(--green);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.wc-forecast-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 12px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
}
.wc-forecast-legend span::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  margin-right: 5px;
}
.wc-forecast-legend .is-revenue::before { background: var(--green); }
.wc-forecast-legend .is-expense::before { background: #4f6395; }
.wc-forecast-legend .is-balance::before { background: var(--gold2); }
.wc-forecast-comparison-chart {
  display: grid;
  gap: 8px;
}
.wc-forecast-comparison-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 58px;
  gap: 8px;
  align-items: center;
  font-size: .78rem;
}
.wc-forecast-comparison-row > strong {
  color: var(--navy);
}
.wc-forecast-comparison-row > span {
  color: var(--muted);
  font-weight: 800;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.wc-forecast-comparison-row > div {
  display: grid;
  gap: 3px;
}
.wc-forecast-comparison-bar {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(90,110,127,.14);
}
.wc-forecast-comparison-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.wc-forecast-comparison-bar.is-revenue i { background: var(--green); }
.wc-forecast-comparison-bar.is-expense i { background: #4f6395; }
.wc-forecast-comparison-bar.is-balance i { background: var(--gold2); }
.wc-forecast-technical-detail {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 14px 16px;
  background: #ffffff;
}
.wc-forecast-chart {
  display: grid;
  gap: 12px;
}
.wc-forecast-chart-row {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr;
  gap: 14px;
  align-items: stretch;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,.72);
}
.wc-forecast-chart-label {
  font-weight: 800;
  color: var(--navy);
}
.wc-forecast-chart-years {
  display: grid;
  gap: 8px;
}
.wc-forecast-bar-wrap {
  display: grid;
  grid-template-columns: 62px minmax(120px, 1fr) minmax(110px, auto);
  gap: 10px;
  align-items: center;
  font-size: .82rem;
}
.wc-forecast-bar-wrap span {
  color: var(--muted);
  font-weight: 800;
}
.wc-forecast-bar-wrap strong {
  text-align: right;
  color: var(--green);
  font-variant-numeric: tabular-nums;
}
.wc-forecast-bar {
  height: 10px;
  border-radius: 999px;
  background: rgba(0,63,40,.12);
  overflow: hidden;
}
.wc-forecast-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--gold));
}
.wc-forecast-fund {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,.66);
}
.wc-forecast-fund h3 {
  margin: 0 0 6px;
  color: var(--navy);
}
.wc-forecast-detail {
  margin-top: 12px;
}
.wc-forecast-detail summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--green);
}
.wc-forecast-line-toggle-row {
  color:var(--green);
  font-weight:800;
  cursor:pointer;
}
.wc-forecast-line-toggle-row:hover > td,
.wc-forecast-line-toggle-row:focus-visible > td {
  background:rgba(0,98,49,.07);
}
.wc-forecast-line-toggle-row:focus-visible {
  outline:2px solid var(--green);
  outline-offset:-2px;
}
.wc-forecast-line-detail-row > td {
  padding:12px!important;
  background:var(--light);
}
.wc-forecast-line-detail-row .wc-data-table-wrap {
  margin:0;
}
.wc-forecast-assumption-link {
  padding:0;
  border:0;
  background:transparent;
  color:var(--green);
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.wc-forecast-assumption-link:hover,
.wc-forecast-assumption-link:focus-visible {
  text-decoration:underline;
}
.wc-forecast-assumption-highlight > td {
  background:rgba(209,190,120,.28)!important;
  transition:background-color .25s ease;
}
.wc-forecast-assumptions-intro {
  margin: 10px 0 16px;
  max-width: 900px;
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.6;
}
@media (max-width: 760px) {
  .wc-forecast-health-grid,
  .wc-forecast-driver-grid,
  .wc-forecast-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wc-forecast-chart-row {
    grid-template-columns: 1fr;
  }
  .wc-forecast-driver-panel dd {
    display: grid;
  }
}
@media (max-width: 520px) {
  .wc-forecast-health-grid,
  .wc-forecast-driver-grid,
  .wc-forecast-visual-grid {
    grid-template-columns: 1fr;
  }
  .wc-forecast-bar-wrap {
    grid-template-columns: 54px 1fr;
  }
  .wc-forecast-bar-wrap strong {
    grid-column: 2;
    text-align: left;
  }
}

/* Departments directory's "at a glance" per-fund callouts (see
   computeFundSummaries/renderFundSummary in departments.html) -- compact
   cards, one per fund, beside each other; each card lists its own FY2027
   budget, YoY $ change, personnel count, and YoY FTE change one per line,
   with that line's own label and value inline with each other, summed
   county-wide for that fund code rather than just the departments listed
   below. */
.wc-dept-fund-panel {
  margin: 28px 0 18px;
  padding: 18px;
  border: 1px solid rgba(0, 96, 57, .18);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(0, 96, 57, .08), rgba(0, 96, 57, .045));
}
.wc-dept-fund-summary {
  /* auto-fit (rather than a fixed column count) so a page with only a
     few cards (e.g. the Constitutional Officers popup's 3) stretches them to
     fill the row instead of cramming them into a handful of a 7-column
     grid's tracks and leaving the rest of the row empty. */
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px; margin: 0;
}
.wc-dept-fund-card {
  padding: 14px 16px; border: 1px solid var(--border);
  border-radius: 12px; background: #fff; min-width: 0;
}
.wc-dept-fund-card-label {
  margin: 0 0 10px; color: var(--navy); font-size: .9rem; font-weight: 800;
  line-height: 1.2; min-height: 2.4em;
}
.wc-dept-fund-card-chips { display: flex; flex-direction: column; gap: 4px; }
.wc-dept-fund-chip {
  display: grid;
  grid-template-columns: minmax(118px, .75fr) minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding-top: 0;
  border-top: 0;
}
.wc-dept-fund-chip:nth-child(2) { order: 3; }
.wc-dept-fund-chip:nth-child(3) { order: 2; }
.wc-dept-fund-chip:nth-child(4) { order: 4; }
.wc-dept-fund-chip:nth-child(5) { display: none; }
.wc-dept-fund-chip-label {
  color: var(--muted); font-size: .74rem; font-weight: 800;
  letter-spacing: .03em; line-height: 1.2; text-transform: uppercase; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.wc-dept-fund-chip:nth-child(4) .wc-dept-fund-chip-label {
  font-size: 0;
}
.wc-dept-fund-chip:nth-child(4) .wc-dept-fund-chip-label::after {
  content: "Staff";
  font-size: .74rem;
}
.wc-dept-fund-chip strong {
  min-width: 0;
  justify-self: end;
  color: var(--green); font-size: .92rem; font-weight: 800;
  line-height: 1.25; white-space: nowrap; text-align: right;
}
.wc-dept-fund-staff-change {
  display: inline;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}
.wc-dept-fund-chip strong.wc-directory-item-trend-up { color: var(--green); }
.wc-dept-fund-chip strong.wc-directory-item-trend-down { color: #b3261e; }
/* The YoY Change chip stacks its $ amount above the (%) instead of
   keeping them on one line -- see fundTrendChipHtml in departments.html --
   so the label still fits inline beside the $ amount on narrower cards. */
.wc-dept-fund-chip-value-wrap {
  min-width: 0;
  justify-self: end;
  display: flex; flex-direction: row; align-items: baseline;
  gap: 4px; text-align: right; white-space: nowrap;
}
.wc-dept-fund-chip-percent {
  margin-top: 0; color: var(--muted); font-size: .82rem; font-weight: 700;
  line-height: 1.2; white-space: nowrap;
}
@media (max-width: 1100px) {
  .wc-dept-fund-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .wc-dept-fund-panel {
    margin: 22px calc(50% - 50vw) 16px;
    padding: 14px 0 14px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
  .wc-dept-fund-summary {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    margin: 0;
    padding: 0 18px 2px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 18px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .wc-dept-fund-summary::-webkit-scrollbar {
    display: none;
  }
  .wc-dept-fund-card {
    flex: 0 0 282px;
    width: 282px;
    max-width: calc(100vw - 72px);
    scroll-snap-align: start;
    padding: 12px 14px;
  }
  .wc-dept-fund-card-label {
    min-height: 0;
    margin-bottom: 10px;
    font-size: .78rem;
  }
  .wc-dept-fund-card-chips {
    gap: 3px;
  }
  .wc-dept-fund-chip {
    grid-template-columns: minmax(96px, .75fr) minmax(0, 1fr);
    gap: 6px;
  }
  .wc-dept-fund-chip-label {
    font-size: .66rem;
  }
  .wc-dept-fund-chip:nth-child(3) .wc-dept-fund-chip-label::after,
  .wc-dept-fund-chip:nth-child(4) .wc-dept-fund-chip-label::after {
    font-size: .66rem;
  }
  .wc-dept-fund-chip strong {
    font-size: .78rem;
  }
  .wc-dept-fund-staff-change,
  .wc-dept-fund-chip-percent {
    font-size: .72rem;
  }
}

/* Fund cards double as filters (see initFundCardFilter in departments.html
   and the homepage Constitutional Officers popup) -- clicking one narrows the directory
   list(s) below to just that fund; clicking it again clears the filter. */
.wc-dept-fund-card--clickable {
  cursor: pointer; text-align: left; width: 100%; font: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.wc-dept-fund-card--clickable:hover { border-color: var(--green); }
.wc-dept-fund-card--clickable:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.wc-dept-fund-card--active {
  border-color: var(--green); box-shadow: 0 0 0 1px var(--green);
}
.wc-dept-fund-filter-status {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  margin: -8px 0 16px; font-size: .85rem; color: var(--muted);
}
.wc-dept-fund-filter-status button {
  cursor: pointer; border: 1px solid var(--border); background: #fff;
  color: var(--text); border-radius: 999px; padding: 4px 12px;
  font-size: .78rem; font-weight: 700; font-family: inherit;
}
.wc-dept-fund-filter-status button:hover { border-color: var(--green); }

.wc-filter-bar {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end;
  padding: 16px; margin-bottom: 14px;
  background: var(--light); border: 1px solid var(--border); border-radius: 12px;
}
/* display:flex above is an author rule, so it beats the browser's native
   [hidden]{display:none} UA default -- without this, setting the hidden
   attribute (e.g. the Personnel Ledger's board-only filter bar under
   Constitutional Officers scope) doesn't actually hide the bar on screen. */
.wc-filter-bar[hidden] {
  display: none;
}
.wc-filter-field { display: flex; flex-direction: column; gap: 6px; font-size: .78rem; min-width: 180px; }
.wc-filter-field span { font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: .68rem; color: var(--muted); }
.wc-filter-field select, .wc-filter-field input {
  padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px;
  font-size: .85rem; font-family: Arial, Helvetica, sans-serif; background: #fff; color: var(--text);
}
.wc-filter-field select:focus, .wc-filter-field input:focus { outline: 2px solid var(--green); outline-offset: 1px; }
.wc-filter-search { flex: 1 1 220px; }
.wc-filter-result-count { font-size: .82rem; color: var(--muted); margin-bottom: 10px; }
.wc-asset-record-link { display: inline-flex; align-items: center; gap: 4px; color: var(--green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.wc-asset-record-link:hover { color: var(--navy); }
.wc-asset-page { width: 100%; max-width: 1040px; margin: 0 auto; padding: 28px 22px 56px; }
.wc-asset-actions { margin-bottom: 16px; }
.wc-asset-back { display: inline-flex; align-items: center; min-height: 36px; padding: 8px 13px; border: 1px solid rgba(0,98,49,.14); border-radius: 999px; background: #fff; color: var(--green); font-size: .82rem; font-weight: 800; text-decoration: none; }
.wc-budget-process-back { margin-bottom: 24px; }
.wc-asset-back:hover { border-color: var(--green); }
.wc-asset-hero { margin-bottom: 16px; padding: 26px 28px; border: 1px solid rgba(209,190,120,.34); border-radius: 18px; background: #fff; box-shadow: 0 18px 44px rgba(0,98,49,.08); }
.wc-asset-hero-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.wc-asset-category { padding: 7px 12px; border-radius: 999px; background: rgba(0,98,49,.08); color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.wc-asset-number { color: var(--muted); font-size: .82rem; font-weight: 800; }
.wc-asset-hero h1 { margin: 0; color: var(--text); font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 1.15; }
.wc-asset-hero p { max-width: 820px; margin: 12px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.65; }
.wc-asset-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr); gap: 24px; align-items: stretch; }
.wc-asset-hero-copy { align-self: center; }
.wc-asset-metrics { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; }
.wc-asset-metric { min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--light); }
.wc-asset-metric span { display: block; color: var(--muted); font-size: .69rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.wc-asset-metric strong { display: block; margin-top: 6px; color: var(--navy); font-size: 1.05rem; overflow-wrap: anywhere; }
.wc-asset-metric small { display: block; margin-top: 3px; color: var(--muted); font-size: .72rem; }
.wc-asset-benefit { margin-top: 16px; padding: 24px; border: 1px solid rgba(209,190,120,.45); border-radius: 16px; background: linear-gradient(135deg, rgba(209,190,120,.12), rgba(0,98,49,.05)); }
.wc-asset-benefit-heading span { display: block; color: var(--green); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wc-asset-benefit-heading h2 { margin: 4px 0 8px; color: var(--navy); font-size: 1.4rem; }
.wc-asset-benefit > p { max-width: 900px; margin: 0 0 16px; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.wc-asset-benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.wc-asset-benefit-grid .wc-asset-metric { background: #fff; }
.wc-asset-benefit-reading { margin-top: 16px; padding: 16px 18px; border-left: 4px solid var(--green); border-radius: 0 10px 10px 0; background: #fff; }
.wc-asset-benefit-reading h3 { margin: 0 0 8px; color: var(--navy); font-size: .95rem; }
.wc-asset-benefit-reading ul { margin: 0; padding-left: 20px; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.wc-asset-fleet-note { margin: 0 0 16px; padding: 24px; border: 1px solid rgba(209,190,120,.55); border-left: 5px solid var(--gold); border-radius: 14px; background: #fff; }
.wc-asset-fleet-note > span { display: block; color: var(--green); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wc-asset-fleet-note h2 { margin: 4px 0 8px; color: var(--navy); font-size: 1.4rem; }
.wc-asset-fleet-note p { max-width: 900px; margin: 0; color: var(--text); font-size: .9rem; line-height: 1.7; }

/* Fleet asset decision-support dashboard. */
.wc-fleet-header { margin-bottom: 14px; padding: 26px 28px 0; border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(23,32,51,.06); overflow: hidden; }
.wc-fleet-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.wc-fleet-section-heading span, .wc-fleet-decision > div > span, .wc-fleet-assessment-head span { display: block; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wc-fleet-title-row h1 { margin: 6px 0 0; color: var(--navy); font-size: clamp(1.85rem, 4vw, 2.55rem); line-height: 1.12; }
.wc-fleet-status-stack { flex: 0 0 auto; text-align: right; }
.wc-fleet-status { display: inline-flex; padding: 7px 12px; border-radius: 999px; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.wc-fleet-status.danger { background: rgba(166,42,36,.1); color: #a62a24; }
.wc-fleet-status.orange { background: rgba(185,91,16,.11); color: #a14c08; }
.wc-fleet-status.yellow { background: rgba(183,137,13,.12); color: #806000; }
.wc-fleet-status.green { background: rgba(0,98,49,.1); color: var(--green); }
.wc-fleet-status-stack small { display: block; margin-top: 6px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.wc-fleet-metadata { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 24px -28px 0; border-top: 1px solid var(--border); background: var(--light); }
.wc-fleet-meta-item { min-width: 0; padding: 15px 18px; border-right: 1px solid var(--border); }
.wc-fleet-meta-item:last-child { border-right: 0; }
.wc-fleet-meta-item span { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.wc-fleet-meta-item strong { display: block; margin-top: 4px; color: var(--text); font-size: .86rem; overflow-wrap: anywhere; }
.wc-fleet-decision-row { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(210px, .34fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; overflow: visible; }
.wc-fleet-decision { padding: 24px 26px; border: 1px solid var(--border); border-left: 5px solid var(--green); border-radius: 16px; background: #fff; }
.wc-fleet-decision.danger { border-left-color: #a62a24; }
.wc-fleet-decision.orange { border-left-color: #b95b10; }
.wc-fleet-decision.yellow { border-left-color: #b7890d; }
.wc-fleet-decision h2 { margin: 5px 0 7px; color: var(--navy); font-size: 1.55rem; }
.wc-fleet-decision p { max-width: 760px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.wc-fleet-health-summary { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: #fff; overflow: visible; }
.wc-fleet-health-summary:hover, .wc-fleet-health-summary:focus-within { z-index: 2; }
.wc-fleet-health-label { align-self: end; display: flex; align-items: center; gap: 6px; padding-left: 28px; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.wc-fleet-score-help { position: absolute; z-index: 31; top: 14px; left: 14px; display: inline-grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--light); color: var(--green); cursor: help; font: 900 .72rem/1 Arial, Helvetica, sans-serif; }
.wc-fleet-score-help:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.wc-fleet-score-dialog { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: #fff; color: var(--text); box-shadow: 0 24px 70px rgba(23,32,51,.3); }
.wc-fleet-score-dialog::backdrop { background: rgba(18,28,43,.58); backdrop-filter: blur(2px); }
.wc-fleet-score-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.wc-fleet-score-dialog-head span { display: block; color: var(--green); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.wc-fleet-score-dialog h2 { margin: 4px 0 0; color: var(--navy); font-size: 1.35rem; }
.wc-fleet-score-dialog > p { margin: 16px 0; color: var(--muted); font-size: .86rem; line-height: 1.55; }
.wc-fleet-score-dialog ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; padding: 0; list-style: none; }
.wc-fleet-score-dialog li { display: grid; grid-template-columns: minmax(72px, auto) 1fr; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--light); }
.wc-fleet-score-dialog li strong { color: var(--navy); font-size: .78rem; }
.wc-fleet-score-dialog li span { color: var(--text); font-size: .76rem; line-height: 1.4; }
.wc-fleet-score-dialog > small { display: block; padding-top: 13px; border-top: 1px solid var(--border); color: var(--muted); font-size: .72rem; line-height: 1.45; }
.wc-fleet-score-dialog-close { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--light); color: var(--text); cursor: pointer; font-size: 1.35rem; line-height: 1; }
.wc-fleet-score-dialog-close:hover { border-color: var(--green); color: var(--green); }
.wc-fleet-health-summary h2 { margin: 8px 0 0; color: var(--navy); font-size: 1.35rem; }
.wc-fleet-health-summary p { margin: 8px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.wc-fleet-section { margin-bottom: 14px; padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.wc-fleet-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.wc-fleet-section-heading h2 { margin: 4px 0 0; color: var(--navy); font-size: 1.3rem; }
.wc-fleet-section-heading > p { max-width: 380px; margin: 0; color: var(--muted); font-size: .76rem; text-align: right; }
.wc-fleet-alert { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 18px; border: 1px solid rgba(166,42,36,.2); border-radius: 13px; background: rgba(166,42,36,.045); }
.wc-fleet-alert-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #a62a24; color: #fff; font-size: 1.15rem; font-weight: 900; }
.wc-fleet-alert.orange { border-color: rgba(185,91,16,.2); background: rgba(185,91,16,.045); }
.wc-fleet-alert.orange .wc-fleet-alert-icon { background: #b95b10; }
.wc-fleet-alert.yellow { border-color: rgba(183,137,13,.22); background: rgba(183,137,13,.05); }
.wc-fleet-alert.yellow .wc-fleet-alert-icon { background: #9b7409; }
.wc-fleet-alert.green { border-color: rgba(0,98,49,.2); background: rgba(0,98,49,.045); }
.wc-fleet-alert.green .wc-fleet-alert-icon { background: var(--green); }
.wc-fleet-alert-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wc-fleet-alert-top strong { color: #7f211c; font-size: .95rem; }
.wc-fleet-alert-top span { padding: 4px 8px; border-radius: 999px; background: rgba(166,42,36,.1); color: #a62a24; font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.wc-fleet-alert.orange .wc-fleet-alert-top strong, .wc-fleet-alert.orange .wc-fleet-alert-top span { color: #a14c08; }
.wc-fleet-alert.orange .wc-fleet-alert-top span { background: rgba(185,91,16,.1); }
.wc-fleet-alert.yellow .wc-fleet-alert-top strong, .wc-fleet-alert.yellow .wc-fleet-alert-top span { color: #806000; }
.wc-fleet-alert.yellow .wc-fleet-alert-top span { background: rgba(183,137,13,.1); }
.wc-fleet-alert.green .wc-fleet-alert-top strong, .wc-fleet-alert.green .wc-fleet-alert-top span { color: var(--green); }
.wc-fleet-alert.green .wc-fleet-alert-top span { background: rgba(0,98,49,.1); }
.wc-fleet-alert p { margin: 8px 0 14px; color: var(--text); font-size: .86rem; line-height: 1.6; }
.wc-fleet-note-card { padding: 18px; border: 1px solid var(--border); border-radius: 13px; background: var(--light); }
.wc-fleet-note-card h3 { margin: 0 0 8px; color: var(--navy); font-size: .95rem; }
.wc-fleet-note-card p { margin: 0; color: var(--text); font-size: .86rem; line-height: 1.6; }
.wc-fleet-cost-subhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 22px 0 12px; padding-top: 18px; border-top: 1px solid var(--border); }
.wc-fleet-cost-subhead h3 { margin: 0; color: var(--navy); font-size: 1rem; }
.wc-fleet-cost-subhead p { margin: 0; color: var(--muted); font-size: .74rem; }
.wc-fleet-service-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; padding-top: 12px; border-top: 1px solid rgba(166,42,36,.15); }
.wc-fleet-service-meta span { color: var(--muted); font-size: .76rem; }
.wc-fleet-service-meta strong { margin-right: 6px; color: var(--text); }
.wc-fleet-kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.wc-fleet-kpi { min-width: 0; padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: var(--light); }
.wc-fleet-kpi.primary { border-color: rgba(0,98,49,.25); background: rgba(0,98,49,.045); }
.wc-fleet-kpi.warning { border-color: rgba(185,91,16,.25); background: rgba(185,91,16,.045); }
.wc-fleet-kpi.unavailable { opacity: .76; }
.wc-fleet-kpi > span { display: block; color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wc-fleet-kpi strong { display: block; margin: 8px 0 6px; color: var(--navy); font-size: 1.28rem; overflow-wrap: anywhere; }
.wc-fleet-kpi small { display: block; min-height: 2.5em; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.wc-fleet-insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wc-fleet-insight { min-width: 0; padding: 18px; border: 1px solid var(--border); border-radius: 13px; background: var(--light); }
.wc-fleet-insight h3 { margin: 0 0 14px; color: var(--navy); font-size: .92rem; }
.wc-fleet-insight p { margin: 12px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.wc-fleet-empty-chart { display: grid; place-items: center; min-height: 120px; padding: 16px; border: 1px dashed var(--border); border-radius: 10px; text-align: center; }
.wc-fleet-empty-chart span { color: var(--text); font-size: .82rem; font-weight: 800; }
.wc-fleet-empty-chart small { display: block; max-width: 280px; margin-top: 5px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.wc-fleet-compare > div:first-child, .wc-fleet-compare > div:last-child { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .76rem; }
.wc-fleet-compare strong { color: var(--text); }
.wc-fleet-compare-track { height: 10px; margin: 14px 0; overflow: hidden; border-radius: 999px; background: rgba(0,98,49,.12); }
.wc-fleet-compare-track span { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.wc-fleet-mileage-value { padding: 20px 0; color: var(--navy); font-size: 1.65rem; font-weight: 850; }
.wc-fleet-health { display: grid; grid-template-columns: 1fr auto; align-items: center; }
.wc-fleet-health h3, .wc-fleet-health p { grid-column: 1; }
.wc-fleet-gauge { grid-column: 2; grid-row: 1 / span 3; display: grid; place-items: center; width: 112px; height: 112px; margin-left: 18px; border-radius: 50%; background: conic-gradient(#a62a24 calc(var(--risk) * 1%), rgba(166,42,36,.12) 0); }
.wc-fleet-health.orange .wc-fleet-gauge { background: conic-gradient(#b95b10 calc(var(--risk) * 1%), rgba(185,91,16,.12) 0); }
.wc-fleet-health.yellow .wc-fleet-gauge { background: conic-gradient(#b7890d calc(var(--risk) * 1%), rgba(183,137,13,.12) 0); }
.wc-fleet-health.green .wc-fleet-gauge { background: conic-gradient(var(--green) calc(var(--risk) * 1%), rgba(0,98,49,.12) 0); }
.wc-fleet-gauge::before { content: ""; grid-area: 1 / 1; width: 82px; height: 82px; border-radius: 50%; background: var(--light); }
.wc-fleet-gauge > div { z-index: 1; grid-area: 1 / 1; text-align: center; }
.wc-fleet-gauge strong { display: block; color: var(--navy); font-size: 1.35rem; }
.wc-fleet-gauge span { color: var(--muted); font-size: .62rem; text-transform: uppercase; }
.wc-fleet-assessment { padding: 24px; border: 1px solid var(--border); border-top: 5px solid var(--green); border-radius: 16px; background: #fff; }
.wc-fleet-assessment.danger { border-top-color: #a62a24; }
.wc-fleet-assessment.orange { border-top-color: #b95b10; }
.wc-fleet-assessment.yellow { border-top-color: #b7890d; }
.wc-fleet-assessment-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.wc-fleet-assessment-head h2 { margin: 4px 0 0; color: var(--navy); font-size: 1.35rem; }
.wc-fleet-assessment-head > strong { color: #a62a24; font-size: 1rem; }
.wc-fleet-assessment.orange .wc-fleet-assessment-head > strong { color: #b95b10; }
.wc-fleet-assessment.yellow .wc-fleet-assessment-head > strong { color: #806000; }
.wc-fleet-assessment.green .wc-fleet-assessment-head > strong { color: var(--green); }
.wc-fleet-assessment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--light); overflow: hidden; }
.wc-fleet-assessment-grid .wc-fleet-meta-item { padding: 14px 16px; }
.wc-fleet-assessment > p { margin: 14px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }

.wc-budget-change-insights {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 4px 0 14px;
}
.wc-budget-change-insight {
  padding: 14px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--light);
}
.wc-budget-change-insight span { display: block; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wc-budget-change-insight strong { display: block; margin-top: 6px; color: var(--text); font-size: 1rem; line-height: 1.25; }
.wc-budget-change-insight small { display: block; margin-top: 4px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.wc-budget-change-insight strong.is-increase { color: var(--green); }
.wc-budget-change-insight strong.is-decrease { color: #a33a32; }
.wc-budget-change-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
.wc-budget-change-segments { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.wc-budget-change-segments button, .wc-budget-change-expand {
  border: 1px solid var(--border); border-radius: 999px; background: #fff; color: var(--text); cursor: pointer; padding: 7px 12px; font: 700 .78rem Arial, Helvetica, sans-serif;
}
.wc-budget-change-segments button:hover, .wc-budget-change-expand:hover { border-color: var(--green); }
.wc-budget-change-segments button.is-active { border-color: var(--green); background: var(--green); color: #fff; }
.wc-budget-change-toolbar-end { display: flex; align-items: center; gap: 10px; }
.wc-budget-change-count { color: var(--muted); font-size: .8rem; }
.wc-budget-executive { margin: 4px 0 24px; }
.wc-budget-executive-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.wc-budget-executive-head span { display: block; color: var(--green); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wc-budget-executive-head h2 { margin: 5px 0 3px; color: var(--navy); font-size: clamp(1.45rem, 2.8vw, 2rem); }
.wc-budget-executive-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.wc-budget-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.wc-budget-kpi { min-width: 0; min-height: 160px; padding: 24px; border: 1px solid var(--border); border-top: 4px solid #9ca7a1; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(23,32,51,.055); }
.wc-budget-kpi.increase { border-top-color: var(--green); }
.wc-budget-kpi.decrease { border-top-color: #a33a32; }
.wc-budget-kpi > span { display: block; min-height: 2.5em; color: var(--muted); font-size: .76rem; font-weight: 800; letter-spacing: .04em; line-height: 1.3; text-transform: uppercase; }
.wc-budget-kpi strong { display: block; margin: 14px 0 9px; color: var(--navy); font-size: clamp(1.6rem, 2.4vw, 2.25rem); line-height: 1.05; overflow-wrap: anywhere; }
.wc-budget-kpi.increase strong { color: var(--green); }
.wc-budget-kpi.decrease strong { color: #a33a32; }
.wc-budget-kpi small { display: block; color: var(--muted); font-size: .78rem; line-height: 1.4; overflow-wrap: anywhere; }
.wc-budget-executive-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 16px; }
.wc-budget-highlights, .wc-budget-diverging { padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(23,32,51,.05); }
.wc-budget-highlights h3, .wc-budget-diverging h3 { margin: 0; color: var(--navy); font-size: 1.2rem; }
.wc-budget-highlights ul { margin: 13px 0 0; padding-left: 18px; }
.wc-budget-highlights li { padding: 4px 0; color: var(--text); font-size: .78rem; line-height: 1.5; }
.wc-budget-highlights li::marker { color: var(--green); }
.wc-budget-diverging-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.wc-budget-diverging-head p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.wc-budget-diverging-legend { display: flex; gap: 10px; color: var(--muted); font-size: .66rem; }
.wc-budget-diverging-legend span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 4px; border-radius: 2px; background: var(--green); }
.wc-budget-diverging-legend .decrease::before { background: #a33a32; }
.wc-budget-diverging-chart { display: grid; gap: 7px; }
.wc-budget-diverging-row { display: grid; grid-template-columns: minmax(145px, 1.1fr) minmax(240px, 2.2fr) 78px; gap: 12px; align-items: center; width: 100%; min-height: 40px; padding: 5px 7px; border: 0; border-radius: 7px; background: transparent; color: var(--text); cursor: pointer; font: inherit; text-align: left; }
.wc-budget-diverging-row:hover { background: rgba(0,98,49,.055); }
.wc-budget-diverging-row:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.wc-budget-diverging-name { overflow: hidden; color: var(--text); font-size: 1rem; font-weight: 700; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.wc-budget-diverging-row > strong { color: var(--green); font-size: 1rem; line-height: 1.3; text-align: right; }
.wc-budget-diverging-row.decrease > strong { color: #a33a32; }
.wc-budget-diverging-plot { position: relative; display: block; height: 24px; }
.wc-budget-diverging-axis { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--border); }
.wc-budget-diverging-bar { position: absolute; top: 4px; height: 16px; border-radius: 4px; background: var(--green); }
.wc-budget-diverging-row.increase .wc-budget-diverging-bar { left: 50%; }
.wc-budget-diverging-row.decrease .wc-budget-diverging-bar { right: 50%; background: #a33a32; }
.wc-budget-change-card-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 20px 0 12px; }
.wc-budget-change-card-controls h2 { margin: 0; color: var(--navy); font-size: 1.25rem; }
.wc-budget-change-sort { padding: 8px 13px; border: 1px solid var(--border); border-radius: 999px; background: #fff; color: var(--text); cursor: pointer; font: 700 .78rem Arial, Helvetica, sans-serif; }
.wc-budget-change-sort:hover { border-color: var(--green); }
.wc-budget-change-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wc-budget-change-card { min-width: 0; padding: 18px; border: 1px solid var(--border); border-top: 5px solid var(--green); border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(23,32,51,.06); }
.wc-budget-change-card.is-decrease { border-top-color: #a33a32; }
.wc-budget-change-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.wc-budget-change-card-kicker { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wc-budget-change-card h3 { margin: 4px 0 0; color: var(--navy); font-size: 1rem; line-height: 1.3; }
.wc-budget-change-card h3 a { color: inherit; text-decoration: none; }
.wc-budget-change-card h3 a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.wc-budget-change-card-badge { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: rgba(0,98,49,.09); color: var(--green); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.wc-budget-change-card.is-decrease .wc-budget-change-card-badge { background: rgba(163,58,50,.09); color: #a33a32; }
.wc-budget-change-card-amount { display: flex; align-items: baseline; gap: 9px; margin-top: 16px; }
.wc-budget-change-card-amount strong { color: var(--green); font-size: 1.35rem; }
.wc-budget-change-card.is-decrease .wc-budget-change-card-amount strong,
.wc-budget-change-card.is-decrease .wc-budget-change-card-amount span { color: #a33a32; }
.wc-budget-change-card-amount span { color: var(--green); font-size: .78rem; font-weight: 800; }
.wc-budget-change-bar { height: 7px; margin: 10px 0 15px; overflow: hidden; border-radius: 999px; background: var(--light); }
.wc-budget-change-bar span { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.wc-budget-change-card.is-decrease .wc-budget-change-bar span { background: #a33a32; }
.wc-budget-change-card-years { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; padding: 12px; border-radius: 10px; background: var(--light); }
.wc-budget-change-card-years div:last-child { text-align: right; }
.wc-budget-change-card-years span:not(.wc-budget-change-card-arrow) { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.wc-budget-change-card-years strong { display: block; margin-top: 3px; color: var(--text); font-size: .83rem; }
.wc-budget-change-card-arrow { color: var(--gold); font-weight: 900; }
.wc-budget-change-card details { margin-top: 12px; border-top: 1px solid var(--border); }
.wc-budget-change-card summary { padding: 12px 0 0; color: var(--green); cursor: pointer; font-size: .8rem; font-weight: 800; }
.wc-budget-change-card-detail { margin-top: 10px; }
.wc-budget-change-card-detail .wc-data-table { min-width: 560px; }
.wc-budget-change-total { display: grid; grid-template-columns: 1fr auto 1fr 1.15fr; align-items: center; gap: 16px; margin-top: 16px; padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: var(--navy); color: #fff; }
.wc-budget-change-total span { display: block; color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.wc-budget-change-total strong { display: block; margin-top: 4px; color: #fff; font-size: .95rem; }
.wc-budget-change-total .is-increase strong { color: #91dfad; }
.wc-budget-change-total .is-decrease strong { color: #ffb0aa; }
.wc-budget-change-explanation { margin: 0 0 12px; padding: 11px 14px; border-left: 4px solid var(--green); border-radius: 0 8px 8px 0; background: rgba(0,98,49,.06); color: var(--text); font-size: .83rem; line-height: 1.55; }
.wc-budget-change-value, .wc-budget-change-percent { display: inline-block; font-weight: 800; }
.wc-budget-change-value.is-increase, .wc-budget-change-percent.is-increase { color: var(--green); }
.wc-budget-change-value.is-decrease, .wc-budget-change-percent.is-decrease { color: #a33a32; }
.wc-budget-change-guide { margin: 22px 0; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--light); }
.wc-budget-change-guide-kicker { margin: 0 0 4px; color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wc-budget-change-guide h2 { margin: 0 0 14px; color: var(--navy); font-size: 1.35rem; }
.wc-budget-change-guide ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style-position: inside; }
.wc-budget-change-guide li { padding: 12px; border-radius: 10px; background: #fff; color: var(--text); font-size: .86rem; line-height: 1.5; }
.wc-budget-change-guide li strong { color: var(--navy); }
.wc-budget-change-guide details { margin-top: 14px; }
.wc-budget-change-guide summary { cursor: pointer; color: var(--green); font-weight: 800; }
.wc-budget-change-guide dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; }
.wc-budget-change-guide dl div { padding: 10px 12px; border-left: 3px solid var(--gold); background: #fff; }
.wc-budget-change-guide dt { color: var(--navy); font-weight: 800; }
.wc-budget-change-guide dd { margin: 3px 0 0; color: var(--muted); font-size: .82rem; }

/* Department/Fund (and similar) filter combobox: a plain text input with a
   contained, scrollable results list -- used in place of a native <select>,
   whose own long options popup (Department alone runs to ~70 entries) can
   let scrolling through it bleed into scrolling the page behind it on some
   browsers/trackpads. */
.wc-filter-combo { position: relative; }
.wc-filter-combo-results {
  position: absolute; z-index: 6; top: 100%; left: 0; right: 0; margin-top: 4px;
  border: 1px solid var(--border); border-radius: 10px; background: #fff;
  box-shadow: 0 10px 26px rgba(23,32,51,.14); max-height: 240px; overflow-y: auto;
  overscroll-behavior: contain;
}
.wc-filter-combo-option {
  display: block; width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--border);
  background: none; padding: 9px 12px; cursor: pointer; font: inherit; font-size: .82rem; color: var(--text);
}
.wc-filter-combo-option:last-child { border-bottom: 0; }
.wc-filter-combo-option:hover, .wc-filter-combo-option:focus { background: rgba(0,98,49,.07); }

.wc-data-loading, .wc-data-error, .wc-data-empty {
  padding: 18px 20px; border-radius: 10px; font-size: .88rem; margin: 16px 0;
}
.wc-data-loading { background: var(--light); border: 1px dashed var(--border); color: var(--muted); display: flex; align-items: center; gap: 6px; }
.wc-data-error { background: #fdecec; border: 1px solid #e8a3a3; color: #8a1f1f; }
.wc-data-empty { background: var(--light); border: 1px dashed var(--border); color: var(--muted); text-align: center; }

@media (max-width: 768px) {
  .extension-statement-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .libraries-statement-lower {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .mosquito-statement-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .mosquito-page-header {
    grid-template-columns: 1fr;
  }

  .mosquito-tax-card dl {
    grid-template-columns: 1fr;
  }

  .eagle-springs-statement-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eagle-springs-grill-statement-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .code-compliance-statement-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .libraries-iframe-link {
    margin: 20px auto;
  }

  .libraries-iframe-preview {
    border-width: 4px;
    border-radius: 18px;
  }

  .libraries-iframe-preview iframe {
    height: 360px;
  }

  .environmental-iframe-link {
    margin: 20px auto;
  }

  .environmental-iframe-preview {
    border-width: 4px;
    border-radius: 18px;
  }

  .environmental-iframe-preview iframe {
    height: 360px;
  }

  .environmental-iframe-button {
    font-size: 12px;
  }

  .public-works-iframe-link {
    margin: 20px auto;
  }

  .public-works-iframe-preview {
    border-width: 4px;
    border-radius: 18px;
  }

  .public-works-iframe-preview iframe {
    height: 360px;
  }

  .public-works-iframe-button {
    font-size: 12px;
  }

  .lifeguard-iframe-link {
    margin: 16px auto 0;
  }

  .lifeguard-expense-map-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .lifeguard-expense-map-row .lifeguard-iframe-link {
    margin: 0 auto;
  }

  .lifeguard-expense-map-row .lifeguard-iframe-preview iframe {
    height: 320px;
    min-height: 0;
  }

  .libraries-iframe-button {
    font-size: 12px;
    padding: 11px 18px;
  }

  .wc-table-label-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .wc-fund-financial-label-row {
    align-items: flex-start;
    min-height: 0;
  }

  .wc-filter-bar { flex-direction: column; align-items: stretch; }
  .wc-budget-change-insights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-budget-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-budget-executive-grid { grid-template-columns: 1fr; }
  .wc-budget-diverging-row { grid-template-columns: minmax(90px, .9fr) minmax(100px, 1.5fr) 56px; gap: 6px; }
  .wc-budget-change-card-grid { grid-template-columns: 1fr; }
  .wc-budget-change-total { grid-template-columns: 1fr 1fr; }
  .wc-budget-change-total > span { display: none; }
  .wc-budget-change-guide ol, .wc-budget-change-guide dl { grid-template-columns: 1fr; }
  .wc-asset-hero-grid { grid-template-columns: 1fr; }
  .wc-asset-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-asset-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-fleet-title-row, .wc-fleet-decision, .wc-fleet-section-heading, .wc-fleet-assessment-head { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; }
  .wc-fleet-decision-row { grid-template-columns: 1fr; }
  .wc-fleet-score-dialog ul { grid-template-columns: 1fr; }
  .wc-fleet-status-stack { text-align: left; }
  .wc-fleet-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-fleet-meta-item:nth-child(2) { border-right: 0; }
  .wc-fleet-meta-item:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .wc-fleet-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-fleet-insight-grid { grid-template-columns: 1fr; }
  .wc-fleet-assessment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-fleet-section-heading > p { text-align: left; }
  .wc-budget-change-toolbar, .wc-budget-change-toolbar-end { align-items: stretch; }
  .wc-filter-field { min-width: 0; }
  .wc-department-financial-grid {
    grid-template-columns: 1fr;
  }
  .tourism-admin-financial-pair {
    grid-template-columns: 1fr;
  }
  .mosquito-state-aid-tables {
    grid-template-columns: 1fr;
  }
  .wc-data-table th, .wc-data-table td { padding: 7px 8px; font-size: .8rem; }
  .wc-finance-card {
    height: auto;
    padding: 20px;
    border-radius: 20px;
  }
  .wc-finance-card-head {
    display: block;
  }
  .wc-finance-card-capital-callout {
    align-items: flex-start;
    text-align: left;
    margin-top: 14px;
  }
  .wc-department-financial-grid #department-staffing-table .wc-finance-card-breakdown {
    grid-template-columns: 1fr;
  }
  .wc-department-financial-grid #department-staffing-table:has(.wc-finance-card + .wc-finance-card) {
    grid-template-columns: 1fr;
  }
  .wc-budget-detail-modal {
    padding: 72px 12px 18px;
  }
  .wc-budget-detail-card {
    width: min(100%, calc(100vw - 24px));
    border-radius: 22px;
    max-height: 82vh;
  }
  .wc-budget-detail-card.wc-budget-detail-card--ledger {
    height: 82vh;
  }
  .wc-budget-detail-header {
    padding: 18px 18px 14px;
  }
  .wc-budget-detail-body {
    max-height: calc(82vh - 82px);
    padding: 16px 18px 18px;
  }
  .wc-budget-detail-body .wc-budget-lines-detail .wc-data-table {
    font-size: .68rem;
  }
  .wc-budget-detail-body .wc-budget-lines-detail .wc-data-table th,
  .wc-budget-detail-body .wc-budget-lines-detail .wc-data-table td {
    padding: 6px 8px;
  }
  .wc-finance-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ── ported from walton-performance-measures ── */
.wc-performance-page{ width:100%; max-width:1500px; margin:0 auto; padding:32px 18px 48px; font-family:"Benton Sans", Arial, sans-serif; }
.wc-performance-page.is-embedded{ max-width:100%; padding:0; }
.wc-performance-header{ margin:0 0 18px 0; }
.wc-performance-header h1{ margin:0 0 8px 0; color:#172033; font-size:1.5rem; line-height:1.2; font-weight:600; }
.wc-performance-header p{ margin:0; max-width:900px; color:#475467; font-size:14px; line-height:1.5; }
.wc-performance-card{ width:100%; border:0; border-radius:0; background:transparent; box-shadow:none; position:relative; padding-top:60px; }
.wc-performance-card::before{
  content:"Departmental Goal, Objective, and Performance Measures"; position:absolute; top:18px; left:50%; transform:translateX(-50%);
  color:var(--navy); font-size:.92rem; line-height:1.25; font-weight:800; text-align:left; white-space:normal; text-transform:uppercase; letter-spacing:.05em;
  border-left:4px solid var(--gold); padding-left:10px;
}
.wc-performance-card-header{ display:none; }
.wc-performance-goal-block{ margin:0; padding:0; }
.wc-performance-table-wrap{ width:100%; overflow-x:hidden; background:#fff; border:1px solid rgba(209,190,120,0.45); border-radius:24px; box-shadow:0 14px 34px rgba(0,63,40,0.08), 0 4px 12px rgba(36,52,77,0.06); }
.wc-performance-table{ width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; background:#fff; font-family:"Benton Sans", Arial, sans-serif; font-size:14px; }
.wc-performance-table th, .wc-performance-table td{ padding:8px 8px; border:0; border-bottom:1px solid rgba(36,52,77,0.10); vertical-align:middle; }
.wc-performance-table thead th{ background:linear-gradient(135deg,#003f28 0%,#005236 100%); color:#fff; font-size:14px; line-height:1.25; font-weight:700; text-align:center; border-bottom:4px solid #d1be78; white-space:normal; height:64px; }
.wc-performance-table .wc-col-code{ width:6%; } .wc-performance-table .wc-col-goal{ width:18%; } .wc-performance-table .wc-col-objective{ width:18%; }
.wc-performance-table .wc-col-measure{ width:22%; } .wc-performance-table .wc-col-fiscal{ width:6%; }
.wc-performance-table tbody tr:nth-child(even) th, .wc-performance-table tbody tr:nth-child(even) td{ background:rgba(0,63,40,0.04); }
.wc-performance-table tbody tr:hover th, .wc-performance-table tbody tr:hover td{ background:rgba(209,190,120,0.18); }
.wc-performance-table td{ color:#344054; background:#fff; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
.wc-performance-objective, .wc-performance-code, .wc-performance-goal{ color:#172033; font-size:14px; font-weight:400; text-align:center; vertical-align:middle !important; background:#fff; }
.wc-performance-measure{ color:#344054; text-align:left; background:#fff; }
.wc-performance-value{ color:#344054; text-align:center; white-space:nowrap; background:#fff; }
.wc-performance-note{ display:block; width:100%; padding:12px 2px 0; background:transparent; color:#667085; font-size:12px; line-height:1.5; font-style:italic; text-align:center; }
.wc-performance-note a{ color:#003f28; font-weight:700; text-decoration:none; } .wc-performance-note a:hover{ text-decoration:underline; }
.wc-performance-empty{ padding:18px; background:#fff; border:1px solid #d0d5dd; border-radius:18px; color:#475467; font-size:14px; text-align:center; }
.wc-fy-column-toggle-wrap{ display:flex !important; justify-content:center !important; align-items:center !important; width:114px !important; height:18px !important; padding:0 6px !important; margin:0 !important; background:#fff !important; border:1px solid rgba(209,190,120,0.55) !important; border-radius:999px !important; color:#24344d !important; font-family:Arial, Helvetica, sans-serif !important; font-size:10px !important; font-weight:600 !important; position:absolute !important; right:12px !important; top:12px !important; }
.wc-performance-card > .wc-fy-column-toggle-wrap{ position:absolute !important; right:12px !important; top:36px !important; width:114px !important; height:18px !important; margin:0 !important; }
.wc-fy-column-toggle-label,
.wc-fy-column-toggle-button{ display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:4px !important; cursor:pointer !important; color:#24344d !important; font-size:10px !important; font-weight:600 !important; font-style:italic !important; font-family:Arial, Helvetica, sans-serif !important; line-height:1 !important; background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important; min-height:18px !important; }
.wc-fy-column-toggle-button:focus-visible{ outline:3px solid #d1be78 !important; outline-offset:3px !important; border-radius:999px !important; box-shadow:0 0 0 5px rgba(0,63,40,.35) !important; }
.wc-fy-column-toggle-checkbox{ width:11px !important; height:11px !important; margin:0 !important; accent-color:#003f28 !important; cursor:pointer !important; }
.wc-fy-column-toggle-indicator{ display:inline-flex !important; align-items:center !important; justify-content:center !important; width:11px !important; height:11px !important; border:2px solid currentColor !important; border-radius:4px !important; font-size:10px !important; font-weight:800 !important; line-height:1 !important; }
.wc-fy-column-toggle-text{ font-size:10px !important; line-height:1 !important; font-style:italic !important; }
.wc-performance-card:not(.show-prior-years) .wc-performance-table .wc-col-prior-year,
.wc-performance-card:not(.show-prior-years) .wc-performance-table .wc-prior-year{ display:none; }
@media(max-width:900px){
  .wc-performance-page{ padding:24px 12px 36px; } .wc-performance-page.is-embedded{ padding:0; }
  .wc-performance-header h1{ font-size:1.25rem; } .wc-performance-header p{ font-size:13px; }
  .wc-performance-card::before{ width:max-content; max-width:calc(100% - 24px); font-size:.92rem; margin-bottom:0; top:0; padding:0 0 0 10px; box-sizing:border-box; }
  .wc-performance-card{ padding-top:86px; }
  .wc-performance-table-wrap{ border-radius:18px; } .wc-performance-table th, .wc-performance-table td{ padding:7px 6px; }
  .wc-performance-table thead th{ font-size:12px; } .wc-performance-table td{ font-size:12px; line-height:1.35; }
  .wc-performance-note{ padding-top:10px; font-size:11px; }
  .wc-performance-card > .wc-fy-column-toggle-wrap{ position:absolute !important; top:48px !important; right:50% !important; transform:translateX(50%) !important; width:auto !important; min-width:132px !important; height:24px !important; margin:0 !important; padding:0 10px !important; }
  .wc-fy-column-toggle-wrap{ position:static !important; width:auto !important; height:22px !important; margin:6px auto 12px auto !important; padding:0 9px !important; }
  .wc-performance-card > .wc-fy-column-toggle-wrap .wc-fy-column-toggle-label,
  .wc-performance-card > .wc-fy-column-toggle-wrap .wc-fy-column-toggle-button{ font-size:11px !important; }
  .wc-performance-card > .wc-fy-column-toggle-wrap .wc-fy-column-toggle-text{ font-size:11px !important; white-space:nowrap !important; }
}

/* Expandable Budget Process directory */
.wc-process-directory{display:grid;gap:12px;margin:28px 0 42px}.wc-process-directory details{border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(0,63,40,.04)}.wc-process-directory summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#edf4ef;cursor:pointer;list-style:none}.wc-process-directory summary::-webkit-details-marker{display:none}.wc-process-directory summary>span{display:block}.wc-process-directory summary small{display:block;margin-bottom:3px;color:var(--green);font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.wc-process-directory summary strong{color:var(--navy);font-size:1.05rem}.wc-process-directory summary em{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.66rem;font-style:normal;font-weight:800;white-space:nowrap}.wc-process-directory summary em::after{content:"+";display:grid;width:25px;height:25px;border:1px solid rgba(0,63,40,.22);border-radius:50%;place-items:center;color:var(--green);font-size:1rem}.wc-process-directory details[open] summary em::after{content:"−"}.wc-process-directory-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.wc-process-directory-links a{display:flex;justify-content:space-between;gap:16px;min-height:125px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;color:inherit;text-decoration:none}.wc-process-directory-links a:hover,.wc-process-directory-links a:focus-visible{border-color:var(--green);box-shadow:0 6px 16px rgba(0,63,40,.08);transform:translateY(-1px)}.wc-process-directory-links small{display:block;color:var(--green);font-size:.58rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.wc-process-directory-links strong{display:block;margin:5px 0;color:var(--navy);font-size:.86rem}.wc-process-directory-links p{margin:0;color:var(--muted);font-size:.7rem}.wc-process-directory-links>a>b{align-self:center;color:var(--green);font-size:1.1rem}.wc-process-directory details:last-child .wc-process-directory-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.wc-process-directory details:last-child .wc-process-directory-links{grid-template-columns:1fr}.wc-process-directory-links{grid-template-columns:1fr}}@media(max-width:520px){.wc-process-directory summary{padding:15px}.wc-process-directory summary em{font-size:0}.wc-process-directory-links{padding:10px}.wc-process-directory-links a{min-height:auto}}
.wc-process-direction{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:26px;margin:0 0 24px;padding:22px;border:1px solid rgba(0,63,40,.16);border-left:5px solid var(--green);border-radius:14px;background:#f4f8f5}.wc-process-direction span{display:block;color:var(--green);font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.wc-process-direction h2{margin:5px 0 0;color:var(--navy);font-size:1.1rem}.wc-process-direction p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}@media(max-width:700px){.wc-process-direction{grid-template-columns:1fr;gap:10px}}
.wc-process-direction-stat{display:inline-flex;align-items:center;gap:9px;margin-top:14px;padding:8px 11px;border:1px solid rgba(0,105,56,.18);border-radius:10px;background:#fff}.wc-process-direction-stat strong{color:var(--green);font-size:1rem;white-space:nowrap}.wc-process-direction-stat small{max-width:210px;color:var(--muted);font-size:.62rem;line-height:1.25}.wc-process-direction-stat small b{color:var(--green)}
.wc-process-inline-directory{gap:14px}.wc-process-inline-directory .wc-process-inline-topic{border-radius:18px}.wc-process-inline-directory .wc-process-inline-topic>summary{padding:20px 22px}.wc-process-inline-directory summary p{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}.wc-process-inline-directory details[open]>summary{border-bottom:1px solid var(--border);background:#e6f1e9}.wc-process-inline-directory details[open]>summary em{color:var(--green)}.wc-process-inline-content{padding:18px 20px 4px;background:#fff}.wc-process-inline-frame{display:block;width:100%;min-height:420px;border:0;background:transparent}.wc-process-inline-content>.wc-data-loading{padding:34px;text-align:center}@media(max-width:700px){.wc-process-inline-directory .wc-process-inline-topic>summary{align-items:flex-start;padding:16px}.wc-process-inline-directory summary em{font-size:0}.wc-process-inline-content{padding:10px 8px 2px}}

/* ============================================================
   Department Snapshot feature (ported from the reference repo's
   assets/style.css, engineering-department trial page only).
   Styles the markup generated by assets/department-services.js:
   Statement of Function's County Services list / Changing &
   Challenges cards, the Department Snapshot Expenditures/Revenue/
   Position cards and their popups (Budget Graph, Operating Budget
   Sheet, Capital Investments, Contractual Services, Who Pays,
   Revenue Budget Sheet, Personnel Cost Sheet), and the Citizen
   questions accordion group with its cost-in-context calculators.
   Includes this repo's light theme plus the reference's
   [data-theme="dark"] overrides for the same classes. Additive
   only -- doesn't modify any existing rule above it, so pages that
   don't load department-services.js are unaffected.

   .wc-simple-disclosure below is the reference repo's shared
   progressive-disclosure primitive (native <details>/<summary>
   styling used by .wc-department-question). This repo doesn't
   already define it, so its base rules are ported here too --
   otherwise the disclosures department-services.js relies on would
   render unstyled. */
.wc-simple-disclosure{
  margin:18px 0;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface,#fff);
  overflow:hidden;
}
.wc-simple-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:64px;
  padding:18px 22px;
  cursor:pointer;
  list-style:none;
  color:var(--text);
  font-size:16px;
  font-weight:800;
}
.wc-simple-disclosure>summary::-webkit-details-marker{display:none}
.wc-simple-disclosure>summary::after{content:"+";flex:0 0 auto;color:var(--green);font-size:24px;font-weight:400}
.wc-simple-disclosure[open]>summary::after{content:"−"}
.wc-simple-disclosure>summary:hover{background:var(--light)}
.wc-simple-disclosure>summary:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.wc-simple-disclosure-body{padding:22px;border-top:1px solid var(--border)}
.wc-simple-disclosure-body>:first-child{margin-top:0}
.wc-simple-disclosure-body>:last-child{margin-bottom:0}
.wc-simple-disclosure-summary{display:block}
.wc-simple-disclosure-summary small{display:block;margin-top:5px;color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}
/* Department Snapshot: wraps the Statement of Function text/County
   Services list around a page's own supporting media (video frame, award
   figure, iframe link, etc.) instead of stacking the media above a huge
   blank gap -- see department-services.js's render(), which collects
   anything matching .wc-video-frame/.extension-video-frame/
   .mosquito-video-frame/.libraries-video-frame/.wc-omb-award-top/figure/
   a[class*="iframe-link"] into .wc-dept-supporting-media and floats it. */
.wc-dept-statement-flow{display:block}
.wc-dept-has-top-media>.page-title{max-width:calc(100% - 450px)}
.wc-dept-has-top-media.wc-dept-has-top-award>.page-title{max-width:calc(100% - 330px)}
.wc-dept-function-services--with-video::after{content:"";display:table;clear:both}
.wc-dept-function-services--with-video>.wc-video-frame,
.wc-dept-function-services--with-video>.extension-video-frame,
.wc-dept-function-services--with-video>.mosquito-video-frame,
.wc-dept-function-services--with-video>.libraries-video-frame{width:min(420px,40%);margin-top:0;margin-bottom:16px}
.wc-dept-function-services--with-video>.wc-dept-supporting-media{
  float:right;
  display:block;
  width:min(420px,40%);
  max-width:420px;
  margin:calc(-143px - var(--wc-title-wrap-offset,0px)) 0 18px 28px;
}
.wc-dept-supporting-media>*{width:100%;max-width:none;margin:0}
.wc-dept-supporting-media>*+*{margin-top:14px}
.wc-dept-function-services--with-video>.wc-dept-supporting-media--award{width:min(360px,32%);max-width:360px;margin-top:calc(-82px - var(--wc-title-wrap-offset,0px))}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-omb-award-top{padding:6px;border:0;border-radius:16px}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-inner{padding:13px 14px;border-radius:11px}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-top{font-size:7px;line-height:1.35;letter-spacing:.17em}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-inner h2{margin:6px 0 3px!important;padding:0!important;border:0!important;color:#172033!important;font:900 21px/1.08 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-align:center!important;text-transform:none!important}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-inner h2::before{content:none!important;display:none!important}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-county{font-size:13px;line-height:1.25}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-divider{width:62px;margin:7px auto}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-inner p{margin:0 auto 7px!important;color:#3a3120!important;font:400 11px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-align:center!important;text-transform:none!important}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-years{gap:8px;margin:7px 0 9px}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-year{width:42px;height:42px;font-size:11px}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-year span{font-size:7px;margin-bottom:3px}
.wc-dept-function-services .wc-dept-supporting-media--award .wc-plaque-btn{padding:7px 12px;font-size:10px;line-height:1.2;letter-spacing:.035em}
.wc-dept-function-services--with-video>.wc-dept-supporting-media iframe{max-width:100%}
.wc-dept-supporting-media .recreation-parks-section{padding:18px}
.wc-dept-supporting-media .recreation-parks-section h2{font-size:17px}
.wc-dept-supporting-media .recreation-parks-grid{grid-template-columns:1fr;gap:10px}
.wc-dept-statement-callout{clear:both;width:100%;max-width:none;margin:18px 0 26px}
.mosquito-page-header:has(+ .mosquito-statement-media .wc-dept-statement-callout),
.mosquito-page-header:not(:has(.mosquito-tax-card)){grid-template-columns:1fr}
.wc-dept-function-services--with-video.wc-dept-video-right>.wc-video-frame,
.wc-dept-function-services--with-video.wc-dept-video-right>.extension-video-frame,
.wc-dept-function-services--with-video.wc-dept-video-right>.mosquito-video-frame,
.wc-dept-function-services--with-video.wc-dept-video-right>.libraries-video-frame{float:right;margin-left:26px}
.wc-dept-service-note{grid-column:1/-1;margin:4px 0 0;padding:12px 14px;border:0;border-radius:10px;background:var(--light);color:var(--muted);font-size:13px;line-height:1.5;text-align:left}
@media(max-width:760px){
  .wc-dept-has-top-media>.page-title,.wc-dept-has-top-media.wc-dept-has-top-award>.page-title{max-width:none}
  .wc-dept-function-services--with-video>.wc-video-frame,
  .wc-dept-function-services--with-video>.extension-video-frame,
  .wc-dept-function-services--with-video>.mosquito-video-frame,
  .wc-dept-function-services--with-video>.libraries-video-frame{float:none;width:100%;max-width:560px;margin:0 auto 16px}
  .wc-dept-function-services--with-video>.wc-dept-supporting-media{float:none;width:100%;max-width:560px;margin:0 auto 18px}
  .wc-dept-function-services--with-video>.wc-dept-supporting-media--award{margin:0 auto 18px}
}

/* Shared Board department profile — mirrors the OMB information hierarchy. */
.wc-board-department-loading main#content>:not(.page-eyebrow):not(.page-title){display:none!important}
.wc-board-department-loading main#content::after{content:none}
.wc-dept-function-services,.wc-profile-snapshot,.wc-profile-questions{font-family:Arial,Helvetica,sans-serif}
.wc-dept-function-services{margin:10px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.wc-dept-function-services>h2,.wc-profile-section-title{font-size:.92rem;font-weight:800;color:var(--navy);margin:0 0 14px;text-transform:uppercase;letter-spacing:.05em;border-left:4px solid var(--gold);padding-left:10px}
.wc-profile-section-title{margin-top:26px;padding-top:0;border-top:0}
.wc-dept-function-services>p,.wc-dept-function-services>div p{max-width:none;margin:0 0 10px;color:var(--text);font:400 16px/1.9 Arial,Helvetica,sans-serif;text-align:left}
.wc-dept-function-services>p:last-child,.wc-dept-function-services>div p:last-child{margin-bottom:0}
.wc-dept-function-services>p.wc-profile-section-title{font:800 .92rem/1.3 Arial,Helvetica,sans-serif;color:var(--navy);text-align:left;margin-top:26px}
.wc-dept-goal{margin:0 0 18px}
.wc-dept-goal-chain{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:34px;padding-top:4px}
.wc-dept-goal-chain>.wc-dept-services-label{grid-column:1/-1;margin:0!important}
.wc-dept-goal-quote{min-height:132px;margin:0;padding:20px 22px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#f7faf8,#eef5f1);box-shadow:0 8px 22px rgba(23,32,51,.04)}
.wc-dept-challenge-quote{margin:0;background:linear-gradient(145deg,#fbfaf5,#f5f1df)}
.wc-dept-function-services .wc-dept-goal-quote span{display:block;margin-bottom:6px;color:#756018;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.wc-dept-function-services .wc-dept-goal-quote p{margin:0;color:var(--navy);font:700 17px/1.5 Georgia,"Times New Roman",serif;text-align:left}
.wc-dept-core-services-head{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:12px 0 0;padding-bottom:0;border-bottom:0}
.wc-dept-core-services-head h3{margin:0;padding-left:10px;border-left:4px solid var(--gold);color:var(--navy);font:800 .92rem/1.3 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.wc-dept-function-services .wc-dept-core-services-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;text-align:right}
.wc-dept-service-measure-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:0}
.wc-dept-service-block{min-width:0;padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(23,32,51,.04)}
.wc-dept-service-block:last-child{border-bottom:1px solid var(--border)}
.wc-dept-service-head{margin-bottom:8px}
.wc-dept-service-head h3{margin:0;color:var(--green);font:800 17px/1.3 Georgia,"Times New Roman",serif}
.wc-dept-service-block:not(.is-department-wide)>.wc-dept-service-head h3{display:flex;align-items:baseline;gap:9px}
.wc-dept-service-block:not(.is-department-wide)>.wc-dept-service-head h3::before{content:"•";flex:0 0 auto;color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1}
.wc-dept-function-services .wc-dept-service-head p{margin:4px 0 0;color:var(--text);font-size:14px;line-height:1.55;text-align:left}
.wc-dept-service-block.is-department-wide .wc-dept-service-head h3{color:var(--muted);font:900 12px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.wc-dept-measure-item{margin:14px 0 0;padding:14px 16px;border:0;border-radius:12px;background:var(--light)}
.wc-dept-function-services .wc-dept-measure-name{margin:0;color:var(--green);font-size:14px;font-weight:800;line-height:1.45;text-align:left}
.wc-dept-function-services .wc-dept-measure-objective{margin:4px 0 9px;color:var(--muted);font-size:13px;font-style:italic;line-height:1.5;text-align:left}
.wc-dept-measure-trend{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 28px}
.wc-dept-measure-trend span{color:var(--muted);font-size:11.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.wc-dept-measure-trend span b{display:block;margin-bottom:3px;color:var(--navy);font:800 16px/1.1 Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums;text-transform:none}
.wc-dept-measure-trend span.is-target{margin-left:4px;padding-left:28px;border-left:1px solid var(--border);color:var(--green)}
.wc-dept-measure-trend span.is-target b{color:var(--green)}
.wc-dept-no-measures{margin:12px 0;padding:15px 18px;border:1px solid var(--border);border-radius:12px;background:var(--light);color:var(--muted);font-size:13px;font-style:italic}
@media(max-width:700px){.wc-dept-goal-chain,.wc-dept-service-measure-list{grid-template-columns:1fr}.wc-dept-goal-quote{min-height:0}.wc-dept-core-services-head{align-items:flex-start;flex-direction:column}.wc-dept-function-services .wc-dept-core-services-head p{text-align:left}.wc-dept-measure-item{margin-left:0}.wc-dept-measure-trend{gap:10px 18px}.wc-dept-measure-trend span.is-target{margin-left:0;padding-left:18px}}
.wc-profile-snapshot{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.wc-profile-snapshot[hidden]{display:none!important}
.wc-profile-snapshot-label{display:block}
.wc-profile-snapshot-label>.wc-profile-question-icon{flex:0 0 64px;width:64px;height:64px;aspect-ratio:1;border-radius:50%;background:var(--green);color:#fff}
.wc-profile-snapshot-label h2{margin:26px 0 18px}
.wc-profile-snapshot dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}
.wc-profile-snapshot dl>div{min-width:0;padding:20px;border:1px solid var(--border);border-radius:10px;background:#fff}
.wc-profile-snapshot dl>div:first-child{padding-left:20px}.wc-profile-snapshot dl>div:last-child{border-right:1px solid var(--border)}
.wc-profile-snapshot dt{margin:-20px -20px 18px;padding:12px 20px;border-radius:9px 9px 0 0;background:var(--green);color:#fff;font-size:13px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.wc-profile-snapshot dd{margin:0;color:var(--green);font-size:21px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}
.wc-profile-snapshot dd small{display:block;margin-top:5px;color:var(--muted);font-size:14px;white-space:nowrap}
.wc-profile-snapshot dd small.is-up{color:var(--green)}.wc-profile-snapshot dd small.is-down{color:var(--flag)}
.wc-profile-snapshot-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.wc-profile-snapshot-value strong{color:var(--green);font-size:30px;line-height:1.1}.wc-profile-snapshot-value small,.wc-profile-snapshot dd .wc-profile-snapshot-value small{display:inline;margin:0;font-size:14px}
.wc-profile-snapshot-sheet{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:5px 14px;border:1px solid #006231;border-radius:999px;background:#006231;color:#fff;font:800 12px/1.2 Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.wc-profile-snapshot-sheet:hover{background:#075d3d;border-color:#075d3d}
.wc-profile-snapshot-sheet:focus-visible{outline:3px solid rgba(0,63,40,.35);outline-offset:3px}
.wc-profile-service-note{margin:14px 0 0;color:var(--muted);font:400 14px/1.6 Arial,Helvetica,sans-serif}.wc-profile-service-note strong{color:var(--text)}
.wc-profile-combined-funding{margin-top:30px;padding-top:26px;border-top:1px solid var(--border)}.wc-profile-combined-funding>h3{margin:0 0 18px;color:var(--navy,var(--text));font-size:19px}
.wc-profile-collaboration-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:14px;line-height:1.65}.wc-profile-collaboration-note strong{color:var(--text)}
.wc-profile-challenge-note{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:14px;line-height:1.65}.wc-profile-challenge-note strong{color:var(--text)}
.wc-profile-change-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 0}
@media(max-width:700px){.wc-profile-change-grid{grid-template-columns:1fr}}
.wc-profile-snapshot-personnel-source{display:none!important}
.wc-profile-fund-card{display:flex!important;flex-direction:column}.wc-profile-fund-card dd{display:flex;flex:1;flex-direction:column}.wc-profile-fund-sheet-button{align-self:flex-start;margin-top:auto!important}.wc-profile-fund-sheet-source{display:none!important}
.wc-profile-fund-sheet-tools{display:flex;justify-content:flex-end;margin:0 0 14px}.wc-profile-fund-prior-toggle{padding:7px 14px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);font:800 12px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}.wc-profile-fund-prior-toggle:hover{background:var(--green);color:#fff}.wc-profile-fund-sheet-wrap:not(.show-prior-years) .wc-prior-year{display:none!important}
.wc-fund-sheet-anchor{scroll-margin-top:24px}
.wc-profile-questions{margin:0 0 46px}
.wc-profile-questions>.wc-profile-section-title{margin-bottom:14px}
.wc-profile-questions .wc-profile-question,.wc-profile-questions .wc-profile-question:first-of-type{margin:0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.wc-profile-questions .wc-profile-question+.wc-profile-question{margin-top:10px}
.wc-profile-questions .wc-profile-question>summary{display:flex;align-items:center;gap:18px;min-height:0;padding:15px 20px;color:var(--navy,var(--text));background:#fff;border:0}
.wc-profile-questions .wc-profile-question>summary::after{margin-left:auto;color:var(--green)}
.wc-profile-question-icon{display:flex;flex:0 0 46px;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(0,63,40,.04);border-radius:999px;background:#e8f1eb;color:var(--green)}
.wc-profile-question-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wc-profile-questions .wc-simple-disclosure-summary{flex:1;font-size:15px}.wc-profile-questions .wc-simple-disclosure-summary b{display:block;color:var(--text);font-size:15px;font-weight:800;line-height:1.4}
.wc-profile-questions .wc-profile-question[open]{margin-top:14px;margin-bottom:14px;border:1px solid #b8d1c3;border-left:5px solid var(--green);border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(36,52,77,.09);overflow:hidden}
.wc-profile-questions .wc-profile-question:first-of-type[open]{margin-top:0}.wc-profile-questions .wc-profile-question[open]+.wc-profile-question{margin-top:14px}
.wc-profile-questions .wc-profile-question[open]>summary{padding:18px 20px;border:0;border-bottom:1px solid #cbdcd2;background:#f1f6f3}
.wc-profile-questions .wc-profile-question[open]>.wc-simple-disclosure-body{padding:28px;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif}
.wc-profile-questions .wc-profile-question[open] .wc-profile-question-icon{border-color:var(--green);background:var(--green);color:#fff}
.wc-profile-questions .wc-simple-disclosure-body .wc-finance-card{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.wc-profile-questions .wc-finance-card-head{padding:0 0 22px;border-bottom:1px solid var(--border)}
.wc-profile-questions .wc-finance-card-breakdown{padding:24px 0 4px}
.wc-profile-questions .wc-finance-card-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:18px;padding:18px 0 0;border-top:1px solid var(--border)}
.wc-profile-questions .wc-budget-lines-detail{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:10px;background:#fff}
.wc-profile-finance-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:20px}
.wc-profile-capital-overview{max-width:520px}
.wc-profile-capital-items{margin:0;border:1px solid var(--border);border-radius:10px}
.wc-profile-capital-table{margin:0}
.wc-profile-capital-table th:first-child{width:18%}
.wc-profile-capital-table th:nth-child(2){width:42%}
.wc-profile-capital-table th:nth-child(3){width:25%}
.wc-profile-capital-table td{vertical-align:top}
.wc-profile-finance-stat{min-width:0;padding:22px;border:1px solid var(--border);border-top:4px solid var(--green);border-radius:12px;background:#f8faf9}
.wc-profile-finance-stat>span{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.wc-profile-finance-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:22px}
.wc-profile-finance-main>strong{display:block;color:var(--navy,var(--text));font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1;letter-spacing:-.025em}
.wc-profile-finance-change{color:#a33a34;font-size:22px;font-weight:900;line-height:1.1;text-align:right;white-space:nowrap}
.wc-profile-finance-change em{display:block;margin-bottom:4px;font-size:13px;font-style:normal;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.wc-profile-finance-percent{color:#a33a34;font-size:28px;font-weight:900;line-height:1;text-align:right;white-space:nowrap}
.wc-profile-finance-change.is-up,.wc-profile-finance-percent.is-up{color:var(--green)}
.wc-profile-finance-change.is-flat,.wc-profile-finance-percent.is-flat{color:var(--muted)}
.wc-profile-finance-stat>small{display:block;margin-top:9px;color:var(--green);font-size:12px;font-weight:800}
.wc-profile-cost-context{margin:4px 0 22px;padding:22px;border:1px solid var(--border);border-top:4px solid var(--green);border-radius:12px;background:#f8faf9}
.wc-profile-cost-context h3{margin:0 0 14px;color:var(--navy,var(--text));font-size:18px}
.wc-profile-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.wc-profile-context-grid>div{position:relative;min-width:0;padding:14px 16px;border-right:1px solid var(--border)}
.wc-profile-context-grid>div:first-child{padding-left:0}.wc-profile-context-grid>div:last-child{border-right:0}
.wc-profile-context-label{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.wc-profile-context-label>span:first-child{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.wc-profile-context-grid>div>strong{display:block;color:var(--navy,var(--text));font-size:21px;font-weight:900}
.wc-profile-context-tooltip{position:static;display:inline-flex}
.wc-profile-context-tooltip>button{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;padding:0;border:1px solid rgba(0,63,40,.35);border-radius:999px;background:#fff;color:var(--green);font-size:10px;font-weight:900;cursor:help}
.wc-profile-context-tooltip-text{position:absolute;z-index:20;bottom:calc(100% + 10px);left:0;width:min(330px,80vw);padding:11px 13px;border:1px solid var(--border);border-radius:8px;background:var(--navy,var(--text));box-shadow:0 12px 28px rgba(23,32,51,.2);color:#fff;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:normal;text-transform:none;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease}
.wc-profile-context-grid>div:nth-child(n+3) .wc-profile-context-tooltip-text{right:0;left:auto}
.wc-profile-context-tooltip:hover .wc-profile-context-tooltip-text,.wc-profile-context-tooltip:focus-within .wc-profile-context-tooltip-text{opacity:1;transform:translateY(0)}
.wc-profile-cost-context>p{max-width:92ch;margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.wc-profile-revenue-overview{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.wc-profile-payer-summary{margin:0 0 24px;padding:22px;border:1px solid rgba(0,63,40,.18);border-radius:14px;background:linear-gradient(135deg,rgba(0,63,40,.055),rgba(209,190,120,.08))}
.wc-profile-payer-summary>h3{margin:0 0 16px;color:var(--navy,var(--text));font-size:20px}
.wc-profile-payer-summary>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.wc-profile-payer-summary article{min-width:0;padding:17px;border:1px solid var(--border);border-top:4px solid var(--green);border-radius:11px;background:var(--light)}
.wc-profile-payer-summary article>span{display:block;min-height:30px;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.wc-profile-payer-summary article>strong{display:block;margin-bottom:10px;color:var(--navy,var(--text));font-size:27px;font-weight:900;line-height:1}
.wc-profile-payer-summary article p{margin:7px 0 0;color:var(--text);font-size:12.5px;line-height:1.5}
.wc-profile-payer-summary article p b{color:var(--green);font-weight:900}.wc-profile-payer-summary article p small{color:var(--muted);font-size:11px;font-weight:800}
.wc-profile-payer-source{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.55}
.wc-profile-payer-source a{color:var(--green);font-weight:800}
.wc-profile-who-pays-sheet{margin:0;border:1px solid var(--border);border-radius:10px}
.wc-profile-who-pays-sheet table{margin:0;min-width:980px}
.wc-profile-who-pays-sheet th:first-child{width:16%}.wc-profile-who-pays-sheet th:nth-child(2){width:21%}.wc-profile-who-pays-sheet th:nth-child(3){width:13%}.wc-profile-who-pays-sheet th:nth-child(4){width:22%}
.wc-profile-who-pays-sheet td{vertical-align:top;line-height:1.5}
.wc-profile-who-pays-sheet td:first-child strong,.wc-profile-who-pays-sheet td:nth-child(3) strong{color:var(--navy,var(--text))}
.wc-profile-contract-sheet{margin:0;border:1px solid var(--border);border-radius:10px}
.wc-profile-contract-sheet table{margin:0}
.wc-profile-contract-sheet th:first-child{width:30%}.wc-profile-contract-sheet th:nth-child(2){width:20%}.wc-profile-contract-sheet th:nth-child(3){width:22%}.wc-profile-contract-sheet th:nth-child(4){width:14%}
.wc-profile-contract-sheet td{vertical-align:top}
.wc-profile-contract-sheet a{color:var(--green);font-weight:800;text-decoration:none}.wc-profile-contract-sheet a:hover{text-decoration:underline}
.wc-profile-revenue-overview .wc-profile-finance-main{display:block}
.wc-profile-revenue-overview .wc-profile-finance-main>strong{font-size:clamp(28px,2.5vw,36px)}
.wc-profile-revenue-overview .wc-profile-finance-change,.wc-profile-revenue-overview .wc-profile-finance-percent{display:none}
.wc-profile-finance-note{max-width:760px;margin:0;color:var(--text);font-size:15px;line-height:1.7}
.wc-profile-finance-enhanced>.wc-finance-card>.wc-finance-card-head,.wc-profile-finance-enhanced>.wc-finance-card>.wc-finance-card-breakdown{display:none}
.wc-profile-finance-enhanced>.wc-finance-card>.wc-finance-card-footer{margin-top:0;padding-top:14px;border-top:1px solid var(--border)}
.wc-profile-finance-enhanced .wc-department-funding-context{display:none}
.wc-profile-contract-summary{display:grid;grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);gap:24px;align-items:center;padding:20px 22px;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:12px;background:#fff}
.wc-profile-contract-total>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.wc-profile-contract-total>strong{display:block;color:var(--navy,var(--text));font-size:clamp(28px,4vw,42px);font-weight:900;line-height:1}
.wc-profile-contract-copy>p{margin:0;color:var(--text);font-size:16px;font-weight:800;line-height:1.45}
.wc-profile-contract-copy>a{display:inline-block;margin-top:14px;color:var(--green);font-size:13px;font-weight:800}
.wc-profile-contract-list{display:grid;gap:9px;margin-top:14px}
.wc-profile-contract-list>article{padding:14px 0 4px;border-top:1px solid var(--border)}
.wc-profile-contract-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.wc-profile-contract-head strong{color:var(--text);font-size:15px;line-height:1.45}
.wc-profile-contract-head em{flex:0 0 auto;color:var(--green);font-size:16px;font-style:normal;font-weight:900;white-space:nowrap}
.wc-profile-contract-meta{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5}
.wc-profile-contract-meta span{white-space:normal}.wc-profile-contract-meta b{color:var(--text)}
.wc-profile-contract-list>article>a{display:inline-flex;margin-top:9px;color:var(--green);font-size:13px;font-weight:800;text-decoration:none}
.wc-profile-contract-list>article>a:hover{text-decoration:underline}
.wc-profile-contract-list>article>small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}
.wc-profile-accountability{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px;border:1px solid var(--border);border-radius:12px;background:#f8faf9;overflow:hidden}
.wc-profile-accountability>div{padding:18px 20px;border-right:1px solid var(--border)}.wc-profile-accountability>div:last-child{border-right:0}
.wc-profile-accountability dt{margin:0 0 8px;color:var(--navy,var(--text));font-size:16px;font-weight:800;line-height:1.45}
.wc-profile-accountability dd{margin:0;color:var(--text);font-size:15px;line-height:1.7}
.wc-profile-performance-goal{margin:0 0 16px;padding:20px 22px;border-left:4px solid var(--gold);border-radius:0 10px 10px 0;background:#faf8f0}
.wc-profile-performance-goal span{display:block;margin-bottom:5px;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.wc-profile-performance-goal strong{display:block;max-width:950px;color:var(--text);font-size:16px;line-height:1.55}
.wc-profile-performance-list{display:grid;gap:14px}
.wc-profile-performance-item{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:24px;padding:22px;border:1px solid var(--border);border-radius:12px;background:#fff}
.wc-profile-performance-item h3{margin:0;color:var(--text);font-size:17px;line-height:1.4}
.wc-profile-performance-target{display:flex;flex-direction:column;justify-content:center;padding-left:22px;border-left:1px solid var(--border)}
.wc-profile-performance-target span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.wc-profile-performance-target strong{margin-top:5px;color:var(--green);font-size:24px;line-height:1.15}
.wc-profile-performance-history{grid-column:1/-1;margin-top:2px;border-top:1px solid var(--border)}
.wc-profile-performance-history>summary{padding:12px 0 0;color:var(--green);font-size:12px;font-weight:800;cursor:pointer;list-style:none}.wc-profile-performance-history>summary::-webkit-details-marker{display:none}
.wc-profile-performance-history>div{padding-top:12px}.wc-profile-performance-history p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.55}.wc-profile-performance-history p span{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.wc-profile-performance-values{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:12px}.wc-profile-performance-values b{color:var(--text)}
.wc-profile-no-measures{margin:0;color:var(--text);font-size:15px;line-height:1.7}
.wc-profile-change-title{margin:22px 0 6px;color:var(--text);font-size:17px}
.wc-profile-object-change-list{display:grid;gap:9px}
.wc-profile-object-change{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 17px;border:1px solid var(--border);border-radius:10px;background:#f8faf9}
.wc-profile-object-change span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.wc-profile-object-change strong{display:block;margin-top:3px;color:var(--text);font-size:14px}
.wc-profile-object-change-value{flex:0 0 auto;color:#a33a34;font-size:17px;font-weight:900;text-align:right}.wc-profile-object-change-value.is-up{color:var(--green)}.wc-profile-object-change-value small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:600}
.wc-profile-change-sheet-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.wc-profile-staffing-card .wc-finance-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.wc-profile-staffing-card .wc-finance-card-total{display:block;color:var(--navy,var(--text));font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.1}
.wc-profile-staffing-card .wc-finance-card-subtitle{display:block;margin-top:5px;color:var(--muted);font-size:13px}
.wc-profile-staffing-change{color:#a33a34;font-size:22px;font-weight:900;line-height:1.1;text-align:right;white-space:nowrap}
.wc-profile-staffing-change em{display:block;margin-bottom:5px;color:inherit;font-size:12px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.wc-profile-staffing-change.is-up{color:var(--green)}.wc-profile-staffing-change.is-flat{color:var(--muted)}
.wc-profile-staffing-card .wc-finance-card-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.wc-profile-staffing-card .wc-finance-card-row{padding:13px 0;border-bottom:1px solid var(--border)}
.wc-profile-staffing-card .wc-finance-card-row-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px;color:var(--text);font-size:13px}
.wc-profile-staffing-card .wc-finance-card-row-head span{flex:0 0 auto;color:var(--green);font-weight:800}
.wc-profile-staffing-card .wc-finance-card-track{height:3px;border-radius:999px;background:#dfe7e2;overflow:hidden}
.wc-profile-staffing-card .wc-finance-card-track span{display:block;height:100%;background:var(--green)}
.wc-profile-answer{max-width:90ch;color:var(--text);font:400 15px/1.7 Arial,Helvetica,sans-serif}
.wc-profile-change-answer{width:100%;max-width:none}
.wc-profile-answer>strong{display:block;margin:0 0 8px;color:var(--navy,var(--text));font-size:16px;line-height:1.45}
.wc-profile-answer>strong:first-child:not(:last-child){font-size:16px}
.wc-profile-answer p{margin:0 0 12px;color:var(--text);font:inherit}.wc-profile-answer p:last-child{margin-bottom:0}
.wc-profile-answer ul{display:grid;gap:9px;margin:0 0 16px;padding-left:22px}.wc-profile-answer li::marker{color:var(--gold)}
.wc-profile-answer a{color:var(--green);font-weight:800}
.wc-profile-change-list{display:grid;gap:8px;margin-top:16px}
.wc-profile-change-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--border)}
.wc-profile-change-list strong{white-space:nowrap}.wc-profile-change-list .is-up{color:var(--green)}.wc-profile-change-list .is-down{color:var(--flag)}
@media(max-width:900px){.wc-profile-snapshot{grid-template-columns:1fr}.wc-profile-snapshot dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.wc-profile-snapshot dl>div:nth-child(2){border-right:0}.wc-profile-snapshot dl>div:nth-child(n+3){padding-top:16px;border-top:1px solid #cbd8d0}}
@media(max-width:700px){.wc-profile-snapshot{padding:22px 18px}.wc-profile-snapshot dl{grid-template-columns:1fr}.wc-profile-snapshot dl>div,.wc-profile-snapshot dl>div:nth-child(n+3){padding:14px 0;border-top:1px solid #cbd8d0;border-right:0}.wc-profile-snapshot dl>div:first-child{border-top:0}.wc-profile-questions .wc-profile-question[open]>.wc-simple-disclosure-body{padding:20px 16px}.wc-profile-change-list>div{align-items:flex-start;flex-direction:column;gap:3px}.wc-profile-finance-main,.wc-profile-revenue-overview .wc-profile-finance-main{grid-template-columns:1fr;align-items:start;gap:10px}.wc-profile-finance-change,.wc-profile-finance-percent,.wc-profile-revenue-overview .wc-profile-finance-change,.wc-profile-revenue-overview .wc-profile-finance-percent{text-align:left}.wc-profile-revenue-overview{grid-template-columns:1fr}.wc-profile-staffing-card .wc-finance-card-head{grid-template-columns:1fr;align-items:start}.wc-profile-staffing-change{text-align:left}.wc-profile-staffing-card .wc-finance-card-breakdown{grid-template-columns:1fr}.wc-profile-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-profile-context-grid>div{border-top:1px solid var(--border)}.wc-profile-context-grid>div:nth-child(-n+2){border-top:0}.wc-profile-context-grid>div:nth-child(even){border-right:0}.wc-profile-context-grid>div:nth-child(odd){padding-left:0}.wc-profile-contract-summary,.wc-profile-accountability,.wc-profile-performance-item{grid-template-columns:1fr}.wc-profile-accountability>div{border-right:0;border-bottom:1px solid var(--border)}.wc-profile-accountability>div:last-child{border-bottom:0}.wc-profile-performance-target{padding:14px 0 0;border-top:1px solid var(--border);border-left:0}.wc-profile-object-change{align-items:flex-start;flex-direction:column;gap:10px}.wc-profile-object-change-value{text-align:left}}
@media(max-width:520px){.wc-profile-contract-head{flex-direction:column;gap:5px}.wc-profile-contract-head em{white-space:normal}}
@media(max-width:900px){.wc-profile-snapshot dl{gap:18px}.wc-profile-snapshot dl>div,.wc-profile-snapshot dl>div:nth-child(n+3){padding:20px;border:1px solid var(--border);border-radius:10px;background:#fff}}
@media(max-width:700px){.wc-profile-snapshot{padding:0}.wc-profile-snapshot dl>div,.wc-profile-snapshot dl>div:first-child,.wc-profile-snapshot dl>div:last-child,.wc-profile-snapshot dl>div:nth-child(n+3){padding:20px;border:1px solid var(--border)}}
/* Condensed version of the original expenditure / revenue / staffing snapshot. */
.wc-independent-source-grid{display:none!important}
.wc-profile-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wc-profile-snapshot-grid--no-staffing{grid-template-columns:repeat(2,minmax(0,1fr))}
.wc-profile-snapshot-grid--single{grid-template-columns:minmax(0,1fr)}
.wc-profile-snapshot-grid--lifeguard{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);align-items:stretch}
.wc-lifeguard-summary-map{position:relative;display:block;min-height:270px;overflow:hidden;border:5px solid var(--gold);border-radius:18px;background:#e8eeea}
.wc-lifeguard-summary-map iframe{width:100%;height:100%;min-height:270px;border:0;pointer-events:none}
.wc-lifeguard-summary-map span{position:absolute;top:50%;left:50%;padding:11px 18px;transform:translate(-50%,-50%);border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:800;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.wc-program-safety-section{margin-top:34px}
.wc-program-safety-section>p{margin:0 0 14px;color:var(--text);font-size:16px;line-height:1.7}
.wc-program-safety-copy h3{margin:22px 0 6px;color:var(--green);font:800 18px/1.35 Georgia,"Times New Roman",serif}
.wc-program-safety-copy p{margin:0;color:var(--text);font-size:16px;line-height:1.7}
.wc-program-document-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.wc-program-document-links a{color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;text-decoration:underline}
.wc-profile-snapshot-card{display:flex;min-width:0;min-height:270px;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--light);box-shadow:0 8px 24px rgba(23,32,51,.04)}
.wc-combined-office-legacy-card{display:none!important}
.wc-combined-office-ledger-source{display:none!important}
.wc-profile-snapshot-staffing{grid-column:auto}
.wc-profile-snapshot-kicker{display:block;align-self:flex-start;margin:0 0 16px;color:#006231;font-size:19px;font-weight:900;letter-spacing:normal;text-transform:none}
.wc-profile-snapshot-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 12px;margin-bottom:17px}
.wc-profile-snapshot-total>strong{color:var(--navy,var(--text));font-size:clamp(34px,3.2vw,48px);font-weight:900;letter-spacing:-.035em;line-height:1}
.wc-profile-snapshot-total>small{color:var(--muted);font-size:16px;font-weight:800}.wc-profile-snapshot-total>small.is-up{color:var(--green)}.wc-profile-snapshot-total>small.is-down{color:var(--flag)}
.wc-profile-snapshot-head{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:10px}
.wc-profile-snapshot-head>div:first-child{flex:1 1 auto;min-width:0}
.wc-profile-snapshot-table{display:flex;flex-direction:column;margin-bottom:6px;border-top:1px solid var(--border)}
.wc-profile-snapshot-table>p{margin:11px 0;color:var(--muted);font-size:13px;border-bottom:1px solid var(--border)}
.wc-profile-snapshot-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.wc-profile-snapshot-row-main{min-width:0}
.wc-profile-snapshot-row-name{display:block;margin-bottom:6px;color:var(--text);font-size:12px;font-weight:800;line-height:1.25}
.wc-profile-snapshot-row-amount{flex:0 0 auto;color:var(--text);font-size:12.5px;font-weight:900;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.wc-profile-snapshot-row-track{display:block;height:5px;border-radius:99px;background:rgba(0,63,40,.1);overflow:hidden}
.wc-profile-snapshot-row-track>b{display:block;height:100%;border-radius:inherit;background:var(--green)}
.wc-profile-snapshot-row-track.is-one-time>b{background:var(--gold)}
.wc-profile-snapshot-delta{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.wc-profile-snapshot-delta.is-up{color:var(--green);background:rgba(0,63,40,.1)}
.wc-profile-snapshot-delta.is-down{color:var(--flag);background:rgba(179,38,30,.1)}
.wc-profile-snapshot-delta.is-flat{color:var(--muted);background:var(--border)}
.wc-profile-snapshot-row .wc-finance-card-sublines{margin-top:7px}.wc-profile-snapshot-row .wc-finance-card-subline span,.wc-profile-snapshot-row .wc-finance-card-subline strong{font-size:10px}
.wc-profile-snapshot-legend{display:flex;gap:14px;margin:12px 0 14px}
.wc-profile-snapshot-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10.5px;font-weight:700}
.wc-profile-snapshot-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--green)}
.wc-profile-snapshot-legend i.is-one-time{background:var(--gold)}
.wc-profile-snapshot-card>.wc-profile-snapshot-sheet{align-self:flex-start;margin-top:auto}
.wc-profile-snapshot-card>.wc-profile-snapshot-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-self:stretch;margin-top:auto}
.wc-profile-snapshot-actions .wc-profile-snapshot-sheet{margin-top:0}
.wc-profile-snapshot-card>.wc-profile-snapshot-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.wc-profile-snapshot-card>.wc-profile-snapshot-actions .wc-profile-snapshot-sheet{width:100%;height:34px;padding:4px 10px;font-size:11px;white-space:nowrap}
.wc-snapshot-chart-body{max-width:1100px;margin:0 auto}
.wc-snapshot-chart-layout{display:flex;gap:28px;align-items:flex-start}
.wc-snapshot-chart-main{flex:1 1 0;min-width:0}
.wc-snapshot-career-fact{flex:0 0 240px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--light)}
.wc-snapshot-career-fact-lead{margin:0 0 12px;color:var(--text);font-size:14px;line-height:1.55}
.wc-snapshot-career-fact-lead strong{color:var(--green)}
.wc-snapshot-career-fact-source{margin:0;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.5}
.wc-snapshot-career-fact-source a{color:var(--green)}
@media(max-width:820px){.wc-snapshot-chart-layout{flex-direction:column}.wc-snapshot-career-fact{flex-basis:auto;width:100%}}
.wc-snapshot-chart-wrap{position:relative;height:340px;margin-bottom:16px}
.wc-snapshot-chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.wc-snapshot-chart-legend-item{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);font:800 12px/1.2 Arial,Helvetica,sans-serif;cursor:pointer;transition:opacity .15s ease,background .15s ease}
.wc-snapshot-chart-legend-item:hover{background:rgba(0,63,40,.06)}
.wc-snapshot-chart-legend-item.is-active{border-color:var(--border);background:rgba(0,63,40,.06)}
.wc-snapshot-chart-legend-item.is-dimmed{opacity:.4}
.wc-snapshot-chart-legend-item i{display:inline-block;width:10px;height:10px;border-radius:3px}
.wc-snapshot-chart-note{margin:0;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:12.5px;line-height:1.6}
@media(max-width:700px){.wc-snapshot-chart-wrap{height:260px}}
.wc-profile-snapshot-fte-label{max-width:240px;margin:0 0 14px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.45}
.wc-profile-snapshot-fte-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;margin:0 0 16px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.wc-profile-snapshot-fte-compare>div{min-width:0}.wc-profile-snapshot-fte-compare span{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.wc-profile-snapshot-fte-compare strong{display:block;color:var(--text);font-size:14px;line-height:1.3}.wc-profile-snapshot-fte-compare i{color:var(--gold);font-size:18px;font-style:normal}
.wc-profile-snapshot-fte-requests{margin:0 0 16px}
.wc-profile-snapshot-fte-requests-title{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.wc-profile-snapshot-fte-requests ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.wc-profile-snapshot-fte-requests li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:9px;background:rgba(0,63,40,.06)}
.wc-profile-snapshot-fte-requests li span{color:var(--text);font-size:11.5px;font-weight:700;line-height:1.35}
.wc-profile-snapshot-fte-requests li strong{flex:0 0 auto;color:var(--green);font-size:11.5px;font-weight:900;white-space:nowrap}
.wc-profile-snapshot-staffing>dl,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 14px}
.wc-profile-snapshot-staffing>dl>div,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl>div,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl>div:first-child,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl>div:last-child{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;min-width:0;padding:8px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}
.wc-profile-snapshot-staffing>dl dt,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl dt{margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.wc-profile-snapshot-staffing>dl dd,.wc-profile-snapshot .wc-profile-snapshot-staffing>dl dd{margin:0;color:var(--text);font-size:12px;font-weight:800;line-height:1.4}
@media(max-width:1000px){.wc-profile-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-profile-snapshot-staffing{grid-column:1/-1;min-height:0}}
@media(max-width:800px){.wc-profile-snapshot-grid--lifeguard{grid-template-columns:1fr}}
@media(max-width:650px){.wc-profile-snapshot-grid{grid-template-columns:1fr}.wc-profile-snapshot-staffing{grid-column:auto}.wc-profile-snapshot-card{min-height:0}}
@media(max-width:430px){.wc-profile-snapshot-head{flex-wrap:wrap}}
@media(max-width:640px){.wc-workforce-bars li{grid-template-columns:1fr auto;gap:6px}.wc-workforce-bar{grid-column:1/-1}}
