.site-statistics { color: #17334b; }
.impact-summary { padding: 54px 0; background: #f2f7ff; border-block: 1px solid #dde8f7; }
.site-statistics h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; }
.stats-kicker { color: #3659a5; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.stats-intro { max-width: 650px; color: #425c72; }
.stats-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 24px 0 16px; }
.stats-card { background: #fff; border: 1px solid #d8e3f1; border-radius: 14px; padding: 22px; min-width: 0; box-shadow: 0 4px 16px #12346a06; }
.stats-card p { font-size: .91rem; margin: 0 0 12px; font-weight: 600; }
.stats-card strong { display: block; color: #16469c; font-size: clamp(1.8rem, 4vw, 2.75rem); line-height: 1.1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.stats-card span { display: block; color: #52697f; font-size: .78rem; margin-top: 10px; }
.stats-note { color: #52697f; font-size: .83rem; line-height: 1.6; margin: 12px 0 0; }
.stats-history { margin-top: 22px; padding-top: 18px; border-top: 1px solid #d8e3f1; }
.stats-history summary { cursor: pointer; font-weight: 600; padding-block: 8px; }
.stats-history summary:focus-visible { outline: 3px solid #b56b00; outline-offset: 3px; }
.stats-dashboard { padding-block: 42px 64px; }
.stats-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.stats-dashboard button, .stats-dashboard select, .stats-dashboard input:not([type=checkbox]) { min-height: 44px; border: 1px solid #9aafc6; border-radius: 7px; padding: 9px 12px; background: white; color: #17334b; font: inherit; max-width: 100%; }
.stats-dashboard button { cursor: pointer; font-weight: 600; }
.stats-dashboard button:hover { background: #e8f0fd; }
.stats-dashboard :is(button, input, select):focus-visible { outline: 3px solid #b56b00; outline-offset: 3px; }
.stats-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 20px; border: 1px solid #d8e3f1; border-radius: 12px; background: #f5f8fd; margin: 24px 0; }
.stats-filters label { display: grid; gap: 5px; font-size: .85rem; font-weight: 600; flex: 1 1 170px; min-width: 0; }
.stats-filters label > :is(input, select) { width: 100%; min-width: 0; box-sizing: border-box; }
.stats-panel { border: 1px solid #d8e3f1; border-radius: 12px; padding: 22px; margin-top: 22px; min-width: 0; background: #fff; }
.stats-panel h2 { font-size: 1.15rem; }
.stats-panel .stats-panel { border: 0; padding: 0; }
.stats-breakdowns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.stats-table-scroll { overflow-x: auto; }
.stats-panel table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.stats-panel :is(th, td) { padding: 11px 8px; border-bottom: 1px solid #e2e9f1; text-align: right; font-variant-numeric: tabular-nums; }
.stats-panel th:first-child { text-align: left; overflow-wrap: anywhere; max-width: 260px; }
.stats-panel tbody th { font-weight: 500; }
.stats-bars { display: flex; align-items: end; gap: 3px; height: 160px; padding-top: 14px; border-bottom: 1px solid #d8e3f1; }
.stats-bars > div { flex: 1 1 0; min-width: 1px; background: #3562b4; border-radius: 3px 3px 0 0; }
.stats-exclude { display: flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 24px; }
.stats-exclude input { width: 20px; height: 20px; }
.stats-error { padding: 14px; border-left: 4px solid #9b4b16; background: #fff3e8; color: #70320c; }
@media (max-width: 900px) { .stats-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stats-breakdowns { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .stats-cards { gap: 10px; } .stats-card { padding: 15px; } .stats-heading { flex-wrap: wrap; } .stats-filters, .stats-panel { padding: 15px; } .stats-filters label { flex-basis: 100%; } }
