.athletes-panel,
.athletes-modal,
.profile-documentation-editor {
  --athletes-bg: var(--shell-bg, #f2f7f6);
  --athletes-card: var(--shell-surface, #fff);
  --athletes-alt: var(--shell-surface-alt, #f4f9f8);
  --athletes-input: var(--shell-input, #eef5f4);
  --athletes-text: var(--shell-text, #1a2b28);
  --athletes-muted: var(--shell-muted, #7a9490);
  --athletes-border: var(--shell-border, #e0edeb);
  --athletes-teal: #1bbeaa;
  --athletes-yellow: #ffd32d;
  --athletes-danger: #ff6060;
  --athletes-white: var(--shell-surface, #fff);
  color: var(--athletes-text);
}

.athletes-panel {
  width: 100%;
  min-height: 100%;
}

.athletes-hub {
  width: 100%;
  min-height: 100%;
}

.athletes-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  margin: 14px 18px 0;
  border: 1px solid var(--shell-border, #e0edeb);
  border-radius: 8px;
  background: var(--shell-input, #eef5f4);
}

.athletes-tabs button {
  min-width: 0;
  min-height: 36px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  color: var(--shell-muted, #7a9490);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}

.athletes-tabs button[aria-pressed="true"] {
  color: var(--shell-text, #1a2b28);
  background: var(--shell-surface, #fff);
  box-shadow: 0 1px 4px rgb(0 0 0 / 8%);
}

@media (max-width: 520px) {
  .athletes-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .athletes-tabs button {
    padding-inline: 2px;
    font-size: 9.5px;
  }
}

.athletes-hub > .registration-offers-view {
  padding: 0 18px 24px;
}

.athletes-hub > .management-view {
  margin: 16px 18px 24px;
}

.athletes-title,
.athlete-detail__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 12px;
}

.athletes-title h1,
.athletes-title p,
.athletes-team h2,
.athletes-team p,
.athlete-detail h1,
.athlete-detail h2,
.athlete-detail h3,
.athlete-detail p,
.athletes-modal h2,
.athletes-modal p {
  margin: 0;
  letter-spacing: 0;
}

.athletes-title h1,
.athlete-detail__top h1 {
  font-size: 22px;
  font-weight: 900;
}

.athletes-title p,
.athlete-detail__top p {
  margin-top: 2px;
  color: var(--athletes-muted);
  font-size: 12px;
  font-weight: 700;
}

.athletes-title__actions > button,
.athlete-detail__top > button {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--athletes-teal);
  place-items: center;
}

.athletes-title__actions > button svg,
.athlete-detail__top > button svg {
  width: 22px;
  height: 22px;
}

.athlete-detail__top {
  justify-content: flex-start;
}

.athlete-detail__top > div { flex: 1; min-width: 0; }

.athlete-detail__top--back {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0;
}
.athlete-detail__top > .athlete-detail__back {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 72px;
  flex: 1 1 auto;
  justify-content: flex-start;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 0;
  color: var(--athletes-text);
  background: transparent;
  text-align: left;
}
.athlete-detail__back > svg { flex: 0 0 22px; color: var(--athletes-muted); }
.athlete-detail__back > .athletes-avatar {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  font-size: 17px;
}
.athlete-detail__back > span { display: grid; min-width: 0; gap: 2px; }
.athlete-detail__back strong { font-size: 22px; font-weight: 900; }
.athlete-detail__back small { color: var(--athletes-muted); font-size: 12px; font-weight: 700; }

.athlete-detail__context-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  gap: 6px;
  padding: 10px 18px 10px 0;
}

.athlete-detail__context-tabs button {
  min-height: 46px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: var(--athletes-muted);
  background: var(--athletes-input);
  font: inherit;
  font-weight: 900;
}

.athlete-detail__context-tabs button[aria-pressed="true"] {
  color: var(--athletes-teal-dark);
  background: #fff;
  box-shadow: 0 3px 10px rgba(16, 44, 41, .08);
}

.athlete-detail__context-content > .management-view {
  margin: 16px 18px 24px;
}

.athletes-title__actions {
  display: flex;
  gap: 7px;
}

.athletes-title__actions > .athletes-title__team-action {
  color: var(--athletes-teal);
  background: var(--athletes-input);
}

.athlete-detail__top > button {
  color: var(--athletes-muted);
  background: var(--athletes-input);
}

.athletes-notice {
  display: grid;
  gap: 2px;
  padding: 11px 13px;
  margin: 0 16px 14px;
  border-left: 3px solid var(--athletes-yellow);
  color: var(--athletes-text);
  background: color-mix(in srgb, var(--athletes-yellow), transparent 90%);
}

.athletes-notice strong {
  font-size: 13px;
  font-weight: 900;
}

.athletes-notice span {
  color: var(--athletes-muted);
  font-size: 11px;
  font-weight: 700;
}

.athletes-team-list {
  display: grid;
  gap: 20px;
  padding: 0 16px 28px;
}

.athletes-team > header {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
}

.athletes-team > header > div { min-width: 0; }

.institution-team-edit {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  padding: 0;
  margin-left: auto;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  place-items: center;
}

.institution-team-edit svg { width: 16px; height: 16px; }

.athletes-team__icon {
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal), transparent 88%);
  place-items: center;
}

.athletes-team__icon svg {
  width: 17px;
  height: 17px;
}

.athletes-team h2 {
  font-size: 15px;
  font-weight: 900;
}

.athletes-team header p {
  margin-top: 1px;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}

.athletes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 7px;
}

.athlete-card {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: stretch;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  background: var(--athletes-card);
  box-shadow: 0 2px 8px rgb(0 0 0 / 5%);
}

[data-theme="dark"] .athlete-card {
  box-shadow: none;
}

.athlete-card__main {
  display: grid;
  min-width: 0;
  min-height: 66px;
  grid-template-columns: 46px minmax(0, 1fr) 7px;
  gap: 10px;
  align-items: center;
  padding: 9px 8px 9px 10px;
  border: 0;
  color: var(--athletes-text);
  background: transparent;
  text-align: left;
}

.athlete-card__main > span:nth-child(2) {
  min-width: 0;
}

.athlete-card__main strong,
.athlete-card__main small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.athlete-card__main strong {
  font-size: 14px;
  font-weight: 900;
}

.athlete-card__main small {
  margin-top: 2px;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}

.athlete-card__main i {
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--athletes-muted);
  border-right: 2px solid var(--athletes-muted);
  transform: rotate(45deg);
}

.athlete-card__team,
.athlete-card__remove {
  display: grid;
  width: 38px;
  min-height: 33px;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--athletes-border);
  color: var(--athletes-teal);
  background: var(--athletes-alt);
  place-items: center;
}

.athlete-card__team {
  border-radius: 0 8px 8px 0;
}

.athlete-card__remove {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 33px;
  min-height: 0;
  border-top: 1px solid var(--athletes-border);
  border-radius: 0 0 8px;
  color: var(--athletes-danger);
}

.athlete-card:has(.athlete-card__remove) .athlete-card__team {
  align-self: start;
  border-radius: 0 8px 0 0;
}

.athlete-card__team svg,
.athlete-card__remove svg {
  width: 17px;
  height: 17px;
}

.athletes-avatar {
  position: relative;
  display: grid;
  width: var(--athlete-avatar-size, 46px);
  height: var(--athlete-avatar-size, 46px);
  flex: 0 0 var(--athlete-avatar-size, 46px);
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--athletes-teal), transparent 62%);
  border-radius: 50%;
  color: #096f62;
  background: color-mix(in srgb, var(--athletes-teal), white 82%);
  font-size: calc(var(--athlete-avatar-size, 46px) * .31);
  font-weight: 900;
  place-items: center;
}

[data-theme="dark"] .athletes-avatar {
  color: #78e4d5;
  background: color-mix(in srgb, var(--athletes-teal), transparent 82%);
}

.athletes-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.athletes-empty-row,
.athletes-empty {
  padding: 14px;
  border: 1px dashed var(--athletes-border);
  border-radius: 8px;
  color: var(--athletes-muted);
  background: var(--athletes-alt);
  font-size: 12px;
  font-weight: 700;
}

.athlete-detail {
  padding-bottom: 28px;
}

.athlete-detail__identity {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-top: 1px solid var(--athletes-border);
  border-bottom: 1px solid var(--athletes-border);
  background: var(--athletes-card);
}

.athlete-detail__identity h2 {
  font-size: 20px;
  font-weight: 900;
}

.athlete-detail__identity p {
  margin-top: 2px;
  color: var(--athletes-muted);
  font-size: 12px;
  font-weight: 700;
}

.institution-configuration {
  padding: 16px 18px 0;
}

.institution-configuration > header {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 9px;
}

.institution-configuration__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.institution-configuration-card {
  display: grid;
  min-width: 0;
  min-height: 78px;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-card);
}

.institution-configuration-card h3,
.institution-configuration-card p { margin: 0; }
.institution-configuration-card h3 { font-size: 12px; font-weight: 900; }
.institution-configuration-card p { margin-top: 3px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.institution-configuration-lines { display: grid; gap: 3px; margin: 4px 0 0; padding: 0; list-style: none; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.35; }
.institution-configuration-lines li { min-width: 0; overflow-wrap: anywhere; }
.institution-role-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}

.institution-role-chips span {
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 62%);
  border-radius: 999px;
  color: #087d6d;
  background: color-mix(in srgb, var(--athletes-teal), transparent 91%);
  font-size: 9px;
  font-weight: 900;
}

[data-theme="dark"] .institution-role-chips span { color: #78e4d5; }

.athlete-detail__teams {
  padding: 16px 18px;
}

.athlete-detail__teams > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.athlete-detail__teams h3 {
  font-size: 14px;
  font-weight: 900;
}

.athlete-detail__teams header p {
  margin-top: 1px;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}

.institution-configuration__manage,
.athlete-detail__teams header button {
  display: flex;
  height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font-size: 11px;
  font-weight: 900;
}

.institution-configuration__manage svg,
.athlete-detail__teams header button svg {
  width: 16px;
  height: 16px;
}

.athlete-team-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.athlete-team-chips > span {
  display: flex;
  height: 30px;
  align-items: center;
  gap: 5px;
  padding: 0 5px 0 9px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 66%);
  border-radius: 999px;
  color: #096f62;
  background: color-mix(in srgb, var(--athletes-teal), transparent 90%);
  font-size: 11px;
  font-weight: 900;
}

[data-theme="dark"] .athlete-team-chips > span {
  color: #78e4d5;
}

.athlete-team-chips button {
  display: grid;
  width: 21px;
  height: 21px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: currentColor;
  background: color-mix(in srgb, var(--athletes-teal), transparent 82%);
  place-items: center;
}

.athlete-team-chips button svg {
  width: 12px;
  height: 12px;
}

.athlete-team-chips > p {
  color: var(--athletes-muted);
  font-size: 11px;
  font-weight: 700;
}

.athlete-detail__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  margin: 0 18px;
  background: var(--athletes-border);
}

.athlete-detail-field {
  min-width: 0;
  padding: 12px;
  background: var(--athletes-card);
}

.athlete-detail-field dt {
  color: var(--athletes-muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.athlete-detail-field dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 900;
}

.athlete-detail-field--phone {
  grid-column: 1 / -1;
}

.athlete-registration-history {
  margin: 14px 18px 0;
}

.account-athlete-profile .athlete-registration-history {
  margin: 18px 0 0;
}

.athlete-registration-history > header h2,
.athlete-registration-history > header p {
  margin: 0;
  letter-spacing: 0;
}

.athlete-registration-history > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.athlete-registration-history > header > div { min-width: 0; }
.athlete-registration-enrol {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--athletes-teal);
  border-radius: 7px;
  color: #fff;
  background: var(--athletes-teal);
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

.athlete-registration-history > header h2 { font-size: 15px; font-weight: 900; }
.athlete-registration-history > header p { margin-top: 2px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.athlete-registration-history > div { margin-top: 9px; border: 1px solid var(--athletes-border); border-radius: 8px; overflow: hidden; }

.institution-affiliation-directory__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  border: 0 !important;
}

.institution-affiliation-directory__groups > article { min-width: 0; }
.institution-affiliation-directory__groups > article > h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 900;
}
.institution-affiliation-directory__groups > article > h3 span {
  display: grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  color: var(--athletes-teal);
  background: var(--athletes-alt);
  font-size: 9px;
}
.institution-affiliation-directory__groups > article > div {
  overflow: hidden;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
}
.institution-affiliation-member {
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 0;
  border-top: 1px solid var(--athletes-border);
  color: var(--athletes-text);
  background: var(--athletes-card);
  font: inherit;
  text-align: left;
}
button.institution-affiliation-member { cursor: pointer; }
.institution-affiliation-member:first-child { border-top: 0; }
.institution-affiliation-member > span,
.institution-affiliation-member strong,
.institution-affiliation-member small { display: block; min-width: 0; }
.institution-affiliation-member strong { overflow: hidden; font-size: 11px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.institution-affiliation-member small { margin-top: 2px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-affiliation-member__identity,
.institution-affiliation-member__status { display: flex; min-width: 0; align-items: center; gap: 6px; }
.institution-affiliation-member__identity strong { min-width: 0; }
.institution-affiliation-member__identity .athletes-avatar { flex: 0 0 var(--athlete-avatar-size, 22px); }
.institution-affiliation-member > .institution-affiliation-member__status { display: flex; justify-content: flex-end; }
.institution-affiliation-member em {
  padding: 4px 7px;
  border-radius: 999px;
  color: #087d52;
  background: #e4f8ee;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}
.institution-affiliation-member .institution-affiliation-member__route { max-width: 150px; overflow: hidden; color: var(--athletes-teal); background: var(--athletes-alt); text-overflow: ellipsis; white-space: nowrap; }
.institution-affiliation-member em[data-status="inactive"] { color: #6c7c79; background: var(--athletes-alt); }
.institution-affiliation-directory__empty { margin: 0; padding: 12px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }

.institution-continuous-affiliations > div {
  display: grid;
  gap: 10px;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.institution-workspace-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 10px;
  background: var(--athletes-card);
}
.institution-workspace-card--empty p {
  margin: 0;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}
.institution-registration-directory > .institution-registration-workspace { margin-top: 9px; }
.institution-registration-workspace__count {
  margin: 0;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 800;
}
.institution-continuous-affiliation > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.institution-continuous-affiliation > header strong,
.institution-continuous-affiliation > header small { display: block; }
.institution-continuous-affiliation > header strong { font-size: 13px; font-weight: 900; }
.institution-continuous-affiliation > header small { margin-top: 2px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-continuous-affiliation > header button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font: inherit;
  font-size: 9px;
  font-weight: 900;
}
.institution-continuous-affiliation__content > .athlete-registration-history { margin: 0; }
.institution-continuous-affiliation__content > .offer-registrations { margin-top: 0; }

.institution-affiliation-workspace {
  display: grid;
  gap: 10px;
  margin: 18px;
}
.institution-affiliation-workspace > header label {
  display: grid;
  grid-template-columns: auto minmax(220px, 360px);
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.institution-affiliation-workspace > header span {
  color: var(--athletes-teal);
  font-size: 11px;
  font-weight: 900;
}
.institution-affiliation-workspace > header select {
  width: 100%;
  min-height: 42px;
  padding: 0 36px 0 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  color: var(--athletes-text);
  background: var(--athletes-alt);
  font: inherit;
  font-size: 16px;
  font-weight: 850;
}
.institution-affiliation-workspace > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.institution-season-context__edit {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
}
.institution-affiliation-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.institution-affiliation-actions .athlete-registration-enrol,
.institution-affiliation-actions .institution-season-context__edit { min-height: 42px; margin: 0; }
.institution-affiliation-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
}
.institution-affiliation-toolbar .institution-affiliation-actions > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
}
.institution-affiliation-action-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--athletes-teal);
  place-items: center;
}
.institution-affiliation-action-icon svg,
.institution-affiliation-toolbar .institution-affiliation-actions .app-plus-icon {
  width: 22px;
  height: 22px;
}
.institution-affiliation-workspace__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 4px;
  border-radius: 9px;
  background: var(--athletes-alt);
}
.institution-affiliation-workspace__tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 7px;
  color: var(--athletes-muted);
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}
.institution-affiliation-workspace__tabs button[aria-pressed="true"] {
  color: #087d70;
  background: var(--athletes-card);
  box-shadow: 0 3px 10px rgb(20 75 67 / 8%);
}
.institution-season-context__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.institution-season-context__edit svg { width: 16px; height: 16px; }
.institution-organization-workspace__tabs {
  margin: 14px 18px 0;
}
.institution-organization-workspace__tabs--single { grid-template-columns: minmax(0, 1fr); }
.institution-affiliation-workspace > .athlete-registration-history { margin: 0; }
.institution-affiliation-directory__groups--people-only { grid-template-columns: minmax(0, 1fr); }
.institution-affiliation-workspace__content > .institution-registration-filters {
  max-width: 420px;
  margin: 10px 0 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.institution-affiliation-workspace__content > .registration-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.institution-registration-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 420px) 132px;
  align-items: stretch;
  gap: 8px;
}
.institution-season-registrations__card .institution-registration-filters {
  max-width: 420px;
  margin: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.institution-registration-create {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 132px;
}
.institution-registration-create .app-plus-icon { width: 13px; height: 13px; }
.institution-season-registrations__card > .registration-list {
  display: grid;
  gap: 10px;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.athlete-registration-row {
  display: grid;
  grid-template-columns: minmax(110px, .7fr) minmax(0, 1.6fr);
  gap: 12px;
  padding: 12px;
  border-top: 1px solid var(--athletes-border);
  background: var(--athletes-card);
}

.athlete-registration-row:first-child { border-top: 0; }
.athlete-registration-row__season { display: flex; align-items: flex-start; gap: 7px; }
.athlete-registration-row__season strong { font-size: 12px; font-weight: 900; }
.athlete-registration-row__season span { padding: 3px 6px; border-radius: 6px; color: #087d52; background: #e4f8ee; font-size: 8px; font-weight: 900; }
.athlete-registration-row__season span[data-status="inactive"] { color: #b4233c; background: #fff0f2; }
.athlete-registration-row__season span[data-status="pending"] { color: #765800; background: #fff6d5; }
.athlete-registration-row__details strong,
.athlete-registration-row__details span { display: block; }
.athlete-registration-row__details strong { font-size: 12px; font-weight: 900; }
.athlete-registration-row__details span { margin-top: 3px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.athlete-registration-documents { grid-column: 1 / -1; padding-top: 9px; border-top: 1px solid var(--athletes-border); }
.athlete-registration-documents h3 { margin: 0 0 5px; font-size: 10px; font-weight: 900; }
.athlete-registration-document { display: grid; min-height: 36px; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 8px; align-items: center; border-top: 1px solid var(--athletes-border); }
.athlete-registration-document strong { min-width: 0; overflow: hidden; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.athlete-registration-document > span { padding: 3px 6px; border-radius: 6px; font-size: 8px; font-weight: 900; }
.athlete-registration-document > span:not([data-status]) { min-width: 0; padding: 0; border-radius: 0; font-size: inherit; }
.athlete-registration-document > span:not([data-status]) strong,
.athlete-registration-document > span:not([data-status]) small { display: block; }
.athlete-registration-document > span:not([data-status]) small { margin-top: 2px; color: var(--athletes-muted); font-size: 8px; font-weight: 700; }
.athlete-registration-document > button {
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid var(--athletes-border);
  border-radius: 6px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font: inherit;
  font-size: 8px;
  font-weight: 900;
}
.athlete-registration-document > span[data-status="missing"] { color: #b4233c; background: #fff0f2; }
.athlete-registration-document > span[data-status="validated"] { color: #087d52; background: #e4f8ee; }
.athlete-registration-document > span[data-status="pending"],
.athlete-registration-document > span[data-status="physicalRequired"] { color: #8a6500; background: #fff5d8; }
.athlete-registration-document > span[data-status="rejected"] { color: #b4233c; background: #fff0f2; }
.athlete-registration-empty { padding: 14px; margin: 9px 0 0; border: 1px dashed var(--athletes-border); border-radius: 8px; color: var(--athletes-muted); font-size: 11px; font-weight: 700; }

.athlete-phone-action {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 12px 18px 0;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 54%);
  border-radius: 8px;
  color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal), transparent 91%);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.athlete-phone-action svg {
  width: 17px;
  height: 17px;
}

.athletes-modal {
  position: fixed;
  z-index: 640;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.athletes-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgb(0 0 0 / 48%);
}

.athletes-modal__panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  max-height: min(620px, calc(100dvh - 36px));
  padding: 16px;
  overflow: auto;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  color: var(--athletes-text);
  background: var(--athletes-card);
  box-shadow: 0 18px 50px rgb(0 0 0 / 28%);
}

.athletes-modal__panel--athlete { width: min(620px, 100%); }
.athletes-modal__panel--entity-section {
  width: min(760px, 100%);
  max-height: min(760px, calc(100dvh - 36px));
}
.athletes-modal__panel--registration { width: min(620px, 100%); }

.athletes-modal__panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.athletes-modal h2 {
  font-size: 18px;
  font-weight: 900;
}

.athletes-modal header p {
  margin-top: 2px;
  color: var(--athletes-muted);
  font-size: 11px;
  font-weight: 700;
}

.athletes-modal__header-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin-left: auto;
}

.athletes-modal__panel > header > button,
.athletes-modal__header-actions > button {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: var(--athletes-muted);
  background: var(--athletes-input);
  place-items: center;
}

.athletes-modal__panel > header > button svg,
.athletes-modal__header-actions > button svg {
  width: 18px;
  height: 18px;
}

.athletes-modal__header-actions > .athletes-modal__delete {
  color: var(--athletes-danger);
  background: color-mix(in srgb, var(--athletes-danger) 9%, var(--athletes-card));
}

.athletes-modal form label > span {
  display: block;
  margin: 0 0 4px 2px;
  color: var(--athletes-teal);
  font-size: 10px;
  font-weight: 900;
}

.athletes-modal input[type="text"],
.athletes-modal input[type="url"],
.athletes-modal input[type="date"],
.athletes-modal input[type="email"],
.athletes-modal input[type="tel"] {
  width: 100%;
  height: 42px;
  padding: 0 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  outline: 0;
  color: var(--athletes-text);
  background: var(--athletes-input);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
}

.athletes-modal select {
  width: 100%;
  height: 44px;
  padding: 0 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-text);
  background: var(--athletes-input);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
}

.registration-guide-modalities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.registration-guide-modalities button {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 999px;
  color: var(--athletes-muted);
  background: var(--athletes-input);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.registration-guide-modalities button[aria-pressed="true"] {
  border-color: var(--athletes-teal);
  color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal), transparent 90%);
}

.registration-guide-context-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 14px;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 55%);
  border-radius: 8px;
  color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%);
  font-size: 10px;
  font-weight: 800;
}

.registration-guide-context-status span { min-width: 0; text-align: right; overflow-wrap: anywhere; }

.registration-guide-section + .registration-guide-section { margin-top: 15px; }
.registration-guide-section > header { margin-bottom: 7px; }
.registration-guide-section > header h3 { margin: 0; color: var(--athletes-text); font-size: 14px; font-weight: 900; }
.registration-guide-section > header p { margin: 2px 0 0; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.35; }
.registration-guide-section > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.registration-guide-section--offers > div { grid-template-columns: 1fr; gap: 13px; }
.registration-guide-offer-group > h4 { margin: 0 0 7px; color: var(--athletes-muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.registration-guide-offer-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.registration-guide-card {
  display: grid;
  min-width: 0;
  min-height: 112px;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  text-align: left;
  color: var(--athletes-text);
  background: var(--athletes-card);
  font: inherit;
  box-shadow: 0 5px 14px rgb(25 56 53 / 7%);
}

button.registration-guide-card { cursor: pointer; }
.registration-guide-card > span { color: var(--athletes-teal); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.registration-guide-card > strong { align-self: end; margin-top: 5px; overflow-wrap: anywhere; font-size: 13px; font-weight: 900; line-height: 1.2; }
.registration-guide-card > small { margin-top: 3px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; line-height: 1.3; }
.registration-guide-card > em { align-self: end; margin-top: 8px; color: var(--athletes-teal); font-size: 9px; font-style: normal; font-weight: 900; }
.registration-guide-card--affiliation { border-color: color-mix(in srgb, var(--athletes-teal), transparent 36%); background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%); }
.registration-guide-card--featured { border-color: var(--athletes-teal); }
.registration-guide-card--locked { border-style: dashed; box-shadow: none; opacity: .86; }
.registration-guide-card--locked > span,
.registration-guide-card--locked > em { color: var(--athletes-muted); }

.registration-guide-back {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  color: var(--athletes-teal);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
}

.registration-guide-detail {
  display: grid;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-card);
}

.registration-guide-detail > header span { color: var(--athletes-teal); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.registration-guide-detail > header h3 { margin: 3px 0 0; font-size: 17px; font-weight: 900; }
.registration-guide-detail > header p { margin: 3px 0 0; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.registration-guide-detail h4 { margin: 0 0 3px; font-size: 11px; font-weight: 900; }
.registration-guide-detail section p { margin: 0; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.registration-dependency-choice {
  display: grid;
  grid-template-columns: minmax(130px, .65fr) minmax(0, 1.35fr);
  gap: 8px 12px;
  align-items: end;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 52%);
  border-radius: 8px;
  background: var(--athletes-bg);
}
.registration-dependency-choice[hidden],
.registration-payment-plan-choice[hidden],
[data-dependency-charge-program][hidden] { display: none; }
.registration-dependency-choice > header { align-self: center; }
.registration-dependency-choice > header span,
.registration-dependency-choice > header strong { display: block; }
.registration-dependency-choice > header span { color: var(--athletes-teal); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.registration-dependency-choice > header strong { margin-top: 2px; font-size: 11px; font-weight: 900; }
.registration-dependency-choice .management-field { min-width: 0; }
.registration-payment-plan-choice { min-width: 0; }
.registration-payment-plan-choice > span { color: var(--athletes-teal); }
.registration-plan-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .72fr);
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 52%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 96%);
}
.registration-plan-choice > .management-field { margin: 0; }
.registration-plan-choice__period {
  display: grid;
  align-content: center;
  gap: 3px;
  margin: 0 !important;
  padding: 9px 11px;
  border-radius: 7px;
  background: var(--athletes-card);
}
.registration-plan-choice__period span { color: var(--athletes-teal); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.registration-plan-choice__period strong { color: var(--athletes-text); font-size: 11px; font-weight: 900; }
.registration-dependency-choice__representative { grid-column: 2; }
.registration-external-accreditation {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--athletes-teal) 32%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--athletes-teal) 7%, transparent);
}
.registration-external-accreditation strong,
.registration-external-accreditation p { display: block; margin: 0; }
.registration-external-accreditation p { margin-top: 4px; color: var(--athletes-muted, #7a9490); font-size: 11px; }
.registration-guide-requirements { padding: 10px; border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 45%); border-radius: 8px; background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%); }
.registration-guide-requirements > p { margin-bottom: 8px !important; }
.registration-guide-requirements li { align-items: start; padding-top: 5px; border-top: 1px solid var(--athletes-border); }
.registration-guide-detail ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.registration-guide-detail li { display: flex; justify-content: space-between; gap: 8px; font-size: 10px; }
.registration-guide-detail li span { color: var(--athletes-muted); font-weight: 700; }
.registration-request-projection { display: grid; gap: 7px; padding: 10px 12px; border: 1px solid var(--athletes-border); border-radius: 9px; background: var(--athletes-alt); }
.registration-request-projection ul { gap: 4px; }
.registration-request-projection li { justify-content: flex-start; padding-left: 13px; position: relative; color: var(--athletes-text); font-weight: 850; }
.registration-request-projection li::before { position: absolute; left: 0; color: var(--athletes-teal); content: "✓"; font-weight: 900; }
.registration-request-projection > strong { color: var(--athletes-teal); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.registration-financial { display: grid; gap: 8px; }
.registration-financial > header h4,
.registration-request-documents > header h4 { margin: 0; }
.registration-financial > header p,
.registration-request-documents > header p { margin-top: 2px !important; }
.registration-financial-table-wrap { min-width: 0; overflow: hidden; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
.registration-financial-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.registration-financial-table th,
.registration-financial-table td { padding: 7px 8px; border-bottom: 1px solid var(--athletes-border); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.registration-financial-table thead th { color: var(--athletes-muted); background: var(--athletes-alt); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.registration-financial-table thead th:nth-last-child(-n+2),
.registration-financial-table__amount,
.registration-financial-table tfoot td { text-align: right; }
.registration-financial-table th:nth-child(1) { width: 25%; }
.registration-financial-table th:nth-child(2) { width: 45%; }
.registration-financial-table th:nth-last-child(-n+2) { width: 15%; }
.registration-financial-table tbody:last-of-type tr:last-child td { border-bottom: 0; }
.registration-financial-table td { font-size: 9px; font-weight: 750; }
.registration-financial-table__amount small { display: block; margin-top: 2px; color: var(--athletes-muted); font-size: 7px; font-weight: 800; line-height: 1.15; }
.registration-financial-table td.is-empty { color: var(--athletes-muted); }
.registration-financial-table__article label { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.registration-financial-table__description { min-width: 0; color: inherit; }
.registration-financial-table__article strong,
.registration-financial-table__article small { display: block; }
.registration-financial-table__article strong { color: var(--athletes-text); font-size: 10px; }
.registration-financial-table__article small,
.registration-financial-table__free small { margin-top: 1px; color: var(--athletes-muted); font-size: 8px; font-weight: 700; }
.registration-financial-table__option { display: inline-flex !important; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 30px; padding: 4px 8px; border: 1px solid var(--athletes-teal); border-radius: 7px; color: var(--athletes-teal) !important; background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%); font-size: 8px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.registration-financial-table__option input { width: 17px; height: 17px; margin: 0; accent-color: var(--athletes-teal); cursor: pointer; }
.registration-financial-table__optional.is-selected > td { background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 97%); }
.registration-financial-table tfoot th,
.registration-financial-table tfoot td { border-top: 2px solid var(--athletes-border); border-bottom: 0; background: var(--athletes-alt); font-size: 10px; font-weight: 900; }
.registration-financial-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.registration-financial-summary > span { display: grid; gap: 1px; min-width: 88px; padding: 7px 9px; border: 1px solid var(--athletes-border); border-radius: 999px; background: var(--athletes-card); text-align: right; }
.registration-financial-summary > span[hidden] { display: none; }
.registration-financial-summary small { color: var(--athletes-muted); font-size: 7px; font-weight: 900; text-transform: uppercase; }
.registration-financial-summary strong { font-size: 11px; font-weight: 900; }
.registration-financial-summary__total { border-color: color-mix(in srgb, var(--athletes-teal), transparent 35%) !important; color: var(--athletes-teal); background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%) !important; }
.registration-financial__notice { padding: 8px 10px; border-left: 3px solid var(--athletes-teal); background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 95%); }
.registration-request-approval-blocker {
  display: grid;
  gap: 3px;
  margin-top: 10px;
  padding: 10px 12px;
  border-left: 3px solid #d39a00;
  color: #6f5200;
  background: #fff7dc;
}
.registration-request-approval-blocker strong { font-size: 10px; font-weight: 900; }
.registration-request-approval-blocker span { font-size: 9px; font-weight: 750; line-height: 1.4; }
.registration-request-documents { display: grid; gap: 8px; padding-top: 2px; }
.registration-request-documents table { width: 100%; border-collapse: collapse; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
.registration-request-documents th,
.registration-request-documents td { padding: 8px 10px; border-bottom: 1px solid var(--athletes-border); text-align: left; font-size: 9px; }
.registration-request-documents thead th { color: var(--athletes-muted); background: var(--athletes-alt); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.registration-request-documents tbody tr:last-child td { border-bottom: 0; }
.registration-request-documents__template { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 45%); border-radius: 999px; color: var(--athletes-teal); background: var(--athletes-card); font-size: 8px; font-weight: 900; text-decoration: none; }
.registration-request-documents__missing { color: var(--athletes-muted); font-size: 8px; font-weight: 800; }
.registration-request-documents__method { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--athletes-teal), transparent 45%); border-radius: 999px; color: var(--athletes-teal); background: var(--athletes-card); font-size: 8px; font-weight: 900; }
.registration-request-documents__method[hidden] { display: none; }
.registration-request-documents button.registration-request-documents__method {
  min-width: 124px;
  min-height: 34px;
  justify-content: center;
  padding: 0 12px;
  border-radius: 7px;
  color: #087d6e;
  background: #e8faf7;
  font-family: inherit;
  font-size: 9px;
  cursor: pointer;
}
.registration-request-documents button.registration-request-documents__method:hover,
.registration-request-documents button.registration-request-documents__method:focus-visible { background: #d8f6f1; }
.registration-application-modal select:not(:disabled),
.registration-application-modal input[type="date"]:not(:disabled) {
  border-color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal), var(--athletes-card) 94%);
}
.registration-application-modal input[type="checkbox"]:not(:disabled),
.registration-application-modal input[type="radio"]:not(:disabled) {
  accent-color: var(--athletes-teal);
  cursor: pointer;
}
.registration-request-documents__status { width: 34px; text-align: center !important; }
.registration-request-documents__status > span { display: inline-grid; width: 20px; height: 20px; place-items: center; border: 2px solid var(--athletes-border); border-radius: 50%; color: var(--athletes-muted); font-size: 11px; font-weight: 900; }
.registration-request-documents__status > span[data-status="satisfied"] { border-color: var(--athletes-teal); color: var(--athletes-teal); background: color-mix(in srgb, var(--athletes-teal), transparent 92%); }
.registration-request-documents__satisfied { color: #087d52; font-size: 8px; font-weight: 900; }
.registration-request-documents__pending { color: #8a6500; font-size: 8px; font-weight: 900; }
.registration-request-documents__actions { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.registration-request-tasks { display: grid; gap: 8px; margin-top: 12px; }
.registration-request-tasks > h3 { margin: 0; font-size: 12px; font-weight: 900; }
.registration-request-tasks > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.registration-request-tasks article { display: grid; min-width: 0; gap: 2px; padding: 9px 10px; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
.registration-request-tasks article strong { color: var(--athletes-teal); font-size: 9px; font-weight: 900; }
.registration-request-tasks article span { color: var(--athletes-text); font-size: 10px; font-weight: 850; }
.registration-request-tasks article small { color: var(--athletes-muted); font-size: 8px; font-weight: 750; overflow-wrap: anywhere; }
.registration-request-tasks article[data-operational-kind="blocker"] { border-color: color-mix(in srgb, #d72649, transparent 55%); }
.registration-request-tasks article[data-operational-kind="blocker"] strong { color: #b4233c; }
.registration-application-modal__footer { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); border-top: 1px solid var(--athletes-border); }
.registration-application-modal__footer .athletes-primary-action { min-height: 48px; margin: 0; }
.registration-request-submit { display: grid; gap: 1px; place-content: center; }
.registration-request-submit small { color: inherit; font-size: 8px; font-weight: 800; opacity: .82; text-transform: none; }
.registration-guide-detail__configuration { display: grid; gap: 10px; }
.registration-guide-choice { display: block; margin: 0; }
.registration-guide-choice > span,
.registration-guide-roles legend { color: var(--athletes-teal); font-size: 10px; font-weight: 900; }
.registration-guide-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 10px; border: 1px solid var(--athletes-border); border-radius: 8px; }
.registration-guide-roles > label { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; }
.registration-guide-roles > label:last-child { display: block; grid-column: 1 / -1; }
.registration-guide-detail + .athletes-primary-action { margin-top: 12px; }
.registration-extra-choices { display: grid; gap: 7px; }
.registration-extra-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--athletes-border); border-radius: 7px; background: var(--athletes-alt); }
.registration-extra-choice strong,
.registration-extra-choice small { display: block; }
.registration-extra-choice strong { font-size: 11px; font-weight: 900; }
.registration-extra-choice small { margin-top: 1px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.athlete-registration-consent { margin: 10px 0 0 !important; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.45; }

.athletes-modal input:focus {
  border-color: var(--athletes-teal);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--athletes-teal), transparent 78%);
}

.athletes-form-grid,
.athlete-profile-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.athlete-photo-field {
  display: grid;
  grid-column: 1 / -1;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  background: var(--athletes-alt);
}

.athlete-photo-field__label {
  margin-left: 2px;
  color: var(--athletes-teal);
  font-size: 10px;
  font-weight: 900;
}

.athlete-photo-field__body {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.athlete-photo-preview {
  position: relative;
  display: grid;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--athletes-teal), transparent 55%);
  border-radius: 50%;
  color: #096f62;
  background: color-mix(in srgb, var(--athletes-teal), white 82%);
  font-size: 22px;
  font-weight: 900;
  place-items: center;
}

[data-theme="dark"] .athlete-photo-preview {
  color: #78e4d5;
  background: color-mix(in srgb, var(--athletes-teal), transparent 82%);
}

.athlete-photo-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.athlete-photo-preview [hidden],
.athlete-photo-remove[hidden] { display: none; }

.athlete-photo-field__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 8px;
  align-items: center;
}

.athlete-photo-picker,
.athlete-photo-remove {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-text);
  background: var(--athletes-card);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.athlete-photo-picker svg {
  width: 17px;
  height: 17px;
  color: var(--athletes-teal);
}

.athletes-modal form .athlete-photo-picker > span {
  display: inline;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.athlete-photo-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.athlete-photo-picker:focus-within {
  border-color: var(--athletes-teal);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--athletes-teal), transparent 78%);
}

.athlete-photo-remove { color: var(--athletes-danger); }

.athlete-photo-field__actions small,
.athlete-photo-field__actions p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--athletes-muted);
  font-size: 9px;
  font-weight: 700;
}

.athlete-photo-field__actions p:not(:empty) { color: var(--athletes-danger); }

.athletes-form-error {
  margin-top: 7px !important;
  color: #b52f3e;
  font-size: 11px;
  font-weight: 800;
}

.institution-role-field,
.institution-modality-field {
  grid-column: 1 / -1;
  margin-top: 12px;
}

.institution-role-field > h3,
.institution-modality-field > h3 {
  margin: 0;
  color: var(--athletes-text);
  font-size: 13px;
  font-weight: 900;
}

.institution-role-field > p,
.institution-modality-field > p {
  margin: 2px 0 8px;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}

.institution-role-field > div,
.institution-modality-field > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.institution-modality-field > [data-affiliation-enabled-fields] {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.institution-affiliation-options-section {
  padding-top: 12px;
  border-top: 1px solid var(--athletes-border);
}

.institution-affiliation-options-section > h4 {
  margin: 0;
  color: var(--athletes-text);
  font-size: 12px;
  font-weight: 900;
}

.institution-affiliation-options-section > p {
  margin: 2px 0 8px;
  color: var(--athletes-muted);
  font-size: 10px;
  font-weight: 700;
}

.institution-affiliation-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}

.institution-affiliation-option {
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-alt);
}

.institution-affiliation-option > header {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
}

.institution-affiliation-option > header strong,
.institution-affiliation-option > header small { display: block; }
.institution-affiliation-option > header strong { font-size: 12px; font-weight: 900; }
.institution-affiliation-option > header small,
.institution-affiliation-option > p,
.institution-affiliation-option > small { color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-affiliation-option > p { margin: 9px 0 0; line-height: 1.35; }
.institution-affiliation-option > small { display: block; margin-top: 6px; color: var(--athletes-teal); }
.institution-affiliation-option > label:not(.institution-affiliation-option__toggle) { display: grid; gap: 5px; margin-top: 9px; }
.institution-affiliation-option > label > span { color: var(--athletes-teal); font-size: 10px; font-weight: 800; }
.institution-affiliation-option select { width: 100%; min-width: 0; min-height: 40px; padding: 8px 10px; border: 1px solid var(--athletes-border); border-radius: 7px; color: var(--athletes-text); background: var(--athletes-card); font: inherit; font-size: 16px; font-weight: 700; }
.institution-affiliation-option__toggle { display: flex; gap: 6px; align-items: center; font-size: 9px; font-weight: 800; }
.institution-affiliation-option__toggle input { width: 18px; height: 18px; accent-color: var(--athletes-teal); }
.institution-affiliation-option__status { color: var(--athletes-teal); font-size: 9px; font-weight: 900; }
.institution-affiliation-option [hidden],
.institution-affiliation-options-section [hidden],
[data-affiliation-enabled-fields][hidden] { display: none; }

.institution-role-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--athletes-border);
  border-radius: 8px;
  background: var(--athletes-alt);
}

.institution-role-row legend {
  grid-column: 1 / -1;
  padding: 0 3px;
  color: var(--athletes-text);
  font-size: 11px;
  font-weight: 900;
}

.institution-role-row label,
.institution-modality-choice {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  background: var(--athletes-card);
}

.institution-role-row input,
.institution-modality-choice input {
  width: 18px;
  height: 18px;
  accent-color: var(--athletes-teal);
}

.athletes-modal form .institution-role-row label > span,
.athletes-modal form .institution-modality-choice > span {
  margin: 0;
  color: var(--athletes-text);
  font-size: 10px;
}

.athletes-primary-action {
  width: 100%;
  min-height: 42px;
  margin-top: 12px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: var(--athletes-teal);
  font-size: 12px;
  font-weight: 900;
}

.athletes-primary-action:disabled {
  opacity: .35;
}

.institution-directory { display: grid; gap: 16px; padding: 0 18px 28px; }
.institution-directory-tabs.management-filter { width: 100%; max-width: none; margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.institution-directory-filters { display: grid; gap: 9px; min-width: 0; }
.institution-directory-filter { display: grid; min-width: 0; grid-template-columns: 82px minmax(0, 1fr); gap: 9px; align-items: center; }
.institution-directory-filter > span { color: var(--athletes-muted); font-size: 10px; font-weight: 900; }
.institution-directory-filter__options { display: flex; min-width: 0; gap: 6px; overflow-x: auto; padding: 2px; scrollbar-width: none; overscroll-behavior-inline: contain; }
.institution-directory-filter__options::-webkit-scrollbar { display: none; }
.institution-directory-filter__options button { flex: 0 0 auto; min-height: 34px; padding: 0 12px; border: 1px solid var(--athletes-border); border-radius: 999px; color: var(--athletes-muted); background: var(--athletes-alt); font: inherit; font-size: 10px; font-weight: 900; white-space: nowrap; }
.institution-directory-filter__options button[aria-pressed="true"] { border-color: var(--athletes-teal); color: var(--athletes-teal); background: color-mix(in srgb, var(--athletes-teal), transparent 90%); }
.institution-directory-section,
.institution-people,
.institution-teams-summary { min-width: 0; }
.institution-directory-section > header,
.institution-people > header,
.institution-teams-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.institution-directory-section > header h2,
.institution-directory-section > header p,
.institution-people > header h2,
.institution-people > header p,
.institution-teams-summary > header h2,
.institution-teams-summary > header p { margin: 0; }
.institution-directory-section > header h2,
.institution-people > header h2,
.institution-teams-summary > header h2 { font-size: 15px; font-weight: 900; }
.institution-directory-section > header p,
.institution-people > header p,
.institution-teams-summary > header p { margin-top: 2px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.institution-directory-section > header > span,
.institution-people > header > span { display: grid; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 999px; color: var(--athletes-teal); background: var(--athletes-alt); font-size: 10px; font-weight: 900; place-items: center; }
.institution-people { display: grid; gap: 12px; }
.institution-people > header { margin: 0; }
.institution-directory-section--nested { padding-left: 12px; border-left: 2px solid color-mix(in srgb, var(--athletes-teal) 38%, transparent); }
.institution-directory-section--nested > header h2 { font-size: 12px; }
.institution-teams-summary { margin: 0; }
.institution-teams-summary > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.institution-teams-summary article { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
.institution-teams-summary article strong,
.institution-teams-summary article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.institution-teams-summary article strong { font-size: 11px; font-weight: 900; }
.institution-teams-summary article small { margin-top: 2px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-entity-type { display: grid; gap: 5px; }
.institution-entity-type > span { color: var(--athletes-teal); font-size: 11px; font-weight: 800; }
.institution-entity-type select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--athletes-border); border-radius: 7px; color: var(--athletes-text); background: var(--athletes-alt); font: inherit; font-size: 16px; font-weight: 700; }
.institution-create-name { display: grid; gap: 5px; margin-top: 12px; }
.institution-editor-kind { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-alt); }
.institution-editor-kind span { color: var(--athletes-muted); font-size: 10px; font-weight: 800; }
.institution-editor-kind strong { font-size: 12px; font-weight: 900; }
.institution-editor-section { margin-top: 0; }
.institution-entity-editor-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  gap: 4px;
  margin-bottom: 16px;
  padding: 4px;
  border-radius: 9px;
  background: var(--athletes-alt);
}
.institution-entity-editor-tabs button {
  min-width: 0;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  color: var(--athletes-muted);
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}
.institution-entity-editor-tabs button[aria-pressed="true"] {
  color: var(--athletes-teal);
  background: var(--athletes-card);
  box-shadow: 0 2px 7px color-mix(in srgb, var(--athletes-text) 10%, transparent);
}
.institution-entity-editor { display: grid; min-width: 0; }
.institution-entity-editor__section {
  min-width: 0;
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid var(--athletes-border);
}
.institution-entity-editor__section:first-child { padding-top: 0; border-top: 0; }
.institution-entity-editor__section-header {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 11px;
}
.institution-entity-editor__section-header > div:first-child { min-width: 0; }
.institution-entity-editor__section-header h3,
.institution-entity-editor__section-header p { margin: 0; }
.institution-entity-editor__section-header h3 { color: var(--athletes-text); font-size: 15px; font-weight: 900; }
.institution-entity-editor__section-header p { max-width: 560px; margin-top: 3px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.35; }
.institution-entity-editor__section-header .institution-editor-kind {
  flex: 0 0 auto;
  min-height: 38px;
  margin: 0;
  padding: 7px 10px;
  border-radius: 999px;
}
.institution-entity-editor__section-header .institution-editor-kind span { font-size: 9px; }
.institution-entity-editor__section-header .institution-editor-kind strong { font-size: 10px; }
.institution-entity-editor__section--modalities > div {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.institution-affiliation-settings { display: grid; gap: 12px; }
.institution-affiliation-settings > label,
.institution-affiliation-settings > [data-affiliation-enabled-fields] > label { display: grid; align-content: start; gap: 5px; }
.institution-affiliation-settings > label { align-self: start; }
.institution-affiliation-settings > [data-affiliation-enabled-fields] { display: contents; }
.institution-affiliation-settings > [data-affiliation-enabled-fields][hidden] { display: none; }
.institution-affiliation-settings .institution-affiliation-options-section { grid-column: 1 / -1; }
.institution-season-defaults { padding-top: 18px; }
.institution-season-defaults > .institution-season-defaults__dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.institution-season-defaults > label,
.institution-season-defaults__dates > label { display: grid; gap: 5px; min-width: 0; }
.institution-season-defaults > label > span,
.institution-season-defaults__dates > label > span { color: var(--athletes-teal); font-size: 10px; font-weight: 900; }
.institution-season-defaults input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid var(--athletes-border); border-radius: 7px; color: var(--athletes-text); background: var(--athletes-input); font: inherit; font-size: 16px; font-weight: 700; }
.institution-season-defaults > small { margin-top: 5px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-entity-editor__documents { display: grid; gap: 14px; min-width: 0; }
.institution-entity-editor__documents > header h3,
.institution-entity-editor__documents > header p { margin: 0; }
.institution-entity-editor__documents > header h3 { font-size: 15px; font-weight: 900; }
.institution-entity-editor__documents > header p { margin-top: 3px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; line-height: 1.4; }
.institution-affiliation-documents { padding-bottom: 14px; border-bottom: 1px solid var(--athletes-border); }
.institution-affiliation-documents > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.institution-affiliation-document__create,
.institution-affiliation-document > button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.institution-affiliation-document-list { display: grid; gap: 8px; }
.institution-affiliation-document {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-alt);
}
.institution-affiliation-document strong,
.institution-affiliation-document small { display: block; }
.institution-affiliation-document strong { color: var(--athletes-text); font-size: 11px; font-weight: 900; }
.institution-affiliation-document small { margin-top: 3px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-affiliation-document__emitters { display: flex; min-width: 0; flex-wrap: wrap; gap: 5px; }
.institution-affiliation-document__emitter {
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--athletes-teal);
  background: color-mix(in srgb, var(--athletes-teal) 10%, var(--athletes-card));
  font-size: 9px;
  font-weight: 900;
}
.institution-affiliation-programs { display: grid; gap: 12px; }
.institution-affiliation-program-list { display: grid; gap: 8px; }
.institution-affiliation-program {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-alt);
}
.institution-affiliation-program strong,
.institution-affiliation-program small { display: block; }
.institution-affiliation-program strong { color: var(--athletes-text); font-size: 11px; font-weight: 900; }
.institution-affiliation-program small { margin-top: 3px; color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.institution-affiliation-program button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  color: var(--athletes-teal);
  background: var(--athletes-card);
  font-size: 9px;
  font-weight: 900;
}
.institution-document-type-list { display: grid; gap: 8px; }
.institution-document-type {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .7fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-alt);
}
.institution-document-type__choice { display: flex; min-width: 0; align-items: center; gap: 9px; color: var(--athletes-text); font-size: 11px; font-weight: 900; }
.institution-document-type__choice > span { min-width: 0; }
.institution-document-type__choice strong,
.institution-document-type__choice small { display: block; min-width: 0; }
.institution-document-type__choice small { margin-top: 2px; overflow: hidden; color: var(--athletes-muted); font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.institution-document-type__template { display: block; min-width: 0; }
.organization-document-attachments { --media-attachment-accent: var(--athletes-teal); --media-attachment-ink: var(--athletes-text); }
.organization-document-attachments > span { display: none; }
.institution-document-type-row__template small { min-width: 0; overflow: hidden; color: var(--athletes-muted); font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.profile-documentation {
  margin: 16px 18px;
  padding: 14px;
  border: 1px solid var(--athletes-border);
  border-radius: 9px;
  background: var(--athletes-card);
}
.profile-documentation > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-documentation h3,
.profile-documentation p { margin: 0; }
.profile-documentation h3 { font-size: 14px; font-weight: 900; }
.profile-documentation header p,
.profile-documentation__empty { margin-top: 2px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.profile-documentation > header > button,
.profile-documentation-row > button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid var(--athletes-teal);
  border-radius: 8px;
  background: var(--athletes-card);
  color: var(--athletes-teal);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-documentation__rows { display: grid; gap: 8px; margin-top: 10px; }
.profile-documentation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border-radius: 7px;
  background: var(--athletes-alt);
}
.profile-documentation-row > div { display: grid; min-width: 0; gap: 2px; }
.profile-documentation-row strong { overflow-wrap: anywhere; font-size: 12px; font-weight: 900; }
.profile-documentation-row small { color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.profile-documentation-row > span { color: var(--athletes-teal); font-size: 10px; font-weight: 900; text-align: right; }
.profile-documentation-row[data-document-status="attention"] > span { color: var(--athletes-danger); }
.profile-documentation-acquisition { display: grid; gap: 16px; }
.profile-documentation-acquisition h3 { margin: 0; color: var(--athletes-text); font-size: 16px; font-weight: 900; }
.profile-documentation-acquisition p { margin: 0; color: var(--athletes-muted); font-size: 11px; font-weight: 700; }
.profile-documentation-acquisition > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.profile-documentation-acquisition > div > button {
  display: grid; min-width: 0; min-height: 88px; align-content: center; gap: 5px; padding: 14px;
  border: 1px solid var(--athletes-border); border-radius: 12px; color: var(--athletes-teal);
  background: var(--athletes-card); text-align: left; cursor: pointer;
}
.profile-documentation-acquisition > div > button strong { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.profile-documentation-acquisition > div > button small { color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.profile-documentation-acquisition__back {
  min-height: 34px; margin-bottom: 12px; padding: 0; border: 0; color: var(--athletes-teal);
  background: transparent; font: inherit; font-size: 9px; font-weight: 900; cursor: pointer;
}
.profile-documentation-editor__attachments { display: grid; gap: 10px; margin-top: 14px; }
.profile-documentation-media-editor {
  --media-attachment-accent: var(--athletes-teal);
  --media-attachment-ink: var(--athletes-text);
}
.profile-documentation-template {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px; border: 1px solid var(--athletes-border); border-radius: 10px;
  background: var(--athletes-soft);
}
.profile-documentation-template > span { color: var(--athletes-text); font-size: 11px; font-weight: 900; }
.profile-documentation-template .profile-documentation-context__template {
  min-height: 36px; padding: 0 12px; border: 1px solid var(--athletes-teal); border-radius: 9px;
  color: var(--athletes-teal); background: var(--athletes-white); font: inherit; font-size: 9px; font-weight: 900;
}
.profile-documentation-observations { grid-column: 1 / -1; }
.profile-documentation-observations textarea { min-height: 92px; resize: vertical; }
.profile-documentation-observations--mobile { display: none; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
.profile-documentation-observations--mobile > strong {
  display: block; min-height: 72px; padding: 10px 12px; overflow: hidden;
  border: 1px solid var(--shell-border, #d9e9e6); border-radius: 7px;
  color: var(--shell-text, #1a2b28); background: var(--shell-input, #eef5f4);
  font-size: 16px; line-height: 1.4; white-space: pre-wrap;
}
.profile-documentation-history__observations { margin: 3px 0 1px !important; color: var(--athletes-text) !important; white-space: pre-wrap; }
.profile-documentation-context {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 14px; padding: 12px; border: 1px solid var(--athletes-border); border-radius: 12px;
  background: var(--athletes-soft);
}
.profile-documentation-context > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.profile-documentation-context span { color: var(--athletes-muted); font-size: 10px; font-weight: 900; }
.profile-documentation-period-actions {
  display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px;
  margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--athletes-border);
}
.profile-documentation-period-actions button,
.profile-documentation-context button,
.profile-documentation-context .profile-documentation-context__template {
  min-height: 40px; padding: 0 14px; border: 1px solid var(--athletes-teal); border-radius: 10px;
  background: var(--athletes-white); color: var(--athletes-teal); font: inherit; font-size: 10px; font-weight: 900;
}
.profile-documentation-period-actions button[data-secondary-action$="reject"],
.profile-documentation-period-actions button[data-secondary-action$="period-end"] { border-color: var(--athletes-danger); color: var(--athletes-danger); }
.profile-documentation-period-actions button[data-secondary-action$="validate"] {
  border-color: var(--athletes-teal);
  color: #fff;
  background: var(--athletes-teal);
}
.profile-documentation-history__attachment { display: inline-flex; margin-top: 5px; margin-right: 5px; }
.profile-documentation-history { padding: 4px 0 0; }
.profile-documentation-history > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.profile-documentation-history h3,
.profile-documentation-history p { margin: 0; }
.profile-documentation-history h3 { font-size: 14px; font-weight: 900; }
.profile-documentation-history p { margin-top: 2px; color: var(--athletes-muted); font-size: 10px; font-weight: 700; }
.profile-documentation-history__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.profile-documentation-history__actions button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--athletes-teal);
  border-radius: 8px;
  background: var(--athletes-card);
  color: var(--athletes-teal);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-documentation-history__actions .profile-documentation-history__request {
  border-color: var(--athletes-teal);
  background: var(--athletes-teal);
  color: #fff;
}
.profile-documentation-history ol { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.profile-documentation-history li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--athletes-border); }
.profile-documentation-history li > div { display: grid; min-width: 0; gap: 2px; }
.profile-documentation-history li strong { font-size: 11px; font-weight: 900; }
.profile-documentation-history li small { color: var(--athletes-muted); font-size: 9px; font-weight: 700; }
.profile-documentation-history__events { display: grid; gap: 4px; margin-top: 6px; }
.profile-documentation-history__events > span { display: grid; gap: 1px; padding-left: 8px; border-left: 2px solid var(--athletes-border); }
.profile-documentation-history__events strong { font-size: 9px !important; }
.profile-documentation-history__period-state { justify-items: end; }
.profile-documentation-history__period-state > span { color: var(--athletes-muted); font-size: 9px; font-weight: 900; text-align: right; }
.profile-documentation-history li[data-current="true"] .profile-documentation-history__period-state > span { color: var(--athletes-teal); }
.profile-documentation-history__review { display: flex; gap: 6px; margin-top: 5px; }
.profile-documentation-history__review button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--athletes-teal);
  border-radius: 7px;
  background: var(--athletes-card);
  color: var(--athletes-teal);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-documentation-history__review button:last-child { border-color: var(--athletes-danger); color: var(--athletes-danger); }
.athlete-profile-person-fields { display: contents; }
.athlete-profile-fields__email { grid-column: 1 / -1; }
.athlete-profile-person-fields[hidden],
.institution-role-field[hidden],
.institution-modality-field[hidden] { display: none; }

.athletes-team-choices {
  display: grid;
  gap: 6px;
}

.athletes-team-choice {
  display: grid;
  min-height: 48px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid var(--athletes-border);
  border-radius: 7px;
  background: var(--athletes-alt);
}

.athletes-team-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.athletes-team-choice > span {
  display: grid;
  width: 22px;
  height: 22px;
  border: 2px solid var(--athletes-border);
  border-radius: 6px;
  background: var(--athletes-card);
  place-items: center;
}

.athletes-team-choice input:checked + span {
  border-color: var(--athletes-teal);
  background: var(--athletes-teal);
}

.athletes-team-choice input:checked + span::after {
  width: 9px;
  height: 5px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: '';
  transform: rotate(-45deg) translateY(-1px);
}

.athletes-team-choice strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.athletes-team-choice small {
  color: var(--athletes-muted);
  font-size: 9px;
  font-weight: 700;
}

.athletes-denied {
  display: grid;
  min-height: 360px;
  align-content: center;
  justify-items: center;
  padding: 24px;
  text-align: center;
}

.athletes-denied > span {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 12px;
  border-radius: 8px;
  color: var(--athletes-muted);
  background: var(--athletes-alt);
  place-items: center;
}

.athletes-denied svg {
  width: 25px;
  height: 25px;
}

.athletes-denied h1 {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
}

.athletes-denied p {
  max-width: 340px;
  margin: 5px 0 0;
  color: var(--athletes-muted);
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .registration-application-modal__footer {
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }
}

@media (min-width: 768px) {
  .athletes-title,
  .athlete-detail__top {
    padding-top: 18px;
  }

  .athletes-team-list,
  .athlete-detail__teams,
  .athlete-detail__identity,
  .athlete-detail__fields,
  .athlete-phone-action {
    max-width: 920px;
  }

  .athlete-detail__fields,
  .athlete-phone-action {
    margin-right: 18px;
  }
}

@media (max-width: 480px) {
  .registration-request-tasks > div { grid-template-columns: 1fr; }
  .athlete-detail__top--back { grid-template-columns: 1fr; }
  .athlete-detail__top > .athlete-detail__back {
    min-height: 64px;
    padding-bottom: 6px;
  }
  .athlete-detail__context-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 12px 10px;
  }
  .athlete-detail__context-tabs button {
    min-height: 42px;
    padding: 0 8px;
  }
  .institution-directory { padding-right: 12px; padding-left: 12px; }
  .institution-directory-tabs.management-filter button { padding-right: 5px; padding-left: 5px; font-size: 9px; line-height: 1.15; }
  .institution-directory-filter { grid-template-columns: 1fr; gap: 4px; }
  .institution-configuration__grid { grid-template-columns: 1fr; }
  .institution-teams-summary > div { grid-template-columns: 1fr; }
  .institution-directory-section--nested { padding-left: 8px; }
  .athletes-form-grid,
  .athlete-profile-fields { grid-template-columns: 1fr; }
  .institution-role-field > div,
  .institution-modality-field > div { grid-template-columns: 1fr; }
  .institution-entity-editor__section { padding: 15px 0; }
  .institution-entity-editor__section-header { gap: 9px; }
  .institution-entity-editor__section-header h3 { font-size: 14px; }
  .institution-entity-editor__section-header .institution-editor-kind {
    display: grid;
    gap: 1px;
    min-height: 36px;
    padding: 6px 9px;
    text-align: right;
  }
  .institution-entity-editor__section--modalities > div { grid-template-columns: 1fr; }
  .institution-document-type,
  .institution-affiliation-document,
  .institution-affiliation-program { grid-template-columns: 1fr; }
  .institution-season-defaults > .institution-season-defaults__dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-documentation-row { grid-template-columns: minmax(0, 1fr) auto; }
  .profile-documentation-row > button { grid-column: 1 / -1; width: 100%; }
  .profile-documentation-context { display: grid; }
  .profile-documentation-observations--desktop { display: none; }
  .profile-documentation-observations--mobile { display: grid; }
  .profile-documentation-acquisition > div { grid-template-columns: 1fr; }
  .profile-documentation-period-actions { display: grid; grid-template-columns: 1fr; }
  .profile-documentation-history > header { display: grid; }
  .profile-documentation-history__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .profile-documentation-history__actions button:only-child { grid-column: 1 / -1; }
  .institution-affiliation-options { grid-template-columns: 1fr; }
  .institution-affiliation-directory__groups { grid-template-columns: 1fr; }
  .institution-affiliation-workspace { margin-right: 12px; margin-left: 12px; }
  .institution-organization-workspace__tabs { margin-right: 12px; margin-left: 12px; }
  .institution-affiliation-workspace > header { align-items: stretch; }
  .institution-affiliation-workspace > header label { min-width: 0; grid-template-columns: 1fr; gap: 4px; }
  .institution-affiliation-actions { display: flex; }
  .institution-affiliation-toolbar { grid-template-columns: 1fr; }
  .institution-affiliation-toolbar .institution-affiliation-actions > button { width: auto; }
  .institution-registration-toolbar { grid-template-columns: minmax(0, 1fr) minmax(102px, .56fr); }
  .institution-registration-create { width: auto; min-width: 0; padding-right: 6px; padding-left: 6px; font-size: 8px; }
  .institution-season-context__edit { align-self: stretch; white-space: nowrap; }
  .athlete-registration-row { grid-template-columns: 1fr; gap: 7px; }
  .registration-guide-section > div { grid-template-columns: 1fr; }
  .registration-guide-offer-group > div { grid-template-columns: 1fr; }
  .registration-dependency-choice { grid-template-columns: 1fr; align-items: stretch; }
  .registration-dependency-choice__representative { grid-column: 1; }
  .registration-plan-choice { grid-template-columns: 1fr; }
  .registration-financial-table-wrap { overflow: visible; border: 0; background: transparent; }
  .registration-financial-table,
  .registration-financial-table tbody,
  .registration-financial-table tr,
  .registration-financial-table td,
  .registration-financial-table th { display: block; width: 100%; }
  .registration-financial-table thead,
  .registration-financial-table tfoot { display: none; }
  .registration-financial-table tbody { display: grid; gap: 7px; margin-bottom: 7px; }
  .registration-financial-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
  .registration-financial-table tr[hidden] { display: none; }
  .registration-financial-table td,
  .registration-financial-table th { padding: 4px; border: 0; text-align: left; }
  .registration-financial-table td::before { display: block; margin-bottom: 2px; color: var(--athletes-muted); content: attr(data-label); font-size: 7px; font-weight: 900; text-transform: uppercase; }
  .registration-financial-table__article { grid-column: 1 / -1; grid-row: 1; }
  .registration-financial-table__amount.is-empty { display: none; }
  .registration-financial-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .registration-financial-summary > span { min-width: 0; border-radius: 8px; text-align: left; }
  .registration-request-documents table,
  .registration-request-documents tbody,
  .registration-request-documents tr,
  .registration-request-documents td { display: block; width: 100%; }
  .registration-request-documents thead { display: none; }
  .registration-request-documents tbody { display: grid; gap: 7px; }
  .registration-request-documents tr { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; padding: 9px; border: 1px solid var(--athletes-border); border-radius: 8px; background: var(--athletes-card); }
  .registration-request-documents tr[hidden] { display: none; }
  .registration-request-documents td { width: auto; min-width: 0; padding: 0; border: 0; }
  .registration-request-documents td:first-child { grid-column: 1; grid-row: 2; width: auto; }
  .registration-request-documents td:nth-child(2) { grid-column: 1 / -1; grid-row: 1; color: var(--athletes-muted); font-size: 8px; font-weight: 900; }
  .registration-request-documents td:nth-child(3) { grid-column: 2; grid-row: 2; align-self: center; }
  .registration-request-documents td:nth-child(4) { grid-column: 2; grid-row: 3; min-width: 0; max-width: 100%; align-self: center; justify-self: start; }
  .registration-request-documents__actions { max-width: 100%; }
  .registration-request-documents td::before { display: none; }
  .athletes-modal input[type="text"],
  .athletes-modal input[type="url"],
  .athletes-modal input[type="date"],
  .athletes-modal input[type="email"],
  .athletes-modal input[type="tel"] { font-size: 16px; }
  .athlete-photo-field__body { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; }
  .athlete-photo-preview { width: 64px; height: 64px; font-size: 19px; }
  .athlete-photo-field__actions { grid-template-columns: 1fr; }
  .athlete-photo-field__actions small,
  .athlete-photo-field__actions p { grid-column: 1; }
  .athlete-photo-remove { min-height: 34px; }
  .athletes-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .athletes-team-list {
    padding-right: 12px;
    padding-left: 12px;
  }

  .athletes-modal {
    align-items: flex-end;
    padding: 0;
  }

  .athletes-modal__panel {
    width: 100%;
    max-height: calc(100dvh - 20px);
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 8px 8px 0 0;
  }
}
