/* Local, accessible statistics; charts need neither JavaScript nor third-party requests. */
.statistics-overview-link { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; padding:15px 20px; background:#ffffffb8; border:1px solid var(--ft-line); border-radius:8px; }
.statistics-overview-link strong,.statistics-overview-link small { display:block; }
.statistics-overview-link strong { font-size:13px; color:var(--ft-ink); }
.statistics-overview-link small { font-size:11px; color:var(--ft-muted); margin-top:2px; }
.statistics-overview-link:hover { border-color:#e9a69e; }
.statistics-heading { margin-bottom:8px; }
.statistics-periods { display:flex; flex-shrink:0; border:1px solid var(--ft-line); border-radius:6px; background:#fff; overflow:hidden; }
.statistics-periods a { padding:8px 13px; font-size:12px; font-weight:600; color:var(--ft-muted); border-right:1px solid var(--ft-line); }
.statistics-periods a:last-child { border:0; }
.statistics-periods a:hover { background:#f7f8fa; }
.statistics-periods a[aria-current="page"] { background:#fcece9; color:var(--ft-action); }
.statistics-period-caption { font-size:11px; color:var(--ft-muted); margin-bottom:20px; }
.statistics-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.stat-card { border:1px solid var(--ft-line); background:#fff; border-radius:8px; padding:18px 20px; }
.stat-card > span { display:block; font-size:12px; color:var(--ft-muted); }
.stat-card > strong { display:block; font-size:29px; font-weight:650; line-height:1.35; margin:5px 0; color:var(--ft-ink); font-variant-numeric:tabular-nums; }
.stat-card strong em { font-style:normal; font-size:17px; font-weight:500; }
.stat-card > small { display:block; font-size:10px; line-height:1.6; color:var(--ft-muted); }
.statistics-activity { display:flex; flex-wrap:wrap; gap:7px 20px; margin:16px 0 22px; font-size:11px; color:var(--ft-muted); }
.statistics-activity strong { color:var(--ft-ink); }
.statistics-activity .statistics-failed { color:#a03a2e; }
.statistics-activity .table-link { min-height:0; font-size:11px; }
.statistics-charts { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr); gap:18px; margin-bottom:22px; align-items:start; }
.statistics-charts .card-heading { padding:18px 20px; }
.statistics-legend { display:flex; flex-wrap:wrap; gap:7px 14px; font-size:10px; color:var(--ft-muted); }
.statistics-legend span { display:flex; align-items:center; gap:5px; }
.stat-dot { width:8px; height:8px; flex-shrink:0; border-radius:50%; display:inline-block; }
.stat-dot-nutrition { background:#e07865; }
.stat-dot-training { background:#5484ad; }
.stat-dot-hyrox { background:#658443; }
.stat-dot-bcross { background:#9771b8; }
/* Keep absolutely positioned screen-reader labels inside the chart's own
   overflow area; otherwise they can expand the entire page on small screens. */
.statistics-chart-scroll { position:relative; min-width:0; max-width:100%; overflow-x:auto; padding:0 20px; }
.statistics-bar-chart { display:flex; align-items:flex-end; gap:8px; min-height:175px; }
.statistics-bar-group { flex:1; min-width:96px; text-align:center; }
.statistics-bar-group svg { width:100%; height:150px; display:block; }
.statistics-bar-group > span:not(.visually-hidden) { font-size:9px; color:var(--ft-muted); white-space:nowrap; }
.stat-bar-number { fill:#59616d; font-size:10px; text-anchor:middle; font-family:"Segoe UI",sans-serif; }
.stat-bar-nutrition { fill:#e07865; }
.stat-bar-training { fill:#5484ad; }
.stat-bar-hyrox { fill:#658443; }
.stat-bar-bcross { fill:#9771b8; }
.stat-bar-axis { fill:none; stroke:#e1e5eb; }
.statistics-chart-empty { min-height:185px; display:flex; flex-direction:column; justify-content:center; gap:7px; }
.statistics-details { margin:0; padding:0 20px; font-size:12px; }
.statistics-details > div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #edf0f3; }
.statistics-details dt { color:var(--ft-muted); font-weight:400; }
.statistics-details dd { margin:0; color:var(--ft-ink); font-weight:600; white-space:nowrap; }
.statistics-charts .panel-footnote { padding:14px 20px; }
.statistics-test-note { display:block; margin-top:6px; }
.statistics-table { margin-bottom:22px; }
.statistics-table .data-table tbody th { padding:12px 20px; font-size:12px; background:#fff; border-top:0; border-bottom:1px solid #edf0f3; font-weight:400; }
.statistics-table .data-table tbody th:first-child { padding-left:25px; }
.statistics-table .data-table td { padding-block:12px; }
.statistics-row-note { display:block; color:var(--ft-muted); font-size:10px; font-weight:400; }
.statistics-row-actions { display:flex; flex-wrap:wrap; gap:6px 12px; }
.auth-visual-statistics { min-height:620px; }
/* Caption and statistics share the photograph; neither adds another header row.
   The upper gradient keeps the text readable in the added gym headroom. */
.auth-visual-statistics::after { background:linear-gradient(180deg,#17212d00 36%,#17212d90 65%,#17212df5 100%),linear-gradient(145deg,#17212df0,#17212d20 34%,#17212d00 55%); }
.auth-visual-statistics .auth-photo-caption { max-width:260px; }
.auth-statistics { position:absolute; bottom:26px; left:32px; right:32px; color:#fff; }
.public-plan-summary { display:flex; align-items:center; gap:20px; }
.public-plan-donut { width:160px; height:160px; flex-shrink:0; position:relative; }
.public-plan-donut svg { width:100%; height:100%; transform:rotate(-90deg); }
.public-plan-donut circle { fill:none; stroke-width:12; }
.public-donut-track { stroke:#ffffff29; }
.public-donut-training { stroke:#6da6d3; }
.public-donut-nutrition { stroke:#ee9a87; }
.public-donut-hyrox { stroke:#abc77c; }
.public-donut-bcross { stroke:#c2a3de; }
.public-donut-value { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.public-donut-value strong { color:#fff; font-size:31px; line-height:1.15; font-weight:650; font-variant-numeric:tabular-nums; }
.public-donut-value > span { font-size:10px; line-height:1.45; margin-top:5px; color:#edf0f4; }
.public-plan-legend p { font-size:13px; line-height:1.5; font-weight:600; margin-bottom:13px; color:#fff; }
.public-plan-legend > span { display:flex; align-items:center; gap:7px; font-size:11px; line-height:1.9; color:#f2f4f7; }
.public-plan-legend .stat-dot-nutrition { background:#ee9a87; }
.public-plan-legend .stat-dot-training { background:#6da6d3; }
.public-plan-legend .stat-dot-hyrox { background:#abc77c; }
.public-plan-legend .stat-dot-bcross { background:#c2a3de; }
.public-plan-legend small { display:block; font-size:9px; margin-top:8px; color:#d7dce5; }
.public-catalog-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:17px; }
.public-catalog-facts > div { display:flex; align-items:center; gap:12px; padding:13px 12px; border:1px solid #ffffff24; border-radius:7px; background:#ffffff09; }
.public-catalog-facts .icon { width:25px; height:25px; color:#f0b4a6; }
.public-catalog-facts strong { display:block; font-size:22px; font-weight:600; color:#fff; line-height:1.3; }
.public-catalog-facts small { display:block; font-size:9px; color:#e1e5ec; margin-top:2px; }
.public-stat-note { font-size:9px; color:#d7dce5; margin-top:11px; text-align:center; }
@media(max-width:1150px) { .statistics-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .statistics-charts { grid-template-columns:minmax(0,1fr); } }
@media(max-width:950px) { .auth-statistics { left:22px; right:22px; } .public-plan-summary { gap:11px; } .public-plan-donut { width:132px; height:132px; } .public-plan-legend p { font-size:11px; } .public-plan-legend > span { font-size:10px; } .public-catalog-facts > div { padding:10px 8px; gap:7px; } .public-catalog-facts .icon { width:20px; height:20px; } }
@media(max-width:700px) { .auth-visual-statistics { min-height:390px; } .auth-visual-statistics .auth-fitness-image { object-position:50% 0%; } .auth-visual-statistics::after { background:linear-gradient(180deg,#17212d00 18%,#17212d80 48%,#17212def 100%),linear-gradient(110deg,#17212de8,#17212d00 80%); } .auth-visual-statistics .auth-photo-caption { max-width:230px; } .auth-statistics { left:25px; right:25px; bottom:20px; } .public-plan-summary { gap:23px; } .public-plan-donut { width:135px; height:135px; } .public-plan-legend p { font-size:12px; } .public-catalog-facts > div { padding:10px; } .public-catalog-facts strong { font-size:20px; } }
@media(max-width:640px) { .statistics-heading { align-items:flex-start; flex-direction:column; gap:15px; } .statistics-periods { align-self:flex-start; } .statistics-periods a { padding:7px 11px; } .statistics-period-caption { margin-top:12px; } .statistics-cards { gap:10px; } .stat-card { padding:15px; } .stat-card > strong { font-size:25px; } .statistics-overview-link { align-items:flex-start; flex-direction:column; gap:9px; padding:14px 17px; } .statistics-charts .card-heading { gap:10px; flex-wrap:wrap; } .statistics-row-actions { gap:10px; } }
@media(max-width:360px) { .auth-statistics { left:18px; right:18px; } .public-plan-summary { gap:13px; } .public-plan-donut { width:120px; height:120px; } .public-plan-legend p { font-size:11px; } .public-catalog-facts { gap:8px; } .public-catalog-facts .icon { display:none; } }
