.pounds-section .section-intro { max-width:65ch; }
.pounds-review-pill { display:inline-flex; margin-top:.5rem; padding:.35rem .75rem; border-radius:999px; background:#fff4da; color:#704b08; font-size:.8rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pounds-section { padding-top:22px; }
.pounds-top { margin-bottom:12px; gap:16px; }
.pounds-top h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.pounds-top .eyebrow { margin-bottom:4px; }
.pounds-top .section-intro { margin-top:5px; font-size:.85rem; }
.pounds-panel { padding:14px 18px; --plot-height:185px; --plot-top:26px; }
.pounds-top .control-row { align-items:flex-end; }
.pounds-top .select-label select { min-width:155px; }
.pounds-top .select-label:last-child select { min-width:185px; }
.pounds-monthly-summary { grid-template-columns:minmax(210px,1.1fr) 3fr; }
.pounds-monthly-summary { gap:14px; padding-bottom:10px; }
.pounds-monthly-summary .eyebrow { max-width:none; font-size:.64rem; margin-bottom:4px; }
.pounds-monthly-summary h3 { font-size:1.2rem; }
.pounds-monthly-summary .month-stat strong { font-size:clamp(1.05rem,1.65vw,1.4rem); white-space:nowrap; margin:5px 0 0; }
.pounds-monthly-summary .month-stat span { font-size:.8rem; }
.pounds-monthly-summary p.muted { font-size:.74rem; margin:4px 0 0; }
.pounds-chart-head { margin:10px 0 4px; gap:8px; align-items:center; flex-wrap:wrap; }
.pounds-chart-head h3 { font-size:1rem; }
#pounds .pounds-chart-head .pounds-month-picker { flex-direction:row; align-items:center; gap:6px; font-size:.7rem; }
#pounds .pounds-chart-head .pounds-month-picker select { width:158px; min-width:0; min-height:32px; padding:5px 26px 5px 8px; font-size:.75rem; }
.pounds-chart-head .muted,.pounds-comparison .muted { font-size:.84rem; margin:7px 0 0; }
.pounds-comparison { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.pounds-comparison .chart-head { margin-bottom:8px; }
.pounds-comparison h3 { font-size:1rem; }
.pounds-panel-top { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.pounds-panel-top h3 { margin:.15rem 0 .25rem; }
.pounds-panel-top p { margin:.2rem 0; }
.pounds-dates { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; margin-top:8px; }
.pounds-dates fieldset { border:0; margin:0; padding:0; min-width:0; }
.pounds-dates legend { font-size:.8rem; font-weight:750; color:#334f42; margin-bottom:4px; }
.pounds-date-selects { display:grid; grid-template-columns:86px 60px 82px; gap:5px; }
.pounds-date-part { min-width:0; }
.pounds-dates .pounds-date-part span { font-size:.65rem; font-weight:600; }
.pounds-date-part select { width:100%; min-height:36px; padding:5px 18px 5px 7px; background:#fff; border:1px solid #b8cbbd; border-radius:7px; color:#233f33; font-size:.8rem; }
.pounds-dates label { display:flex; flex-direction:column; gap:.35rem; font-size:.85rem; font-weight:750; color:#334f42; }
.pounds-dates input { min-height:42px; padding:.55rem .7rem; border:1px solid #b8cbbd; border-radius:8px; background:white; color:#233f33; font:inherit; }
.pounds-dates button,.pounds-navigation button { min-height:42px; border:1px solid #a8bfaf; border-radius:9px; padding:.55rem .9rem; background:#fff; color:#214b3e; font-weight:750; cursor:pointer; }
.pounds-dates button { background:#24564b; color:white; border-color:#24564b; }
.pounds-dates input:focus-visible,.pounds-dates button:focus-visible,.pounds-navigation button:focus-visible { outline:3px solid #648b73; outline-offset:3px; }
.pounds-range-status { margin:.7rem 0 .2rem; font-size:.9rem; color:#3f594b; font-weight:650; }
.pounds-error { color:#9b302b; }
.pounds-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:12px 0 6px; }
.pounds-stat { min-width:0; padding:3px 17px; border-left:1px solid var(--line); }
.pounds-stat:first-child { border-left:0; padding-left:0; }
.pounds-stat small { display:block; color:#42564d; font-size:.84rem; font-weight:700; }
.pounds-stat strong { display:block; margin:8px 0; color:var(--ink); font-size:clamp(1.05rem,1.8vw,1.55rem); line-height:1.15; overflow-wrap:anywhere; }
.pounds-reference { position:sticky; top:var(--pounds-header-height,86px); z-index:6; background:var(--surface); padding:4px 0; display:flex; align-items:center; justify-content:center; gap:8px 14px; flex-wrap:wrap; text-align:center; }
.pounds-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:.3rem .9rem; margin:0; }
.pounds-legend span { display:inline-flex; align-items:center; gap:.45rem; font-size:.85rem; font-weight:650; color:#33483f; }
.pounds-legend i { display:inline-block; width:.8rem; height:.8rem; border-radius:3px; background:var(--series); }
.pounds-navigation { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin:0; }
.pounds-navigation button { min-height:30px; padding:3px 9px; }
.pounds-navigation strong { text-align:center; color:#385249; font-size:.74rem; }
.pounds-navigation button:hover { background:#e8f1e9; }
.pounds-scale { color:#5a6b61; font-size:.7rem; font-weight:700; }
.pounds-frame { display:grid; grid-template-columns:82px minmax(0,1fr); gap:8px; align-items:start; }
.pounds-frame[hidden] { display:none; }
.pounds-axis { position:relative; height:var(--plot-height); margin-top:calc(var(--plot-top) + 1px); color:#455d50; font-size:.78rem; font-weight:750; font-variant-numeric:tabular-nums; }
.pounds-axis span { position:absolute; right:0; transform:translateY(50%); padding-right:9px; white-space:nowrap; }
.pounds-axis span::after { content:""; position:absolute; width:5px; border-top:1px solid #7d9384; right:0; top:50%; }
.pounds-scroll { overflow-x:auto; overflow-y:hidden; border:1px solid transparent; background:var(--surface); scrollbar-color:#769b85 #edf1e8; scroll-snap-type:x proximity; }
.pounds-chart { display:flex; position:relative; gap:8px; width:max-content; min-width:100%; padding:var(--plot-top) 4px 7px; }
.pounds-month { width:244px; flex:none; scroll-snap-align:start; border-radius:6px; background:#fff; }
.pounds-month:nth-child(even) { background:#f1f6f2; }
.pounds-month.selected { box-shadow:inset 0 0 0 2px #769887; }
.pounds-month.selected .pounds-month-label { color:#143e31; font-weight:850; text-decoration:underline; text-underline-offset:4px; }
.pounds-bars { position:relative; height:var(--plot-height); display:flex; justify-content:center; gap:0; padding:0 6px; }
.pounds-gridline { position:absolute; left:0; right:0; height:1px; background:#dce5dd; pointer-events:none; }
.pounds-gridline.pounds-zero { background:#647e6d; height:2px; }
.pounds-bar-slot { position:relative; width:58px; height:100%; flex:none; }
.pounds-bar { position:absolute; left:1px; width:56px; min-height:0; padding:0; border:0; border-radius:5px 5px 0 0; background:var(--series); cursor:pointer; overflow:visible; }
.pounds-bar:hover,.pounds-bar:focus-visible { outline:3px solid #203f37; outline-offset:2px; z-index:2; }
.pounds-bar-value { position:absolute; left:50%; bottom:calc(100% + 7px); transform:translateX(-50%); color:#233d31; font:750 10.5px/1.1 system-ui,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.15px; white-space:nowrap; pointer-events:none; }
.pounds-negative { border-radius:0 0 5px 5px; }
.pounds-negative .pounds-bar-value { top:calc(100% + 7px); bottom:auto; }
.pounds-weekly-values { display:flex; justify-content:center; gap:0; padding:0 6px; margin-top:10px; }
.pounds-weekly-values span { width:58px; flex:none; text-align:center; font-size:.67rem; font-weight:750; font-variant-numeric:tabular-nums; border-top:2px solid var(--series); padding-top:3px; }
.pounds-has-negative .pounds-weekly-values { margin-top:28px; }
.pounds-weekly-caption { display:block; text-align:center; font-size:.64rem; margin:3px 0 0; color:var(--muted); }
.pounds-month-label { display:block; margin:5px 0 0; text-align:center; font-size:.83rem; color:#52645a; }
.pounds-month-count { display:block; text-align:center; margin:2px 0 5px; font-size:.65rem; color:var(--muted); }
.pounds-detail { margin:6px 0 0; font-size:.72rem; color:var(--muted); }
.pounds-detail strong { display:block; margin-bottom:.25rem; }
.pounds-detail p { margin:.15rem 0; }
.pounds-detail small { color:#486257; }
.pounds-foot { margin:8px 0 0; font-size:.7rem; color:#53665b; }
.pounds-panel>.about { margin-top:10px; padding-top:8px; }
@media (min-width:1001px) and (max-height:750px) { .pounds-panel { --plot-height:150px; } }
@media (max-width:1000px) {
  .pounds-top { flex-wrap:wrap; align-items:flex-end; }
  .pounds-monthly-summary { grid-template-columns:1fr; }
  .pounds-monthly-summary .eyebrow { max-width:none; }
  .pounds-monthly-summary .month-stat:first-child { padding-left:0; border-left:0; }
}
@media (max-width:500px) {
  .pounds-panel { padding:12px; }
  .pounds-top .control-row { display:grid; grid-template-columns:1fr; width:100%; }
  .pounds-top .select-label select,.pounds-top .select-label:last-child select { width:100%; min-width:0; }
  .pounds-stats,.pounds-monthly-summary .month-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; }
  .pounds-stat,.pounds-monthly-summary .month-stat { padding:3px 10px; }
  .pounds-stat:nth-child(odd),.pounds-monthly-summary .month-stat:nth-child(odd) { padding-left:0; border-left:0; }
  .pounds-stat strong { font-size:1.05rem; }
  .pounds-frame { grid-template-columns:66px minmax(0,1fr); gap:4px; }
  .pounds-axis { font-size:.68rem; }
  .pounds-dates input { width:100%; min-width:0; } .pounds-navigation button { padding:.4rem .55rem; }
}
.pounds-chart-area { min-width:0; }
.pounds-notes .about { margin-top:8px; padding-top:6px; }
/* Keep the primary chart and comparison together on a desktop screen.
   Explanations can expand naturally; never clip data to force a fixed height. */
@media screen and (min-width:900px) {
  #pounds { padding:8px 0; scroll-margin-top:var(--pounds-header-height,74px); }
  #pounds .pounds-top { margin-bottom:8px; align-items:center; gap:12px; }
  #pounds .pounds-top .eyebrow { display:none; }
  #pounds .pounds-top h2 { font-size:1.45rem; }
  #pounds .pounds-top .section-intro { font-size:.75rem; margin:3px 0 0; }
  #pounds .pounds-top .select-label { font-size:.68rem; gap:3px; }
  #pounds .pounds-top select { min-height:32px; padding:5px 28px 5px 8px; }
  #pounds .pounds-panel { display:grid; grid-template-columns:minmax(0,1fr) 280px; grid-template-rows:auto auto auto; column-gap:16px; padding:10px 14px; --plot-height:clamp(120px,calc(100dvh - 440px),200px); --plot-top:22px; }
  #pounds .pounds-monthly-summary { grid-column:1; grid-row:1; grid-template-columns:minmax(155px,.9fr) 2fr; gap:8px; padding-bottom:7px; }
  #pounds .pounds-monthly-summary .eyebrow { font-size:.6rem; margin-bottom:3px; }
  #pounds .pounds-monthly-summary h3 { font-size:1.05rem; }
  #pounds .pounds-monthly-summary p.muted { font-size:.68rem; line-height:1.3; }
  #pounds .pounds-monthly-summary .month-stat { padding:1px 8px; }
  #pounds .pounds-monthly-summary .month-stat span { font-size:.7rem; }
  #pounds .pounds-monthly-summary .month-stat strong { font-size:1.05rem; margin:4px 0 0; }
  #pounds .pounds-chart-area { grid-column:1; grid-row:2; }
  #pounds .pounds-chart-head { margin:6px 0 2px; }
  #pounds .pounds-chart-head h3 { font-size:.88rem; }
  #pounds .pounds-reference { padding:3px 0; }
  #pounds .pounds-legend span { font-size:.74rem; }
  #pounds .pounds-scale { font-size:.65rem; }
  #pounds .pounds-frame { grid-template-columns:66px minmax(0,1fr); gap:5px; }
  #pounds .pounds-axis { font-size:.7rem; }
  #pounds .pounds-weekly-values { margin-top:7px; }
  #pounds .pounds-has-negative .pounds-weekly-values { margin-top:28px; }
  #pounds .pounds-detail { font-size:.68rem; margin-top:4px; line-height:1.3; }
  #pounds .pounds-comparison { grid-column:2; grid-row:1 / 3; border-top:0; border-left:1px solid var(--line); padding:0 0 0 14px; margin:0; }
  #pounds .pounds-comparison .chart-head { margin:0 0 8px; }
  #pounds .pounds-comparison h3 { font-size:.95rem; }
  #pounds .pounds-dates { display:grid; grid-template-columns:1fr; gap:7px; margin:0; }
  #pounds .pounds-date-selects { grid-template-columns:1fr 70px 1fr; }
  #pounds .pounds-dates legend { font-size:.72rem; margin-bottom:2px; }
  #pounds .pounds-dates label { gap:2px; }
  #pounds .pounds-date-part select { min-height:30px; padding-top:3px; padding-bottom:3px; }
  #pounds .pounds-dates button { min-height:30px; padding:4px 10px; font-size:.8rem; }
  #pounds .pounds-range-status { font-size:.72rem; line-height:1.35; margin:8px 0 4px; }
  #pounds .pounds-stats { grid-template-columns:1fr 1fr; gap:9px 0; margin:8px 0 0; }
  #pounds .pounds-stat { padding:0 8px; }
  #pounds .pounds-stat:nth-child(odd) { padding-left:0; border-left:0; }
  #pounds .pounds-stat small { font-size:.69rem; }
  #pounds .pounds-stat strong { font-size:.95rem; white-space:nowrap; margin:4px 0 0; }
  #pounds .pounds-notes { grid-column:1 / -1; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; border-top:1px solid var(--line); margin-top:7px; padding-top:5px; }
  #pounds .pounds-notes>.pounds-foot { flex:1; font-size:.65rem; margin:0; }
  #pounds .pounds-notes>.about { border:0; margin:0; padding:0; font-size:.72rem; }
  #pounds .pounds-notes>.about[open] { flex-basis:100%; }
}
@media print {
  body[data-print="volunteers"] #pounds,body[data-print="distribution"] #pounds { display:none!important; }
  .pounds-navigation,.pounds-dates,#pounds .pounds-month-picker { display:none; } .pounds-reference { position:static; }
  .pounds-scroll { overflow:visible; border:0; } .pounds-chart { width:100%; flex-wrap:wrap; gap:40px; }
  .pounds-month { break-inside:avoid; } .pounds-bar { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
