.account-coaching [data-route="analytics"] { display: none !important; }
.analytics-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.analytics-toolbar p { margin: 0; color: var(--muted); font-size: var(--text-12); }
.analytics-periods { display: inline-flex; border-radius: var(--radius-l); gap: 2px; padding: 0; background: none; }
.analytics-periods button { border: 0; border-radius: var(--radius-m); background: transparent; font: inherit; color: var(--muted); cursor: pointer; white-space: nowrap; }
.analytics-periods button[aria-pressed="true"] { background: var(--paper); color: var(--ink); box-shadow: 0 1px 3px #16243a12; }
.analytics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; display: block; }
.analytics-card { min-width: 0; }
.analytics-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.analytics-card h2 { margin: 0; font-size: var(--text-18); font-weight: 600; }
.analytics-card > header > span { font-size: var(--text-12); color: var(--muted); }
.analytics-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.analytics-metrics button { border: 0; border-radius: var(--radius-l); padding: 10px 4px; min-width: 0; background: transparent; color: var(--ink); font: inherit; cursor: pointer; text-align: center; }
.analytics-metrics button[aria-pressed="true"] { background: var(--tint); color: var(--accent); }
.analytics-metrics span { display: block; font-size: var(--text-12); }
.analytics-metrics strong { display: block; margin-top: 6px; font-size: var(--text-20); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.analytics-metrics small { font-size: var(--text-11); color: var(--muted); }
.analytics-weight-value { display: flex; flex-direction: column; justify-content: center; padding-left: 4px; }
.analytics-weight-value > strong { font-size: var(--text-34); line-height: 1.2; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.7px; }
.analytics-weight-value small { font-size: var(--text-14); font-weight: 400; color: var(--muted); letter-spacing: 0; }
.analytics-weight-value > span { margin-top: 8px; color: var(--muted); font-size: var(--text-12); }
.analytics-chart { width: 100%; height: auto; display: block; overflow: visible; stroke: none; fill: none; cursor: crosshair; touch-action: pan-y; }
.analytics-grid-lines line { stroke: var(--line); stroke-width: 1; }
.analytics-grid-lines text { font: 11px Inter, system-ui, sans-serif; fill: var(--muted); stroke: none; }
.analytics-series { color: var(--accent); }
.analytics-series.is-weight { color: #368169; }
.analytics-series polyline { stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.analytics-series circle { fill: currentColor; }
.analytics-series .analytics-guide { stroke: currentColor; stroke-width: 1; stroke-dasharray: 3 4; opacity: .35; }
.analytics-series .analytics-selected { fill: var(--paper); stroke: currentColor; stroke-width: 2.5; }
.analytics-day-control { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 8px; margin-top: 8px; }
.analytics-day-control .icon-button { width: 44px; height: 44px; }
.analytics-day-control .icon-button:disabled { opacity: .3; cursor: default; }
.analytics-day-control select { min-width: 0; width: 100%; min-height: 44px; border: 0; border-radius: var(--radius-m); appearance: none; padding: 0 20px 0 2px; background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23626c7c' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 2px center / 14px; color: var(--ink); font: inherit; font-size: var(--text-13); text-align: center; text-align-last: center; cursor: pointer; }
.analytics-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 14px; }
.analytics-empty > span { color: var(--muted); }
.analytics-empty svg { width: 28px; height: 28px; }
.analytics-empty p { max-width: 250px; margin: 0; font-size: var(--text-14); color: var(--muted); line-height: 1.5; }
.analytics-status { padding: 36px 0; color: var(--muted); }
.analytics-status p { margin: 0 0 16px; }
.analytics-page button:focus-visible, .analytics-day-control select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 899px) {
  .analytics-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .analytics-weight-value { min-height: 64px; }
  .analytics-card { padding-top: 16px; }
  .analytics-card > header { margin-bottom: 12px; }
  .analytics-empty { min-height: 190px; }
}
@media (max-width: 650px) {
  .journey-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .account-coaching .journey-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analytics-page .eva-page-heading { margin-bottom: 16px; }
  .analytics-toolbar { flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
  .analytics-toolbar p { width: 100%; font-size: var(--text-12); }
  .analytics-periods { width: 100%; }
  .analytics-periods button { flex: 1; min-height: 44px; }
  .analytics-metrics strong { font-size: var(--text-18); }
  .analytics-day-control select { font-size: var(--text-16); }
}
@media (max-width: 360px) {
  .analytics-card { padding-inline: 10px; }
  .analytics-periods button { padding-inline: 8px; }
  .analytics-metrics span { font-size: var(--text-11); }
  .analytics-metrics strong { font-size: var(--text-16); }
}
.analytics-training { grid-column: 1 / -1; }
.analytics-training-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.analytics-training-totals > div { display: grid; gap: 6px; }
.analytics-training-totals small, .analytics-training-totals span { color: var(--muted); font-size: var(--text-12); }
.analytics-training-totals strong { font-size: var(--text-28); }
.analytics-training summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-size: var(--text-14); }
.analytics-training-days { max-height: 300px; overflow: auto; }
.analytics-training table { width: 100%; border-collapse: collapse; font-size: var(--text-13); }
.analytics-training th,.analytics-training td { padding: 10px 4px; text-align: left; border-bottom: 1px solid var(--line); }
.analytics-training td small { display: block; color: var(--muted); font-size: var(--text-11); margin-top: 3px; }
.analytics-training-metrics { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 4px; margin-bottom: 12px; }
.analytics-training-metrics button { display: grid; align-content: start; gap: 4px; min-width: 0; border: 0; border-radius: var(--radius-m); padding: 10px 4px; background: transparent; color: var(--ink); font: inherit; text-align: center; cursor: pointer; }
.analytics-training-metrics button[aria-pressed="true"] { color: var(--accent); background: var(--tint); }
.analytics-training-metrics button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.analytics-training-metrics span, .analytics-training-metrics small { font-size: var(--text-12); }
.analytics-training-metrics strong { font-size: clamp(17px, 5vw, 24px); line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.analytics-training-day { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }
.analytics-training-day-title { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; font-size: var(--text-13); }
.analytics-training-day-title > span { color: var(--muted); font-size: var(--text-12); white-space: nowrap; }
.analytics-training-entries { list-style: none; padding: 0; margin: 8px 0 0; }
.analytics-training-entries li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 8px 0; font-size: var(--text-13); }
.analytics-training-entries li > span:first-child { overflow-wrap: anywhere; }
.analytics-training-entries li > span:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.analytics-training-entries small { display: block; color: var(--muted); margin-top: 2px; }
.analytics-training-warmup, .analytics-training-scope { font-size: var(--text-12); color: var(--muted); line-height: 1.5; margin: 8px 0 0; }
.analytics-training-summary { border-top: 1px solid var(--line); margin-top: 12px; }
.analytics-training-summary > summary { color: var(--muted); }
.analytics-training-chart, .analytics-training-chart [data-training-date] { cursor: pointer; }
.analytics-training-chart [data-training-date] { transition: opacity .12s ease; }
.analytics-training-chart [data-training-date]:hover, .analytics-training-chart [data-training-date]:focus-visible { opacity: 1; }
.analytics-training-chart [data-training-date]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .analytics-training-chart [data-training-date] { transition: none; } }
.strength-picker { width: 100%; min-width: 0; }
.strength-picker-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left; cursor: pointer; color: var(--ink); }
.strength-picker-toggle span { min-width: 0; overflow-wrap: anywhere; }
.strength-picker-toggle > svg { width: 16px; height: 16px; flex: 0 0 16px; transform: rotate(90deg); color: var(--muted); }
.strength-picker-toggle[aria-expanded="true"] > svg { transform: rotate(-90deg); }
.strength-search-panel { margin-top: 6px; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--paper); }
.strength-search-field { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: var(--radius-m); padding: 0 10px; }
.strength-search-field:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px var(--tint); }
.strength-search-field > svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--muted); }
.strength-search-field input { width: 100%; min-width: 0; min-height: 44px; padding: 10px 0; border: 0; outline: 0; box-shadow: none; border-radius: 0; background: transparent; color: var(--ink); font: inherit; font-size: 16px; }
.strength-search-field input:focus { outline: 0; box-shadow: none; }
.strength-search-field button { display: grid; place-items: center; flex: 0 0 36px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.strength-search-field button[hidden] { display: none; }
.strength-search-field button svg { width: 18px; height: 18px; }
.strength-search-status { font-size: var(--text-12); color: var(--muted); margin: 10px 6px 6px; }
.strength-search-results { list-style: none; margin: 0; padding: 0; max-height: 240px; overflow-y: auto; overscroll-behavior: contain; }
.strength-search-results li { margin: 0; padding: 0; }
.strength-search-results button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px; border: 0; border-radius: var(--radius-m); background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.strength-search-results button span { min-width: 0; overflow-wrap: anywhere; }
.strength-search-results button svg { flex: 0 0 18px; width: 18px; height: 18px; }
.strength-search-results button[aria-pressed="true"], .strength-search-results button:hover, .strength-search-results button:focus-visible { background: var(--tint); color: var(--accent); }

/* Coach analytics, 27.10: period chip in card headers, one selected day, food of the day, body measurements. */
.analytics-card > header { flex-wrap: wrap; row-gap: 6px; margin-bottom: 12px; }
.analytics-card > header .analytics-period-chips { width: auto; flex: none; margin-left: auto; padding: 2px; border-radius: var(--radius-full, 999px); background: var(--surface); }
.analytics-card > header .analytics-period-chips > button { flex: none; min-height: 30px; padding: 0 10px; border-radius: var(--radius-full, 999px); font-size: var(--text-12); }
.analytics-period-summary { margin: -4px 0 12px; color: var(--muted); font-size: var(--text-13); line-height: 1.5; }
.analytics-period-summary strong { color: var(--ink); font-weight: 600; }
.analytics-date-picker { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; min-width: 0; border-radius: var(--radius-m); font-size: var(--text-16); font-weight: 500; cursor: pointer; text-align: center; }
.analytics-date-picker span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-date-picker input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; border: 0; cursor: pointer; }
.analytics-date-picker:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 360px) { .analytics-date-picker { font-size: var(--text-14); } }
.analytics-today { display: block; margin: 4px auto 0; min-height: 36px; font-size: var(--text-13); }
.analytics-nutrition .analytics-day-control { margin: 0 0 8px; }
.analytics-nutrition .analytics-metrics { margin-bottom: 4px; }
.analytics-metrics small { display: block; margin-top: 2px; }
.analytics-series .analytics-goal { stroke: #368169; stroke-width: 1.5; stroke-dasharray: 6 5; }
.analytics-series .analytics-goal-label { fill: #368169; stroke: none; font: 11px Inter, system-ui, sans-serif; }
.analytics-series .analytics-partial { fill: var(--paper); stroke: currentColor; stroke-width: 1.5; }
.analytics-day-status { margin: 16px 0 4px; color: var(--muted); font-size: var(--text-14); text-align: center; }
.analytics-day-status p { margin: 0 0 12px; }
.analytics-meals { display: grid; gap: 4px; margin-top: 12px; }
.analytics-meal { border-top: 1px solid var(--line); padding-top: 12px; }
.analytics-meal h3 { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 6px; font-size: var(--text-14); font-weight: 600; }
.analytics-meal h3 > span:last-child { color: var(--muted); font-weight: 500; font-variant-numeric: tabular-nums; }
.analytics-meal ul { list-style: none; margin: 0; padding: 0; }
.analytics-meal li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 6px 0; font-size: var(--text-13); }
.analytics-meal li > span:first-child { overflow-wrap: anywhere; }
.analytics-meal li > span:last-child { color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.analytics-meal-note { margin: 4px 0 8px; padding: 8px 10px; border-radius: var(--radius-m); background: var(--surface); font-size: var(--text-13); line-height: 1.45; }
.analytics-body-fields { display: flex; gap: 6px; margin: 0 -4px 12px; padding: 0 4px 2px; overflow-x: auto; scrollbar-width: none; }
.analytics-body-fields button { flex: none; min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-full, 999px); background: var(--paper); color: var(--muted); font: inherit; font-size: var(--text-13); cursor: pointer; white-space: nowrap; }
.analytics-body-fields button[aria-pressed="true"] { border-color: var(--tint); background: var(--tint); color: var(--accent); font-weight: 600; }
.analytics-plan { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 2px 10px; margin-bottom: 12px; padding: 10px 12px; border-radius: var(--radius-m); background: var(--surface); }
.analytics-plan > span { font-size: var(--text-13); }
.analytics-plan > strong { justify-self: end; font-size: var(--text-18); font-variant-numeric: tabular-nums; }
.analytics-plan > small { grid-column: 1 / -1; color: var(--muted); font-size: var(--text-12); line-height: 1.45; }
.analytics-training-entries li:has(> button) { display: block; padding: 0; }
.analytics-training-entries button { display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; gap: 10px; align-items: center; width: 100%; min-height: 44px; padding: 6px 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.analytics-training-entries button > span:nth-child(2) { text-align: right; font-variant-numeric: tabular-nums; }
.analytics-training-entries button svg { width: 16px; height: 16px; color: var(--muted); }
.analytics-training-entries small { display: block; color: var(--muted); font-size: var(--text-11); }
.analytics-training-help { margin-top: 12px; }
.analytics-training-help > summary { min-height: 36px; padding: 8px 0; color: var(--muted); font-size: var(--text-12); cursor: pointer; }
.analytics-grid .strength-card > header { display: flex; justify-content: flex-end; }
.analytics-grid .strength-card > header h2 { display: none; }
.strength-section { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 14px; }
.strength-section h3 { margin: 0 0 12px; font-size: var(--text-14); font-weight: 600; }
.strength-card .analytics-day-control { margin-top: 4px; }
.strength-card .analytics-day-control select { text-align: center; text-align-last: center; }
.ng-coach-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; margin-bottom: 16px; padding: 12px 14px; border-radius: var(--radius-l); background: var(--surface); }
.ng-coach-line > div { display: grid; gap: 2px; min-width: 0; }
.ng-coach-line > div > span { color: var(--muted); font-size: var(--text-12); }
.ng-coach-line > div > strong { font-size: var(--text-14); font-weight: 600; font-variant-numeric: tabular-nums; }
.ng-coach-line > .button { min-height: 36px; padding: 0 14px; }
.ng-coach-line > .ng-saved { grid-column: 1 / -1; margin: 4px 0 0; }
.ng-cancel { display: block; margin: 8px auto 0; }
@media (min-width: 900px) {
  #modal:has(.account-athlete:is([data-tab="analytics"], [data-tab="nutrition"])) { width: min(1000px, calc(100vw - 48px)); max-width: none; }
  .analytics-nutrition-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: start; }
  .analytics-nutrition-day > .analytics-day-status { margin-top: 48px; }
}
