/* Dashboards use the main Atlas palette and preserve units alongside every figure. */
.spc-dashboard { color:var(--sp-ink,#123b45); }
.spc-dashboard * { box-sizing:border-box; }
.spc-dashboard button, .spc-dashboard select { font:inherit; }
.spc-dashboard button, .spc-dashboard select, .spc-dashboard summary { cursor:pointer; }
.spc-dashboard :is(button,a,select,summary,[tabindex]):focus-visible { outline:3px solid #ad7c25; outline-offset:3px; }
.spc-guide { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem .45rem; border-bottom:1px solid var(--sp-line,#d0d5ce); padding:.35rem 0 1.2rem; }
.spc-guide > span { font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; margin-right:.35rem; color:var(--sp-muted,#546668); }
.spc-guide button { border:1px solid var(--sp-line,#d0d5ce); border-radius:.25rem; color:var(--sp-ink,#123b45); background:transparent; padding:.38rem .58rem; font-size:.79rem; font-weight:650; }
.spc-guide button:hover { background:#e8ede6; border-color:#9baea6; }
.spc-section { padding:2rem 0 1.3rem; scroll-margin-top:9rem; border-bottom:1px solid var(--sp-line,#d0d5ce); }
.spc-section:last-child { border-bottom:0; }
.spc-section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,19rem); gap:1.1rem 2rem; align-items:end; margin-bottom:1.1rem; }
.spc-kicker { display:block; font-size:.7rem; line-height:1.4; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--sp-muted,#546668); }
.spc-section h3 { margin:.35rem 0 .5rem; max-width:33ch; font:500 clamp(1.65rem,2.7vw,2.55rem)/1.13 Georgia,serif; letter-spacing:-.035em; color:var(--sp-ink,#123b45); text-wrap:balance; }
.spc-section-head p { margin:0; max-width:76ch; font-size:.93rem; line-height:1.6; color:var(--sp-muted,#546668); }
.spc-section label { display:grid; gap:.32rem; font-size:.77rem; font-weight:700; line-height:1.4; }
.spc-section select { width:100%; max-width:100%; border:1px solid #a6b5b1; border-radius:.25rem; background:#fffdf8; color:var(--sp-ink,#123b45); font-weight:500; font-size:.87rem; line-height:1.3; padding:.5rem .6rem; }
.spc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.spc-card { min-width:0; background:#fffdf8; border:1px solid var(--sp-line,#d0d5ce); border-radius:.45rem; padding:clamp(.85rem,1.8vw,1.35rem); overflow-wrap:anywhere; }
.spc-card h4, .spc-reading-card h4 { margin:.1rem 0 .35rem; color:var(--sp-ink,#123b45); font:600 clamp(1.1rem,1.7vw,1.4rem)/1.25 Georgia,serif; letter-spacing:-.015em; }
.spc-denominator { color:var(--sp-muted,#546668); font-size:.8rem; line-height:1.5; margin:.25rem 0 .8rem; }
.spc-chart { width:100%; min-width:0; margin:.7rem 0 .5rem; }
.spc-chart svg { display:block; width:100%; height:auto; overflow:visible; font-family:system-ui,-apple-system,sans-serif; }
.spc-gridline { stroke:#d8ded7; stroke-width:1; }
.spc-axis { fill:#52676a; font-size:11px; }
.spc-small-label { fill:#8a5c1a; font-size:10px; font-weight:600; }
.spc-value { fill:var(--sp-ink,#123b45); font-size:11px; font-weight:650; font-variant-numeric:tabular-nums; }
.spc-bar-label { fill:var(--sp-ink,#123b45); font-size:12px; font-weight:500; }
.spc-bar-label[data-city] { cursor:pointer; text-decoration:underline; text-decoration-color:#a3b4b1; text-underline-offset:3px; }
.spc-selected-label { fill:var(--sp-red,#a64132); font-weight:700; }
.spc-readout { min-height:2.5em; font-size:.73rem; color:var(--sp-muted,#546668); margin:.5rem 0 0; line-height:1.35; }
.spc-reading { margin:.3rem 0 .7rem; color:var(--sp-ink,#123b45); font-size:.88rem; line-height:1.5; }
.spc-note { margin:.75rem 0 .4rem; color:var(--sp-muted,#546668); font-size:.79rem; line-height:1.55; }
.spc-section > .spc-note { border-left:3px solid var(--sp-gold,#ad7c25); padding:.12rem 0 .12rem .72rem; max-width:110ch; }
.spc-source { font-size:.72rem; line-height:1.5; color:var(--sp-muted,#546668); margin:.6rem 0 0; }
.spc-source a { display:inline; color:var(--sp-teal,#176c75); text-decoration:underline; text-underline-offset:.14em; }
.spc-data { margin-top:.65rem; border-top:1px solid var(--sp-line,#d0d5ce); padding-top:.58rem; }
.spc-data summary { width:fit-content; color:var(--sp-teal,#176c75); font-size:.79rem; font-weight:650; }
.spc-table-wrap { max-width:100%; overflow-x:auto; margin:.7rem 0; border:1px solid var(--sp-line,#d0d5ce); }
.spc-table-wrap table { width:100%; border-collapse:collapse; margin:0; font-size:.75rem; line-height:1.4; background:#fffdf8; }
.spc-table-wrap caption { text-align:left; padding:.55rem; color:var(--sp-muted,#546668); font-weight:600; }
.spc-table-wrap th, .spc-table-wrap td { padding:.47rem .55rem; border-top:1px solid var(--sp-line,#d0d5ce); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.spc-table-wrap th:first-child { text-align:left; white-space:normal; min-width:9rem; }
.spc-table-wrap thead th { background:#eaf0eb; font-weight:700; color:var(--sp-ink,#123b45); }
.spc-table-wrap tbody th { font-weight:550; }
.spc-table-wrap tbody tr:nth-child(even) { background:#f5f5ee; }
.spc-textbutton { color:var(--sp-teal,#176c75); border:0; background:transparent; font-size:.78rem!important; font-weight:700!important; padding:.3rem 0; text-decoration:underline; text-underline-offset:.18em; text-align:left; }
.spc-action { display:inline-block; border:1px solid var(--sp-teal,#176c75); border-radius:.3rem; background:var(--sp-teal,#176c75); color:#fff; padding:.5rem .75rem; font-size:.8rem!important; font-weight:650!important; text-align:left; margin-top:.6rem; }
.spc-action:hover { background:#0e5360; }
.spc-legend { display:flex; flex-wrap:wrap; gap:.35rem 1rem; margin:.55rem 0 .2rem; font-size:.75rem; color:var(--sp-muted,#546668); }
.spc-legend span { display:inline-flex; gap:.38rem; align-items:center; }
.spc-legend i { display:inline-block; width:1.25rem; height:3px; background:var(--spc-color); flex-shrink:0; }
.spc-legend i.spc-dashed { background:repeating-linear-gradient(to right,var(--spc-color) 0 5px,transparent 5px 8px); }
.spc-chart-head { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:baseline; gap:.4rem 1rem; }
.spc-city-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:1rem 0 1.15rem; }
.spc-city-stats b { display:block; font:500 clamp(1.35rem,2.2vw,1.9rem)/1.05 Georgia,serif; color:var(--sp-ink,#123b45); }
.spc-city-stats span { display:block; font-size:.68rem; line-height:1.35; margin-top:.25rem; color:var(--sp-muted,#546668); }
.spc-city-card .spc-data { margin-bottom:1.1rem; }
.spc-divisions { list-style:none; padding:0; margin:.65rem 0; }
.spc-divisions li { margin:.45rem 0 .65rem; font-size:.77rem; }
.spc-divisions li > div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.spc-divisions b { font-variant-numeric:tabular-nums; white-space:nowrap; }
.spc-track { display:block; height:4px; background:#e5ebe4; margin:.25rem 0 .18rem; }
.spc-track i { display:block; height:100%; background:var(--sp-teal,#176c75); }
.spc-divisions small { font-size:.68rem; color:var(--sp-muted,#546668); }
.spc-reading-card { padding:clamp(1.1rem,2vw,1.55rem); background:#ece8dc; border-top:3px solid var(--sp-red,#a64132); min-height:100%; }
.spc-reading-card > p { font-size:.92rem; line-height:1.6; }
.spc-reading-card h4 { margin-top:1.15rem; }
.spc-reading-card .spc-big-value { font:400 clamp(2.1rem,4vw,3.4rem)/1.05 Georgia,serif; color:var(--sp-red,#a64132); letter-spacing:-.04em; margin:.8rem 0 .2rem; }
.spc-big-value span { font-size:.55em; color:#8e7766; vertical-align:middle; }
.spc-year { color:var(--sp-red,#a64132); display:block; font:500 1.7rem/1 Georgia,serif; margin:.1rem 0 .6rem; }
.spc-park-stats { margin:.75rem 0; }
.spc-park-stats > div { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--sp-line,#d0d5ce); padding:.4rem 0; font-size:.82rem; }
.spc-park-stats dt { color:var(--sp-muted,#546668); }
.spc-park-stats dd { margin:0; text-align:right; color:var(--sp-ink,#123b45); font-weight:700; white-space:nowrap; }
.spc-card-actions { margin-top:.7rem; }
@media(max-width:900px) {
  .spc-section-head { grid-template-columns:minmax(0,1fr); gap:.8rem; }
  .spc-section-head > label { max-width:28rem; }
  .spc-grid { gap:.8rem; }
}
@media(max-width:680px) {
  .spc-grid { grid-template-columns:minmax(0,1fr); }
  .spc-section { padding-top:1.6rem; scroll-margin-top:12rem; }
  .spc-section h3 { max-width:27ch; }
  .spc-card { padding:.82rem; }
  .spc-reading-card { min-height:0; }
  .spc-guide { gap:.35rem; }
  .spc-guide > span { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .spc-dashboard { scroll-behavior:auto; } }
@media print {
  .spc-guide, .spc-section-head > label, .spc-action, .spc-textbutton, .spc-readout { display:none; }
  .spc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .spc-card, .spc-reading-card { break-inside:avoid; }
}
