:root{--shadow:0 10px 32px rgba(31,49,40,.055)}
body{font-size:16px;overflow-x:hidden}
main{overflow:clip}
.site-header nav a[aria-current="location"]{background:var(--sage);color:var(--forest);box-shadow:inset 0 -2px 0 var(--forest)}
.header-inner{min-height:68px}
.brand img{width:48px;height:48px}
.section{padding:42px 0 20px}
.overview-section{padding-top:24px}
.intro{align-items:center;margin-bottom:18px;gap:18px}
.intro h1{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.15;letter-spacing:-.035em;margin:0}
.intro .eyebrow{margin-bottom:5px}
.source-stamp{min-width:0;font-size:.78rem}
.annual-panel{padding:23px 26px 15px}
.monthly-top{margin-top:42px}
.monthly-summary{grid-template-columns:minmax(210px,1.1fr) 3fr}
.monthly-summary p.muted,.chart-head .muted{font-size:.84rem}
.month-stat span,.stat .label{font-size:.8rem}
.month-group .month-name,.month-group small{font-size:.72rem}
.bar-number{font-size:.7rem}
.month-measure[style*="#d3a900"] .bar-number{color:#765d00}
.inline-action{border:0;background:none;padding:4px 0;color:var(--forest);font-size:.78rem;font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:3px;margin-top:6px}
.monthly-top .control-row{min-width:0}
.monthly-top .select-label,.monthly-top select{min-width:0}
#month-year{min-width:0}

@media(min-width:1160px){
  .overview-section{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,2fr);grid-template-areas:"intro intro" "annual month-head" "annual month-card";column-gap:18px;align-items:start}
  .overview-section .intro{grid-area:intro;margin-bottom:13px}
  .overview-section .annual-panel{grid-area:annual;align-self:stretch;padding:18px 18px 14px}
  .overview-section .monthly-top{grid-area:month-head;margin:0 0 10px;gap:10px}
  .overview-section .monthly-surface{grid-area:month-card;min-width:0;padding:15px 18px 12px}
  .overview-section .annual-panel .section-top{display:block;margin-bottom:10px}
  .overview-section .annual-panel .section-top .select-label{margin-top:12px;width:120px}
  .overview-section .annual-panel h2{font-size:1.54rem}
  .overview-section .annual-panel .eyebrow{margin-bottom:4px}
  .overview-section .annual-meta{font-size:.76rem;gap:6px}
  .overview-section .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0;margin:16px 0 12px}
  .overview-section .stat{padding:2px 9px}
  .overview-section .stat:nth-child(odd){border:0;padding-left:0}
  .overview-section .stat strong{font-size:1.65rem;margin:4px 0 2px}
  .overview-section .stat small{font-size:.73rem}
  .overview-section .monthly-top h2{font-size:1.5rem}
  .overview-section .monthly-top .eyebrow{margin-bottom:4px}
  .overview-section .monthly-top .select-label select{min-width:0;width:126px}
  .overview-section .monthly-top .select-label:last-child select{width:150px}
  .overview-section .monthly-summary{grid-template-columns:minmax(150px,.9fr) 3fr;gap:8px;padding-bottom:10px}
  .overview-section .monthly-summary h3{font-size:1.12rem}
  .overview-section .month-stat{padding:1px 8px}
  .overview-section .month-stat strong{font-size:1.15rem;margin:3px 0}
  .overview-section .monthly-surface .chart-head{margin:10px 0 7px}
  .overview-section .monthly-surface .chart-head h3{font-size:.99rem}
  .overview-section .monthly-surface .chart-head p{font-size:.74rem;line-height:1.25}
  .overview-section .monthly-surface .chart-head .select-label select{min-width:0;width:175px}
  .overview-section .monthly-legend{margin-bottom:1px}
  .overview-section .month-group .month-bar-set{height:100px}
  .overview-section .month-group{min-width:74px}
  .overview-section .monthly-surface>.about{margin-top:7px;padding-top:8px}
}

#distributions .section-top{align-items:end}
#distributions .section-intro{font-size:.88rem}
#distributions .section-actions{align-items:end;gap:9px}
.recent-label{font-size:.72rem}
.recent-label .recent-select{width:186px;min-height:40px}
.text-button,.print-button,.swap-button{min-height:40px;font-size:.8rem}
.distribution-layout{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-areas:"filter compare" "filter cards" "filter note" "filter chart";gap:0 18px;align-items:start}
.distribution-layout>.comparison-header{grid-area:compare;margin:0 0 10px}
.distribution-layout>.comparison-grid{grid-area:cards}
.distribution-layout>.direction-note{grid-area:note}
.distribution-layout>.filter-panel{grid-area:filter}
.distribution-layout>.chart-layout{grid-area:chart}
.filter-panel{padding:16px;top:84px}
.filter-head p{font-size:.75rem;margin:5px 0 12px;line-height:1.35}
#date-editor>summary{display:none}
.date-group>strong{font-size:.82rem}
.date-parts .select-label{font-size:.72rem}
.date-parts .select-label select{font-size:.78rem;min-height:39px}
.date-selected,.filter-foot,.date-warning{font-size:.74rem}
.comparison-header h3{font-size:1.14rem}
.comparison-grid{gap:10px}
.comparison-card{padding:14px 16px}
.comparison-card .label{min-height:0;font-size:.8rem}
.comparison-card .flow{align-items:end;gap:8px;margin:10px 0}
.comparison-card .flow>div{display:flex;flex-direction:column;gap:1px;min-width:0}
.comparison-card .flow>div:last-child{text-align:right}
.comparison-card .flow small{font-size:.68rem;color:var(--muted);white-space:nowrap}
.comparison-card .flow strong{font-size:1.55rem;line-height:1.1}
.direction-note{font-size:.76rem;color:var(--muted);margin:9px 0 13px;line-height:1.35}
.chart-layout{display:flex;flex-direction:column;gap:11px;margin-top:0}
.chart-surface{padding:20px 22px 16px;min-width:0}
.chart-surface .chart-head{gap:12px}
.chart-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.chart-surface .chart-head h3{font-size:1.18rem}
.chart-surface .chart-head p{font-size:.78rem}
.chart-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 8px;color:#4c665a}
.chart-navigation[hidden]{display:none}
.chart-navigation button{background:#f4f7f2;border:1px solid var(--line);border-radius:7px;color:var(--forest);padding:5px 8px;font-size:.72rem;font-weight:750;white-space:nowrap}
.chart-navigation button:disabled{opacity:.45;cursor:default}
.chart-navigation strong{font-size:.73rem;text-align:center;line-height:1.2}
.chart-frame{position:relative;min-width:0}
.chart-axis-rail{position:absolute;z-index:4;top:0;left:0;width:42px;height:256px;background:linear-gradient(90deg,#fff 77%,rgba(255,255,255,.86));pointer-events:none}
.chart-axis-rail span{position:absolute;left:1px;transform:translateY(-50%);color:#68786f;font-size:11px}
.trend-chart{border:1px solid #e7ece5;border-radius:9px;background:#fcfdfb;scrollbar-color:#9bad9d transparent}
.trend-chart:focus-visible{outline:3px solid #0d89cb;outline-offset:2px}
.trend-chart svg{height:256px}
.chart-grid{stroke:#e7ece5}
.chart-line{stroke-width:2.8}
.chart-hit{cursor:crosshair}
.chart-dot{pointer-events:all;cursor:crosshair}
.chart-dot.is-inspected{stroke:#23382f;stroke-width:2.5;filter:drop-shadow(0 0 3px rgba(23,77,65,.28))}
.inspection-guide{stroke:#638475;stroke-width:1.5;stroke-dasharray:3 4;pointer-events:none}
.chart-point-value{font-size:10.8px;stroke:#fff;stroke-width:3.5px}
.chart-point-value[style*="#d3a900"]{fill:#765d00}
.chart-date{font-size:10.5px}
.chart-inspection{display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap;background:#edf3ea;border:1px solid #dbe7d9;border-radius:8px;padding:9px 11px;margin:10px 0 0;font-size:.78rem;color:#3e574b;min-height:42px}
.chart-inspection>b{color:var(--ink);font-size:.82rem}
.chart-inspection span{display:inline-flex;gap:5px;align-items:center}
.chart-inspection i{width:13px;height:3px;background:var(--series);border-radius:3px}
.chart-inspection strong{color:var(--ink);font-variant-numeric:tabular-nums}
.highs-panel{padding:16px 20px}
.highs-panel h3{margin-bottom:9px}
#highs-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.high-item{padding:9px 14px;border:1px solid var(--line);border-radius:9px}
.high-item>strong{font-size:.78rem}
.high-item>div{justify-content:space-between;gap:9px;font-size:.75rem}
.high-item b{font-size:1.05rem}
.highs-panel .about{margin-top:14px}
.count-list{max-height:310px;overflow:auto}
.counts-panel{padding:14px 18px;margin-top:0}
.count-table{width:100%;border-collapse:collapse;font-size:.76rem;font-variant-numeric:tabular-nums}
.count-table caption{text-align:left;color:var(--muted);font-size:.72rem;padding:6px 0}
.count-table th,.count-table td{text-align:right;border-bottom:1px solid var(--line);padding:7px 8px}
.count-table th:first-child{text-align:left}
.count-table thead{background:#edf3ea}
.count-table tbody th{font-weight:650}
.print-option{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.74rem;color:var(--muted)}
.print-option input{accent-color:var(--forest)}
.chart-dialog{width:min(96vw,1500px);max-width:none;max-height:91vh;border:1px solid var(--line);border-radius:16px;padding:20px 24px;background:#fff;color:var(--ink);box-shadow:0 25px 70px rgba(12,40,29,.22)}
.chart-dialog::backdrop{background:rgba(23,43,36,.62)}
.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:15px}
.dialog-head h2{font-size:1.5rem}
.dialog-head .eyebrow{margin-bottom:4px}
.dialog-head .muted{font-size:.8rem;margin:4px 0 0}
.chart-dialog .trend-chart{max-height:59vh}
.chart-dialog .chart-axis-rail{background:linear-gradient(90deg,#fff 77%,rgba(255,255,255,.86))}

.vol-card{padding:14px}
.vol-top-meta{display:flex;flex-direction:column;align-items:end;gap:4px}
.follow-badge{font-size:.68rem;padding:4px 7px}
.rejoin-button{border:0;background:none;padding:2px;color:var(--forest);text-decoration:underline;text-underline-offset:2px;font-size:.7rem;font-weight:700}
.vol-top .eyebrow,.vol-chart-note{font-size:.7rem}
.vol-controls .select-label,.vol-kpi span,.vol-comparison,.vol-bar-row{font-size:.73rem}
.vol-bar-row small,.vol-bar-row strong{font-size:.69rem}
.vol-master small{font-size:.75rem}
.vol-card .vol-kpi strong{font-size:1.65rem}
.vol-bar-row{grid-template-columns:minmax(80px,1.4fr) minmax(45px,1fr) auto auto}

@media(max-width:1140px){#distributions .section-top{display:block}#distributions .section-actions{margin-top:13px}.distribution-layout{grid-template-columns:220px minmax(0,1fr)}.chart-layout{display:flex}.highs-panel #highs-content{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .section{padding:30px 0 15px}
  .intro{display:block;margin-bottom:18px}
  .source-stamp{margin-top:11px}
  .monthly-top{margin-top:35px}
  .monthly-top .control-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
  .monthly-top .select-label select{min-width:0;width:100%}
  .distribution-layout{display:flex;flex-direction:column;gap:0}
  .distribution-layout>.comparison-header{order:1;width:100%}
  .distribution-layout>.comparison-grid{order:2;width:100%}
  .distribution-layout>.direction-note{order:3;width:100%}
  .distribution-layout>.filter-panel{order:4;width:100%;position:static;margin:0 0 12px}
  .distribution-layout>.chart-layout{order:5;width:100%}
  .chart-layout{display:flex}
  .chart-surface{padding:16px}
  .highs-panel #highs-content{grid-template-columns:repeat(3,minmax(0,1fr))}
  .volunteer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .header-inner{gap:3px 9px}
  nav a{font-size:.78rem}
  .monthly-top .control-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .monthly-top .control-row select{max-width:100%}
  #distributions .section-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:8px}
  #distributions .section-actions .text-button{min-width:0;white-space:normal}
  .recent-label{min-width:0}
  .recent-label .recent-select{width:100%;min-width:0}
  .filter-panel{padding:13px 15px}
  .filter-head p{margin:3px 0 8px}
  #date-editor>summary{display:list-item;cursor:pointer;font-size:.8rem;font-weight:750;color:var(--forest);padding:5px 0}
  #date-editor[open]>summary{margin-bottom:12px}
  .comparison-grid{display:grid;grid-template-columns:1fr;gap:7px}
  .comparison-card{display:block;padding:10px 12px}
  .comparison-card .label{font-size:.77rem}
  .comparison-card .flow{display:flex;align-items:end;margin:5px 0 7px}
  .comparison-card .flow strong{font-size:1.28rem}
  .comparison-card .flow small{font-size:.65rem}
  .comparison-card .delta{padding:4px 7px;font-size:.78rem}
  .comparison-card .delta small{display:inline}
  .direction-note{font-size:.73rem}
  .chart-surface .chart-head{display:flex;flex-direction:column;align-items:start}
  .chart-actions{justify-content:start}
  .chart-surface .print-button{margin:0}
  .chart-navigation strong{font-size:.66rem}
  .chart-navigation button{font-size:.68rem;padding:5px}
  .chart-inspection{font-size:.73rem}
  .highs-panel #highs-content{grid-template-columns:1fr}
  .high-item{display:block}
  .high-item>div{display:flex}
  .volunteer-grid{grid-template-columns:1fr}
  .chart-dialog{width:98vw;padding:13px}
  .dialog-head h2{font-size:1.18rem}
}
@media(max-width:420px){
  .monthly-top .control-row{grid-template-columns:1fr}
  .monthly-top .select-label select{width:100%}
  .monthly-surface .chart-head>.control-row{display:block}
  .monthly-surface .chart-head .select-label select{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{
  .section{break-inside:auto;page-break-inside:auto}
  .distribution-layout,.chart-layout{display:block!important;break-inside:auto!important;page-break-inside:auto!important}
  .chart-surface,.highs-panel,.counts-panel{break-inside:auto!important;page-break-inside:auto!important}
  .site-header,.chart-dialog,.chart-navigation,.chart-inspection,.chart-actions,.print-option,.direction-note{display:none!important}
  .distribution-layout{display:block}
  .filter-panel{display:none!important}
  .comparison-header,.comparison-grid,.chart-layout{display:block;margin-bottom:8px}
  .comparison-grid{display:grid;grid-template-columns:repeat(3,1fr)}
  .comparison-card{padding:8px;box-shadow:none}
  .comparison-card .flow small{font-size:8px}
  .chart-surface,.highs-panel{padding:9px;box-shadow:none}
  .chart-layout{display:block}
  .chart-axis-rail{display:none}
  #highs-content{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .high-item{padding:6px;border:1px solid #ccc}
  .trend-chart{overflow:hidden;border:0}
  .trend-chart svg{min-width:0!important;width:100%;height:auto;max-height:175px}
  .chart-frame,.legend{display:none!important}
  body[data-print-counts="yes"] #counts-details{display:block!important;border:0;margin:0;padding:0}
  body[data-print-counts="no"] #counts-details{display:none!important}
  #counts-details summary{display:none!important}
  #counts-details .count-list{display:block;max-height:none;overflow:visible}
  .count-table{font-size:9px}
  .count-table caption{font-size:9px}
  .count-table thead{display:table-header-group}
  .count-table tr{break-inside:avoid}
  .count-table th,.count-table td{padding:4px}
  .print-context{font-size:9px}
  body[data-print="volunteers"] .section-top{margin-bottom:5px}
  body[data-print="volunteers"] .section-top h2{font-size:22px}
  body[data-print="volunteers"] .volunteer-grid{gap:6px}
  body[data-print="volunteers"] .vol-card{padding:6px 8px}
  body[data-print="volunteers"] .vol-top .eyebrow{font-size:8px;margin-bottom:2px}
  body[data-print="volunteers"] .vol-top h3{font-size:13px}
  body[data-print="volunteers"] .vol-period-print{font-size:8px}
  body[data-print="volunteers"] .vol-kpi{margin:5px 0 4px}
  body[data-print="volunteers"] .vol-kpi strong{font-size:20px}
  body[data-print="volunteers"] .vol-comparison{min-height:0;padding:5px;font-size:9px}
  body[data-print="volunteers"] .vol-bars{gap:3px;margin-top:6px}
  body[data-print="volunteers"] .vol-bar-row{font-size:8px}
  body[data-print="volunteers"] .vol-chart-note{margin-top:4px;font-size:8px}
  body[data-print="volunteers"] .mini-bars{height:32px;margin-top:6px}
  body[data-print="volunteers"] .mini-bars i{max-height:26px}
}
