/* Pro team hub: shared scoreboard, schedule and standings palette. */
body.pro-team-page { background: var(--cchl-page-bg, #f4f7fb) !important; color: #334155; }
.pro-team-page .team-page-hero {
  width: min(calc(100% - 32px), 1284px) !important;
  border-color: #9b1b1e !important;
  border-radius: 18px 18px 0 0 !important;
  box-shadow: 0 14px 36px rgba(21,31,49,.08);
}
.pro-team-page .team-page-nav-shell {
  float: none !important; height: auto !important;
  background: transparent !important; box-shadow: none !important;
}
.pro-team-page .team-page-main { max-width: 1316px !important; padding: 0 16px !important; }
.pro-team-page .team-page-main #cssmenu { padding: 0 !important; border: 0; background: transparent; }
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links {
  flex-wrap: wrap !important; gap: 5px; padding: 14px !important;
  overflow: visible !important; white-space: normal;
  background: #14243b; border-bottom: 4px solid #9b1b1e;
  box-shadow: 0 10px 24px rgba(21,31,49,.08);
}
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li {
  background: transparent !important; padding: 0 !important; line-height: normal !important;
}
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li > a {
  box-sizing: border-box; padding: 11px 12px !important; margin: 0 !important;
  min-height: 40px; border: 1px solid transparent !important; border-radius: 8px;
  color: #cfdaea !important; font: 700 12px/18px var(--cchl-label-font, Arial, sans-serif) !important;
  transition: background-color .15s, color .15s;
}
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li > a::after { display: none !important; }
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li.activemain > a,
.pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li > a:hover {
  background: #fff !important; color: #14243b !important;
}
.pro-team-page a:focus-visible, .pro-team-page button:focus-visible { outline: 3px solid #7fb5ee; outline-offset: 2px; }
.pro-team-page .team-tab-content { padding-top: 20px !important; }
.pro-team-page .team-page-main .tabmain {
  box-sizing: border-box; border: 1px solid #dbe3ec; border-radius: 16px !important;
  overflow-x: auto; box-shadow: 0 14px 36px rgba(21,31,49,.06); margin-bottom: 28px;
}
.pro-team-page :is(.team-roster-heading, .team-stats-heading, .team-salary-hero, .team-schedule-header, .team-depth-hero) {
  background: radial-gradient(ellipse at 82% 0%, rgba(49,86,129,.55), transparent 48%), #14243b !important;
  color: #fff !important; padding: 24px !important; border-bottom: 4px solid #9b1b1e !important;
}
.pro-team-page :is(.team-roster-heading, .team-stats-heading, .team-salary-hero, .team-schedule-header, .team-depth-hero) :is(h2,h3) { color: #fff !important; }
.pro-team-page :is(.team-stats-heading, .team-salary-hero-copy, .team-schedule-header, .team-depth-hero-copy) :is(p,small) { color: #c7d3e2 !important; }
.pro-team-page :is(.team-roster-panel, .team-stats-panel, .team-depth-section, .team-salary-shell, .team-schedule-shell) {
  border-color: #dbe3ec !important; border-radius: 14px; overflow: hidden;
}
.pro-team-page :is(.team-roster-panel-header, .team-stats-panel-header, .team-depth-section-header) {
  padding: 16px 20px !important; background: #edf2f8 !important; border-bottom: 1px solid #dbe3ec;
}
.pro-team-page .team-page-main .tablesorter { width: 100%; border-collapse: collapse; }
.pro-team-page .team-page-main .tablesorter thead th { background: #14243b !important; padding: 10px 8px !important; font-size: 11px; }
/* Beat the older roster-specific dark text rule for both skaters and goalies. */
.pro-team-page .team-page-main .team-roster-tab--pro .team-roster-panel .tablesorter thead th,
.pro-team-page .team-page-main .team-roster-tab--pro .team-roster-panel .tablesorter thead th * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  opacity: 1;
  text-shadow: none !important;
}
.pro-team-page .team-page-main .tablesorter tbody td { padding: 9px 8px; border-bottom: 1px solid #e5ebf2; }
.pro-team-page .team-page-main .tablesorter tbody tr:nth-child(even) td { background: #f4f7fb; }
.pro-team-page .team-page-main .tablesorter tbody tr:hover td { background: #e8f0fa !important; }
/* A single-team player stats table does not need a repeated team logo column. */
html .pro-team-page .team-page-main #tabmain2 .STHSPHPTeam_PlayersScoringTable tr > :nth-child(3) {
  display: none !important;
}
.pro-team-page .tablesorter-filter { box-sizing: border-box; min-height: 30px; max-width: 100%; border: 1px solid #ccd7e4; border-radius: 5px; padding: 5px 7px; }
/* Keep every stat available now that column controls have been removed. */
.pro-team-page .team-page-main table.tablesorter :is(thead th, tbody td) { display: table-cell !important; }
/* Preserve the existing roster/rating column split over the full-stat rule above. */
html .pro-team-page .team-page-main .team-roster-tab--pro[data-roster-view="roster"]
  :is(.STHSPHPTeam_PlayersRosterTable, .STHSPHPTeam_GoaliesRosterTable) tr > :is(:nth-child(4), :nth-child(9), :nth-child(n+12)),
html .pro-team-page .team-page-main .team-roster-tab--pro[data-roster-view="ratings"]
  :is(.STHSPHPTeam_PlayersRosterTable, .STHSPHPTeam_GoaliesRosterTable) tr > :is(:nth-child(4), :nth-child(5), :nth-child(6), :nth-child(8), :nth-child(9)) {
  display: none !important;
}
.pro-team-page .team-roster-tab--pro .tablesorter-filter-row { display: none !important; }
.pro-team-page .team-roster-tab--pro .team-roster-controls {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; padding: 12px 16px !important;
}
.pro-team-page .team-roster-controls .team-roster-view-tabs {
  margin: 0 !important; padding: 0 !important; border: 0; background: transparent;
}
.pro-team-page .team-roster-controls .team-roster-view-tabs button {
  min-height: 38px; border: 1px solid #ccd7e4 !important;
  background: #fff !important; color: #334155 !important;
}
.pro-team-page .team-roster-controls .team-roster-view-tabs button.is-active {
  background: #14243b !important; border-color: #14243b !important; color: #fff !important;
}
.pro-team-page .team-roster-controls .team-roster-heading-meta { margin: 0; }
.pro-team-page .team-roster-controls .team-roster-overview { margin: 0 !important; }
/* Team schedule: compact table without the introductory banner. */
.pro-team-page #tabmain6 .team-schedule-shell {
  margin: 0; padding: 0; background: #fff; border: 0; box-shadow: none;
}
.pro-team-page #tabmain6 .team-schedule-table-wrap { margin: 0; padding: 12px; }
.pro-team-page #tabmain6 table.STHSPHPTeam_ScheduleTable {
  width: 100%; min-width: 680px; table-layout: auto;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}
.pro-team-page #tabmain6 .STHSPHPTeam_ScheduleTable thead th {
  padding: 13px 16px !important; background: #edf2f8 !important;
  color: #334155 !important; font: 700 12px/1.4 Inter, "Segoe UI", Arial, sans-serif !important;
  text-align: left; letter-spacing: .025em;
}
.pro-team-page #tabmain6 .STHSPHPTeam_ScheduleTable tbody td {
  padding: 14px 16px !important; height: auto !important;
  font: 400 13px/1.5 Inter, "Segoe UI", Arial, sans-serif !important;
  color: #334155;
}
.pro-team-page #tabmain6 .schedule-team-link {
  display: inline-flex; align-items: center; gap: 9px;
  font: 600 13px/1.4 Inter, "Segoe UI", Arial, sans-serif !important;
  color: #14243b; text-decoration: none;
}
.pro-team-page #tabmain6 .schedule-team-link img { width: 30px !important; height: 30px !important; object-fit: contain; }
.pro-team-page #tabmain6 .schedule-at-cell { text-align: center; color: #7b8ba0; }
.pro-team-page #tabmain6 .schedule-result-cell > a {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  font: 500 13px/1.5 Inter, "Segoe UI", Arial, sans-serif !important;
  color: #526174; text-decoration: none;
}
.pro-team-page #tabmain6 .schedule-result-score { font-size: 16px; color: #14243b; font-variant-numeric: tabular-nums; }
.pro-team-page #tabmain6 .schedule-result-cell .is-winner { color: #14684e; font-weight: 750; }
.pro-team-page #tabmain6 :is(.schedule-result-overtime, .schedule-game-status) {
  padding: 3px 7px; border-radius: 6px; background: #e5edf6;
  color: #405b79; font-size: 11px; font-weight: 700;
}
.pro-team-page #tabmain6 .schedule-detail-cell a {
  display: inline-block; padding: 6px 12px; border: 1px solid #ccd7e4;
  border-radius: 8px; background: #fff; color: #315d87;
  font: 600 12px/1.4 Inter, "Segoe UI", Arial, sans-serif !important; text-decoration: none;
}
.pro-team-page #tabmain6 .schedule-detail-cell a:hover { background: #e8f0fa; }
/* Team totals must scroll rather than squeeze dozens of stats into the viewport. */
.pro-team-page #tabmain9 { padding: 12px !important; }
.pro-team-page #tabmain9 .team-news-toolbar {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px; padding: 10px 12px; margin-bottom: 8px;
  background: #edf2f8; border-radius: 10px;
}
.pro-team-page #tabmain9 .team-news-tabs,
.pro-team-page #tabmain9 .team-news-actions { display: flex; gap: 8px; }
.pro-team-page #tabmain9 .team-news-tabs button {
  padding: 9px 14px; border: 1px solid #ccd7e4; border-radius: 8px;
  background: #fff; color: #334155; cursor: pointer;
  font: 600 13px/1.4 "Segoe UI", Arial, sans-serif;
}
.pro-team-page #tabmain9 .team-news-tabs button[aria-selected="true"] { background: #14243b; color: #fff; border-color: #14243b; }
.pro-team-page #tabmain9 .team-news-actions a { color: #315d87; padding: 6px; font: 600 12px/1.4 "Segoe UI", Arial, sans-serif; text-decoration: none; }
.pro-team-page #tabmain9 .team-news-list[hidden] { display: none !important; }
.pro-team-page #tabmain9 .team-news-row {
  display: flex; align-items: center; gap: 12px; padding: 9px 12px;
  border-bottom: 1px solid #e2e8f0; background: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
}
.pro-team-page #tabmain9 .team-news-row:nth-child(even) { background: #f4f7fb; }
.pro-team-page #tabmain9 .team-news-row img { flex: 0 0 28px; object-fit: contain; }
.pro-team-page #tabmain9 .team-news-row > div { flex: 1; min-width: 0; }
.pro-team-page #tabmain9 .team-news-row p {
  margin: 0; max-width: none; max-height: none; overflow: visible;
  color: #14243b; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere;
}
.pro-team-page #tabmain9 .team-news-row time { display: block; margin-top: 3px; color: #64748b; font-size: 11px; line-height: 1.3; }
.pro-team-page #tabmain9 .team-news-empty { padding: 16px; color: #64748b; }
.pro-team-page #tabmain8 .team-depth-controls {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px; margin-bottom: 14px;
}
.pro-team-page #tabmain8 .team-depth-controls .team-depth-subtabs { margin: 0 !important; }
.pro-team-page #tabmain8 .team-depth-legend {
  display: flex; flex-wrap: wrap; gap: 14px; margin: 0;
  color: #475569; font: 600 12px/1.4 "Segoe UI", Arial, sans-serif;
}
.pro-team-page #tabmain8 .team-depth-legend-item { display: inline-flex; align-items: center; gap: 5px; }
.pro-team-page #tabmain8 .team-depth-legend-item img { width: 14px; height: 14px; object-fit: contain; }
.pro-team-page #tabmain4 .team-lines-modern__card {
  box-sizing: border-box;
  min-height: 102px !important;
  padding: 8px 10px !important;
  justify-content: flex-start !important;
  gap: 8px;
}
.pro-team-page #tabmain4 .team-lines-modern__card-body {
  padding-top: 0 !important;
  max-width: 72% !important;
}
.pro-team-page #tabmain4 .team-lines-modern__portrait {
  max-height: 76% !important;
}
.pro-team-page #tabmain4 .team-lines-modern__row {
  padding-top: 8px !important;
  margin-top: 8px !important;
}
.pro-team-page #tabmain4 .team-lines-modern__section { padding: 12px !important; }
.pro-team-page #tabmain5 { padding: 14px !important; }
.pro-team-page #tabmain5 .team-stats-table-wrap {
  width: 100%; max-width: 100%; overflow-x: auto; padding: 0;
  scrollbar-width: auto; border-radius: 0 0 12px 12px;
}
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table {
  table-layout: auto !important; width: max-content !important;
  min-width: 100% !important; max-width: none !important;
  overflow: visible !important;
  border-collapse: separate !important; border-spacing: 0 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table :is(th,td) {
  box-sizing: border-box; width: auto !important; min-width: 62px !important;
  padding: 12px 14px !important; white-space: nowrap !important;
  font: 500 13px/1.4 Inter, "Segoe UI", Arial, sans-serif !important;
  text-align: center; font-variant-numeric: tabular-nums;
}
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table thead th {
  background: #14243b !important; color: #fff !important; font-weight: 700 !important;
}
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table tr > :first-child { min-width: 44px !important; }
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table tr > :nth-child(2) {
  position: sticky !important; left: 0 !important; z-index: 3; min-width: 180px !important;
  text-align: left; background: #fff; box-shadow: 2px 0 0 #dbe3ec;
}
.pro-team-page #tabmain5 table.STHSPHPTeamsStatSub_Table thead tr > :nth-child(2) { z-index: 4; }
.pro-team-page #tabmain5 .tablesorter-filter-row { display: none !important; }
.pro-team-page #tabmain5 .team-stats-subtabs__nav { display: flex; gap: 8px; padding: 0 0 14px; }
.pro-team-page #tabmain5 .team-stats-subtab {
  padding: 10px 16px; border: 1px solid #ccd7e4; border-radius: 8px;
  background: #fff; color: #334155; font: 600 13px/1.4 "Segoe UI", Arial, sans-serif;
}
.pro-team-page #tabmain5 .team-stats-subtab.is-active { background: #14243b; border-color: #14243b; color: #fff; }
/* Player stats: freeze rank and player name in both skater and goalie tables. */
.pro-team-page #tabmain2 .team-stats-table-wrap {
  width: 100%; max-width: 100%; overflow: auto; padding: 0;
}
.pro-team-page #tabmain2 table.tablesorter {
  overflow: visible !important; table-layout: auto !important;
  width: max-content !important; min-width: 100% !important; max-width: none !important;
  border-collapse: separate !important; border-spacing: 0 !important;
}
.pro-team-page #tabmain2 table.tablesorter :is(th,td) {
  box-sizing: border-box; min-width: 62px !important; width: auto !important;
  padding: 12px 14px !important; white-space: nowrap !important;
  font: 500 13px/1.4 "Segoe UI", Arial, sans-serif !important;
  font-variant-numeric: tabular-nums;
}
.pro-team-page #tabmain2 table.tablesorter tr > :first-child {
  position: sticky !important; left: 0 !important; z-index: 3;
  width: 44px !important; min-width: 44px !important; max-width: 44px !important;
  background: #fff;
}
.pro-team-page #tabmain2 table.tablesorter tr > :nth-child(2) {
  position: sticky !important; left: 44px !important; z-index: 3;
  min-width: 200px !important; text-align: left !important;
  background: #fff; box-shadow: 2px 0 0 #dbe3ec;
}
.pro-team-page #tabmain2 table.tablesorter thead th {
  color: #fff !important; background: #14243b !important; font-weight: 700 !important;
}
.pro-team-page #tabmain2 table.tablesorter thead tr > :is(:first-child,:nth-child(2)) { z-index: 6; }
.pro-team-page #tabmain2 .player-stats-summary-header {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
}
.pro-team-page #tabmain2 .player-stats-summary-header .team-stats-overview {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  flex: 1 1 650px; gap: 8px; margin: 0; min-width: 0;
}
.pro-team-page #tabmain2 .player-stats-summary-header .team-stats-overview-card {
  margin: 0; padding: 10px 12px !important; background: #fff;
}
.pro-team-page #tabmain2 .player-stats-summary-header .team-stats-overview-card strong { font-size: 18px; }
@media (max-width: 700px) {
  .pro-team-page #tabmain2 .player-stats-summary-header .team-stats-overview {
    grid-template-columns: repeat(2,minmax(0,1fr)); flex-basis: 100%;
  }
}
.pro-team-page :is(.team-roster-table-wrap, .team-stats-table-wrap, .team-schedule-table-wrap) { overflow-x: auto; }
.pro-team-page :is(.tablesorter_ColumnSelectorWrapper, .tablesorter_Reset) { display: none !important; }
.pro-team-page .team-news-item { margin: 12px 20px; padding: 16px; border: 1px solid #dbe3ec; border-radius: 12px; background: #f8fafc; }
.pro-team-page #tabmain12 { padding: 24px; line-height: 1.7; }
.pro-team-page :is(.team-home-sidebar-panel, .team-home-stat-card, .team-home-leader-card) {
  border: 1px solid #dbe3ec; border-radius: 12px; background: #fff;
}
.pro-team-page .team-home-section-header {
  padding: 16px 20px; background: #edf2f8; color: #14243b; border-bottom: 1px solid #dbe3ec;
}
.pro-team-page #tabmain4 { padding: 20px; }
.pro-team-page #tabmain4 table { border-collapse: collapse; border: 1px solid #dbe3ec; }
.pro-team-page #tabmain4 th { background: #14243b; color: #fff; padding: 12px 10px; }
.pro-team-page #tabmain4 td { padding: 10px; border-bottom: 1px solid #e5ebf2; }
.pro-team-page #tabmain4 tr:nth-child(even) td { background: #f4f7fb; }
.pro-team-page .team-news-tab > div[class^="color4_"] {
  padding: 24px !important; background: #edf2f8; border-bottom: 4px solid #9b1b1e;
}
@media (max-width: 600px) {
  .pro-team-page .team-page-main { padding: 0 8px !important; }
  .pro-team-page .team-page-hero { width: calc(100% - 16px) !important; }
  .pro-team-page .team-page-main #cssmenu > ul.tabmain-links { padding: 10px !important; gap: 3px; }
  .pro-team-page .team-page-main #cssmenu > ul.tabmain-links > li > a { padding: 9px 10px !important; }
  .pro-team-page :is(.team-roster-heading, .team-stats-heading, .team-salary-hero, .team-schedule-header, .team-depth-hero) { padding: 18px 14px !important; }
}
