.team-page-shell {
      max-width: 900px;
    }
    .team-page-shell.is-analytics {
      max-width: 1240px;
    }
    .team-page-shell.is-games {
      max-width: 1180px;
    }
    .team-page-shell.is-roster {
      max-width: 1240px;
    }
    .team-rating-hero {
      border: 0;
      background: linear-gradient(135deg, #f7fbff 0%, #ffffff 60%);
    }
    .team-rating-hero .metric-pill {
      border-radius: 999px;
      padding: .35rem .8rem;
      background: #eef5ff;
      color: #1d3557;
      font-weight: 600;
      font-size: .875rem;
      display: inline-flex;
      align-items: center;
      gap: .4rem;
    }
    .team-rating-hero .metric-pill--delta.up { color: #0f5132; background: #e9f8ef; }
    .team-rating-hero .metric-pill--delta.down { color: #842029; background: #fdecef; }
    .team-rating-hero .rating-chart-wrap {
      position: relative;
      height: 290px;
    }
    .future-goals-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: .5rem;
    }
    .future-goal-card {
      border: 1px solid #e6edf7;
      border-radius: 14px;
      background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
      box-shadow: 0 6px 18px rgba(17, 36, 77, 0.04);
      padding: .95rem 1rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: .65rem;
    }
    .future-goal-card__header {
      display: flex;
      flex-direction: column;
      gap: .3rem;
    }
    .future-goal-card__type {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      width: fit-content;
      border-radius: 999px;
      padding: .2rem .6rem;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .02em;
      text-transform: uppercase;
      color: #24508f;
      background: #ecf3ff;
    }
    .future-goal-card__title {
      font-size: .98rem;
      line-height: 1.35;
      font-weight: 700;
      color: #1f2a44;
    }
    .future-goal-card__section-title {
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .03em;
      color: #6f7f95;
      margin-bottom: .2rem;
    }
    .future-goal-card__status {
      border-left: 3px solid #d5e4ff;
      padding-left: .55rem;
      font-size: .87rem;
      color: #304764;
      line-height: 1.35;
    }
    .future-goal-card__plan {
      margin: 0;
      padding-left: 1rem;
      font-size: .86rem;
      color: #1f2a44;
    }
    .future-goal-card__plan li + li {
      margin-top: .2rem;
    }
    .future-goal-card__description {
      margin-top: 0;
      font-size: .79rem;
      line-height: 1.35;
      color: #6b7788;
    }
    .future-goal-card__divider {
      border-top: 1px dashed #e3eaf4;
      margin: .05rem 0 0;
    }
    .future-goal-card__boost {
      border-radius: 10px;
      background: #f3f8ff;
      border: 1px solid #dbe9ff;
      padding: .45rem .55rem;
      font-size: .79rem;
      line-height: 1.35;
      color: #28538f;
    }
    @media (min-width: 992px) {
      .future-goals-grid {
        gap: .75rem;
      }
      .future-goals-grid.goals-count-1 {
        grid-template-columns: minmax(320px, 560px);
        justify-content: center;
      }
      .future-goals-grid.goals-count-2,
      .future-goals-grid.goals-count-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .future-goals-grid.goals-count-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    .team-games-toolbar .form-select {
      min-width: 180px;
    }
    .team-game-row .badge {
      border-radius: 999px;
      font-weight: 600;
    }
    .team-game-row .game-meta {
      font-size: .875rem;
      color: #6c757d;
    }
    .overview-section-title {
      display: flex;
      align-items: center;
      gap: .45rem;
      font-weight: 700;
      margin-bottom: .8rem;
    }
    .roster-empty-state {
      border: 1px dashed #d8e1ee;
      border-radius: 14px;
      background: #f9fbfe;
      padding: 1rem;
      color: #6c757d;
      font-size: .9rem;
    }
    .overview-insights-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: .7rem;
    }
    .overview-insight-card {
      border: 1px solid #e7edf6;
      border-radius: 14px;
      padding: .8rem .9rem;
      background: linear-gradient(180deg, #ffffff 0%, #fafdff 100%);
      min-height: 100%;
    }
    .overview-insight-label {
      font-size: .73rem;
      text-transform: uppercase;
      letter-spacing: .03em;
      color: #6f7f95;
      margin-bottom: .25rem;
    }
    .overview-insight-value {
      font-size: 1.15rem;
      font-weight: 700;
      color: #1f2a44;
      line-height: 1.2;
    }
    .overview-insight-note {
      margin-top: .35rem;
      font-size: .8rem;
      color: #5d6c7f;
      line-height: 1.3;
    }
    .roster-player-group-title {
      margin: 1rem 0 .6rem;
      padding: .6rem .75rem;
      border-radius: 10px;
      border: 1px solid #f2dfb3;
      background: #fff8e6;
      font-size: .8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .03em;
      color: #8d6a18;
    }
    .roster-players-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: .75rem;
    }
    .roster-player-card {
      border: 2px solid #e0e0e0;
      border-radius: 16px;
      background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
      box-shadow: 0 8px 20px rgba(21, 45, 86, 0.06);
      overflow: hidden;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .roster-player-card:hover,
    .roster-player-card:focus-within {
      border-color: #3577e8;
    }
    .roster-player-card__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .6rem;
      padding: .85rem 1rem;
      border-bottom: 1px solid #edf2fa;
      background: linear-gradient(120deg, #f8fbff 0%, #ffffff 100%);
    }
    .roster-player-card__identity {
      display: flex;
      align-items: center;
      gap: .65rem;
      min-width: 0;
    }
    .roster-player-card__name {
      font-weight: 700;
      color: #1f2a44;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .roster-player-card__name-row {
      display: flex;
      align-items: center;
      gap: .45rem;
      flex-wrap: wrap;
    }
    .roster-player-card__submeta {
      margin-top: .2rem;
      font-size: .76rem;
      color: #6c7d95;
    }
    .roster-player-card__body {
      padding: .9rem 1rem 1rem;
    }
    .roster-player-card--inactive {
      background: linear-gradient(180deg, #fffbf2 0%, #fffefb 100%);
      border-color: #ead8ab;
    }
    .roster-player-card--inactive .roster-player-card__head {
      background: linear-gradient(180deg, #fffbf2 0%, #fffefb 100%);
      border-bottom-color: #ecdcb3;
    }
    .roster-player-card--inactive:hover,
    .roster-player-card--inactive:focus-within {
      border-color: #d2a24c;
    }
    .roster-player-actions {
      margin-bottom: .65rem;
      padding-bottom: .6rem;
      border-bottom: 1px dashed #dbe5f3;
    }
    .roster-player-main-metrics {
      display: flex;
      flex-direction: column;
      margin-bottom: .65rem;
    }
    .roster-player-metric-line {
      display: inline-flex;
      align-items: baseline;
      gap: .35rem;
    }
    .roster-player-metric-line__label {
      font-size: .82rem;
      color: #6d7f98;
    }
    .roster-player-metric-line__value {
      font-size: .92rem;
      font-weight: 700;
      color: #1f2a44;
    }
    .roster-player-more {
      margin-top: .6rem;
      border-top: 1px solid #edf1f8;
      padding-top: .55rem;
    }
    .roster-player-more__toggle {
      color: #31507f;
      font-size: .83rem;
      padding: 0;
      border: 0;
      background: transparent;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: .35rem;
    }
    .roster-player-more__grid {
      margin-top: .45rem;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .45rem;
    }
    .roster-player-more__item {
      border: 1px solid #e9eef8;
      border-radius: 10px;
      background: #fff;
      padding: .42rem .5rem;
    }
    .roster-player-more__item .label {
      font-size: .69rem;
      color: #72839a;
      text-transform: uppercase;
      letter-spacing: .02em;
    }
    .roster-player-more__item .value {
      font-weight: 700;
      color: #1f2a44;
      font-size: .92rem;
      line-height: 1.2;
    }
    @media (max-width: 991.98px) {
      .team-page-shell.is-analytics,
      .team-page-shell.is-games,
      .team-page-shell.is-roster {
        max-width: 100%;
      }
      .team-rating-hero .rating-chart-wrap {
        height: 230px;
      }
      .team-games-toolbar .form-select {
        min-width: 0;
      }
      .roster-player-more__grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
      }
    }
    @media (min-width: 768px) {
      .overview-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (min-width: 1200px) {
      .overview-insights-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .roster-players-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
