.stats-toolbar, .stats-toolbar > div, .stats-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.stats-toolbar { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.stats-periods { gap: 4px !important; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: var(--admin-surface); }
.stats-periods button { border: 0; border-radius: 6px; background: transparent; color: var(--admin-muted); font: inherit; font-size: 13px; min-height: 44px; padding: 12px 21px; }
.stats-periods button:hover { background: var(--admin-surface-soft); }
.stats-periods button[aria-pressed=true] { background: var(--admin-accent); color: #fff; }
.stats-periods button:disabled { cursor: wait; }
.stats-toolbar .status-badge { font-size: 11px; letter-spacing: .03em; }
.stats-caption, .stats-section-heading > p { font-size: 13px; color: var(--admin-muted); line-height: 1.7; }
.stats-caption { margin: 18px 0; }
.stats-totals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.stats-totals article { padding: 25px 23px; background: var(--admin-surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--admin-shadow); }
.stats-totals h2 { font: 500 13px/1.4 var(--font-body); color: var(--admin-muted); }
.stats-totals strong { display: block; font: 800 clamp(42px,4.5vw,68px)/1.15 var(--font-display); font-variant-numeric: tabular-nums; margin: 12px 0; }
.stats-totals p { font-size: 12px; line-height: 1.5; color: var(--admin-muted); }
.stats-chart-panel { padding: 28px 28px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--admin-surface); box-shadow: var(--admin-shadow); margin: 28px 0; }
.stats-section-heading h2, .stats-ranking h2 { font: 800 30px/1.1 var(--font-display); text-transform: uppercase; }
.stats-chart { width: 100%; height: auto; min-height: 160px; display: block; overflow: visible; margin-top: 25px; }
.stats-grid-line { stroke: #dce1e8; stroke-width: 1; }
.stats-chart-line { fill: none; stroke: var(--admin-accent); stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.stats-chart-area { fill: #a51d2410; }
.stats-axis-label { fill: var(--admin-muted); font: 13px sans-serif; }
.stats-chart-dates { display: flex; justify-content: space-between; font-size: 12px; color: var(--admin-muted); }
.stats-daily-details { margin-top: 24px; font-size: 13px; }
.stats-daily-details summary { padding: 12px 0; cursor: pointer; min-height: 44px; color: var(--admin-accent); }
.stats-daily-details table { border-collapse: collapse; width: 100%; max-width: 450px; margin-top: 10px; }
.stats-daily-details td, .stats-daily-details th { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); }
.stats-daily-details th { background: var(--admin-surface-soft); }
.stats-daily-details td:last-child, .stats-daily-details th:last-child { text-align: right; }
.stats-breakdowns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.stats-ranking { border: 1px solid var(--line); border-radius: 12px; background: var(--admin-surface); padding: 24px; min-width: 0; }
.stats-ranking > .stats-caption { min-height: 66px; }
.stats-ranking-row { padding: 13px 0; border-bottom: 1px solid var(--line); }
.stats-ranking-row > div { display: flex; justify-content: space-between; gap: 14px; font-size: 13px; line-height: 1.6; }
.stats-ranking-row strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.stats-ranking-row small { display: inline-block; color: var(--admin-muted); font-weight: 400; min-width: 48px; text-align: right; }
.stats-ranking-row progress { appearance: none; width: 100%; height: 5px; display: block; border: 0; border-radius: 3px; overflow: hidden; margin-top: 10px; background: #e8ebf0; }
.stats-ranking-row progress::-webkit-progress-bar { background: #e8ebf0; }
.stats-ranking-row progress::-webkit-progress-value { background: var(--admin-accent); }
.stats-ranking-row progress::-moz-progress-bar { background: var(--admin-accent); }
.stats-footnote { font-size: 12px; color: var(--admin-muted); line-height: 1.8; margin-top: 30px; max-width: 1000px; }
.stats-footnote a { color: var(--admin-accent); text-decoration: underline; text-underline-offset: 3px; }
.stats-footnote a:hover { color: var(--admin-accent-hover); }
@media(max-width:1000px) {
  .stats-totals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stats-breakdowns { grid-template-columns: 1fr 1fr; }
  .stats-chart-panel { padding: 20px; }
  .stats-totals strong { font-size: 52px; }
}
@media(max-width:700px) {
  .stats-toolbar { gap: 10px; }
  .stats-toolbar > div:last-child { width: 100%; }
  .stats-periods { width: 100%; }
  .stats-periods button { flex: 1; padding: 12px 14px; }
  .stats-totals { gap: 10px; }
  .stats-totals article { padding: 18px 14px; }
  .stats-totals strong { font-size: 45px; }
  .stats-breakdowns { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .stats-ranking { padding: 22px; }
  .stats-ranking > .stats-caption { min-height: 0; }
  .stats-chart-panel { padding: 18px 12px; }
  .stats-axis-label { font-size: 20px; }
  .stats-section-heading { gap: 8px; }
  .stats-section-heading h2, .stats-ranking h2 { font-size: 28px; }
}
