@font-face {
  font-family: "TitleText";
  font-style: normal;
  font-weight: 700;
  src: url("./titleText.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "SubText";
  font-style: normal;
  font-weight: 400 700;
  src: url("./subText.woff") format("woff");
  font-display: swap;
}

:root {
  --font-title: "TitleText", "SubText", system-ui, -apple-system, sans-serif;
  --font-subtext: "SubText", system-ui, -apple-system, sans-serif;
  --navy: #002b58;
  --navy-deep: #001f44;
  --sky: #2d6aa8;
  --sky-dark: #245a90;
  --red: #ea1f27;
  --green: #18f200;
  --muted: #92a6bf;
  --shadow: rgba(0, 0, 0, 0.3);
  --page-top-gap: 1px;
  --hero-logo-height: 54px;
  --hero-space: 78px;
  --hero-overlay-height: calc(var(--hero-space) + 36px + env(safe-area-inset-top, 0));
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='white' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--navy);
  background-color: var(--navy);
}

body {
  margin: 0;
  font-family: var(--font-title);
  font-weight: 700;
  font-style: normal;
  text-transform: uppercase;
  color: #fff;
  background: var(--navy);
  background-color: var(--navy);
  min-height: 100vh;
  min-height: 100dvh;
  font-size: 16px;
  overscroll-behavior-y: none;
  padding-top: 0;
  padding-right: env(safe-area-inset-right, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
  padding-left: env(safe-area-inset-left, 0);
}

input,
select,
textarea,
button,
option {
  font-family: var(--font-title);
}

p,
small,
.meta,
.empty,
[class*="description"],
[class*="subtext"],
[class*="-meta"],
[class*="-copy"],
[class$="-meta"],
[class$="-copy"] {
  font-family: var(--font-subtext);
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
.section-title,
.hero-title,
.item-title,
.teams-tab,
.teams-subtab,
.pill {
  font-family: var(--font-title);
}

body.pwa-locked {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.hero {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  isolation: isolate;
  min-height: var(--hero-space);
  padding: calc(8px + env(safe-area-inset-top, 0)) 16px 0;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-content: start;
  gap: 2px;
  text-align: center;
  pointer-events: none;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--hero-overlay-height);
  background: linear-gradient(
    180deg,
    rgba(0, 43, 88, 1) 0%,
    rgba(0, 43, 88, 0.98) 44%,
    rgba(0, 43, 88, 0.84) 74%,
    rgba(0, 43, 88, 0) 100%
  );
  pointer-events: none;
  z-index: -1;
}

.hero > * {
  pointer-events: auto;
}

.ad-inline-mobile {
  margin: 0 0 12px;
}

.ad-inline-mobile img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.ad-inline-mobile a,
.ad-inline-mobile picture,
.ad-fixed-desktop a,
.ad-fixed-desktop picture {
  display: block;
}

.ad-fixed-desktop {
  display: none;
}

.ad-fixed-desktop img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28);
}

body[data-page="fantasy"] .page.page-fantasy > section + section {
  margin-top: 16px;
}

html[data-faq-embed="1"],
body[data-faq-embed="1"] {
  background: transparent;
  background-color: transparent;
  min-height: 0;
  height: auto;
}

body[data-faq-embed="1"] .hero {
  display: none;
}

body[data-faq-embed="1"] .page.page-teams {
  max-width: 100%;
  padding: 0;
}

body[data-faq-embed="1"] #teams-faq-panel {
  margin: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

body[data-faq-embed="1"] #teams-faq-panel .leaderboard {
  margin: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

body[data-faq-embed="1"] #teams-faq-panel .achievement-detail {
  background: transparent;
  border: none;
  box-shadow: none;
}

.logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 6px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 14px;
}

.logo-img {
  height: var(--hero-logo-height);
  width: auto;
  display: block;
  margin: 0 auto;
}

.logo-text {
  color: #dfe9f8;
}

.hero-title {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.hero-title .title-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (min-width: 768px) {
  :root {
    --hero-logo-height: 86px;
    --hero-space: 112px;
  }

  .logo-img {
    height: var(--hero-logo-height);
  }

  .page {
    padding-top: calc(var(--hero-overlay-height) + 10px + var(--page-top-gap));
  }

  body[data-page="paid"] .page,
  body[data-page="event"] .page,
  body[data-page="class"] .page {
    padding-top: calc(var(--hero-overlay-height) + 34px + var(--page-top-gap));
  }

  body[data-page="teams"] .page.page-teams,
  body[data-page="fantasy"] .page.page-fantasy {
    padding-top: calc(var(--hero-overlay-height) + 28px + var(--page-top-gap));
  }

  body[data-page="home"] .page-home {
    padding-top: calc(var(--hero-overlay-height) + 10px + var(--page-top-gap));
  }

  .ad-inline-mobile {
    display: none;
  }
}

@media (min-width: 1320px) {
  .ad-fixed-desktop {
    display: block;
    position: fixed;
    top: calc(var(--hero-overlay-height) + 12px);
    width: 180px;
    z-index: 34;
  }
  .ad-fixed-desktop-left {
    left: max(10px, calc((100vw - 1320px) / 4));
    right: auto;
  }
  .ad-fixed-desktop-right {
    right: max(10px, calc((100vw - 1320px) / 4));
    left: auto;
  }
}

.track-days-field {
  grid-column: 1 / -1;
}

.track-days-editor {
  display: grid;
  gap: 8px;
}

.track-day-row {
  display: grid;
  grid-template-columns: minmax(96px, 1fr) minmax(0, 108px) minmax(0, 108px);
  gap: 8px;
  align-items: center;
}

.track-day-active {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.track-day-active input {
  width: 16px;
  height: 16px;
  accent-color: #1f8fff;
}

.track-day-time {
  min-width: 0;
}

@media (max-width: 520px) {
  .track-day-row {
    grid-template-columns: 1fr 74px 74px;
    gap: 5px;
  }

  .track-day-active {
    font-size: 9px;
    gap: 4px;
  }

  .track-day-active input {
    width: 13px;
    height: 13px;
  }
}

.hero-sub {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 6px;
}

.back-btn {
  position: absolute;
  left: 14px;
  top: 8px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #006bad;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.hero-action-group {
  position: absolute;
  right: 14px;
  top: calc(env(safe-area-inset-top, 0) + 8px + (var(--hero-logo-height) - 30px) / 2);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.hero-icon-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.92);
  background: transparent;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.hero-logout-btn svg {
  width: 19px;
  height: 19px;
  display: block;
}

.hero-logout-btn svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fantasy-faq-overlay {
  z-index: 5000;
}

.fantasy-faq-dialog {
  width: min(520px, 96vw);
  padding: 12px;
  position: relative;
  overflow: hidden;
}

.fantasy-faq-close-btn {
  z-index: 1;
}

.fantasy-faq-frame {
  width: 100%;
  height: 320px;
  max-height: 78vh;
  border: none;
  background: transparent;
  border-radius: 8px;
  display: block;
}

.back-icon {
  width: 22px;
  height: 22px;
}

.page {
  max-width: 100%;
  margin: 0;
  padding: calc(var(--hero-overlay-height) + 10px + var(--page-top-gap)) 12px calc(60px + env(safe-area-inset-bottom, 0));
}

body[data-page="paid"] .page,
body[data-page="event"] .page,
body[data-page="class"] .page {
  padding-top: calc(var(--hero-overlay-height) + 24px + var(--page-top-gap));
}

body[data-page="teams"] .page.page-teams,
body[data-page="fantasy"] .page.page-fantasy {
  padding-top: calc(var(--hero-overlay-height) + 16px + var(--page-top-gap));
}

.page-home,
.page-teams,
.page-fantasy {
  max-width: 420px;
  margin: 0 auto;
}

.transponder-page {
  max-width: 760px;
  margin: 0 auto;
}

.transponder-shell {
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
}

.transponder-intro {
  max-width: 740px;
  color: #fff;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.35;
}

body[data-page="transponder"] .transponder-lookup-form {
  width: min(100%, 340px);
  display: inline-flex;
  gap: 6px;
  align-items: center;
  background: rgba(17, 78, 145, 0.95);
  padding: 8px;
  border-radius: 10px;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2);
}

body[data-page="transponder"] .transponder-lookup-input {
  width: 130px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font: 700 11px/1 var(--font-subtext);
  text-transform: uppercase;
  padding: 0 6px;
  outline: none;
}

body[data-page="transponder"] .transponder-lookup-input::placeholder {
  color: #d8ebff;
}

body[data-page="transponder"] .transponder-lookup-submit {
  border: none;
  border-radius: 6px;
  min-width: 56px;
  background: var(--sky);
  color: #00315f;
  font: 700 11px/1 var(--font-subtext);
  text-transform: lowercase;
}

.transponder-feedback {
  min-height: 10px;
  color: #b8d8ff;
  font-size: 9px;
}

.transponder-result {
  width: min(100%, 760px);
  display: grid;
  gap: 20px;
  justify-items: center;
  margin-top: -2px;
  margin-inline: auto;
}

.transponder-days-card {
  width: min(100%, 690px);
  min-height: 128px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  padding: 20px 28px;
  color: #fff;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.15);
  justify-self: center;
  margin-inline: auto;
}

.transponder-days-card.is-green {
  background: #08b523;
}

.transponder-days-card.is-yellow {
  background: #d8b400;
}

.transponder-days-card.is-orange {
  background: #e37e17;
}

.transponder-days-card.is-red {
  background: #d42f2f;
}

.transponder-days-card.is-blue {
  background: #006bad;
}

.transponder-days-text {
  font-size: clamp(38px, 9vw, 78px);
  font-weight: 800;
  font-style: italic;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.transponder-detail-card {
  display: grid;
  gap: 10px;
  justify-items: center;
  text-align: center;
  justify-self: center;
  margin-inline: auto;
}

.transponder-detail-lead {
  max-width: 720px;
  color: #fff;
  font-size: 9px;
  line-height: 1.4;
}

.transponder-detail-date {
  color: #fff;
  font-size: clamp(28px, 6vw, 52px);
  font-weight: 800;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 0;
}

.transponder-renew-box {
  width: min(100%, 1040px);
  max-width: 1040px;
  display: grid;
  gap: 14px;
  justify-items: center;
  justify-self: center;
  margin-inline: auto;
}

.transponder-renew-embed-shell {
  width: fit-content;
  max-width: 100%;
  display: grid;
  justify-items: center;
  justify-self: center;
  margin-inline: auto;
}

.transponder-renew-embed-frame {
  --renew-embed-scale: 1;
  --renew-embed-base-width: 1180px;
  --renew-embed-base-height: 2100px;
  width: calc(var(--renew-embed-base-width) * var(--renew-embed-scale));
  height: calc(var(--renew-embed-base-height) * var(--renew-embed-scale));
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
  margin-inline: auto;
}

.transponder-renew-iframe {
  width: var(--renew-embed-base-width);
  height: var(--renew-embed-base-height);
  border: 0;
  display: block;
  background: #fff;
  transform: scale(var(--renew-embed-scale));
  transform-origin: top left;
}

.transponder-renew-label {
  color: #fff;
  font-size: 9px;
  line-height: 1.35;
  max-width: 780px;
}

.transponder-renew-btn {
  min-width: 140px;
  font-size: 9px;
}

@media (max-width: 520px) {
  body[data-page="transponder"] .transponder-lookup-input,
  body[data-page="transponder"] .transponder-lookup-input::placeholder,
  body[data-page="transponder"] .transponder-lookup-submit {
    font-size: 9pt;
  }

  .transponder-renew-embed-frame {
    --renew-embed-base-width: 720px;
    --renew-embed-base-height: 4300px;
  }
}

@media (hover: hover) and (pointer: fine) {
  :root {
    --hero-logo-height: 86px;
    --hero-space: 112px;
    --hero-overlay-height: calc(var(--hero-space) + 36px + env(safe-area-inset-top, 0));
  }

  .hero {
    min-height: var(--hero-space);
    padding: calc(8px + env(safe-area-inset-top, 0)) 16px 0;
  }

  .page {
    padding-top: calc(var(--hero-overlay-height) + 10px + var(--page-top-gap));
  }

  body[data-page="paid"] .page,
  body[data-page="event"] .page,
  body[data-page="class"] .page {
    padding-top: calc(var(--hero-overlay-height) + 34px + var(--page-top-gap));
  }

  body[data-page="teams"] .page.page-teams,
  body[data-page="fantasy"] .page.page-fantasy {
    padding-top: calc(var(--hero-overlay-height) + 28px + var(--page-top-gap));
  }

  body[data-page="home"] .page-home {
    padding-top: calc(var(--hero-overlay-height) + 10px + var(--page-top-gap));
  }
}

@supports (-webkit-touch-callout: none) {
  body[data-page="transponder"] .transponder-lookup-input {
    transform: none !important;
    transform-origin: initial !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 9pt !important;
  }

  body[data-page="transponder"] .transponder-lookup-input::placeholder {
    font-size: 9pt !important;
  }
}

@media (min-width: 721px) {
  body[data-page="transponder"] {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  body[data-page="transponder"] .page.transponder-page {
    width: min(100%, 1080px);
    max-width: 1080px;
    margin-inline: auto;
    display: grid;
    justify-items: center;
    padding-left: 18px;
    padding-right: 18px;
  }

  body[data-page="transponder"] .transponder-shell {
    width: 100%;
    max-width: 1040px;
    margin-inline: auto;
    justify-items: center;
  }

  body[data-page="transponder"] .transponder-result {
    width: 100%;
    max-width: 1040px;
  }

  body[data-page="transponder"] .transponder-intro,
  body[data-page="transponder"] .transponder-lookup-form,
  body[data-page="transponder"] .transponder-feedback,
  body[data-page="transponder"] .transponder-result,
  body[data-page="transponder"] .transponder-days-card,
  body[data-page="transponder"] .transponder-detail-card,
  body[data-page="transponder"] .transponder-renew-box {
    justify-self: center;
    margin-inline: auto;
  }

  body[data-page="transponder"] .transponder-renew-embed-shell,
  body[data-page="transponder"] .transponder-renew-embed-frame {
    justify-self: center;
    margin-inline: auto;
  }

  body[data-page="transponder"] .transponder-intro,
  body[data-page="transponder"] .transponder-feedback,
  body[data-page="transponder"] .transponder-detail-lead,
  body[data-page="transponder"] .transponder-renew-label,
  body[data-page="transponder"] .transponder-renew-btn {
    font-size: 14pt;
  }

  body[data-page="transponder"] .transponder-lookup-form {
    width: min(100%, 430px);
  }

  body[data-page="transponder"] .transponder-days-card {
    min-height: 148px;
    border-radius: 20px;
  }

  body[data-page="transponder"] .transponder-renew-embed-frame {
    border-radius: 20px;
  }
}

.home-group + .home-group {
  margin-top: 18px;
}

.home-live-disclaimer-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 999px;
  padding: 10px 14px;
  background: #08254a;
  border: 1px solid #2f6fb0;
  color: #ffffff;
}

.home-live-disclaimer-text {
  color: #ffffff;
  font: 700 15px/1.2 var(--font-title);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}

.home-live-disclaimer-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: #ffffff;
  font: 700 17px/1 var(--font-subtext);
  flex: 0 0 auto;
  text-shadow: 0 0 8px rgba(60, 140, 255, 1), 0 0 16px rgba(60, 140, 255, 0.95), 0 0 24px rgba(60, 140, 255, 0.75);
}

@media (max-width: 520px) {
  .home-live-disclaimer-text {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}

.admin-nav-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-nav-btn {
  border: none;
  border-radius: 999px;
  padding: 11px 14px;
  background: #16345f;
  color: #dfefff;
  font: 700 12px/1 var(--font-subtext);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.admin-nav-btn.active {
  background: var(--sky);
  color: #0d2d50;
}

.home-primary-nav-buttons .home-icon-nav-btn {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 12px;
  padding: 11px 14px;
  background: #0c192f;
  color: #d8e7ff;
  border: 1px solid #2f405e;
  box-shadow: none;
}

.home-primary-nav-buttons .home-icon-nav-btn.active {
  background: #2d6aa8;
  color: #ffffff;
  border-color: #2d6aa8;
}

.home-primary-nav-buttons {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  justify-content: stretch;
  gap: 10px;
  width: 100%;
}

.home-help-intro {
  margin-bottom: 8px;
}

.home-icon-nav-btn {
  position: relative;
  min-height: 42px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.home-nav-icon {
  display: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}

.home-nav-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.home-nav-label {
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
}

.home-nav-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: #ff4f67;
  color: #fff;
  font: 700 10px/19px var(--font-subtext);
  text-align: center;
  box-shadow: 0 0 0 2px #002b58;
}

.home-nav-badge.hidden {
  display: none;
}

.admin-logout-actions {
  margin-top: 14px;
}

.admin-logout-actions .install-btn {
  width: 100%;
}

.admin-panel {
  background: rgba(11, 35, 70, 0.95);
  border-radius: 18px;
  padding: 16px 14px 14px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.admin-stack {
  display: grid;
  gap: 14px;
}

.admin-panel-title,
.admin-panel-subtitle {
  margin: 0 0 12px;
  color: #e6f2ff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.admin-panel-subtitle {
  margin-bottom: 10px;
  font-size: 12px;
}

.admin-field-label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #d7e9ff;
}

.admin-textarea,
.admin-password-input {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background: rgba(4, 16, 36, 0.88);
  color: #fff;
  font: 500 16px/1.45 var(--font-subtext);
  padding: 12px 14px;
  resize: vertical;
}

.admin-input,
.admin-select {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background: rgba(4, 16, 36, 0.88);
  color: #fff;
  font: 500 14px/1.35 var(--font-subtext);
  padding: 12px 14px;
  outline: none;
}

.admin-input::placeholder {
  color: rgba(220, 235, 255, 0.55);
}

.admin-select {
  appearance: none;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-field {
  min-width: 0;
}

.admin-field-span-2 {
  grid-column: span 2;
}

.admin-metrics-grid {
  display: grid;
  gap: 12px;
}

.admin-metrics-card {
  min-height: 110px;
}

.admin-metrics-value {
  font: 800 30px/1 var(--font-title);
  color: #9dccff;
  margin-bottom: 10px;
}

.admin-metrics-rows {
  display: grid;
  gap: 4px;
}

.admin-metrics-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: rgba(230, 242, 255, 0.88);
}

.admin-metrics-mockup {
  display: grid;
  gap: 10px;
}

.admin-panel-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-metrics-refresh-btn {
  min-width: 74px;
  height: 30px;
  padding: 0 10px;
  font-size: 12px;
  border-radius: 9px;
}

.admin-metrics-header-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  height: 44px;
  border: 2px solid #5fa8ff;
  background: #2e8fe9;
  border-radius: 999px;
  padding: 0 12px;
  box-sizing: border-box;
  color: #fff;
}

.admin-metrics-live-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #3f6f9d;
  box-shadow: 0 0 0 rgba(21, 255, 34, 0);
}

.admin-metrics-live-dot.is-live {
  background: #16ff24;
  box-shadow: 0 0 16px rgba(21, 255, 34, 0.9);
  animation: adminPulseLive 1.25s ease-in-out infinite;
}

@keyframes adminPulseLive {
  0% { transform: scale(1); box-shadow: 0 0 8px rgba(21, 255, 34, 0.65); }
  50% { transform: scale(1.1); box-shadow: 0 0 18px rgba(21, 255, 34, 1); }
  100% { transform: scale(1); box-shadow: 0 0 8px rgba(21, 255, 34, 0.65); }
}

.admin-metrics-header-title {
  font: 800 18px/1 var(--font-title);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-metrics-header-count {
  font: 800 22px/1 var(--font-title);
}

.admin-metrics-controls {
  display: flex;
  justify-content: flex-end;
}

.admin-metrics-box-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-metrics-category {
  display: grid;
  gap: 10px;
}

.admin-metrics-category-title {
  margin: 0;
  font: 800 14px/1.1 var(--font-title);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d5e9ff;
}

.admin-metrics-stat-box {
  background: #0b3f85;
  border: 1px solid #2f68b3;
  min-height: 148px;
  border-radius: 16px;
  display: grid;
  align-content: stretch;
  justify-items: center;
  grid-template-rows: 1fr auto;
  gap: 8px;
  padding: 12px 10px 14px;
  box-sizing: border-box;
}

.admin-metrics-stat-box .admin-metrics-stat-value {
  font: 800 34px/1 var(--font-title) !important;
  color: #fff;
  align-self: center;
  letter-spacing: 0.01em;
}

.admin-metrics-stat-label {
  font: 800 14px/1 var(--font-title);
  color: #fff;
  text-transform: uppercase;
  align-self: end;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .admin-metrics-header-title {
    font-size: 18px;
  }

  .admin-metrics-header-count {
    font-size: 24px;
  }

  .admin-metrics-box-grid {
    gap: 10px;
  }

  .admin-metrics-stat-box {
    min-height: 128px;
    border-radius: 14px;
    gap: 8px;
    padding: 10px 8px 12px;
  }

  .admin-metrics-stat-box .admin-metrics-stat-value {
    font-size: 34px !important;
  }

  .admin-metrics-stat-label {
    font-size: 13px;
  }
}

.admin-inline-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.admin-inline-action {
  min-width: 108px;
}

.admin-team-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.admin-team-toolbar-actions {
  display: flex;
  align-items: end;
  gap: 10px;
}

.admin-team-editor {
  margin-top: 14px;
}

.admin-team-editor.hidden {
  display: none;
}

.admin-team-actions {
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.admin-team-section {
  margin-top: 16px;
}

.admin-team-section.hidden {
  display: none;
}

.admin-roster-item {
  grid-template-columns: 1fr auto;
}

.admin-roster-meta {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  line-height: 1.25;
}

.admin-sheet-card {
  background: rgba(4, 16, 36, 0.72);
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.admin-sheet-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-sheet-card .teams-mini-table th:nth-child(1),
.admin-sheet-card .teams-mini-table td:nth-child(1),
.admin-sheet-card .teams-mini-table th:nth-child(2),
.admin-sheet-card .teams-mini-table td:nth-child(2) {
  text-align: left;
}

.admin-sheet-card .teams-sheet-select {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.admin-sheet-card .teams-sheet-footer {
  justify-content: space-between;
  flex-wrap: wrap;
}

.admin-sheet-card .teams-sheet-submit-note {
  margin-right: auto;
}

.admin-fantasy-day-grid {
  display: grid;
  gap: 10px;
}

@media (min-width: 1024px) {
  .admin-fantasy-day-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
  }
}

.admin-sheet-grid {
  display: grid;
  gap: 8px;
}

.admin-sheet-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 136px;
  gap: 8px;
  align-items: center;
}

.admin-sheet-slot {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #d7e9ff;
  font-size: 12px;
  font-weight: 700;
}

.admin-sheet-status {
  margin-top: 0;
}

.admin-textarea::placeholder,
.admin-password-input::placeholder {
  color: rgba(220, 235, 255, 0.55);
}

.admin-panel-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.admin-login-card {
  text-align: left;
}

.admin-password-input {
  margin-top: 14px;
}

.install-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 19, 43, 0.72);
  backdrop-filter: blur(10px);
}

.install-overlay.hidden {
  display: none;
}

body.feed-clips-open {
  overflow: hidden;
  overscroll-behavior: none;
}

.install-card {
  width: min(460px, 100%);
  background: rgba(0, 29, 66, 0.98);
  border-radius: 24px;
  padding: 24px 20px 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.install-icon {
  width: 84px;
  height: 84px;
  border-radius: 20px;
  display: block;
  margin: 0 auto 14px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3);
}

.install-title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin: 0 0 6px;
}

.install-copy {
  margin: 0;
  color: #d8e7ff;
  font-size: 13px;
  line-height: 1.45;
}

.install-copy + .install-copy {
  margin-top: 10px;
}

.install-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap;
}

.install-btn {
  min-width: 138px;
  border: none;
  border-radius: 999px;
  padding: 11px 18px;
  font: 700 13px/1 var(--font-subtext);
  cursor: pointer;
}

.install-btn.primary {
  background: var(--sky);
  color: #0d2d50;
}

.install-btn.secondary {
  background: #182b54;
  color: #fff;
}

.install-btn.only {
  min-width: 180px;
}

.install-btn[disabled] {
  opacity: 0.45;
  cursor: default;
}

.install-note {
  margin-top: 10px;
  font-size: 11px;
  color: #9fc2e7;
  letter-spacing: 0.02em;
}

.meta {
  color: var(--muted);
  font-size: 12px;
  text-align: center;
  margin-top: 12px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.section-title {
  margin: 14px 2px 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #cfe6ff;
}

.viewing-text {
  margin: 8px 0 12px;
  font-size: 12px;
  text-align: center;
  color: #cfe6ff;
}

.paid-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}

.paid-tab {
  background: var(--navy);
  color: #e7f3ff;
  border: none;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.paid-tab.active {
  background: var(--sky);
  color: #0b2b4d;
}

.paid-local-toolbar {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 8px;
}

.achievements {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}

.achievement-section + .achievement-section {
  margin-top: 8px;
}

.achievement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.achievement-card {
  background: rgba(0, 0, 0, 0.25);
  padding: 16px 12px;
  border-radius: 6px;
}

.achievement-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  cursor: pointer;
}

.achievement-item img {
  width: auto;
  height: 66px;
}

.achievement-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #cfe6ff;
  line-height: 1.2;
}

.achievement-label .lvl {
  display: block;
  font-weight: 700;
}

.achievement-detail {
  background: rgba(0, 0, 0, 0.25);
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 11px;
  color: #dfefff;
  margin-bottom: 12px;
  line-height: 1.4;
}

.achievement-detail strong {
  display: block;
  color: #ffffff;
  margin-bottom: 6px;
}

.achievement-detail .status {
  font-style: italic;
}

.paid-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.paid-card-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.paid-card-group.paid-top {
  grid-column: 1 / -1;
}

.paid-card-group .section-title {
  margin: 0;
}

.paid-group + .paid-group {
  margin-top: 16px;
}

.paid-card {
  background: rgba(0, 0, 0, 0.25);
}

.paid-card .lb-table {
  font-size: clamp(8px, 2.4vw, 10.5px);
}

.paid-card .lb-table th {
  font-size: clamp(8px, 2.2vw, 9.5px);
}

.paid-card .lb-table th,
.paid-card .lb-table td {
  text-align: center;
}

.paid-card .lb-table th:first-child,
.paid-card .lb-table td:first-child,
.paid-times .table th,
.paid-times .table td,
.paid-times .table th:first-child,
.paid-times .table td:first-child {
  text-align: center;
}

.paid-card .lb-table td:nth-child(2) {
  text-align: center;
}

.paid-card .lb-table th:nth-child(2) {
  text-align: center;
}

@media (max-width: 520px) {
  body[data-page="paid"] .page,
  body[data-page="paid"] #paid-times,
  body[data-page="paid"] #paid-times .leaderboard {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .paid-tabs {
    gap: 6px;
  }

  .paid-tab {
    font-size: 7pt;
    padding: 6px 10px;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }

  .paid-local-toolbar {
    justify-content: center;
  }

  body[data-page="paid"] #paid-times .leaderboard {
    padding: 6px 4px;
  }

  body[data-page="paid"] #paid-times .lb-table,
  body[data-page="paid"] #paid-times .table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    font-size: 8px;
  }

  body[data-page="paid"] #paid-times .lb-table th,
  body[data-page="paid"] #paid-times .lb-table td,
  body[data-page="paid"] #paid-times .table th,
  body[data-page="paid"] #paid-times .table td {
    padding: 2px 1px;
    font-size: 8px;
    letter-spacing: 0;
  }

  body[data-page="paid"] #paid-times .lb-table th:first-child,
  body[data-page="paid"] #paid-times .lb-table td:first-child,
  body[data-page="paid"] #paid-times .table th:first-child,
  body[data-page="paid"] #paid-times .table td:first-child {
    width: 34px;
  }

  .paid-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .achievement-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .achievement-item img {
    width: auto;
    height: 59px;
  }

  .achievement-label {
    font-size: 8px;
  }
}
.list {
  display: grid;
  gap: 10px;
}

.home-event-group {
  display: grid;
  gap: 6px;
}

.list-item {
  background: var(--sky);
  color: #fff;
  border-radius: 8px;
  min-height: 36px;
  padding: 6px 9px 6px 11px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18);
  width: 100%;
}

.list-item-button {
  border: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  width: 100%;
  appearance: none;
}

.home-event-group-toggle {
  justify-items: stretch;
}

.home-event-group-chevron {
  width: 18px;
  height: 18px;
  transition: transform 0.18s ease;
}

.home-resource-chevron {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.home-event-group-toggle.expanded .home-event-group-chevron {
  transform: rotate(180deg);
}

.home-event-group-toggle.expanded .home-resource-chevron {
  transform: rotate(180deg);
}

.home-event-group-days {
  display: grid;
  gap: 6px;
  padding: 0 4px 0 14px;
}

.home-resource-group-links {
  padding-left: 12px;
}

.home-resource-link {
  text-decoration: none;
}

/* Make Riders & Teams + Resources toggles stand out from past-event pills */
.home-group-riders-teams .home-event-group-toggle,
.home-group-resources .home-event-group-toggle {
  background: linear-gradient(180deg, #005f99 0%, #004b79 100%);
}

.home-group-riders-teams .home-event-group-toggle .pill,
.home-group-resources .home-event-group-toggle .pill {
  background: #00395e;
}

.home-group-resources .home-event-group-toggle {
  background: #0c192f;
  border: 1px solid #2f405e;
  box-shadow: none;
}

.home-group-resources .home-event-group-toggle .pill {
  background: #0c192f;
  border: 1px solid #2f405e;
}

.home-resource-link-disabled {
  cursor: default;
}

.home-event-day-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 7px 8px 7px 10px;
  border-radius: 8px;
  background: rgba(0, 95, 153, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 95, 153, 0.14);
}

.home-event-day-label {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
}

.home-event-day-view {
  min-width: 52px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #005f99;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18);
}

.home-event-day-view:focus-visible,
.home-event-day-view:hover {
  background: #004b79;
}

.list-item .item-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
}

.list-item .item-subtitle {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  line-height: 1.35;
}

.list-item-disabled {
  opacity: 0.72;
  cursor: not-allowed;
}

#notification-toggle-btn {
  background: linear-gradient(180deg, #005f99 0%, #004b79 100%);
}

#notification-toggle-btn #notification-toggle-pill {
  background: #00395e !important;
  color: #fff;
}

#notification-toggle-subtitle {
  font-size: 10px;
}

.notification-history-item {
  background: linear-gradient(180deg, #d93a3f 0%, #b61f29 100%);
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 10px;
}

.notification-history-main {
  min-width: 0;
}

.notification-history-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.notification-history-item.unread {
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.28);
}

.notification-history-time {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  line-height: 1.2;
}

.notification-dismiss-btn {
  border: none;
  cursor: pointer;
  font: 700 13px/1 var(--font-subtext);
  background: #004b79;
}

.notification-delete-btn {
  border: none;
  cursor: pointer;
  background: #7f151d;
  color: #fff;
  min-width: 30px;
  padding: 7px 10px;
  font: 800 13px/1 var(--font-subtext);
}

.admin-history-title {
  margin-top: 16px;
}

.list-item.live-card {
  background: var(--sky);
}

.list-item.list-item-resource {
  background: #0c192f;
  border: 1px solid #2f405e;
  box-shadow: none;
}

.list-item.list-item-resource .pill {
  background: #0c192f;
  border: 1px solid #2f405e;
}

.list-item.list-item-featured-class,
.list-item.list-item-all-class-groups {
  background: #0c192f;
  border: 1px solid #2f405e;
  box-shadow: none;
}

.list-item.list-item-featured-class .pill,
.list-item.list-item-all-class-groups .pill {
  background: #0c192f;
  border: 1px solid #2f405e;
  box-shadow: none;
}

/* Expanded rows on home resources/groups should match past-event expanded row style */
.home-resource-group-links .list-item.list-item-resource {
  min-height: 34px;
  padding: 7px 8px 7px 10px;
  border-radius: 8px;
  background: #0c192f;
  border: 1px solid #2f405e;
  box-shadow: none;
}

.list-item.live-card .item-title {
  font-size: 14px;
}

.list-item.live-card .item-subtitle {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  letter-spacing: 0.03em;
}

.home-live-event-stack {
  display: grid;
  gap: 8px;
}

.home-live-followed {
  display: grid;
  gap: 8px;
}

.home-live-followed-toolbar {
  display: flex;
}

.home-live-followed-select {
  width: 100%;
}

.item-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.item-count {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.92;
  white-space: nowrap;
}

.pill {
  width: 28px;
  height: 28px;
  background: #0c192f;
  border: 1px solid #2f405e;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

.pill.placeholder {
  opacity: 0.95;
}

.list-item-alert {
  background: #d92727;
}

.list-item-alert .pill {
  background: #a61111;
}

.pill .back-icon {
  width: 18px;
  height: 18px;
}

.home-upcoming-start-pill {
  width: auto;
  min-width: 124px;
  padding: 0 10px;
  white-space: nowrap;
  font-size: 9px;
  line-height: 1;
}

.home-group-photography .section-title {
  margin-bottom: 8px;
}

.home-photo-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(130px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.home-photo-grid::-webkit-scrollbar {
  display: none;
}

.home-photo-card {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  text-decoration: none;
  background: linear-gradient(180deg, #0a1f46 0%, #071734 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 2px rgba(57, 124, 204, 0.45);
  overflow: hidden;
}

.home-recent-subtitle {
  margin: 10px 2px 6px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 10px;
  letter-spacing: 0.06em;
}

.home-photo-card-label {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border-radius: 7px;
  padding: 8px 8px;
  text-align: center;
  background: #3f8fe0;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.home-hscroll-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.home-hscroll-grid::-webkit-scrollbar {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .desktop-drag-scroll {
    cursor: grab;
  }

  .desktop-drag-scroll.is-dragging {
    cursor: grabbing;
    user-select: none;
  }
}

.home-data-card {
  border-radius: 12px;
  background: #0c192f;
  border: 1px solid #2f405e;
  padding: 10px;
  min-height: 128px;
}

button.home-data-card {
  width: 100%;
  text-align: left;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.home-leaderboard-card {
  overflow: hidden;
}

.home-data-empty {
  color: rgba(255, 255, 255, 0.75);
  font-size: 10px;
}

.home-data-card-title {
  font-size: 11px;
  line-height: 1.2;
  margin-bottom: 6px;
}

.home-data-card-subtitle,
.home-data-card-meta {
  color: rgba(255, 255, 255, 0.85);
  font-size: 10px;
  line-height: 1.2;
}

.home-achievement-card {
  display: grid;
  gap: 8px;
  aspect-ratio: auto;
  min-height: 0;
  height: 108px;
  max-height: 108px;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.home-past-events-strip {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
}

.home-past-events-strip::-webkit-scrollbar {
  display: none;
}

.home-past-event-box {
  flex: 0 0 250px;
  border: 1px solid #2f6fb1;
  border-radius: 10px;
  background: #0c192f;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.06);
  color: #fff;
  text-align: left;
  text-decoration: none;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
  align-content: start;
  cursor: pointer;
}

.home-past-event-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

.home-past-event-logo {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
}

.home-past-events-strip.dragging {
  cursor: grabbing;
}

.home-past-event-title {
  font-size: clamp(10px, 2.5vw, 12px);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-past-event-date {
  font-size: 11px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.9);
}

.home-past-event-meta {
  font-size: clamp(8px, 2vw, 10px);
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.82);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-past-event-day-dialog {
  width: min(420px, 94vw);
}

.home-past-event-day-buttons {
  display: grid;
  gap: 8px;
}

.home-past-event-day-btn {
  display: block;
  width: 100%;
  border-radius: 8px;
  border: 1px solid #2f405e;
  background: #134a78;
  color: #fff;
  text-align: center;
  padding: 9px 10px;
  font-size: 11px;
  line-height: 1;
  text-decoration: none;
}

.home-achievement-card-head {
  display: grid;
  align-items: center;
  justify-items: center;
}

.home-achievement-card-icon {
  width: 70px;
  height: 70px;
  object-fit: contain;
}

.home-achievement-card-rider {
  font-size: 10px;
  line-height: 1.2;
}

.home-achievement-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  place-items: center;
  padding: 14px;
  background: rgba(0, 0, 0, 0.72);
}

.home-achievement-detail-dialog {
  width: min(520px, 96vw);
  border-radius: 12px;
  background: #0c192f;
  border: 1px solid #2f405e;
  padding: 12px;
  position: relative;
}

.home-local-followed-card {
  cursor: pointer;
}

.home-achievement-detail-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1px solid #2f405e;
  background: #0c192f;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.home-achievement-detail-head {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

.home-achievement-detail-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.home-achievement-detail-title {
  font-size: 12px;
  line-height: 1.2;
}

.home-achievement-detail-rider {
  margin-top: 2px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.82);
}

.home-achievement-detail-desc {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.84);
  margin-bottom: 8px;
}

.home-achievement-detail-evidence {
  display: grid;
  gap: 4px;
}

.home-achievement-detail-line {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.78);
}

.home-data-card-meta {
  color: rgba(255, 255, 255, 0.68);
  margin-top: 2px;
}

.home-data-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  width: 100%;
  min-height: 30px;
  border-radius: 8px;
  background: #2d6aa8;
  color: #fff;
  font-size: 10px;
  text-decoration: none;
}

.home-mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9px;
}

.home-mini-table th,
.home-mini-table td {
  padding: 3px 2px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}

.home-mini-table th {
  color: rgba(255, 255, 255, 0.68);
  font-size: 8px;
}

.home-team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.home-team-card {
  border-radius: 12px;
  background: #0c192f;
  border: 1px solid #2f405e;
  padding: 10px;
}

.home-team-card-title {
  font-size: 11px;
  margin-bottom: 6px;
}

.home-team-list {
  display: grid;
  gap: 4px;
}

.home-team-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 6px;
  align-items: center;
  min-height: 20px;
  font-size: 9px;
}

.home-team-rank {
  color: rgba(255, 255, 255, 0.75);
}

.home-team-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-team-points {
  color: #a6d2ff;
}

.home-team-empty {
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
}

.home-team-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  width: 100%;
  min-height: 30px;
  border-radius: 8px;
  background: #2d6aa8;
  color: #fff;
  font-size: 10px;
  text-decoration: none;
}

.home-team-actions {
  display: flex;
  grid-column: 1 / -1;
  gap: 8px;
  align-items: stretch;
  justify-content: center;
  flex-wrap: nowrap;
}

.home-team-action-btn {
  margin-top: 0;
  min-height: 34px;
  white-space: nowrap;
  width: auto;
  padding: 0 12px;
}

.home-group-pro-points .home-hscroll-grid {
  grid-auto-columns: minmax(250px, 1fr);
  gap: 10px;
}

.home-pro-points-card {
  min-width: 0;
  overflow: hidden;
}

.home-pro-points-rows {
  display: grid;
  gap: 4px;
  margin-top: 4px;
}

.home-pro-points-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 6px;
  align-items: center;
  min-height: 20px;
  font-size: 10px;
}

.home-pro-points-rank {
  color: rgba(255, 255, 255, 0.72);
  font-weight: 700;
}

.home-pro-points-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.home-pro-points-score {
  color: #a6d2ff;
  font-weight: 700;
}

.home-pro-points-link {
  margin-top: 12px;
}

.page-pro-points {
  width: min(1080px, 100%);
}

.pro-points-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 360px);
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.pro-points-class-select {
  min-height: 38px;
}

.pro-points-meta {
  margin-bottom: 10px;
}

.pro-points-list {
  display: grid;
  gap: 10px;
}

.pro-points-rider-card {
  overflow: hidden;
}

.pro-points-rider-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  white-space: nowrap;
}

.pro-points-rider-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pro-points-rounds-toggle {
  min-width: 54px;
}

.pro-points-rounds {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  display: grid;
  gap: 6px;
}

.pro-points-round-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  justify-items: stretch;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  padding: 4px 7px;
  font-size: 10px;
}

.pro-points-round-main {
  display: grid;
  gap: 1px;
  min-width: 0;
  line-height: 1.05;
  justify-items: start;
  text-align: left;
}

.pro-points-round-event {
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pro-points-round-side {
  display: grid;
  gap: 1px;
  justify-items: end;
  line-height: 1.05;
  text-align: right;
}

.pro-points-round-meta {
  color: rgba(255, 255, 255, 0.76);
  white-space: nowrap;
}

.pro-points-round-date {
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
}

.pro-points-round-points {
  color: #d7edff;
  font-weight: 700;
  white-space: nowrap;
}

.pro-points-round-empty {
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
}

@media (max-width: 767px) {
  .home-pro-points-row {
    font-size: 9px;
  }

  .pro-points-toolbar {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .pro-points-rider-row {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 8px;
  }

  .pro-points-rider-points {
    grid-column: auto;
  }

  .pro-points-rounds-toggle {
    grid-column: auto;
  }

  .pro-points-round-row {
    grid-template-columns: minmax(0, 1fr) auto;
    font-size: 10px;
  }

  .pro-points-round-date {
    display: none;
  }
}

@media (min-width: 768px) {
  body[data-page="pro-points"] .page.page-pro-points {
    padding-top: calc(var(--hero-overlay-height) + 34px + var(--page-top-gap));
  }

  body[data-page="home"] #home-admin-nav .home-primary-nav-buttons {
    width: min(980px, 100%);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
  }

  body[data-page="home"] .home-primary-nav-buttons .home-icon-nav-btn {
    flex: 1 1 168px;
    min-width: 168px;
    max-width: 210px;
  }

  .home-team-actions {
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    flex-wrap: nowrap;
  }

  .home-team-action-btn {
    width: auto;
    white-space: nowrap;
  }
}

#home-recent-achievements-list {
  grid-auto-columns: minmax(150px, 150px);
}

.home-achievement-card {
  padding: 6px;
  gap: 5px;
}

.home-achievement-card-icon {
  width: 58px;
  height: 58px;
}

.home-achievement-card-rider {
  font-size: 9px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  text-align: center;
  justify-self: center;
}

#home-timing-leaderboards-list {
  grid-auto-columns: minmax(420px, 1fr);
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(24, 242, 0, 0.7);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(24, 242, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(24, 242, 0, 0);
  }
}

.tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}

.tab {
  background: var(--sky);
  border: none;
  color: #fff;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.tab.active {
  background: var(--sky-dark);
}

.tab-panel {
  display: grid;
  gap: 12px;
}

.hidden,
[hidden] {
  display: none !important;
}

.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.table th,
.table td {
  padding: 6px 6px;
  text-align: center;
  color: #e7f3ff;
  white-space: nowrap;
}

.finish-strong {
  font-weight: 700;
  font-size: inherit;
}

.leaderboard {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  padding: 8px;
  margin-bottom: 14px;
}

.track-results-controls {
  margin-bottom: 14px;
}

.track-contact-list {
  display: grid;
  gap: 12px;
}

.track-contact-item {
  grid-template-columns: 1fr;
  text-decoration: none;
}

.track-contact-link {
  cursor: pointer;
}

.track-contact-link:focus-visible,
.track-contact-link:hover {
  filter: brightness(1.06);
}

.school-panel-actions {
  margin-bottom: 12px;
}

.school-schedule-editor,
.school-profile-editor {
  margin-bottom: 16px;
}

.school-schedule-card {
  grid-template-columns: 52px minmax(0, 1fr) auto;
}

.school-inline-remove {
  align-self: center;
  min-width: 92px;
}

.school-training-panel {
  display: grid;
  gap: 14px;
}

.school-training-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.school-training-selector {
  flex: 1 1 220px;
}

.school-training-visibility {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.school-rider-training-summary {
  margin-bottom: 4px;
}

.school-rider-training-meta {
  color: rgba(231, 243, 255, 0.82);
  font-size: 11px;
}

.school-settings-block {
  margin-top: 18px;
}

.school-settings-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.school-settings-search-results {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.school-search-item,
.school-roster-item {
  grid-template-columns: 1fr auto;
  align-items: center;
}

.school-public-roster {
  margin-top: -2px;
}

.track-schedule-panel {
  margin-bottom: 14px;
}

.track-schedule-list {
  display: grid;
  gap: 14px;
}

.track-schedule-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  min-height: 72px;
  padding: 10px 13px 10px 10px;
  border-radius: 7px;
  background: #005f99;
  color: #fff;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.06);
}

.track-schedule-date {
  width: 48px;
  overflow: hidden;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
}

.track-schedule-month {
  padding: 3px 2px 2px;
  background: #004b79;
  color: #fff;
  font-size: 7px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.track-schedule-day {
  min-height: 38px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #004b79;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.05em;
}

.track-schedule-copy {
  min-width: 0;
  color: #fff;
}

.track-schedule-title {
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.track-schedule-detail,
.track-schedule-description {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 8.5px;
  font-weight: 600;
  line-height: 1.28;
}

.track-schedule-description {
  font-weight: 500;
}

.track-result-class-group {
  margin-bottom: 14px;
}

.track-result-class-title {
  margin: 0 0 5px;
  text-align: left;
}

.track-result-class {
  margin-bottom: 0;
  padding: 10px 14px;
}

.track-result-table {
  width: 100%;
  border-collapse: collapse;
}

.track-result-table th,
.track-result-table td {
  padding: 5px 6px;
  color: #e7f3ff;
  white-space: nowrap;
  text-align: center;
}

.track-result-table th:first-child,
.track-result-table td:first-child {
  text-align: center;
}

.track-result-table th:nth-child(2),
.track-result-table td:nth-child(2) {
  text-align: center;
}

.track-result-table th:nth-child(3),
.track-result-table td:nth-child(3) {
  text-align: center;
}

.lb-table {
  font-size: 11px;
}

.lb-table th {
  font-size: 11px;
  color: #a6c6e6;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.lb-plate {
  width: 44px;
  padding-left: 6px;
  padding-right: 10px;
}

.lb-plate .plate-badge {
  min-width: 32px;
  padding: 2px 4px;
  font-size: 9px;
  margin-right: 0;
}

.lb-name {
  min-width: 120px;
  text-align: center;
  padding-left: 2px;
}

.lb-cell {
  display: grid;
  gap: 2px;
  font-size: 11px;
  color: #cfe6ff;
}

.lb-line {
  display: block;
}

.lb-finish {
  font-weight: 700;
  font-size: 11px;
  color: #e7f3ff;
}

.lb-view-toggle-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.lb-view-toggle {
  display: inline-flex;
  justify-content: center;
  width: auto;
  max-width: 100%;
  margin: 0 auto 10px;
}

.lb-view-btn {
  min-width: 72px;
}

.lb-cut-table .lb-name {
  min-width: 140px;
}

.table th {
  color: #c6d7ee;
  font-weight: 500;
}

.row-alert {
  background: var(--red);
}

.followed-row {
  background: var(--sky);
}

.row-transfer {
  background: transparent;
}

.moto-detail-table {
  border-collapse: separate;
  border-spacing: 0 6px;
}

.moto-detail-table tbody td {
  background: transparent;
}

.moto-detail-table tbody td.transfer-cell {
  border-top: 2px solid rgba(24, 242, 0, 0.42);
  border-bottom: 2px solid rgba(24, 242, 0, 0.42);
}

.moto-detail-table tbody tr.row-transfer td.transfer-cell:first-child {
  border-left: 2px solid rgba(24, 242, 0, 0.42);
  border-radius: 10px 0 0 10px;
}

.moto-detail-table tbody tr.row-transfer td.transfer-cell:last-child {
  border-right: 2px solid rgba(24, 242, 0, 0.42);
  border-radius: 0 10px 10px 0;
}

.helmet-icon {
  width: 18px;
  height: 18px;
  color: var(--navy-deep);
}

.crown-icon {
  width: 20px;
  height: 20px;
  color: #f0cc17;
  vertical-align: middle;
}

.rank-cell {
  text-align: center;
  width: 34px;
}

.rider-row {
  background: var(--sky);
  border-radius: 6px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(10px, 3vw, 18px);
  align-items: center;
  font-size: 11px;
  width: 100%;
}


.rider-row.missing {
  background: var(--red);
}

.rider-row.search-row {
  background: var(--navy-deep);
  grid-template-columns: 1fr;
  overflow: hidden;
}

.rider-row.search-row.hidden {
  display: none;
}

.section-title.hidden {
  display: none;
}

.search-results {
  margin-top: 8px;
}

#paid-event-row {
  margin-bottom: 14px;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}

.search-input {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.1;
}

select.search-input {
  appearance: none;
  -webkit-appearance: none;
  color: #fff;
}

select {
  appearance: none;
  -webkit-appearance: none;
  background-image: var(--select-chevron) !important;
  background-position: right 9px center !important;
  background-repeat: no-repeat !important;
  background-size: 7px 5px !important;
  padding-right: 24px !important;
}

#paid-event-select {
  width: min(360px, 100%);
  font-size: 11px;
}

.rider-row.search-row:has(#paid-event-select) {
  width: min(380px, 100%);
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}

body[data-page="home"] #home-rider-search {
  font-size: 16px;
}

body[data-page="home"] #home-signin-member-id,
body[data-page="home"] #home-signin-code {
  font-size: 16px;
}

@supports (-webkit-touch-callout: none) {
  .search-input {
    transform: scale(0.84);
    transform-origin: left center;
    width: calc(100% / 0.84);
    margin: -1px 0;
  }

  body[data-page="home"] #home-rider-search {
    transform: none;
    transform-origin: initial;
    width: 100%;
    margin: 0;
    font-size: 16px;
  }

  body[data-page="home"] #home-signin-member-id,
  body[data-page="home"] #home-signin-code {
    transform: none;
    transform-origin: initial;
    width: 100%;
    margin: 0;
    font-size: 16px;
  }
}

.follow-row {
  grid-template-columns: auto 1fr auto;
}

.paid-row {
  grid-template-columns: 1fr auto;
}

.follow-link,
.follow-btn {
  min-width: 28px;
  height: 24px;
  padding: 0 8px;
  border-radius: 6px;
  border: none;
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
}

.follow-link {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  background: #006bad;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.follow-btn.active {
  background: var(--sky-dark);
}

.follow-btn.unfollow {
  background: rgba(0, 0, 0, 0.35);
}

.follow-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.rider-class {
  font-size: 11px;
  color: #cfe6ff;
}

.rider-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.follow-row .rider-main {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  white-space: nowrap;
  justify-content: flex-start;
}

.follow-row .rider-name,
.follow-row .rider-class,
.follow-row .rider-transponder {
  white-space: nowrap;
}

.follow-row .rider-name {
  text-align: left !important;
}

.followed-row .rider-transponder {
  display: none;
}

.follow-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}

.paid-times {
  margin-top: 10px;
  width: 100%;
  min-width: 0;
}

body[data-page="paid"] {
  overflow-x: hidden;
}

.paid-times .section-title {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.paid-times .leaderboard {
  max-width: 100%;
  overflow: hidden;
}

.follow-actions .rider-class {
  font-size: 11px;
  color: #cfe6ff;
}

.rider-name {
  font-weight: 600;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rider-country {
  font-weight: 600;
  color: #cfe6ff;
  text-align: center;
  min-width: 32px;
}

.rider-sponsor {
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  color: #cfe6ff;
}

.rider-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.plate-badge {
  min-width: 38px;
  padding: 4px 6px;
  border-radius: 6px;
  text-align: center;
  font-weight: 700;
  display: inline-grid;
  gap: 2px;
  text-transform: uppercase;
  margin-right: 6px;
  width: fit-content;
  max-width: max-content;
  justify-self: start;
  align-self: center;
  white-space: nowrap;
}


.rider-transponder {
  font-size: 11px;
  color: #e7f3ff;
  white-space: nowrap;
  text-align: center;
  min-width: 52px;
}

.lb-table tbody tr + tr td {
  border-top: 1px solid rgba(0, 31, 68, 0.35);
}

.lb-table tbody tr.lb-cutline-separator-row td {
  border-top: 0;
  padding: 0;
}

.lb-cutline-separator-cell {
  padding: 2px 8px 4px !important;
}

.lb-cutline-separator-line {
  display: block;
  width: 100%;
  border-top: 1px solid rgba(124, 201, 255, 0.95);
  box-shadow: 0 0 8px rgba(124, 201, 255, 0.7);
}

.lb-highlight {
  background: rgba(255, 255, 255, 0.25);
}

.hint-pop {
  position: fixed;
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: clamp(9px, 2.6vw, 12px);
  z-index: 50;
  max-width: 95vw;
  width: fit-content;
  white-space: nowrap;
  overflow-x: auto;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.hint-subline {
  margin-top: 4px;
  font-size: 10px;
  color: rgba(190, 225, 255, 0.95);
}

.hint-pop strong {
  display: block;
}

.training-table-scroll {
  width: 100%;
}

.training-lap-table {
  width: 100%;
}

.training-lap-table th,
.training-lap-table td {
  font-size: 10px !important;
}

.training-fastest-time {
  color: #18f200 !important;
  font-weight: 700;
}

@media (max-width: 520px) {
  .rider-row {
    padding: 6px 8px;
    grid-template-columns: auto 1fr auto;
    gap: 8px;
    font-size: 11px;
  }

  .follow-row {
    grid-template-columns: auto 1fr auto;
  }

  .paid-row {
    grid-template-columns: 1fr auto;
  }

  .follow-row .rider-main {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
  }

  .paid-row .rider-name {
    text-align: left !important;
  }

  .follow-row .rider-transponder {
    font-size: 10px;
  }

  .follow-actions {
    flex-direction: row;
    align-items: center;
    gap: 6px;
  }

  .follow-actions .rider-class {
    font-size: 10px;
  }

  .plate-badge {
    min-width: 34px;
    padding: 3px 5px;
    font-size: 10px;
  }

  .rider-country {
    min-width: 28px;
    font-size: 11px;
  }

  .rider-transponder {
    min-width: 48px;
    font-size: 11px;
  }

  .lb-table {
    font-size: 10px;
  }

  .lb-table th,
  .lb-table td {
    padding: 3px 4px;
  }

  .lb-cell {
    font-size: 9px;
  }

  .lb-finish {
    font-size: 10px;
  }

  .moto-detail-table {
    font-size: 8.5px;
  }

  .moto-detail-table th,
  .moto-detail-table td {
    padding: 2px 3px;
  }

  .moto-detail-table .plate-badge {
    min-width: 30px;
    padding: 1px 4px;
    font-size: 8px;
  }

  .moto-detail-table .finish-time-wrap {
    gap: 4px;
  }

  .moto-detail-table .finish-time-photo {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }

  .moto-detail-table .finish-time-photo .icon {
    width: 10px;
    height: 10px;
  }

  .btnsq,
  .btnsq:link,
  .btnsq:visited {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }

  .btnsq .icon {
    width: 22px;
    height: 22px;
  }

  .follow-link,
  .follow-btn {
    min-width: 30px;
    height: 26px;
    font-size: 10px;
  }

  .follow-link {
    width: 34px;
    min-width: 34px;
    height: 34px;
  }

  .back-btn {
    left: 16px;
    top: 16px;
    width: 34px;
    height: 34px;
  }
}

.moto-row {
  background: var(--sky);
  border-radius: 8px;
  min-height: 36px;
  padding: 6px 9px 6px 11px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.14);
}

.moto-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.moto-title {
  font-size: 12.5px;
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
}

.moto-proficiency-legend {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.moto-proficiency-legend-title {
  color: #fff;
  font-weight: 700;
}

.moto-proficiency-legend-codes {
  white-space: nowrap;
  font-size: clamp(8px, 2.4vw, 11px);
}

.moto-meta {
  font-size: 10.5px;
  color: rgba(255,255,255,0.88);
  line-height: 1.1;
}

.btncol {
  display: flex;
  flex-direction: row;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}

.btnsq,
.btnsq:link,
.btnsq:visited {
  width: 36px;
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 10px;
  background: rgba(58,145,206,.42);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.04s ease;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.btnsq:active {
  transform: scale(0.97);
}

.btnsq[aria-disabled="true"] {
  pointer-events: none;
  opacity: 1;
  background: rgba(58,145,206,.42);
}

.btnsq.disabled,
.btnsq.disabled:link,
.btnsq.disabled:visited {
  pointer-events: none;
  background: rgba(58,145,206,.42);
}

.btnsq .icon {
  width: 18px;
  height: 18px;
  color: #eff8ff;
}

.btnsq.active .icon {
  color: #eff8ff;
}

.btnsq.active {
  background: #182b54;
}

.btnsq.active .icon {
  color: #ffffff;
}

.btnsq.photo-finish,
.btnsq.active.photo-finish {
  background: var(--red);
  color: #fff;
}

.btnsq[aria-disabled="true"].photo-finish {
  background: rgba(234,31,39,.78);
}

.finish-time-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.finish-time-photo {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: var(--red);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
}

.finish-time-photo .icon {
  width: 12px;
  height: 12px;
  color: currentColor;
}

.expand {
  margin-top: 6px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.2);
  padding: 8px;
}

.empty {
  text-align: center;
  color: var(--muted);
  padding: 16px;
  font-size: 13px;
}

.live-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #6f7a89;
  display: inline-block;
}

.live-dot.active {
  background: var(--green);
  box-shadow: 0 0 0 0 rgba(24, 242, 0, 0.7);
  animation: pulse 1.1s infinite ease-in-out;
}

.section-title .live-dot {
  margin-left: 6px;
  vertical-align: middle;
}

.teams-countdown {
  text-align: center;
  margin-bottom: 18px;
}

.teams-kicker {
  color: #d8ebff;
  font-size: 13px;
  font-weight: 500;
  margin-top: -8px;
  margin-bottom: 8px;
}

.teams-title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: clamp(28px, 10vw, 42px);
  line-height: 0.95;
  font-weight: 800;
  text-transform: uppercase;
}

.teams-clock {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-items: center;
  gap: 18px;
  margin-top: 0;
  align-items: end;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.teams-clock-value {
  position: relative;
  font-family: var(--font-title);
  font-size: clamp(34px, 12vw, 64px);
  line-height: 0.9;
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  padding-right: 0;
}

.teams-clock-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 6px;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  color: #d8ebff;
  font-size: 12px;
  font-weight: 600;
  justify-items: center;
  text-align: center;
}

.teams-copy {
  margin: 12px auto 0;
  max-width: 320px;
  color: #c2d9f3;
  font-size: 12px;
  line-height: 1.4;
}

.teams-kicker {
  font-size: 15px;
  margin-top: -16px;
  margin-bottom: 18px;
}

.teams-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 18px;
}

.teams-tab {
  border: none;
  border-radius: 8px;
  min-height: 36px;
  background: #0f4d93;
  color: #f0f8ff;
  font: 600 11px/1 var(--font-subtext);
}

.teams-tab-active {
  background: var(--sky);
  color: #00315f;
}

.teams-panel.hidden {
  display: none;
}

.teams-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: nowrap;
}

.teams-title-with-status {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
  white-space: nowrap;
}

.teams-section-head .section-title {
  margin: 0;
}

.teams-section-head > .section-title {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
}

.teams-active-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  margin-left: 2px;
  color: #a9ff9c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.teams-active-indicator.hidden {
  display: none;
}

.teams-section-head .teams-filter-row {
  align-items: center;
  flex: 0 0 auto;
}

.teams-mobile-swap-mobile {
  display: none;
}

.teams-active-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #18f200;
  box-shadow: 0 0 0 rgba(24, 242, 0, 0.7);
  animation: teams-pulse-dot 1.4s ease-out infinite;
}

@keyframes teams-pulse-dot {
  0% {
    transform: scale(0.9);
    box-shadow: 0 0 0 0 rgba(24, 242, 0, 0.72);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(24, 242, 0, 0);
  }

  100% {
    transform: scale(0.9);
    box-shadow: 0 0 0 0 rgba(24, 242, 0, 0);
  }
}

.teams-section-gap {
  margin-top: 20px;
}

.teams-filter-row {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: center;
}

.teams-filter-row-single {
  justify-content: flex-end;
}

.teams-select {
  min-width: 136px;
  border: none;
  border-radius: 6px;
  background: #0f4d93;
  color: #fff;
  padding: 6px 28px 6px 10px;
  font: 600 11px/1.1 var(--font-subtext);
}

.teams-sheet-select {
  width: auto;
  max-width: 92px;
  min-width: 56px;
  border: none;
  border-radius: 4px;
  background: #0f4d93;
  color: #fff;
  padding: 4px 18px 4px 6px;
  font: 600 11px/1 var(--font-subtext);
  outline: none;
}

.teams-sheet-select[data-sheet-select="rider"] {
  min-width: 168px;
  max-width: 220px;
  text-align: left;
  text-align-last: left;
}

.teams-sheet-select[data-sheet-select="class"] {
  direction: ltr;
  padding-left: 6px;
  text-align: left;
  text-align-last: left;
}

body[data-page="teams"] #teams-management-panel .teams-select,
body[data-page="teams"] #teams-management-panel .teams-sheet-select,
body[data-page="teams"] #teams-management-panel select {
  font-size: 10px;
}

#teams-management-sheets .teams-mini-table th:nth-child(1),
#teams-management-sheets .teams-mini-table td:nth-child(1),
#teams-management-sheets .teams-mini-table th:nth-child(2),
#teams-management-sheets .teams-mini-table td:nth-child(2) {
  text-align: left;
  width: 1%;
  white-space: nowrap;
}

.teams-card-stack {
  display: grid;
  gap: 8px;
}

.teams-rank-card {
  background: var(--sky);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18);
}

.teams-rank-summary {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
}

.teams-rank-summary-no-rank {
  grid-template-columns: 1fr auto auto;
}

.teams-rank-pill {
  min-width: 34px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.18);
  padding: 4px 7px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
}

.teams-rank-name {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
}

.teams-rank-points {
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.admin-fantasy-rank-summary {
  grid-template-columns: auto 1fr auto;
}

.teams-toggle-btn {
  min-width: 48px;
  height: 24px;
  border: none;
  border-radius: 6px;
  background: #006bad;
  color: #fff;
  font: 700 11px/1 var(--font-subtext);
  text-transform: lowercase;
}

.teams-card-detail {
  padding: 0 10px 10px;
}

.teams-sheet-box,
.teams-overall-box,
.teams-roster-box {
  background: rgba(0, 31, 68, 0.62);
  border-radius: 6px;
  padding: 8px;
  margin-top: 8px;
}

.teams-sheet-box.used-sheet,
.teams-overall-row.used-sheet {
  box-shadow: inset 0 0 0 2px rgba(24, 242, 0, 0.42);
}

.teams-sheet-head,
.teams-overall-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #d9eeff;
}

.teams-mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.teams-mini-table th,
.teams-mini-table td {
  padding: 4px 5px;
  color: #e7f3ff;
  text-align: center;
  white-space: nowrap;
}

.teams-mini-table th:first-child,
.teams-mini-table td:first-child,
.table th:first-child,
.table td:first-child {
  text-align: left;
}

.teams-mini-table th {
  color: #9ec5ea;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#teams-roster-list .teams-mini-table {
  font-size: 10px;
}

#teams-roster-list .teams-mini-table th,
#teams-roster-list .teams-mini-table td {
  white-space: normal;
}

.teams-overall-box {
  display: grid;
  gap: 6px;
}

.teams-overall-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  align-items: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  padding: 6px 8px;
  font-size: 11px;
}

.teams-overall-meta {
  color: #d7edff;
}

.teams-overall-score {
  font-weight: 700;
}

.teams-used-flag {
  font-size: 11px;
  color: #18f200;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.teams-empty {
  background: rgba(0, 31, 68, 0.42);
  border-radius: 8px;
  padding: 16px 12px;
  color: #c7dff8;
  font-size: 12px;
  text-align: center;
}

.teams-login-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.teams-login-form {
  display: inline-flex;
  gap: 6px;
  background: rgba(17, 78, 145, 0.95);
  padding: 8px;
  border-radius: 10px;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2);
}

.fantasy-auth-actions .teams-login-btn {
  min-width: 112px;
}

body[data-page="fantasy"] .fantasy-auth-actions {
  background: transparent;
  box-shadow: none;
  padding: 0;
  gap: 10px;
}

.fantasy-auth-card {
  text-align: left;
}

.fantasy-auth-form {
  display: grid;
  gap: 8px;
  width: 100%;
}

.fantasy-auth-form .admin-password-input {
  margin-top: 0;
}

.fantasy-auth-form .install-actions {
  margin-top: 6px;
}

.fantasy-auth-form.hidden {
  display: none;
}

.fantasy-auth-card #fantasy-signup-message {
  margin-top: 10px;
  text-align: left;
}

.teams-code-input {
  width: 130px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font: 700 11px/1 var(--font-subtext);
  text-transform: uppercase;
  padding: 0 6px;
  outline: none;
}

.teams-code-input::placeholder {
  color: #d8ebff;
}

.teams-login-btn {
  border: none;
  border-radius: 7px;
  min-width: 56px;
  height: 24px;
  background: var(--sky);
  color: #00315f;
  font: 700 11px/1 var(--font-title);
  text-transform: uppercase;
}

body[data-page="fantasy"] .teams-login-btn {
  background: var(--sky);
  color: #fff;
}

.hero-logout-btn {
  background: var(--sky);
  border: none;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 7px;
}

.hero-help-btn {
  background: var(--sky);
  border: none;
  color: #fff;
}

#fantasy-overall-leaderboard [data-fantasy-toggle-sheets].teams-toggle-btn {
  background: var(--navy);
  color: #fff;
  text-transform: uppercase;
}

.fantasy-save-btn {
  text-transform: uppercase;
  min-width: 88px;
}

#fantasy-active-status {
  display: none;
}

#fantasy-signin-message:empty,
#fantasy-round-meta:empty {
  display: none;
}

body[data-page="fantasy"].fantasy-auth-pending .teams-countdown,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-user-summary-section,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-active-section,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-class-section,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-round-section,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-overall-section {
  display: none !important;
}

body[data-page="fantasy"].fantasy-auth-pending #fantasy-auth-actions,
body[data-page="fantasy"].fantasy-auth-pending #fantasy-signup-message {
  display: none !important;
}

body[data-page="fantasy"].fantasy-auth-pending #fantasy-signin-message {
  min-width: min(100%, 320px);
}

.fantasy-sheet-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.fantasy-sheet-actions .meta {
  margin: 0;
}

body[data-page="fantasy"] .fantasy-day-form .teams-card-stack {
  padding: 10px 12px 12px;
}

#fantasy-class-meta {
  margin-bottom: 10px;
}

#fantasy-class-meta .admin-input {
  margin-bottom: 10px;
}

.fantasy-class-submeta {
  margin-top: 2px;
  font-size: 12px;
  color: #cfe6ff;
}

.fantasy-user-summary {
  display: grid;
  gap: 10px;
}

.fantasy-user-greeting {
  text-align: center;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  color: #e7f3ff;
}

.fantasy-user-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fantasy-user-stat-chip {
  padding: 7px 8px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.04em;
  color: #ffffff;
}

.teams-login-message {
  margin-top: 10px;
  min-height: 18px;
  color: #d8ebff;
  font-size: 11px;
  text-align: center;
}

.fantasy-round-table th,
.fantasy-round-table td {
  text-align: center !important;
}

.fantasy-round-table {
  table-layout: fixed;
  width: 100%;
}

.fantasy-round-table th,
.fantasy-round-table td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fantasy-round-event-select {
  width: 100%;
  max-width: none;
  min-height: 30px;
  padding: 4px 28px 4px 8px;
  font-size: 11px;
}

#fantasy-round-event-meta {
  margin-bottom: 10px;
}

.teams-management.hidden,
.teams-management-section.hidden {
  display: none;
}

#fantasy-riders-list .fantasy-class-rider-row {
  background: #0d2a57;
  border: 2px solid rgba(120, 173, 232, 0.4);
}

#fantasy-riders-list .fantasy-class-rider-row .teams-rank-summary {
  display: flex;
  align-items: center;
}

#fantasy-riders-list .fantasy-class-rider-row .teams-rank-points {
  margin-left: auto;
  text-align: right;
  min-width: 56px;
}

#fantasy-riders-list .fantasy-class-rider-gold {
  border-color: #d8b14f;
}

#fantasy-riders-list .fantasy-class-rider-silver {
  border-color: #bfc8d8;
}

#fantasy-riders-list .fantasy-class-rider-bronze {
  border-color: #b9784a;
}

#fantasy-riders-list .fantasy-class-rider-wildcard {
  box-shadow: inset 0 0 0 1px #19d062;
}

#fantasy-active-sheets .fantasy-day-form .admin-input[data-fantasy-slot^="rider"] {
  width: 172px;
  min-width: 172px;
  max-width: 172px;
}

#fantasy-active-sheets .fantasy-day-form .admin-input[data-fantasy-slot="eventSelection"] {
  width: 200px;
  min-width: 200px;
  max-width: 200px;
}

#fantasy-active-sheets .fantasy-day-form .admin-input:disabled {
  background-image: none !important;
  padding-right: 8px !important;
}

#fantasy-active-header {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.teams-management {
  margin-top: 18px;
}

.teams-management-title {
  margin: 10px 0 18px;
  text-align: center;
  font-size: clamp(11px, 4vw, 14px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

#teams-round-list .teams-rank-name,
#teams-overall-list .teams-rank-name,
#teams-roster-list .teams-rank-name {
  font-size: 12px;
}

#teams-round-list .teams-rank-pill,
#teams-round-list .teams-rank-name,
#teams-round-list .teams-rank-points,
#teams-round-list .teams-toggle-btn,
#teams-round-list .teams-overall-row,
#teams-round-list .teams-used-flag,
#teams-overall-list .teams-rank-pill,
#teams-overall-list .teams-rank-name,
#teams-overall-list .teams-rank-points,
#teams-overall-list .teams-toggle-btn,
#teams-overall-list .teams-overall-row,
#teams-overall-list .teams-used-flag,
#teams-roster-list .teams-rank-pill,
#teams-roster-list .teams-rank-name,
#teams-roster-list .teams-rank-points,
#teams-roster-list .teams-toggle-btn,
#teams-roster-list .teams-mini-table {
  font-size: 10px;
}

.teams-management-section {
  margin-top: 10px;
}

.teams-management-section .teams-filter-row {
  margin-bottom: 10px;
}

.teams-subtabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.teams-subtab {
  border: none;
  border-radius: 8px;
  min-height: 36px;
  padding: 0 16px;
  background: #0f4d93;
  color: #f0f8ff;
  font: 600 11px/1 var(--font-subtext);
}

.teams-subtab-active {
  background: var(--sky);
  color: #00315f;
}

.teams-search-input {
  min-width: 132px;
  border: none;
  border-radius: 6px;
  background: #0f4d93;
  color: #fff;
  padding: 7px 10px;
  font: 600 11px/1.1 var(--font-subtext);
  outline: none;
}

.teams-search-input::placeholder {
  color: #d8ebff;
}

.teams-claim-card {
  background: var(--sky);
  border-radius: 8px;
  padding: 8px 10px;
  display: grid;
  gap: 8px;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18);
}

.teams-claim-row {
  display: grid;
  grid-template-columns: 1fr 92px 76px auto;
  gap: 8px;
  align-items: center;
}

.teams-claim-name {
  font-size: 11px;
  font-weight: 700;
}

.teams-claim-field {
  width: 100%;
  border: none;
  border-radius: 6px;
  background: rgba(0, 31, 68, 0.72);
  color: #fff;
  padding: 7px 8px;
  font: 600 11px/1 var(--font-subtext);
  outline: none;
}

.teams-claim-btn,
.teams-inline-btn {
  border: none;
  border-radius: 6px;
  min-height: 30px;
  padding: 0 10px;
  background: #006bad;
  color: #fff;
  font: 700 11px/1 var(--font-subtext);
}

.teams-claim-btn[disabled] {
  opacity: 0.5;
}

.teams-claim-status {
  min-height: 16px;
  font-size: 11px;
  color: #e6f7ff;
}

.teams-claim-actions {
  margin-top: 10px;
}

.teams-database-table-wrap {
  overflow-x: auto;
}

.teams-management-sheet {
  margin-top: 0;
}

#teams-management-sheets .teams-sheet-head {
  font-size: 9px;
}

#teams-management-sheets .teams-mini-table {
  font-size: 9px;
}

#teams-management-sheets .teams-mini-table tbody td {
  font-family: var(--font-subtext);
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open th,
#teams-management-sheets .teams-mini-table.teams-mini-table-open td {
  padding-left: 4px;
  padding-right: 4px;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open {
  table-layout: auto;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open thead tr,
#teams-management-sheets .teams-mini-table.teams-mini-table-open tbody tr {
  display: grid;
  grid-template-columns: 172px minmax(0, 1fr);
  column-gap: 6px;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open th:nth-child(1),
#teams-management-sheets .teams-mini-table.teams-mini-table-open td:nth-child(1) {
  width: auto;
  white-space: nowrap;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open th:nth-child(2),
#teams-management-sheets .teams-mini-table.teams-mini-table-open td:nth-child(2) {
  width: auto;
  min-width: 0;
  white-space: nowrap;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open .teams-sheet-select[data-sheet-select="rider"] {
  width: 100%;
  min-width: 136px;
  max-width: 176px;
}

#teams-management-sheets .teams-mini-table.teams-mini-table-open .teams-sheet-select[data-sheet-select="class"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
}

#teams-management-sheets .teams-sheet-submit-note {
  font-size: 10px;
}

#teams-management-sheets .teams-inline-btn,
#teams-management-sheets .teams-sheet-select,
#teams-management-sheets .teams-empty,
#teams-management-sheets .meta {
  font-size: 9px;
}

.teams-sheet-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 8px;
}

.teams-sheet-submit-note {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.teams-sheet-submit-note-error {
  color: #ff8d8d;
}

.teams-submit-btn[disabled] {
  opacity: 0.8;
}

@media (min-width: 768px) {
  .page {
    max-width: 980px;
    margin: 0 auto;
    padding: 12px 18px 60px;
  }
}

@media (max-width: 767px) {
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-field-span-2 {
    grid-column: auto;
  }

  .track-results-controls .admin-grid {
    grid-template-columns: minmax(96px, 0.72fr) minmax(0, 1.28fr);
    gap: 6px;
    align-items: center;
  }

  .track-results-controls .admin-select {
    width: 100%;
    min-width: 0;
    padding-left: 8px;
    padding-right: 20px;
  }

  .track-schedule-list {
    gap: 12px;
  }

  .track-schedule-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 9px;
    padding: 9px 9px 9px 8px;
  }

  .school-schedule-card {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .school-inline-remove {
    grid-column: 2 / -1;
    justify-self: end;
  }

  .school-settings-search-row {
    grid-template-columns: 1fr;
  }

  .track-schedule-date {
    width: 44px;
  }

  .track-schedule-month {
    font-size: 6.5px;
  }

  .track-schedule-day {
    min-height: 35px;
    font-size: 24px;
  }

  .track-schedule-title {
    font-size: 9px;
  }

  .track-schedule-detail,
  .track-schedule-description {
    font-size: 7.5px;
    line-height: 1.22;
  }

  .track-result-class {
    padding: 8px 12px;
  }

  .track-result-class-title {
    margin: 0 0 5px;
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .track-result-table {
    table-layout: fixed;
  }

  .track-result-table thead,
  .track-result-table tbody {
    display: block;
    width: 100%;
  }

  .track-result-table tr {
    display: grid;
    grid-template-columns: minmax(42px, 0.65fr) minmax(0, 1.45fr) minmax(66px, 1fr);
    column-gap: 8px;
    align-items: center;
    width: 100%;
  }

  .track-result-table tbody tr + tr {
    margin-top: 4px;
  }

  .track-result-table th,
  .track-result-table td {
    display: block;
    min-width: 0;
    padding: 3px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    font-size: 8.5px;
    letter-spacing: 0;
  }

  .track-day-row {
    grid-template-columns: minmax(72px, 1fr) minmax(0, 62px) minmax(0, 62px);
    gap: 4px;
  }

  .track-day-active {
    min-width: 0;
    gap: 4px;
  }

  .track-day-active span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .track-day-time {
    width: 100%;
    max-width: 62px;
    min-width: 0;
    justify-self: stretch;
    padding: 6px 3px !important;
    font-size: 8px !important;
    line-height: 1.1;
    text-align: center;
  }

  .track-day-time::-webkit-calendar-picker-indicator {
    width: 11px;
    margin: 0;
    padding: 0;
  }

  .admin-team-toolbar,
  .admin-inline-field,
  .admin-sheet-row {
    grid-template-columns: 1fr;
  }

  .admin-sheet-slot {
    width: 100%;
  }

  .teams-mobile-swap-desktop {
    display: none;
  }

  .teams-mobile-swap-mobile {
    display: inline;
  }

  input,
  select,
  textarea {
    font-size: 9px !important;
  }

  input::placeholder,
  textarea::placeholder {
    font-size: 9px !important;
  }

  body[data-page="home"] .admin-panel,
  body[data-page="home"] .admin-panel *,
  body[data-page="home"] .admin-panel input,
  body[data-page="home"] .admin-panel select,
  body[data-page="home"] .admin-panel textarea,
  body[data-page="home"] .admin-panel button,
  body[data-page="home"] .admin-panel .meta,
  body[data-page="home"] .admin-panel .item-title,
  body[data-page="home"] .admin-panel .notification-history-time,
  body[data-page="home"] .admin-panel .admin-roster-meta,
  body[data-page="home"] .admin-panel .admin-sheet-slot {
    font-size: 9pt !important;
    line-height: 1.35;
  }

  body[data-page="home"] .admin-panel input::placeholder,
  body[data-page="home"] .admin-panel textarea::placeholder {
    font-size: 9pt !important;
  }

  body[data-page="home"] #admin-notification-input,
  body[data-page="home"] #admin-notification-input::placeholder {
    font-size: 9px !important;
  }

  .search-input,
  #paid-event-select {
    font-size: 9px !important;
  }

  body[data-page="home"] #home-rider-search,
  body[data-page="home"] #home-rider-search::placeholder {
    font-size: 9px !important;
    line-height: 1.2;
  }

  body[data-page="home"] #home-signin-member-id,
  body[data-page="home"] #home-signin-member-id::placeholder,
  body[data-page="home"] #home-signin-code,
  body[data-page="home"] #home-signin-code::placeholder {
    font-size: 9px !important;
    line-height: 1.2;
  }

  body[data-page="home"] #home-rider-search {
    transform: none !important;
    transform-origin: initial !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body[data-page="home"] #home-signin-member-id,
  body[data-page="home"] #home-signin-code {
    transform: none !important;
    transform-origin: initial !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body {
    font-size: 9px;
  }

  .install-card {
    padding: 22px 16px 16px;
    border-radius: 22px;
  }

  .install-title {
    font-size: 20px;
  }

  .lb-name {
    display: none;
  }

  .hint-pop {
    font-size: 9px;
  }

  .training-table-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-radius: 8px;
    position: relative;
  }

  .training-table-scroll::-webkit-scrollbar {
    display: none;
  }

  .training-lap-table {
    width: max-content;
    min-width: calc(64px + (3 * 88px));
    table-layout: fixed;
  }

  .training-lap-table th,
  .training-lap-table td {
    min-width: 88px;
    font-size: 13px;
    padding: 7px 8px;
  }

  .training-lap-table th:first-child,
  .training-lap-table td:first-child {
    min-width: 64px;
    position: sticky;
    left: 0;
    z-index: 8;
    background: #0c192f;
    background-clip: padding-box;
    position: sticky;
  }

  .training-lap-table th:first-child,
  .training-lap-table td:first-child {
    position: sticky;
    left: 0;
  }

  .training-lap-table th:first-child::after,
  .training-lap-table td:first-child::after {
    content: "";
    position: absolute;
    top: 0;
    right: -18px;
    width: 18px;
    height: 100%;
    background: linear-gradient(to right, rgba(12, 25, 47, 0.96), rgba(12, 25, 47, 0));
    pointer-events: none;
  }

  .training-lap-table tr > *:first-child {
    box-shadow: none;
  }

  .list-item {
    padding: 6px 8px 6px 10px;
    gap: 6px;
  }

  .list-item .item-title,
  .list-item.live-card .item-title {
    font-size: 11px;
    line-height: 1;
  }

  .home-event-group-days {
    padding-left: 10px;
  }

  .home-event-day-row {
    min-height: 30px;
    padding: 6px 6px 6px 8px;
    gap: 8px;
  }

  .home-resource-group-links .list-item.list-item-resource {
    min-height: 30px;
    padding: 6px 6px 6px 8px;
    gap: 8px;
  }

  .home-event-day-label {
    font-size: 10px;
  }

  .home-event-day-view {
    min-width: 46px;
    padding: 5px 8px;
    font-size: 10px;
    border-radius: 7px;
  }

  .item-count,
  .list-item.live-card .item-subtitle {
    font-size: 11px;
  }

  .pill {
    width: 24px;
    height: 24px;
    border-radius: 7px;
  }

  .home-upcoming-start-pill {
    min-width: 112px;
    padding: 0 8px;
    font-size: 8px;
  }

  .pill .back-icon {
    width: 15px;
    height: 15px;
  }

  .teams-tab,
  .teams-subtab,
  .teams-toggle-btn,
  .teams-login-btn,
  .teams-inline-btn,
  .teams-claim-btn {
    font-size: 9pt;
  }

  .teams-tab,
  .teams-subtab {
    min-height: 32px;
  }

  .teams-filter-row {
    gap: 6px;
  }

  .teams-select {
    min-width: 0;
    flex: 1 1 0;
    padding: 6px 22px 6px 8px;
    font-size: 9pt;
  }

  #round-event-select {
    flex: 1 1 auto;
    min-width: 0;
  }

  #round-category-select,
  #overall-category-select,
  #roster-category-select {
    flex: 0 0 78px;
    width: 78px;
    min-width: 78px;
    max-width: 78px;
  }

  .teams-search-input {
    min-width: 0;
    font-size: 9pt;
    padding: 6px 8px;
  }

  .teams-rank-summary {
    gap: 8px;
    padding: 8px;
  }

  .teams-rank-pill,
  .teams-rank-name,
  .teams-rank-points {
    font-size: 9pt;
  }

  .teams-sheet-select {
    max-width: 72px;
    min-width: 46px;
    font-size: 9pt;
    padding: 4px 14px 4px 5px;
  }

  .teams-sheet-select[data-sheet-select="rider"] {
    min-width: 96px;
    max-width: 120px;
  }

  .teams-code-input,
  .teams-claim-field {
    font-size: 9pt;
  }

  body[data-page="teams"] .teams-code-input,
  body[data-page="teams"] .teams-claim-field,
  body[data-page="teams"] .teams-search-input,
  body[data-page="teams"] .teams-select,
  body[data-page="teams"] .teams-sheet-select,
  body[data-page="teams"] #teams-management-panel input,
  body[data-page="teams"] #teams-management-panel select,
  body[data-page="teams"] #teams-standings-panel input,
  body[data-page="teams"] #teams-standings-panel select {
    font-size: 9pt !important;
  }

  body[data-page="teams"] #teams-management-panel .teams-select,
  body[data-page="teams"] #teams-management-panel .teams-sheet-select,
  body[data-page="teams"] #teams-management-panel select {
    font-size: 8pt !important;
  }

  .teams-mini-table,
  .teams-sheet-head,
  .teams-overall-row,
  .teams-used-flag,
  .teams-empty,
  .teams-login-message,
  .teams-claim-name,
  .teams-claim-status,
  .teams-copy,
  .teams-clock-labels,
  .teams-kicker {
    font-size: 9pt;
  }

  .teams-kicker {
    font-size: 11px;
  }

  body[data-page="fantasy"] .fantasy-round-table th,
  body[data-page="fantasy"] .fantasy-round-table td {
    font-size: 8pt !important;
    padding: 3px 2px;
  }

  body[data-page="fantasy"] #fantasy-round-section .meta {
    font-size: 10px !important;
  }

  body[data-page="fantasy"] #fantasy-round-section .teams-empty {
    font-size: calc(9pt - 2px) !important;
  }

  body[data-page="fantasy"] #fantasy-round-section .fantasy-round-table th,
  body[data-page="fantasy"] #fantasy-round-section .fantasy-round-table td {
    font-size: calc(8pt - 2px) !important;
  }

  body[data-page="fantasy"] .fantasy-round-table th:nth-child(1),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(1) {
    width: 12%;
  }

  body[data-page="fantasy"] .fantasy-round-table th:nth-child(2),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(2) {
    width: 40%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.15;
  }

  body[data-page="fantasy"] .fantasy-round-table th:nth-child(3),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(3),
  body[data-page="fantasy"] .fantasy-round-table th:nth-child(4),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(4),
  body[data-page="fantasy"] .fantasy-round-table th:nth-child(5),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(5),
  body[data-page="fantasy"] .fantasy-round-table th:nth-child(6),
  body[data-page="fantasy"] .fantasy-round-table td:nth-child(6) {
    width: 12%;
  }

  .teams-countdown {
    margin-top: 5px;
  }

  #teams-roster-list .teams-mini-table {
    font-size: 8pt;
  }

  #teams-roster-list .teams-mini-table th,
  #teams-roster-list .teams-mini-table td {
    padding: 3px 4px;
    line-height: 1.15;
    white-space: normal;
  }

  #teams-management-roster .teams-mini-table th:nth-child(2),
  #teams-management-roster .teams-mini-table td:nth-child(2),
  #teams-management-roster .teams-mini-table th:nth-child(3),
  #teams-management-roster .teams-mini-table td:nth-child(3),
  #teams-management-roster .teams-mini-table th:nth-child(4),
  #teams-management-roster .teams-mini-table td:nth-child(4) {
    display: none;
  }

  #teams-management-sheets .teams-sheet-head {
    font-size: 7pt;
  }

  #teams-management-sheets .teams-mini-table {
    font-size: 7pt;
  }

  #teams-management-sheets .teams-inline-btn,
  #teams-management-sheets .teams-sheet-select,
  #teams-management-sheets .teams-empty,
  #teams-management-sheets .meta {
    font-size: 7pt;
  }

  #teams-management-sheets .teams-sheet-submit-note {
    font-size: 8pt;
  }
}

@media (max-width: 767px) {
  .logo,
  .hero-title,
  .list-item.live-card .item-title,
  .home-rider-search-name,
  .back-btn,
  .follow-link,
  .track-schedule-day,
  .install-title,
  .rider-profile-name,
  .rider-profile-back-arrow,
  .rider-trophy-place {
    font-size: 12px !important;
  }
}

@media (max-width: 767px) {
  body[data-page="teams"] #teams-management-roster,
  body[data-page="teams"] #teams-management-roster *,
  body[data-page="teams"] #teams-management-riders,
  body[data-page="teams"] #teams-management-riders *,
  body[data-page="teams"] #teams-management-riders input,
  body[data-page="teams"] #teams-management-riders input::placeholder,
  body[data-page="teams"] #teams-management-riders select,
  body[data-page="teams"] #teams-management-riders button,
  body[data-page="teams"] #teams-management-roster input,
  body[data-page="teams"] #teams-management-roster input::placeholder,
  body[data-page="teams"] #teams-management-roster select,
  body[data-page="teams"] #teams-management-roster button {
    font-size: 10px !important;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table td.teams-city-cell {
    font-size: 8px !important;
  }

  body[data-page="teams"] #teams-management-riders .teams-database-table-wrap {
    overflow-x: hidden;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table {
    table-layout: fixed;
    width: 100%;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table th,
  body[data-page="teams"] #teams-management-riders .teams-mini-table td {
    padding: 2px 3px;
    line-height: 1.1;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table th:nth-child(2),
  body[data-page="teams"] #teams-management-riders .teams-mini-table td:nth-child(2) {
    width: 34px;
    text-align: center;
    white-space: nowrap;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table th:last-child,
  body[data-page="teams"] #teams-management-riders .teams-mini-table td:last-child {
    width: 52px;
    text-align: right;
    white-space: nowrap;
  }

  body[data-page="teams"] #teams-management-riders .teams-mini-table td.teams-city-cell {
    max-width: 58px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body[data-page="teams"] #teams-management-riders .teams-inline-btn {
    padding: 3px 5px;
    min-width: 44px;
    line-height: 1.05;
  }
}

body[data-page="rider"] .page,
body[data-page="rider"] #rider-feed,
body[data-page="rider"] #rider-times,
body[data-page="rider"] #rider-trophy-content,
body[data-page="home"] #home-rider-profile-panel,
body[data-page="home"] #home-rider-profile-panel #rider-feed,
body[data-page="home"] #home-rider-profile-panel #rider-times,
body[data-page="home"] #home-rider-profile-panel #rider-trophy-content,
body[data-page="home"] #home-rider-profile-panel #rider-achievements,
body[data-page="rider"] #rider-achievements {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body[data-page="home"] #home-rider-profile-panel,
.rider-page {
  display: grid;
  gap: 16px;
}

#rider-profile-ui-shell {
  display: grid;
  gap: 14px;
}

body[data-page="home"] #home-rider-profile-panel {
  padding-top: 10px;
}

#home-feed-panel {
  display: grid;
  gap: 12px;
  padding-top: 10px;
}

.home-feed-secondary-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}

.home-feed-secondary-nav .admin-nav-btn {
  width: 100%;
  justify-self: stretch;
  white-space: nowrap;
  font-size: 11px;
}

.rider-profile-status-wrap {
  margin-bottom: 12px;
}

.home-rider-meta {
  font-size: 10px;
  line-height: 1.25;
  color: #b8d8ff;
}

.home-rider-search-main {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}

.home-rider-search-clickable {
  cursor: pointer;
}

.home-rider-search-name {
  flex: 0 1 auto;
  min-width: 0;
  font-size: 14px;
}

.home-rider-meta-inline {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.1;
}

.rider-profile-card {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 14px;
}

.rider-profile-headbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.rider-profile-back-arrow {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border: none;
  border-radius: 999px;
  background: rgba(17, 135, 255, 0.2);
  color: #dff1ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.rider-profile-account-switch {
  margin-left: auto;
  min-width: 0;
  width: min(220px, 100%);
  display: flex;
  justify-content: flex-end;
}

.rider-profile-account-select {
  width: 100%;
  white-space: nowrap;
  background: rgba(18, 182, 255, 0.22);
  color: #eaf6ff;
  box-shadow: inset 0 0 0 1px rgba(215, 235, 255, 0.18);
}

.home-profile-switch-sheet {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px 14px calc(18px + env(safe-area-inset-bottom, 0));
}

.home-profile-switch-backdrop {
  position: absolute;
  inset: 0;
  border: none;
  background: rgba(0, 10, 22, 0.46);
}

.home-profile-switch-dialog {
  position: relative;
  width: min(100%, 360px);
  border-radius: 18px;
  padding: 12px;
  background: linear-gradient(180deg, rgba(9, 66, 121, 0.98) 0%, rgba(5, 40, 79, 0.98) 100%);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.home-profile-switch-handle {
  width: 42px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 10px;
  background: rgba(219, 236, 255, 0.38);
}

.home-profile-switch-title {
  margin-bottom: 10px;
  text-align: left;
}

.home-profile-switch-list {
  display: grid;
  gap: 8px;
}

.home-profile-switch-option {
  width: 100%;
  border: none;
  border-radius: 12px;
  padding: 11px 12px;
  background: rgba(18, 182, 255, 0.14);
  color: #f3faff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  box-shadow: inset 0 0 0 1px rgba(215, 235, 255, 0.12);
}

.home-profile-switch-option.active {
  background: rgba(18, 182, 255, 0.24);
  box-shadow: inset 0 0 0 1px rgba(215, 235, 255, 0.26);
}

body[data-page="home"] #home-rider-profile-panel .rider-profile-card,
body[data-page="home"] #home-rider-profile-panel .rider-profile-tabs,
body[data-page="home"] #home-rider-profile-panel .rider-profile-filters,
body[data-page="home"] #home-rider-profile-panel #rider-feed,
body[data-page="home"] #home-rider-profile-panel #rider-trophy-content,
body[data-page="home"] #home-rider-profile-panel #rider-times,
body[data-page="home"] #home-rider-profile-panel #rider-achievements {
  margin-top: 0;
}

.rider-profile-top {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.rider-avatar-button {
  width: 84px;
  height: 84px;
  border: none;
  border-radius: 14px;
  background: #0c56a6;
  padding: 0;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.rider-avatar-button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rider-avatar-button.is-editable {
  cursor: pointer;
}

.rider-profile-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  min-height: 84px;
  gap: 4px;
}

.rider-profile-name-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  width: fit-content;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.rider-profile-name-trigger.is-switchable {
  pointer-events: auto;
  cursor: pointer;
}

.rider-profile-name {
  font-family: var(--font-title);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .rider-profile-name {
    font-size: 14px !important;
  }
}

.rider-profile-name-caret {
  width: 12px;
  height: 12px;
  min-width: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #cfe6ff;
}

.rider-profile-name-caret svg {
  width: 100%;
  height: 100%;
  display: block;
}

.rider-profile-meta,
.rider-profile-avatar-status {
  font-size: 11px;
  color: #d7ebff;
  line-height: 1.2;
}

.rider-profile-avatar-status {
  min-height: 13px;
}

.rider-profile-connections-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.rider-connection-chip {
  border: none;
  border-radius: 999px;
  background: rgba(18, 182, 255, 0.18);
  color: #eaf6ff;
  padding: 5px 10px;
  font: 600 10px/1 var(--font-subtext);
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(215, 235, 255, 0.18);
}

.rider-profile-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.rider-profile-actions.single-action {
  grid-template-columns: minmax(0, 1fr);
}

.rider-claim-btn {
  white-space: nowrap;
  min-width: 0;
  width: 100%;
  justify-content: center;
  padding: 7px 10px;
  font-size: 10px;
  line-height: 1;
  border-radius: 999px;
}

.rider-follow-btn {
  min-width: 0;
  width: 100%;
  justify-content: center;
  padding: 7px 10px;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}

.rider-active-event-group .list-item {
  min-height: 40px;
}

.rider-active-event-summary {
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

.rider-live-class-box {
  padding: 8px;
  margin-bottom: 6px;
  border-radius: 8px;
  background: rgba(10, 17, 31, 0.68);
  border: 1px solid rgba(104, 142, 188, 0.34);
}

.rider-live-class-box:last-child {
  margin-bottom: 0;
}

.rider-live-class-title {
  margin: 0 0 6px;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rider-live-moto-wrap {
  overflow-x: auto;
}

.rider-live-moto-table {
  width: max-content;
  min-width: 100%;
}

.rider-live-moto-table th,
.rider-live-moto-table td {
  text-align: center;
  white-space: nowrap;
}

.rider-live-moto-table th:first-child,
.rider-live-moto-table td:first-child {
  text-align: center;
}

.rider-live-training-box .rider-live-moto-table th:first-child,
.rider-live-training-box .rider-live-moto-table td:first-child,
.rider-live-training-box .rider-live-moto-table td.start-cell {
  text-align: center;
}

.rider-profile-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 6px;
}

.rider-profile-tabs.rider-profile-tabs-two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rider-profile-tabs .paid-tab {
  width: 100%;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  border-radius: 8px;
  padding: 10px 8px;
}

.rider-profile-connections-panel {
  display: grid;
  gap: 10px;
}

.rider-connections-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rider-connections-title {
  margin: 0;
}

.rider-connections-back {
  width: 32px;
  height: 32px;
  min-width: 32px;
}

.rider-connections-list {
  display: grid;
  gap: 8px;
}

.rider-profile-filters {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#rider-training-filter-row,
#rider-training-actions-row {
  justify-content: center;
}

.rider-training-toolbar {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.rider-training-controls-row {
  display: block;
}

@media (min-width: 900px) {
  .rider-training-controls-row {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  #rider-training-filter-row {
    flex: 1 1 auto;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  #rider-training-actions-row {
    flex: 0 0 auto;
    margin-left: auto;
    justify-content: flex-end;
  }

  #rider-training-actions-row .rider-training-toolbar {
    width: auto;
    justify-content: flex-end !important;
    flex-wrap: nowrap;
  }
}

.rider-profile-select {
  width: min(220px, 100%);
  background: var(--navy-deep);
  border-radius: 8px;
  padding: 8px 12px;
}

.rider-training-transponder-select {
  width: min(180px, 100%);
}

.rider-training-refresh-btn {
  min-width: 90px;
  justify-content: center;
}

.rider-training-visibility-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(4, 20, 46, 0.55);
  border: 1px solid rgba(143, 201, 255, 0.18);
}

.rider-training-visibility-btn {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #a9cfff;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.rider-training-visibility-btn.active {
  background: #7ed0ff;
  color: #08213f;
  box-shadow: 0 6px 16px rgba(126, 208, 255, 0.28);
}

.rider-training-visibility-btn:disabled {
  cursor: default;
  opacity: 0.6;
}

.rider-trophy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rider-trophy-card {
  background: rgba(0, 0, 0, 0.24);
  border-radius: 10px;
  padding: 10px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.rider-trophy-kicker {
  width: 100%;
  border-radius: 999px;
  background: rgba(4, 20, 46, 0.45);
  color: #cfe6ff;
  font-size: 8pt;
  line-height: 1.2;
  padding: 3px 6px;
  white-space: normal;
}

.rider-trophy-icon {
  width: 54px;
  height: 54px;
}

.rider-trophy-icon.gold {
  color: #f0cc17;
}

.rider-trophy-icon.silver {
  color: #d7d7d7;
}

.rider-trophy-icon.bronze {
  color: #c47b16;
}

.rider-trophy-icon.dark {
  color: #3d8fd2;
}

.rider-trophy-place {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

.rider-trophy-class {
  min-height: 24px;
  font-size: 10px;
  line-height: 1.2;
  color: #d7ebff;
}

.rider-trophy-event-main,
.rider-trophy-event-day {
  display: block;
}

.rider-trophy-event-day {
  margin-top: 2px;
}

.rider-trophy-local-kicker {
  padding: 4px 5px;
}

.rider-trophy-local-track {
  display: block;
  width: 100%;
  line-height: 1.05;
  letter-spacing: -0.03em;
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
}

.rider-trophy-local-date {
  display: block;
  margin-top: 3px;
  color: #9ec6f2;
  font-size: 7.25px;
  line-height: 1;
  white-space: nowrap;
}

.rider-trophy-link {
  width: 100%;
  justify-content: center;
}

body[data-page="rider"] .paid-local-toolbar,
body[data-page="home"] #home-rider-profile-panel .paid-local-toolbar {
  justify-content: center;
}

.rider-feed-stack {
  display: grid;
  gap: 12px;
}

.rider-feed-compose {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.rider-feed-input-wrap {
  position: relative;
}

.rider-feed-input {
  width: 100%;
  min-height: 92px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: rgba(4, 16, 36, 0.92);
  color: #fff;
  font: 500 13px/1.35 var(--font-subtext);
  padding: 12px 46px 12px 12px;
  resize: vertical;
}

.rider-feed-rich-input {
  overflow-y: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  outline: none;
}

.rider-feed-rich-input:empty::before {
  content: attr(data-placeholder);
  color: rgba(220, 235, 255, 0.55);
  pointer-events: none;
}

.rider-feed-input::placeholder {
  color: rgba(220, 235, 255, 0.55);
}

.rider-feed-mention-popover {
  position: absolute;
  left: 8px;
  right: 8px;
  top: calc(100% + 6px);
  z-index: 12;
  display: grid;
  gap: 4px;
  max-height: 240px;
  overflow-y: auto;
  padding: 6px;
  border-radius: 14px;
  background: rgba(4, 16, 36, 0.98);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.36),
    inset 0 0 0 1px rgba(18, 182, 255, 0.22);
}

.rider-feed-mention-popover.hidden {
  display: none;
}

.rider-feed-mention-option {
  display: grid;
  gap: 2px;
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: rgba(18, 182, 255, 0.1);
  color: #f4faff;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}

.rider-feed-mention-option:hover,
.rider-feed-mention-option:focus-visible {
  background: rgba(18, 182, 255, 0.22);
  outline: none;
}

.rider-feed-mention-option-name {
  font-size: 12px;
  font-weight: 800;
}

.rider-feed-mention-option-meta {
  color: #b8d8ff;
  font-size: 10px;
  font-weight: 600;
}

.rider-feed-mention-token {
  display: inline-block;
  border-radius: 6px;
  background: rgba(18, 182, 255, 0.22);
  color: #9dddff;
  padding: 0 3px;
  font-weight: 800;
}

.rider-feed-upload {
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: none;
  background: rgba(18, 182, 255, 0.18);
  color: #cfe6ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.rider-feed-upload svg {
  width: 16px;
  height: 16px;
}

.rider-feed-preview {
  display: grid;
  gap: 6px;
}

.rider-feed-preview.hidden {
  display: none;
}

.rider-feed-aspect-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rider-feed-aspect-btn {
  min-width: 44px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: none;
  background: rgba(18, 182, 255, 0.16);
  color: #dff1ff;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.rider-feed-aspect-btn.active {
  background: rgba(18, 182, 255, 0.32);
}

.rider-feed-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(4, 16, 36, 0.92);
}

.rider-feed-media.rider-feed-media-clips-card {
  aspect-ratio: 4 / 5;
}

.rider-feed-media[data-feed-media-aspect="1:1"] {
  aspect-ratio: 1 / 1;
}

.rider-feed-media[data-feed-media-aspect="4:3"] {
  aspect-ratio: 4 / 3;
}

.rider-feed-media[data-feed-media-aspect="5:4"] {
  aspect-ratio: 5 / 4;
}

.rider-feed-media[data-feed-media-aspect="4:5"] {
  aspect-ratio: 4 / 5;
}

.rider-feed-media[data-feed-media-aspect="9:16"] {
  aspect-ratio: 9 / 16;
}

.rider-feed-media[data-feed-media-aspect="16:9"] {
  aspect-ratio: 16 / 9;
}

.rider-feed-media-track {
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rider-feed-media-track::-webkit-scrollbar {
  display: none;
}

.rider-feed-media-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
}

.rider-feed-video-shell {
  position: relative;
  width: 100%;
  height: 100%;
}

.feed-video-poster-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  transition: opacity 180ms ease, visibility 180ms ease;
}

.feed-video-poster-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}

.rider-feed-media-slide .rider-feed-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rider-feed-media-slide .feed-video-poster-overlay {
  object-fit: contain;
  background: rgba(0, 0, 0, 0.65);
}

.rider-feed-media-slide .rider-feed-post-video {
  object-fit: contain;
  background: rgba(0, 0, 0, 0.65);
}

.rider-feed-media-clips-card .feed-video-poster-overlay {
  object-fit: cover;
  background: #020814;
}

.rider-feed-media-clips-card .rider-feed-post-video {
  object-fit: cover;
  background: #020814;
}

.rider-feed-clips-entry {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(6, 12, 22, 0.88);
  color: #f8fcff;
  font: 800 11px/1 var(--font-subtext);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(10px);
}

.rider-feed-clips-entry::before {
  display: none;
}

.rider-feed-media-counter,
.rider-feed-media-swipe {
  position: absolute;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.45);
  color: #f4faff;
  font-size: 10px;
  font-weight: 600;
  pointer-events: none;
}

.rider-feed-media-counter {
  top: 8px;
  right: 8px;
}

.rider-feed-media-swipe {
  left: 8px;
  bottom: 8px;
}

.rider-feed-media-preview .rider-feed-media-counter,
.rider-feed-media-preview .rider-feed-media-swipe {
  font-size: 9px;
}

.rider-feed-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 10px;
  color: #cfe6ff;
}

.rider-feed-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.rider-feed-submit {
  min-width: 90px;
  justify-content: center;
}

.rider-feed-submit[disabled] {
  opacity: 0.55;
  cursor: default;
}

.rider-feed-hint {
  font-size: 10px;
  color: #b8d8ff;
}

.rider-feed-posts {
  display: grid;
  gap: 10px;
}

.rider-feed-load-sentinel {
  min-height: 1px;
}

.rider-feed-load-sentinel.loading {
  min-height: 18px;
}

.rider-feed-post {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 12px;
  display: grid;
  gap: 8px;
}

.rider-feed-post-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.rider-feed-post-head-main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.rider-feed-post-name {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rider-feed-post-time {
  font-size: 10px;
  color: #cfe6ff;
  white-space: nowrap;
}

.rider-feed-post-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.rider-feed-post-image {
  display: block;
}

.rider-feed-post-copy {
  font-size: 12px;
  line-height: 1.45;
  color: #eff6ff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.rider-feed-mention {
  display: inline;
  border: 0;
  border-radius: 6px;
  background: rgba(18, 182, 255, 0.2);
  color: #9dddff;
  padding: 0 3px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

span.rider-feed-mention {
  cursor: default;
}

.rider-feed-post-owner-menu {
  position: relative;
  flex-shrink: 0;
}

.rider-feed-post-menu-toggle {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(18, 182, 255, 0.16);
  color: #eff6ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--font-subtext);
  cursor: pointer;
}

.rider-feed-post-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 110px;
  display: none;
  gap: 4px;
  padding: 6px;
  border-radius: 12px;
  background: rgba(4, 16, 36, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
  z-index: 4;
}

.rider-feed-post-owner-menu.open .rider-feed-post-menu {
  display: grid;
}

.rider-feed-post-menu-item {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: rgba(18, 182, 255, 0.14);
  color: #fff;
  text-align: left;
  padding: 8px 10px;
  font: 600 11px/1.2 var(--font-subtext);
  cursor: pointer;
}

.rider-feed-post-menu-item.danger {
  color: #ffd6d6;
  background: rgba(255, 87, 87, 0.16);
}

.rider-feed-post-editor {
  display: grid;
  gap: 8px;
  position: relative;
}

.rider-feed-post-editor-input {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(4, 16, 36, 0.92);
  color: #fff;
  font: 500 12px/1.45 var(--font-subtext);
  padding: 10px 12px;
}

.rider-feed-post-editor-input::placeholder {
  color: rgba(220, 235, 255, 0.55);
}

.rider-feed-post-editor-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.rider-feed-post-editor-count {
  font-size: 10px;
  color: #cfe6ff;
}

.rider-feed-post-editor-buttons {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.rider-feed-post-actions {
  display: grid;
  gap: 6px;
}

.rider-feed-post-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: nowrap;
}

.rider-feed-post-votes {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  min-width: 0;
}

.rider-feed-vote-btn,
.rider-feed-comment-toggle,
.rider-feed-comment-submit {
  min-width: 0;
  white-space: nowrap;
}

.rider-feed-vote-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.rider-feed-vote-btn.active {
  background: rgba(18, 182, 255, 0.32);
}

.rider-feed-vote-icon {
  color: #ff7b99;
  line-height: 1;
}

.rider-feed-comment-toggle.active {
  background: rgba(18, 182, 255, 0.32);
}

.rider-feed-post-footer-time {
  font-size: 10px;
  color: #cfe6ff;
}

.rider-feed-comments {
  display: grid;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px solid rgba(207, 230, 255, 0.12);
}

.rider-feed-comment-compose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.rider-feed-comment-input {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(4, 16, 36, 0.92);
  color: #fff;
  font: 500 13px/1.2 var(--font-subtext);
  padding: 10px 14px;
}

.rider-feed-comment-input::placeholder {
  color: rgba(220, 235, 255, 0.55);
}

.rider-feed-comment-list {
  display: grid;
  gap: 10px;
}

.rider-feed-comment {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.rider-feed-comment-avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
  background: #0c56a6;
  display: block;
}

.rider-feed-comment-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.rider-feed-comment-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.rider-feed-comment-name {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
}

.rider-feed-comment-time {
  font-size: 9px;
  color: #cfe6ff;
  white-space: nowrap;
}

.rider-feed-comment-body,
.rider-feed-comments-empty {
  font-size: 11px;
  line-height: 1.4;
  color: #eff6ff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.home-feed-post-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.home-feed-post-head-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 6px;
  flex-shrink: 0;
}

.home-feed-post-identity {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.home-feed-avatar {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: contain;
  object-position: center;
  background: #0c56a6;
  display: block;
  flex-shrink: 0;
}

.home-feed-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
  flex: 1 1 auto;
}

.home-feed-post-time-inline {
  display: none;
  font-size: 10px;
  line-height: 1.2;
  color: #cfe6ff;
}

.rider-feed-post-profile-link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.rider-avatar-crop-card {
  max-width: min(420px, calc(100vw - 28px));
}

.rider-avatar-crop-aspect-toggle {
  display: flex;
  justify-content: center;
}

.rider-avatar-crop-aspect-list {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rider-avatar-crop-stage {
  width: min(280px, 72vw);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(4, 16, 36, 0.98);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  touch-action: none;
}

.rider-avatar-crop-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 2px rgba(18, 182, 255, 0.45);
  border-radius: 16px;
  pointer-events: none;
}

.rider-avatar-crop-stage img {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  max-height: none;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: center center;
}

.rider-avatar-crop-slider {
  width: 100%;
}

.rider-video-trim-card {
  max-width: min(440px, calc(100vw - 28px));
  display: grid;
  gap: 14px;
}

.rider-video-trim-preview {
  width: min(320px, 76vw);
  max-width: min(100%, calc(100vw - 56px));
  display: block;
  margin: 0 auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 16px;
  background: #020814;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.rider-video-trim-preview[data-feed-video-aspect="4:5"] {
  width: min(320px, 76vw);
  aspect-ratio: 4 / 5;
}

.rider-video-trim-preview[data-feed-video-aspect="9:16"] {
  width: min(260px, 64vw);
  aspect-ratio: 9 / 16;
}

.rider-video-trim-preview[data-feed-video-aspect="16:9"] {
  width: min(400px, 86vw);
  aspect-ratio: 16 / 9;
}

.feed-clips-overlay {
  z-index: 10020;
  padding: 0;
  background: rgba(0, 0, 0, 0.96);
  backdrop-filter: none;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  overscroll-behavior: none;
}

.feed-clips-shell {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  padding: env(safe-area-inset-top, 0) 0 env(safe-area-inset-bottom, 0);
  overflow: hidden;
  overscroll-behavior: none;
}

.feed-clips-stage {
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  outline: none;
  overflow: hidden;
  overscroll-behavior: none;
  will-change: transform;
  touch-action: none;
}

.feed-clips-track {
  width: 100%;
  height: 300%;
  min-height: calc(100dvh * 3);
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  transform: translate3d(0, -100dvh, 0);
  will-change: transform;
}

.feed-clips-slide {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  overflow: hidden;
}

.feed-clips-player {
  position: relative;
  width: min(100vw, 460px);
  height: 100%;
  min-height: 100dvh;
  margin: 0 auto;
  background: #000;
  overflow: hidden;
  overscroll-behavior: none;
  --feed-clips-meta-height: 112px;
}

.feed-clips-player-preview {
  pointer-events: none;
}

.feed-clips-video-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  background: #000;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

.feed-clips-preview-image,
.feed-clips-preview-fill {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
}

.feed-clips-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
  touch-action: none;
}

.feed-clips-video-poster {
  object-fit: cover;
  background: #000;
}

.feed-clips-gradient {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.46) 0%, rgba(0, 0, 0, 0.08) 22%, rgba(0, 0, 0, 0) 42%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.34) 26%, rgba(0, 0, 0, 0) 56%);
  pointer-events: none;
}

.feed-clips-back {
  position: absolute;
  top: calc(12px + env(safe-area-inset-top, 0));
  left: 12px;
  z-index: 3;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.feed-clips-back span,
.feed-clips-back svg {
  width: 20px;
  height: 20px;
  display: block;
}

.feed-clips-side-actions {
  position: absolute;
  right: 10px;
  bottom: calc(var(--feed-clips-meta-height, 112px) + 18px + env(safe-area-inset-bottom, 0));
  z-index: 3;
  display: grid;
  gap: 14px;
  justify-items: center;
}

.feed-clips-action {
  border: 0;
  background: transparent;
  color: #fff;
  display: grid;
  gap: 4px;
  justify-items: center;
  cursor: pointer;
}

.feed-clips-action[disabled] {
  opacity: 0.55;
  cursor: default;
}

.feed-clips-action-icon {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.42);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.feed-clips-action.active .feed-clips-action-icon {
  background: rgba(18, 182, 255, 0.28);
}

.feed-clips-action-icon svg {
  width: 22px;
  height: 22px;
}

.feed-clips-action-count {
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.feed-clips-meta-box {
  position: absolute;
  left: 0;
  right: 70px;
  bottom: calc(14px + env(safe-area-inset-bottom, 0));
  z-index: 3;
  display: grid;
  gap: 10px;
  padding: 0 14px;
}

.feed-clips-owner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.feed-clips-owner-avatar {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  object-fit: contain;
  background: #0c56a6;
  flex-shrink: 0;
}

.feed-clips-owner-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.feed-clips-owner-name {
  border: 0;
  background: transparent;
  padding: 0;
  color: #fff;
  text-align: left;
  font: 700 14px/1.2 var(--font-subtext);
  cursor: pointer;
}

.feed-clips-owner-name-text {
  color: #fff;
  font: 700 14px/1.2 var(--font-subtext);
}

.feed-clips-caption {
  color: rgba(244, 250, 255, 0.94);
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.feed-clips-comments-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--feed-clips-meta-height, 112px) + 14px + env(safe-area-inset-bottom, 0));
  z-index: 3;
  padding: 0 14px;
}

.feed-clips-comments-sheet {
  max-height: min(42vh, 360px);
  overflow: auto;
  border-radius: 18px;
  background: rgba(3, 12, 26, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.feed-clips-comments-sheet .rider-feed-comments {
  border-top: 0;
  padding-top: 0;
}

.feed-clips-comments-sheet .rider-feed-comment-list {
  max-height: 220px;
  overflow: auto;
  padding-right: 2px;
}

.feed-clips-status {
  position: absolute;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0));
  transform: translateX(-50%);
  z-index: 4;
  width: min(88vw, 360px);
  text-align: center;
  color: #eaf6ff;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 999px;
  padding: 8px 12px;
}

@media (max-width: 520px) {
  .feed-clips-player {
    width: 100vw;
  }

  .feed-clips-side-actions {
    right: 8px;
    gap: 12px;
  }

  .feed-clips-action-icon {
    width: 40px;
    height: 40px;
  }

  .feed-clips-action-count {
    font-size: 10px;
  }

  .feed-clips-meta-box {
    right: 64px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0));
    padding: 0 12px;
  }

  .feed-clips-owner-avatar {
    width: 38px;
    height: 38px;
  }

  .feed-clips-owner-name,
  .feed-clips-owner-name-text {
    font-size: 13px;
  }

  .feed-clips-caption {
    font-size: 11px;
  }

  .feed-clips-comments-wrap {
    padding: 0 12px;
  }
}

.rider-video-trim-field {
  display: grid;
  gap: 8px;
  margin: 0;
}

.rider-video-trim-slider {
  width: 100%;
}

.rider-video-edit-aspects {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.rider-video-frame-strip-wrap {
  position: relative;
  height: 58px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(4, 16, 36, 0.96);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  touch-action: none;
  user-select: none;
  cursor: grab;
}

.rider-video-frame-strip {
  display: flex;
  width: 100%;
  height: 100%;
}

.rider-video-frame-strip img {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  object-fit: cover;
}

.rider-video-frame-highlight {
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: auto;
}

.rider-video-frame-highlight {
  left: 0;
  width: 100%;
  border: 2px solid #ffffff;
  border-radius: 14px;
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.08);
  cursor: grab;
}

.rider-video-frame-strip-wrap.dragging,
.rider-video-frame-strip-wrap.dragging .rider-video-frame-highlight {
  cursor: grabbing;
}

.rider-video-trim-card .install-actions,
.rider-video-trim-card .meta {
  margin-top: 0;
}

@media (max-width: 520px) {
  :root {
    --hero-logo-height: 48px;
    --hero-space: 66px;
    --hero-overlay-height: calc(var(--hero-space) + 18px + env(safe-area-inset-top, 0));
  }

  body[data-page="home"] {
    --hero-space: 56px;
    --hero-overlay-height: calc(var(--hero-space) + 8px + env(safe-area-inset-top, 0));
  }

  body[data-page="paid"],
  body[data-page="event"],
  body[data-page="class"] {
    --hero-overlay-height: calc(var(--hero-space) + 28px + env(safe-area-inset-top, 0));
  }

  .page {
    padding-top: calc(var(--hero-overlay-height) + var(--page-top-gap));
  }

  .hero {
    min-height: calc(var(--hero-space) + 26px);
    padding: calc(8px + env(safe-area-inset-top, 0)) 52px 0;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    align-content: start;
    gap: 2px;
  }

  .logo {
    width: auto;
  }

  .hero-title {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.15;
    max-width: 100%;
  }

  .hero-sub {
    margin-top: 0;
    font-size: 9px;
    line-height: 1.2;
    max-width: min(280px, 100%);
  }

  body[data-page="teams"] .page.page-teams,
  body[data-page="fantasy"] .page.page-fantasy {
    padding-top: calc(var(--hero-overlay-height) + var(--page-top-gap));
  }

  body[data-page="home"] .page-home {
    padding-top: calc(var(--hero-overlay-height) + var(--page-top-gap));
    padding-bottom: calc(150px + env(safe-area-inset-bottom, 0));
  }

  body[data-page="home"] #home-main-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-rider-profile-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-feed-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-follow-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-notifications-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-signin-panel > .home-group:first-child .section-title,
  .page > .section-title:first-child,
  .page > section:first-child > .section-title:first-child,
  .page > section:first-child .section-title:first-child {
    margin-top: 0;
    margin-left: 0;
  }

  .back-btn {
    left: max(14px, calc(env(safe-area-inset-left, 0) + 14px));
    top: calc(env(safe-area-inset-top, 0) + 15px);
  }

body[data-page="home"]::after {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    bottom: -4px;
    height: calc(120px + env(safe-area-inset-bottom, 0));
    z-index: 29;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(0, 43, 88, 0) 0%,
      rgba(0, 43, 88, 0.9) 34%,
      rgba(0, 43, 88, 0.98) 100%
    );
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
  }

  body[data-page="home"] #home-admin-nav {
    position: fixed;
    inset: auto 0 -2px 0;
    width: auto;
    z-index: 30;
    margin: 0;
    pointer-events: auto;
    padding: 12px 10px calc(10px + env(safe-area-inset-bottom, 0));
    background: transparent;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  body[data-page="home"] #home-admin-nav .home-primary-nav-buttons {
    pointer-events: auto;
    width: min(520px, 100%);
    margin: 0 auto;
    padding: 8px;
    border-radius: 20px;
    background: rgba(4, 16, 36, 0.94);
    box-shadow:
      0 16px 40px rgba(0, 0, 0, 0.34),
      inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    grid-auto-columns: minmax(0, 1fr);
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  .home-primary-nav-buttons {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    grid-template-columns: none;
    justify-content: center;
    gap: 8px;
    width: min(520px, 100%);
  }

  .home-nav-buttons .admin-nav-btn {
    font-size: 8.5px;
    padding: 9px 6px;
  }

  .home-primary-nav-buttons .home-icon-nav-btn {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0;
    padding: 0;
    background: #0c192f;
    border: 1px solid #2f405e;
  }

  .home-icon-nav-btn {
    aspect-ratio: 1 / 1;
    min-height: 54px;
    border-radius: 18px;
  }

  .home-primary-nav-buttons .home-icon-nav-btn.active {
    background: #2d6aa8;
    border-color: #2d6aa8;
  }

  .home-nav-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .home-nav-label {
    display: none;
  }

  .home-hscroll-grid {
    grid-auto-columns: minmax(220px, 1fr);
  }

  #home-timing-leaderboards-list {
    grid-auto-columns: minmax(84vw, 84vw);
  }

  #home-recent-achievements-list {
    grid-auto-columns: minmax(136px, 136px);
  }

  .home-achievement-card {
    height: 96px;
    max-height: 96px;
  }

  .home-team-grid {
    grid-template-columns: 1fr;
  }

  .rider-profile-headbar {
    gap: 8px;
    margin-bottom: 4px;
  }

  .rider-profile-back-arrow {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 18px;
  }

  .rider-profile-account-switch {
    display: none;
  }

  .rider-profile-account-select {
    width: min(188px, 100%);
    margin-left: auto;
  }

  .rider-profile-top {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .rider-avatar-button {
    width: 72px;
    height: 72px;
  }

  .rider-profile-copy {
    min-height: 72px;
  }

  #rider-trophy-filter-row {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
    width: 100%;
    align-items: center;
  }

  #rider-trophy-filter-row .rider-profile-select {
    width: 100%;
    min-width: 0;
    margin-right: 0;
    padding-left: 8px;
  }

  #rider-trophy-year-filter {
    justify-self: start;
  }

  .rider-profile-actions {
    gap: 8px;
    margin-top: 10px;
  }

  .rider-claim-btn {
    font-size: 8.5px;
    padding: 6px 8px;
  }

  .rider-follow-btn {
    font-size: 8px;
    padding: 6px 8px;
  }

  .rider-connection-chip {
    padding: 5px 8px;
    font-size: 8px;
  }

  .rider-profile-tabs .paid-tab {
    font-size: 8px;
    padding: 8px 4px;
  }

  #rider-training-filter-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    flex-wrap: nowrap;
  }

  #rider-training-filter-row .rider-profile-select,
  #rider-training-filter-row .rider-training-transponder-select {
    width: 100%;
    min-width: 0;
  }

  #rider-training-filter-row.rider-training-filter-row-no-refresh {
    grid-template-columns: minmax(0, 1fr);
  }

  .rider-trophy-grid {
    gap: 8px;
  }

  .rider-trophy-card {
    padding: 8px 6px;
  }

  .rider-trophy-kicker {
    font-size: 8pt;
  }

  .rider-trophy-place {
    font-size: 25px;
  }

  .rider-trophy-class {
    font-size: 8.25px;
  }

  .rider-trophy-icon {
    width: 50px;
    height: 50px;
  }

  .rider-feed-input {
    font-size: 9px;
    min-height: 86px;
  }

  .rider-feed-post-copy,
  .rider-feed-post-name {
    font-size: 10px;
  }

  .rider-feed-post-head-main {
    flex-direction: column;
    align-items: flex-start;
  }

  .rider-feed-meta,
  .rider-feed-post-time,
  .rider-feed-hint,
  .rider-feed-comment-time {
    font-size: 8px;
  }

  .rider-feed-comment-input {
    font-size: 9px;
    padding: 9px 12px;
  }

  .rider-feed-post-editor-input {
    font-size: 9px;
  }

  .rider-feed-comment-body,
  .rider-feed-comment-name,
  .rider-feed-comments-empty {
    font-size: 9px;
  }

  .rider-feed-post-actions {
    gap: 8px;
  }

  .rider-feed-post-action-row {
    gap: 6px;
  }

  .rider-feed-post-votes {
    gap: 6px;
  }

  .rider-feed-comment-compose {
    grid-template-columns: 1fr;
  }

  .rider-feed-post-editor-actions {
    align-items: stretch;
  }

  .rider-feed-post-editor-buttons {
    width: 100%;
  }

  .rider-feed-post-editor-buttons .follow-btn {
    flex: 1 1 0;
    justify-content: center;
  }

  .rider-feed-comment-submit {
    width: 100%;
    justify-content: center;
  }

  .rider-feed-comment-toggle {
    width: auto;
    flex: 0 0 auto;
    justify-content: center;
    font-size: 8px;
    padding: 0 6px;
  }

  .rider-feed-vote-btn {
    font-size: 8.5px;
    padding: 0 6px;
  }

  .rider-feed-post-footer-time {
    font-size: 8px;
  }

  .home-rider-meta {
    font-size: 8px;
  }

  .home-rider-search-name {
    font-size: 13px;
  }

  .rider-connections-head {
    gap: 8px;
  }

  .rider-connections-title {
    font-size: 11px;
  }

  .home-feed-post-head-actions {
    margin-left: auto;
    align-items: flex-start;
  }

  .home-feed-avatar {
    width: 36px;
    height: 36px;
  }

  .home-feed-post-time-inline {
    display: block;
    font-size: 8px;
  }

  .home-feed-post .rider-feed-post-footer-time {
    display: none;
  }

  .home-feed-secondary-nav {
    max-width: 100%;
    gap: 8px;
  }

  .home-feed-secondary-nav .admin-nav-btn {
    font-size: 8.5px;
    padding: 10px 6px;
  }

  .home-feed-post-identity {
    flex: 1 1 auto;
  }

  body[data-page="rider"] #rider-times .leaderboard,
  body[data-page="home"] #home-rider-profile-panel #rider-times .leaderboard {
    padding: 6px 4px;
  }

  body[data-page="rider"] #rider-times .lb-table,
  body[data-page="rider"] #rider-times .table,
  body[data-page="home"] #home-rider-profile-panel #rider-times .lb-table,
  body[data-page="home"] #home-rider-profile-panel #rider-times .table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    font-size: 8px;
  }

  body[data-page="rider"] #rider-times .lb-table th,
  body[data-page="rider"] #rider-times .lb-table td,
  body[data-page="rider"] #rider-times .table th,
  body[data-page="rider"] #rider-times .table td,
  body[data-page="home"] #home-rider-profile-panel #rider-times .lb-table th,
  body[data-page="home"] #home-rider-profile-panel #rider-times .lb-table td,
  body[data-page="home"] #home-rider-profile-panel #rider-times .table th,
  body[data-page="home"] #home-rider-profile-panel #rider-times .table td {
    padding: 2px 1px;
    font-size: 8px;
    letter-spacing: 0;
  }
}

@media (display-mode: standalone) and (max-width: 520px), (display-mode: fullscreen) and (max-width: 520px) {
  :root {
    --hero-overlay-height: calc(var(--hero-space) + 6px + env(safe-area-inset-top, 0));
  }

  body[data-page="home"] {
    --hero-overlay-height: calc(var(--hero-space) + 2px + env(safe-area-inset-top, 0));
  }

  body[data-page="paid"],
  body[data-page="event"],
  body[data-page="class"],
  body[data-page="teams"],
  body[data-page="fantasy"] {
    --hero-overlay-height: calc(var(--hero-space) + 10px + env(safe-area-inset-top, 0));
  }

  .page,
  body[data-page="teams"] .page.page-teams,
  body[data-page="fantasy"] .page.page-fantasy,
  body[data-page="home"] .page-home {
    padding-top: calc(var(--hero-overlay-height) + var(--page-top-gap));
  }

  body[data-page="home"] #home-main-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-rider-profile-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-feed-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-follow-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-notifications-panel > .home-group:first-child .section-title,
  body[data-page="home"] #home-signin-panel > .home-group:first-child .section-title,
  .page > .section-title:first-child,
  .page > section:first-child > .section-title:first-child,
  .page > section:first-child .section-title:first-child {
    margin-top: 0;
    margin-left: 0;
  }
}

select,
select.admin-select,
select.search-input,
select.teams-select,
select.teams-sheet-select,
select.rider-profile-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background-color: rgba(4, 16, 36, 0.88);
  background-image: var(--select-chevron) !important;
  background-position: right 9px center !important;
  background-repeat: no-repeat !important;
  background-size: 7px 5px !important;
  color: #fff;
  font: 500 14px/1.35 var(--font-subtext);
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 14px;
  padding-right: 24px !important;
  outline: none;
}

select option {
  background: #041024;
  color: #fff;
}

@media (max-width: 520px) {
  select,
  select.admin-select,
  select.search-input,
  select.teams-select,
  select.teams-sheet-select,
  select.rider-profile-select {
    font-size: 10px;
  }
}

@media (max-width: 767px) {
  select,
  select.admin-select,
  select.search-input,
  select.teams-select,
  select.teams-sheet-select,
  select.rider-profile-select,
  body[data-page="teams"] .teams-select,
  body[data-page="teams"] .teams-sheet-select,
  body[data-page="teams"] #teams-management-panel select,
  body[data-page="teams"] #teams-standings-panel select {
    font-size: 9px !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  :root,
  body,
  body *,
  body *:hover,
  body *:active,
  body *:focus,
  body *:focus-visible {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23ffffff'/%3E%3Cstop offset='40%25' stop-color='%23ffffff' stop-opacity='0.95'/%3E%3Cstop offset='65%25' stop-color='%2357a8ff' stop-opacity='0.7'/%3E%3Cstop offset='100%25' stop-color='%2357a8ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='11' fill='url(%23g)'/%3E%3Ccircle cx='12' cy='12' r='2.4' fill='%23ffffff'/%3E%3C/svg%3E") 12 12, auto !important;
  }

  input,
  input:hover,
  input:active,
  input:focus,
  input:focus-visible,
  textarea,
  textarea:hover,
  textarea:active,
  textarea:focus,
  textarea:focus-visible,
  [contenteditable="true"],
  [contenteditable="true"]:hover,
  [contenteditable="true"]:active,
  [contenteditable="true"]:focus,
  [contenteditable="true"]:focus-visible,
  [contenteditable=""],
  [contenteditable=""]:hover,
  [contenteditable=""]:active,
  [contenteditable=""]:focus,
  [contenteditable=""]:focus-visible {
    cursor: text !important;
  }
}

/* Ensure admin metrics value/label typography is not flattened by global admin mobile overrides. */
body[data-page="home"] #admin-metrics-grid .admin-metrics-stat-box .admin-metrics-stat-value {
  font-size: 34px !important;
  line-height: 1 !important;
}

body[data-page="home"] #admin-metrics-grid .admin-metrics-stat-box .admin-metrics-stat-label {
  font-size: 13px !important;
  line-height: 1 !important;
}

@media (hover: none) and (pointer: coarse) {
  body[data-page="rider"] #rider-times .training-table-scroll,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-table-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body[data-page="rider"] #rider-times .training-table-scroll::-webkit-scrollbar,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-table-scroll::-webkit-scrollbar {
    display: none;
  }

  body[data-page="rider"] #rider-times .training-lap-table,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-lap-table {
    width: max-content !important;
    min-width: calc(68px + (3 * 96px)) !important;
    max-width: none !important;
    table-layout: fixed !important;
  }

  body[data-page="rider"] #rider-times .training-lap-table th,
  body[data-page="rider"] #rider-times .training-lap-table td,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-lap-table th,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-lap-table td {
    min-width: 96px !important;
    padding: 8px 10px !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  body[data-page="rider"] #rider-times .training-lap-table th:first-child,
  body[data-page="rider"] #rider-times .training-lap-table td:first-child,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-lap-table th:first-child,
  body[data-page="home"] #home-rider-profile-panel #rider-times .training-lap-table td:first-child {
    min-width: 68px !important;
    position: sticky;
    left: 0;
    z-index: 8;
    background: #0c192f !important;
    background-clip: padding-box;
  }
}
