/* Auth-only enhancement. The server-rendered SVG and all counts work without JS. */
.auth-body .public-plan-summary { gap:18px; align-items:center; }
.auth-body .public-plan-donut { width:164px; height:164px; }
.auth-body .public-plan-donut::before { content:""; position:absolute; inset:18px; border:1px solid #ffffff10; border-radius:50%; pointer-events:none; }
.auth-body .public-plan-donut circle[data-plan-segment] { transition:opacity .18s ease,stroke-width .18s ease; }
.auth-body .public-plan-donut circle.is-active { stroke-width:15; }
.auth-body [data-public-plan-chart].has-active-category circle[data-plan-segment]:not(.is-active) { opacity:.24; }
.auth-body .public-donut-value { inset:27px; pointer-events:none; }
.auth-body .public-donut-value strong { font-size:30px; letter-spacing:-.8px; }
.auth-body .public-donut-value > span { max-width:108px; font-size:10px; line-height:1.4; margin-top:5px; }
.auth-body .public-donut-value > small { color:#b8cad9; font-size:9px; line-height:1.4; letter-spacing:.1px; margin-top:6px; font-variant-numeric:tabular-nums; }
.auth-body .public-plan-legend { min-width:0; flex:1; }
.auth-body .public-plan-legend > p { font-size:12px; line-height:1.35; margin-bottom:8px; }
.auth-body .public-plan-categories { display:grid; gap:3px; }
.auth-body .public-plan-category { width:100%; min-height:30px; display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:7px; border:1px solid #ffffff18; border-radius:5px; background:#17212d52; color:#edf2f6; padding:5px 8px; font-family:inherit; font-size:10px; line-height:1.35; text-align:left; cursor:default; transition:background .18s ease,border-color .18s ease; }
.auth-body .public-plan-category > span { min-width:0; }
.auth-body .public-plan-category > strong { font-size:12px; font-weight:650; font-variant-numeric:tabular-nums; color:#fff; white-space:nowrap; }
.auth-body .public-plan-category .stat-dot { width:6px; height:6px; box-shadow:0 0 8px color-mix(in srgb,currentColor 25%,transparent); }
.auth-body .public-category-nutrition { --category-accent:#ee9a87; }
.auth-body .public-category-training { --category-accent:#6da6d3; }
.auth-body .public-category-hyrox { --category-accent:#abc77c; }
.auth-body .public-category-bcross { --category-accent:#c2a3de; }
.auth-body .public-chart-interactive .public-plan-category { cursor:pointer; }
.auth-body .public-chart-interactive .public-plan-category:hover,
.auth-body .public-chart-interactive .public-plan-category.is-active { background:#ffffff13; border-color:var(--category-accent); }
.auth-body .public-plan-category:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.auth-body .public-plan-legend > small { line-height:1.4; margin-top:7px; }
.auth-body .public-catalog-facts { margin-top:15px; }
.auth-body .public-catalog-facts > div { background:#17212d3d; border-color:#ffffff1c; }
@media(max-width:950px) and (min-width:701px) {
    .auth-body .public-plan-summary { gap:10px; }
    .auth-body .public-plan-donut { width:124px; height:124px; }
    .auth-body .public-donut-value { inset:20px; }
    .auth-body .public-donut-value strong { font-size:25px; }
    .auth-body .public-donut-value > span { font-size:9px; }
    .auth-body .public-donut-value > small { font-size:8px; }
    .auth-body .public-plan-category { padding:5px 6px; gap:5px; font-size:9px; }
    .auth-body .public-plan-category > strong { font-size:11px; }
}
@media(max-width:700px) {
    .auth-body .public-plan-summary { gap:18px; }
    .auth-body .public-plan-donut { width:140px; height:140px; }
    .auth-body .public-donut-value { inset:23px; }
    .auth-body .public-donut-value strong { font-size:28px; }
    /* The photo heading already carries the message; reserve mobile height for data. */
    .auth-body .public-plan-legend > p { display:none; }
}
@media(max-width:380px) {
    .auth-body .public-plan-summary { gap:12px; }
    .auth-body .public-plan-donut { width:118px; height:118px; }
    .auth-body .public-donut-value { inset:18px; }
    .auth-body .public-donut-value strong { font-size:24px; }
    .auth-body .public-donut-value > span { font-size:9px; }
    .auth-body .public-donut-value > small { font-size:8px; }
    .auth-body .public-plan-category { font-size:9px; gap:5px; padding:5px 6px; }
    .auth-body .public-plan-category > strong { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
    .auth-body .public-plan-donut circle[data-plan-segment],.auth-body .public-plan-category { transition:none; }
}
