/* Rider overview follows the event results visual language. Scoped to this page. */
.rider-profile-page.rp-overview { color:#172536; }
.rider-profile-page.rp-overview [hidden] { display:none!important; }
.rider-profile-page.rp-overview .rp-card, .rider-profile-page.rp-overview .results-card, .rider-profile-page.rp-overview .rp-section { background:#fff; box-shadow:none; border-radius:12px; }
.rider-profile-page.rp-overview .rp-hero { background:#fff; border-color:#e1e6ec; }
.rider-profile-page.rp-overview .rp-kpi, .rider-profile-page.rp-overview .rp-kpi:hover { background:#f5f7fa; box-shadow:none; }
.rider-profile-page.rp-overview .rp-results-jump { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px; margin-top:14px; color:#e71068; border-top:1px solid #e1e6ec; order:10!important; font-weight:700; }
.rider-profile-page.rp-overview .rp-results { scroll-margin-top:85px; }
.rider-profile-page.rp-overview .results-card { border:0; padding:0; }
.rider-profile-page.rp-overview .rp-results-body { padding:0; }
.rp-results-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; }
.rp-results-heading h2 { margin:0; font-size:22px; line-height:1.6; font-weight:800; }
.rp-details-toggle { border:0; background:transparent; color:#657080; display:flex; align-items:center; gap:8px; min-height:44px; padding:8px; font:inherit; font-size:13px; cursor:pointer; }
.rp-details-toggle[aria-expanded="true"] { color:#e71068; }
.rp-result-search { display:flex; align-items:center; gap:12px; border:1px solid #dfe5ed; background:#f4f7fb; border-radius:12px; padding:0 14px; margin:0 0 16px; width:100%; }
.rp-result-search input { min-width:0; flex:1; width:100%; border:0; background:transparent; padding:15px 0; box-shadow:none; outline:0; font:inherit; font-size:14px; color:#172536; }
.rp-result-search:focus-within { outline:2px solid #e71068; outline-offset:2px; }
.rp-result-search i { color:#657080; font-size:21px; }
.rp-details-hint, .rp-search-empty { font-size:12px; color:#657080; line-height:1.9; margin:8px 0; }
.rider-profile-page.rp-overview .vo2-results-year-tabs { gap:0; box-shadow:none; padding:0; margin:0 0 16px; border-bottom:1px solid #e1e6ec; }
.rider-profile-page.rp-overview .vo2-year-tab, .rider-profile-page.rp-overview .vo2-year-tab:hover { border-radius:0; box-shadow:none; background:transparent; border-bottom:3px solid transparent; padding:12px 16px; transform:none; color:#657080; }
.rider-profile-page.rp-overview .vo2-year-tab.active { color:#e71068; background:transparent; border-bottom-color:#e71068; box-shadow:none; }
.rider-profile-page.rp-overview .vo2-year-tab .vo2-year-tab__count { background:transparent; color:inherit; box-shadow:none; padding:0; font-weight:400; }
.rider-profile-page.rp-overview .rp-table-wrap { background:#fff; border-radius:0; box-shadow:none; margin:0; }
.rider-profile-page.rp-overview .rp-tab-pane-inner { padding:0; }
.rider-profile-page.rp-overview .results-card .rp-results-table { display:table; width:100%; min-width:0; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:14px; }
.rider-profile-page.rp-overview .results-card .rp-results-table :is(th,td) { background:#fff!important; box-shadow:none!important; color:#172536; padding:14px 6px!important; border:0; border-bottom:1px solid #e1e6ec; white-space:normal; vertical-align:middle; text-align:right; }
.rider-profile-page.rp-overview .results-card .rp-results-table th { color:#657080; font-weight:500; }
.rider-profile-page.rp-overview .results-card .rp-results-table [data-result-column="position"] { width:42px; text-align:center; }
.rider-profile-page.rp-overview .results-card .rp-results-table [data-result-column="event"] { min-width:0; }
.rider-profile-page.rp-overview .results-card .rp-results-table [data-result-column="event"] a { color:#172536!important; font-weight:700; overflow-wrap:anywhere; }
.rider-profile-page.rp-overview .results-card .rp-results-table [data-result-column="time"] { width:110px; white-space:nowrap; text-align:left; font-variant-numeric:tabular-nums; font-size:13px; }
.rp-result-meta { display:block; font-size:11px; font-weight:400; line-height:1.9; color:#657080; margin-top:5px; }
.rp-result-rank { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; padding:0 4px; border-radius:50%; background:#eef1f5; color:#233144; font-size:14px; }
.rp-result-rank[data-rank="1"] { background:#f5d447; }
.rp-result-rank[data-rank="2"] { background:#d0d5dc; }
.rp-result-rank[data-rank="3"] { background:#da9b74; }
.rider-profile-page.rp-overview:not(.rp-results-detailed) .results-card .rp-results-table tr > :not([data-result-column="position"]):not([data-result-column="event"]):not([data-result-column="time"]) { display:none!important; }
.rider-profile-page.rp-overview:not(.rp-results-detailed) .results-card .rp-results-table [data-result-column="time"] { display:table-cell!important; }
.rider-profile-page.rp-overview:not(.rp-results-detailed) .rp-results-column-tools, .rider-profile-page.rp-overview:not(.rp-results-detailed) .rp-legend { display:none; }
.rider-profile-page.rp-overview.rp-results-detailed .results-card .rp-results-table { min-width:1100px; table-layout:auto; }
.rider-profile-page.rp-overview.rp-results-detailed .rp-results-table [data-result-column="position"] { position:sticky; right:0; z-index:2; min-width:42px; }
.rider-profile-page.rp-overview.rp-results-detailed .rp-results-table [data-result-column="event"] { position:sticky; right:42px; z-index:2; min-width:140px; max-width:210px; border-left:1px solid #e1e6ec; }
.rider-profile-page.rp-overview .rp-results-chart { margin-top:32px; }
.rider-profile-page.rp-overview :is(a,button):focus-visible { outline:2px solid #e71068; outline-offset:3px; }
@media(max-width:767.98px) {
 .rider-profile-page.rp-overview .rp-hero { padding:24px 16px 0; }
 .rider-profile-page.rp-overview .rp-avatar-ring { width:88px; height:88px; margin-bottom:10px; }
 .rider-profile-page.rp-overview .rp-hero-name { font-size:20px; }
 .rider-profile-page.rp-overview .rp-kpi { min-height:66px; }
 .rider-profile-page.rp-overview .rp-results-heading h2 { font-size:20px; }
 .rider-profile-page.rp-overview .rp-mobile-block--toolbar { order:7; }
 .rider-profile-page.rp-overview .rp-mobile-block--content { order:5; }
 .rider-profile-page.rp-overview .rp-results { padding:18px 12px; }
}

.rider-profile-page.rp-overview .results-card .rp-results-table thead th { font-size:13px; font-weight:500; }
/* Keep the pinned identity columns below half the mobile viewport. */
@media (max-width: 575.98px) {
 .rider-profile-page.rp-overview.rp-results-detailed .results-card .rp-results-table {
  table-layout:fixed;
  width:max(100%, calc(174px + (var(--rp-results-visible-columns, 12) - 2) * 112px));
  min-width:0;
 }
 .rider-profile-page.rp-overview.rp-results-detailed .results-card .rp-results-table [data-result-column="position"] {
  width:42px; min-width:42px; max-width:42px;
 }
 .rider-profile-page.rp-overview.rp-results-detailed .results-card .rp-results-table [data-result-column="event"] {
  width:132px; min-width:132px; max-width:132px;
 }
 .rider-profile-page.rp-overview.rp-results-detailed .results-card .rp-results-table td {
  font-size:14px; line-height:1.8; overflow-wrap:anywhere;
 }
 .rider-profile-page.rp-overview.rp-results-detailed .rp-result-meta { font-size:12px; }
 .rider-profile-page.rp-overview .rp-results-column-tools { justify-content:stretch; margin:8px 0 12px; }
 .rider-profile-page.rp-overview .rp-results-column-tools__button {
  width:100%; min-height:44px; padding:10px 14px; font-size:14px;
  background:#f4f7fb; color:#34465c; box-shadow:none; border:1px solid #dfe5ed;
 }
}
/* One metric and one scale per chart, with explicit units and accessible values. */
.rp-trends { margin:32px 0 0; color:#172536; }
.rp-trends-heading h3 { font-size:21px; font-weight:800; margin:0 0 6px; }
.rp-trends-heading p { color:#657080; font-size:13px; margin:0 0 20px; }
.rp-trend { padding:20px 16px; border:1px solid #e1e6ec; border-radius:16px; margin-bottom:18px; background:#fff; }
.rp-trend header { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.rp-trend h4 { font-size:16px; font-weight:700; line-height:1.8; margin:0; }
.rp-trend-icon { background:#fce9f1; color:#c9145b; border-radius:10px; padding:10px; }
.rp-trend-controls { display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:8px; }
.rp-trend-controls label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:#657080; flex:1 1 100px; min-width:0; }
.rp-trend-controls label:first-child { flex-basis:180px; }
.rp-trend-controls select { width:100%; min-width:0; min-height:44px; padding:8px; font:inherit; font-size:13px; background:#f5f7fa; color:#172536; border:1px solid #dfe5ed; border-radius:9px; }
.rp-trend-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 12px; }
.rp-trend-summary div { min-width:0; }
.rp-trend-summary span { display:block; font-size:11px; color:#657080; line-height:1.8; }
.rp-trend-summary strong { display:block; font-size:14px; margin-top:5px; line-height:1.9; }
.rp-trend-guide { font-size:12px; line-height:1.9; color:#526276; min-height:40px; }
.rp-trend-plot { height:220px; position:relative; direction:ltr; }
.rp-trend-footnote { font-size:11px; color:#657080; line-height:1.9; margin:12px 0; }
.rp-trend-values { border-top:1px solid #e1e6ec; font-size:13px; }
.rp-trend-values summary { padding:14px 0; cursor:pointer; color:#526276; }
.rp-trend-values table { width:100%; border-collapse:collapse; }
.rp-trend-values :is(td,th) { text-align:right; padding:10px 4px; border-bottom:1px solid #edf0f5; }
.rp-trend-empty { text-align:center; padding:12px; color:#657080; font-size:13px; }
@media(max-width:359px) { .rp-trend { padding:16px 10px; } }
/* A year-by-year career list replaces the long horizontal path. */
.rider-profile-page.rp-overview .rp-career-list { padding:22px 16px; margin-top:24px; border:1px solid #e1e6ec; border-radius:16px; background:#fff; }
.rp-career-list__header { display:flex; align-items:start; gap:12px; justify-content:space-between; }
.rp-career-list__header h3 { font-size:21px; font-weight:800; margin:0 0 6px; }
.rp-career-list__header p, .rp-career-list__note { font-size:12px; color:#657080; line-height:1.9; }
.rp-career-list__header > span { white-space:nowrap; font-size:12px; padding:6px 9px; background:#f4f7fb; border-radius:8px; }
.rp-career-year { border-top:1px solid #e1e6ec; }
.rp-career-year > summary { list-style:none; display:flex; align-items:center; gap:12px; padding:16px 0; min-height:52px; cursor:pointer; color:#657080; font-size:13px; }
.rp-career-year > summary::-webkit-details-marker { display:none; }
.rp-career-year__year { font-size:18px; font-weight:700; color:#172536; font-variant-numeric:tabular-nums; }
.rp-career-year > summary i { margin-inline-start:auto; transition:transform .15s; }
.rp-career-year[open] > summary i { transform:rotate(180deg); }
.rp-career-year[open] .rp-career-year__year { color:#e71068; }
.rp-career-entries { list-style:none; margin:0; padding:0 0 8px; }
.rp-career-entries > li { display:flex; gap:12px; padding:12px 0 20px; }
.rp-career-entries > li + li { border-top:1px solid #edf0f5; }
.rp-career-entry__icon { flex:0 0 34px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; background:#f0f3f8; color:#526276; border-radius:50%; font-size:16px; }
.rp-career-entry__icon[data-position="1"] { background:#fff4bd; color:#7a5d00; }
.rp-career-entry__icon[data-position="2"] { background:#e8edf3; color:#526276; }
.rp-career-entry__icon[data-position="3"] { background:#f7e4d7; color:#985c30; }
.rp-career-entry__body { min-width:0; flex:1; }
.rp-career-entry__body h4 { margin:4px 0 8px; font-size:14px; font-weight:700; line-height:1.8; }
.rp-career-entry__body p { font-size:13px; line-height:1.9; color:#526276; margin:0 0 6px; overflow-wrap:anywhere; }
.rp-career-entry__position { display:block; font-size:12px; color:#657080; font-weight:400; }
.rp-career-entry__teams { display:flex; flex-direction:column; gap:4px; }
.rp-career-entry__discipline { display:block; color:#657080; font-size:12px; margin:8px 0; }
.rp-career-entry__link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#d21960!important; font-size:13px; font-weight:600; }
.rp-career-entry__date { display:block; margin:8px 0; color:#657080; font-size:12px; }
.rp-honors { margin-top:22px; border-top:1px solid #e1e6ec; padding-top:18px; text-align:right; }
.rider-profile-page .rp-honors h3 { font-size:18px; font-weight:800; color:#172536; margin:0 0 8px; }
.rp-honors__note { color:#657080; font-size:12px; line-height:1.9; margin:0 0 12px; }
.rp-honors__list { list-style:none; margin:0; padding:0; }
.rp-honors__list li + li { border-top:1px solid #edf0f5; }
.rp-honors__list a { display:flex; align-items:center; gap:10px; padding:14px 0; color:#172536!important; text-decoration:none!important; }
.rp-honors__medal { display:flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; height:48px; background:#f4f7fb; border-radius:10px; }
.rp-honors__medal[data-position="1"] { background:#fff7d7; }
.rp-honors__medal[data-position="3"] { background:#f9ede4; }
.rp-honors__medal img { object-fit:contain; }
.rp-honors__body { min-width:0; flex:1; display:flex; flex-direction:column; gap:4px; line-height:1.7; }
.rp-honors__body strong { font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.rp-honors__count { font-size:13px; }
.rp-honors__body small { color:#657080; font-size:11px; }
.rp-honors__list a > i { color:#84909f; font-size:12px; }
.rp-honors__more > summary { min-height:44px; padding:12px; background:#f5f7fa; color:#526276; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; cursor:pointer; list-style:none; }
.rp-honors__hide, .rp-honors__more[open] .rp-honors__show { display:none; }
.rp-honors__more[open] .rp-honors__hide { display:inline; }
.rp-honors__more[open] > summary i { transform:rotate(180deg); }
