.athlete-dashboard {
  padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
}

.athlete-v2-shell {
  display: grid;
  gap: 14px;
}

.athlete-v2-pane[hidden] {
  display: none !important;
}

.athlete-v2-home,
.athlete-v2-pane {
  min-width: 0;
}

.athlete-v2-eyebrow,
.athlete-v2-label,
.athlete-v2-section-head > span {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  opacity: .72;
}

.athlete-v2-hero h1,
.athlete-v2-status h2,
.athlete-v2-section-head h1 {
  margin: 4px 0 8px;
}

.athlete-v2-session-line {
  margin: 0 0 12px;
  opacity: .82;
}

.athlete-v2-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  margin: 14px 0;
}

.athlete-v2-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  opacity: .9;
}

.athlete-v2-unlimited {
  margin: 14px 0;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  font-weight: 700;
}

.athlete-v2-metrics,
.athlete-v2-recent-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.athlete-v2-metrics > div,
.athlete-v2-recent-grid > div {
  min-width: 0;
  padding: 11px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}

.athlete-v2-metrics span,
.athlete-v2-recent-grid span,
.athlete-v2-recent-grid small {
  display: block;
  font-size: 12px;
  opacity: .68;
}

.athlete-v2-metrics strong,
.athlete-v2-recent-grid strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

.athlete-v2-status {
  border-inline-start: 3px solid rgba(255,255,255,.24);
}

.athlete-v2-status-warning,
.athlete-v2-status-attention,
.athlete-v2-status-pending {
  border-inline-start-color: currentColor;
}

.athlete-v2-queued {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
}

.athlete-v2-queued span {
  font-size: 13px;
  line-height: 1.8;
  opacity: .8;
}

.athlete-v2-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 14px;
}

.athlete-v2-actions button {
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.athlete-v2-section-head {
  padding: 6px 2px 2px;
}

.athlete-v2-bottom-nav {
  position: fixed;
  z-index: 80;
  inset-inline: max(10px, env(safe-area-inset-left, 0px)) max(10px, env(safe-area-inset-right, 0px));
  bottom: max(10px, env(safe-area-inset-bottom, 0px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(12,13,16,.94);
  box-shadow: 0 14px 38px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.athlete-v2-bottom-nav button {
  min-width: 0;
  min-height: 48px;
  padding: 8px 5px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  opacity: .58;
}

.athlete-v2-bottom-nav button[aria-current="page"] {
  background: rgba(255,255,255,.09);
  opacity: 1;
}

.athlete-v2-pane > .card,
.athlete-v2-home > .card {
  margin-bottom: 12px;
}
