/* Shared hierarchy for the public team directory and the editable team
   workbench. Public pitches stop at identity and assigned position; tactical
   role/focus remains exclusive to the protected workbench. */

.teams-directory-page .football-pitch,
.team-workbench-page .football-pitch {
  isolation: isolate;
  container-type: inline-size;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .045) 50%, transparent 50%) 0 0 / 12.5% 100%,
    repeating-linear-gradient(0deg, #185d46 0 10%, #1c6d50 10% 20%);
  box-shadow:
    inset 0 0 78px rgba(0, 0, 0, .24),
    inset 0 0 0 1px rgba(216, 255, 235, .08);
}

.teams-directory-page .football-pitch::before,
.teams-directory-page .football-pitch::after,
.team-workbench-page .football-pitch::before,
.team-workbench-page .football-pitch::after {
  content: none;
}

.pitch-markings {
  position: absolute;
  z-index: 0;
  inset: 20px;
  border: 2px solid rgba(235, 249, 240, .58);
  pointer-events: none;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .22));
}

.pitch-markings::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  border-top: 2px solid rgba(235, 249, 240, .54);
}

.pitch-markings::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(92px, 18%, 132px);
  aspect-ratio: 1;
  border: 2px solid rgba(235, 249, 240, .54);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(235, 249, 240, .72) 0 2px, transparent 3px);
  transform: translate(-50%, -50%);
}

.pitch-markings > i {
  position: absolute;
  display: block;
  box-sizing: border-box;
}

.pitch-penalty-area {
  left: 24%;
  width: 52%;
  height: 17%;
  border: 2px solid rgba(235, 249, 240, .5);
}

.pitch-penalty-area-top {
  top: -2px;
  border-top: 0;
}

.pitch-penalty-area-bottom {
  bottom: -2px;
  border-bottom: 0;
}

.pitch-goal-area {
  left: 37%;
  width: 26%;
  height: 7%;
  border: 2px solid rgba(235, 249, 240, .46);
}

.pitch-goal-area-top {
  top: -2px;
  border-top: 0;
}

.pitch-goal-area-bottom {
  bottom: -2px;
  border-bottom: 0;
}

/* The public modules are one bounded inner panel. Their tracks always
   resolve inside the team header width, including the 2K range where the
   fixed minimums used to overflow the detail surface. */
.teams-directory-page .team-selector-detail {
  overflow: hidden;
}

.teams-directory-page .team-selector-panels {
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: none;
  min-width: 0;
  margin: 16px;
  padding: 0;
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(142, 181, 200, .2);
  background: rgba(142, 181, 200, .2);
  box-shadow: inset 0 0 0 1px rgba(3, 13, 22, .58);
}

.teams-directory-page .team-selector-panels > .team-public-card {
  min-width: 0;
  border: 0;
  box-shadow: none;
}

@media (min-width: 1720px) {
  .teams-directory-page .team-selector-panels {
    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(0, .78fr)
      minmax(0, .67fr);
  }
}

@media (min-width: 1241px) and (max-width: 1719px) {
  .teams-directory-page .team-selector-panels {
    grid-template-columns:
      minmax(0, 1.42fr)
      minmax(0, .68fr);
    grid-template-rows:
      minmax(0, 1.08fr)
      minmax(0, .92fr);
  }

  .teams-directory-page .directory-lineup-card {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .teams-directory-page .directory-roster-card {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
  }

  .teams-directory-page .directory-tactics-card {
    grid-column: 2;
    grid-row: 2;
    height: auto;
    min-height: 0;
  }
}

@media (min-width: 2400px) {
  .teams-directory-page .team-selector-panels {
    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(0, .78fr)
      minmax(0, .67fr);
  }
}

/* One roster component on both pages. */
.teams-directory-page .team-lineup-roster-row,
.team-workbench-page .team-lineup-roster-row {
  grid-template-columns: 42px 72px minmax(0, 1fr);
  align-items: center;
  box-sizing: border-box;
  height: 88px;
  min-height: 88px;
  max-height: 88px;
  gap: 9px;
  padding: 5px 9px;
  overflow: hidden;
}

.team-lineup-roster-row > em {
  display: none;
}

.team-lineup-roster-row .roster-avatar-stack {
  position: relative;
  display: grid;
  align-self: center;
  justify-items: center;
  align-content: center;
  width: 72px;
  min-width: 0;
  overflow: visible;
}

/* The public roster adds a status pill below the portrait. Center the portrait
   on the row itself instead of centering the portrait + pill as one tall unit. */
.teams-directory-page .team-lineup-roster-row .roster-avatar-stack {
  align-self: stretch;
  align-content: normal;
  height: 100%;
}

.teams-directory-page .team-lineup-roster-row .roster-player-avatar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.teams-directory-page .team-lineup-roster-row .roster-avatar-stack > img,
.teams-directory-page .team-lineup-roster-row .roster-avatar-stack > .roster-photo-fallback,
.team-workbench-page .team-lineup-roster-row .roster-avatar-stack > img,
.team-workbench-page .team-lineup-roster-row .roster-avatar-stack > .lineup-avatar-silhouette {
  width: 44px;
  height: 44px;
}

.team-lineup-roster-row .roster-lineup-status {
  display: block;
  box-sizing: border-box;
  width: max-content;
  max-width: 72px;
  min-height: 16px;
  margin-top: 2px;
  padding: 2px 4px;
  overflow: hidden;
  border: 1px solid rgba(157, 176, 189, .28);
  border-radius: 999px;
  background: rgba(3, 17, 26, .84);
  color: #9fb4c0;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.teams-directory-page .team-lineup-roster-row .roster-lineup-status {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  margin: 0 auto;
  font-size: 9.5px;
  line-height: 1.1;
}

.team-lineup-roster-row.is-starter .roster-lineup-status {
  border-color: rgba(183, 243, 74, .46);
  background: rgba(36, 65, 31, .82);
  color: var(--lime);
}

.team-lineup-roster-row.is-bench {
  border-left: 3px solid #68b9ff;
  background: linear-gradient(90deg, rgba(77, 157, 228, .14), rgba(255, 255, 255, .025));
}

.team-workbench-page .team-squad-row.team-lineup-player.is-bench,
.teams-directory-page .team-roster-row.team-lineup-roster-row.is-bench {
  border-left: 3px solid #68b9ff;
  background: linear-gradient(90deg, rgba(77, 157, 228, .14), rgba(255, 255, 255, .025));
}

.team-lineup-roster-row.is-bench .roster-lineup-status {
  border-color: rgba(104, 185, 255, .48);
  background: rgba(17, 49, 76, .88);
  color: #9ed2ff;
}

.team-lineup-roster-row .roster-player-info {
  display: grid;
  align-self: center;
  min-width: 0;
  align-content: center;
  gap: 2px;
  overflow: hidden;
}

.team-lineup-roster-row .roster-player-info > strong {
  overflow: hidden;
  color: #f1f7f5;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-lineup-roster-row .roster-natural-positions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  overflow: hidden;
  color: #a9bbc5;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-lineup-roster-row .roster-natural-positions > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-lineup-roster-row .roster-natural-positions > span:first-child {
  flex: 0 0 auto;
}

.team-lineup-roster-row .roster-natural-positions > span:last-child {
  flex: 1 1 auto;
}

.team-lineup-roster-row .roster-natural-positions > .roster-position-divider {
  flex: 0 0 auto;
  color: #6f8794;
}

.team-lineup-roster-row .team-role-summary {
  display: grid;
  min-width: 0;
  gap: 1px;
  margin-top: 1px;
  overflow: hidden;
}

.team-lineup-roster-row .team-role-tier {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  white-space: nowrap;
}

.team-lineup-roster-row .team-role-tier > em {
  display: grid;
  flex: 0 0 22px;
  min-height: 14px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 3px;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

.team-lineup-roster-row .team-role-tier > b {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 118px;
  padding: 1px 4px;
  overflow: hidden;
  border: 1px solid rgba(210, 225, 237, .3);
  border-radius: 3px;
  color: #e5eef6;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.1;
  text-overflow: ellipsis;
}

.team-lineup-roster-row .team-role-tier.double-plus > em,
.team-lineup-roster-row .team-role-tier.double-plus > b {
  border-color: rgba(255, 207, 72, .55);
  color: #ffe28a;
}

.team-lineup-roster-row .team-role-tier.plus > em,
.team-lineup-roster-row .team-role-tier.plus > b {
  border-color: rgba(104, 185, 255, .42);
  color: #b8dcff;
}

.teams-directory-page .team-lineup-roster-row .roster-rating,
.team-workbench-page .team-lineup-roster-row > b {
  align-self: center;
  color: var(--lime);
  font-size: 20px;
}

.teams-directory-page .team-lineup-roster-row.is-captain::after {
  content: none;
}

.team-workbench-page .team-lineup-roster-row.is-captain .roster-avatar-stack::after {
  content: "C";
  position: absolute;
  z-index: 4;
  top: -3px;
  right: 9px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1.5px solid #07111f;
  border-radius: 50%;
  background: linear-gradient(145deg, #f7d488, #e6a52e);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .55);
  color: #1a1208;
  font-size: 9px;
  font-weight: 950;
  pointer-events: none;
}

.teams-directory-page .team-lineup-roster-row.is-captain .roster-avatar-stack::after {
  content: none;
}

.team-page .team-lineup-roster-row.is-captain::after {
  content: none;
}

/* Public pitch markers use a clear hierarchy:
   portrait -> rating and assigned position -> player name. */
.teams-directory-page .directory-pitch .pitch-player-card {
  width: clamp(112px, 16cqi, 154px);
  margin-left: calc(clamp(112px, 16cqi, 154px) / -2);
}

.teams-directory-page .directory-pitch .pitch-public-avatar {
  position: relative;
  z-index: 80;
  display: grid;
  width: clamp(72px, 8.8cqi, 88px);
  height: clamp(72px, 8.8cqi, 88px);
  margin: 0 auto;
  place-items: center;
}

/* The legacy object route remains available to owners of private events.
   Match its public hierarchy to the canonical directory: equal surfaces,
   larger portraits and the same audience-safe roster component. */
@media (min-width: 1201px) {
  .team-page .team-public-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-page .public-pitch .pitch-public-avatar {
  position: relative;
  z-index: 80;
  display: grid;
  width: clamp(72px, 7.2cqi, 84px);
  height: clamp(72px, 7.2cqi, 84px);
  margin: 0 auto;
  place-items: center;
}

.team-page .public-pitch .pitch-public-avatar > img,
.team-page .public-pitch .pitch-public-avatar > .pitch-avatar-fallback {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 2px solid rgba(255, 255, 255, .65);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .36);
}

.team-page .public-pitch .pitch-public-avatar > .pitch-rating {
  position: absolute;
  z-index: 2;
  top: -4px;
  right: -6px;
  left: auto;
  width: clamp(25px, 3.2cqi, 31px);
  height: clamp(25px, 3.2cqi, 31px);
  font-size: clamp(10px, 1.25cqi, 12px);
}

.teams-directory-page .directory-pitch .pitch-public-avatar > img,
.teams-directory-page .directory-pitch .pitch-public-avatar > .pitch-avatar-fallback {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 2px solid rgba(255, 255, 255, .65);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .36);
}

.teams-directory-page .directory-pitch .pitch-public-avatar > .pitch-rating {
  position: absolute;
  z-index: 2;
  top: -4px;
  right: -6px;
  left: auto;
  width: clamp(23px, 3.2cqi, 30px);
  height: clamp(23px, 3.2cqi, 30px);
  font-size: clamp(10px, 1.25cqi, 12px);
}

.teams-directory-page .directory-pitch .pitch-position-badge {
  position: absolute;
  z-index: 90;
  top: auto;
  right: auto;
  bottom: -4px;
  left: 50%;
  display: grid;
  width: max-content;
  min-width: 32px;
  height: auto;
  min-height: 17px;
  margin: 0;
  padding: 2px 6px;
  border: 1px solid rgba(224, 242, 233, .48);
  border-radius: 999px;
  background: #061721;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .3);
  color: #eff8f3;
  font-size: clamp(9px, 1.2cqi, 11px);
  font-weight: 950;
  line-height: 1;
  transform: translateX(-50%);
}

.teams-directory-page .directory-pitch .pitch-player-card > .pitch-role-line {
  box-sizing: border-box;
  display: block;
  z-index: 60;
  width: max-content;
  max-width: clamp(112px, 18cqi, 142px);
  min-height: 16px;
  margin: 0 auto 2px;
  padding: 2px 5px;
  border-color: rgba(242, 201, 109, .4);
  border-radius: 4px;
  background: rgba(3, 16, 24, .88);
  color: #f2d38a;
  font-size: clamp(9px, 1.2cqi, 11px);
  line-height: 1.1;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  word-break: normal;
}

.teams-directory-page .directory-pitch .pitch-player-card > strong {
  width: fit-content;
  max-width: clamp(100px, 15cqi, 138px);
  margin: 0 auto;
  padding: 2px 6px;
  font-size: clamp(12px, 1.55cqi, 14px);
  line-height: 1.15;
}

.teams-directory-page .directory-pitch .pitch-player-card[data-position-slot="GK"] {
  /* The former upward lift reduced the CB/GK gap by another 12px.  A small
     downward optical offset uses the free goal-area space instead. */
  transform: translateY(10px);
}

.team-workbench-page .editor-pitch {
  min-height: clamp(690px, 44vw, 980px);
}

.team-workbench-page .pitch-player-editor {
  width: clamp(122px, 17cqi, 176px);
}

.team-workbench-page .pitch-player-editor .pitch-slot-avatar {
  position: relative;
  width: clamp(58px, 8cqi, 84px);
  height: clamp(58px, 8cqi, 84px);
}

.team-workbench-page .pitch-player-editor .pitch-slot-avatar > img,
.team-workbench-page .pitch-player-editor .pitch-slot-avatar > .lineup-avatar-silhouette {
  width: calc(100% - 4px);
  height: calc(100% - 4px);
}

.team-workbench-page .pitch-player-editor .pitch-slot-avatar > .pitch-rating {
  position: absolute;
  z-index: 4;
  top: -4px;
  right: -6px;
  display: grid;
  width: clamp(25px, 3.5cqi, 34px);
  height: clamp(25px, 3.5cqi, 34px);
  place-items: center;
  border: 2px solid #07131e;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .38);
  color: #07111a;
  font-size: clamp(10px, 1.35cqi, 13px);
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.team-workbench-page .pitch-player-editor.is-captain .pitch-slot-avatar::after {
  z-index: 6;
  top: -7px;
  right: auto;
  left: -9px;
  width: clamp(23px, 3.2cqi, 30px);
  height: clamp(23px, 3.2cqi, 30px);
  border-width: 2px;
  font-size: clamp(11px, 1.25cqi, 13px);
}

.team-workbench-page .pitch-player-editor .pitch-slot-role {
  display: inline-flex;
  align-items: center;
  justify-self: center;
  justify-content: center;
  margin-top: -7px;
  border-width: 1px;
  font-size: clamp(10px, 1.35cqi, 12px);
  text-align: center;
}

.team-workbench-page .pitch-player-editor.position-fit-primary .pitch-slot-role {
  border-color: rgba(183, 243, 74, .78);
  background: rgba(19, 65, 35, .96);
  color: #dfffaa;
  box-shadow: inset 0 0 0 1px rgba(183, 243, 74, .12);
}

.team-workbench-page .pitch-player-editor.position-fit-secondary .pitch-slot-role {
  border-color: rgba(139, 223, 164, .84);
  background: rgba(39, 84, 57, .96);
  color: #dcf7e4;
  box-shadow: inset 0 0 0 1px rgba(139, 223, 164, .1);
}

.team-workbench-page .pitch-player-editor.position-fit-mismatch .pitch-slot-role {
  border-color: rgba(255, 146, 73, .9);
  background: rgba(91, 39, 20, .95);
  color: #ffd0ae;
  box-shadow: inset 0 0 0 1px rgba(255, 146, 73, .24);
}

.team-workbench-page .pitch-player-editor .pitch-role-summary {
  box-sizing: border-box;
  width: fit-content;
  max-width: clamp(104px, 14cqi, 150px) !important;
  min-height: 20px;
  margin: 3px auto 0 !important;
  padding: 3px 6px;
  overflow: visible;
  border: 1px solid rgba(242, 201, 109, .38);
  border-radius: 4px;
  background: rgba(3, 16, 24, .86);
  font-size: clamp(9px, 1.2cqi, 12px) !important;
  text-overflow: clip;
  white-space: normal;
  flex-wrap: wrap;
}

.team-workbench-page .pitch-player-editor .pitch-role-summary > span {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.team-workbench-page .pitch-player-editor strong {
  margin-top: 3px;
  max-width: clamp(104px, 14cqi, 150px);
  font-size: clamp(11px, 1.45cqi, 14px);
}

.team-workbench-page .role-mapping-status[hidden] {
  display: none !important;
}

/* Read-only tactics are an invisible table, not a stack of mini cards. */
.teams-directory-page .directory-tactics-card {
  container-type: inline-size;
}

.teams-directory-page .directory-tactics-card > header h2 {
  font-size: 23px;
}

.teams-directory-page .tactics-readonly-body {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-content: start;
  gap: 0;
  padding: 8px 18px 18px;
}

.tactics-summary-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(210, 229, 236, .12);
}

.tactics-summary-section:last-child {
  border-bottom: 0;
}

.tactics-summary-section > h3 {
  margin: 0 0 9px;
  color: #e9f2f0;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .015em;
}

.tactics-summary-list,
.tactics-setpiece-grid {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 0;
  margin: 0;
}

.tactics-summary-list > div,
.tactics-setpiece-grid > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(64px, .55fr);
  align-items: center;
  min-width: 0;
  gap: 10px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border-bottom: 0;
}

.tactics-summary-list > div:last-child,
.tactics-setpiece-grid > div:last-child {
  border-bottom: 0;
}

.tactics-summary-list dt,
.tactics-setpiece-grid dt {
  overflow: hidden;
  color: #9fb3be;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactics-setpiece-grid dt {
  overflow: hidden;
  line-height: 38px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactics-summary-list dd,
.tactics-setpiece-grid dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #f0f6f3;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactics-summary-list .tactics-empty,
.tactics-setpiece-grid .tactics-empty {
  color: #758d99;
  font-weight: 650;
}

@container (min-width: 620px) {
  .tactics-setpiece-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
}

@media (min-width: 3200px) {
  .team-workbench-page .site-main {
    width: min(3440px, calc(100% - 120px));
  }

  .team-workbench-page .workbench-shell {
    grid-template-columns:
      minmax(1180px, 1.18fr)
      minmax(650px, .64fr)
      minmax(980px, .9fr);
    gap: 24px;
  }

  .team-workbench-page .editor-pitch {
    min-height: 1120px;
  }

  body.teams-directory-page .site-main {
    width: min(3520px, calc(100% - 120px));
  }

  .teams-directory-page .team-selector-workspace {
    grid-template-columns: 340px minmax(0, 1fr);
    min-width: 0;
    gap: 26px;
  }

  .teams-directory-page .team-selector-panels {
    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(0, .78fr)
      minmax(0, .67fr);
    gap: 1px;
    padding: 0;
  }

  .teams-directory-page .directory-pitch {
    min-height: 1060px;
  }

  .team-workbench-page .pitch-player-editor .pitch-slot-avatar {
    width: 92px;
    height: 92px;
  }

  .teams-directory-page .directory-pitch .pitch-public-avatar {
    width: 96px;
    height: 96px;
  }

  .team-page .public-pitch .pitch-public-avatar {
    width: 96px;
    height: 96px;
  }

  .team-workbench-page .pitch-player-editor .pitch-role-summary,
  .teams-directory-page .directory-pitch .pitch-player-card > .pitch-role-line {
    max-width: 170px !important;
    font-size: 13px !important;
  }

  .team-workbench-page .pitch-player-editor strong,
  .teams-directory-page .directory-pitch .pitch-player-card > strong {
    max-width: 170px;
    font-size: 15px;
  }
}

@media (max-width: 760px) {
  .teams-directory-page .team-selector-panels {
    width: calc(100% - 20px);
    margin: 10px;
    gap: 10px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .teams-directory-page .team-selector-panels > .team-public-card {
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
  }

  .teams-directory-page .team-lineup-roster-row,
  .team-workbench-page .team-lineup-roster-row {
    grid-template-columns: 38px 68px minmax(0, 1fr);
    height: 84px;
    min-height: 84px;
    max-height: 84px;
    padding-inline: 7px;
  }

  .team-lineup-roster-row .roster-avatar-stack {
    width: 68px;
  }

  .team-lineup-roster-row .roster-lineup-status {
    max-width: 68px;
    font-size: 9px;
  }

  .teams-directory-page .team-lineup-roster-row .roster-lineup-status {
    font-size: 9px;
  }

  .team-lineup-roster-row .roster-player-info > strong {
    font-size: 14px;
  }

  .team-lineup-roster-row .roster-natural-positions {
    font-size: 11px;
  }

  .teams-directory-page .directory-pitch .pitch-player-card {
    width: 96px;
    margin-left: -48px;
  }

  .teams-directory-page .directory-pitch .pitch-public-avatar,
  .team-page .public-pitch .pitch-public-avatar {
    width: 48px;
    height: 48px;
  }

  .teams-directory-page .directory-pitch .pitch-position-badge {
    position: absolute;
    top: auto;
    right: auto;
    bottom: -3px;
    left: 50%;
    min-width: 26px;
    min-height: 15px;
    margin: 0;
    padding: 2px 5px;
    font-size: 8px;
    transform: translateX(-50%);
  }

  .teams-directory-page .directory-pitch .pitch-player-card > .pitch-role-line {
    display: block;
    max-width: 92px;
    min-height: 14px;
    padding: 2px 3px;
    font-size: 8px;
    overflow: visible;
    white-space: normal;
  }

  .teams-directory-page .directory-pitch .pitch-player-card > strong {
    max-width: 96px;
    padding: 2px 4px;
    font-size: 9px;
  }

  .pitch-markings {
    inset: 10px;
  }

  .teams-directory-page .tactics-readonly-body {
    padding-inline: 14px;
  }
}
