/* Team pages use the SIL7 match surface, typography and navigation. */
.app-shell.has-team-page > :is(.calendar-toolbar,.match-filter-section,.country-stage) {
  visibility:hidden;
  pointer-events:none;
}
.app-shell .team-page {
  position:fixed;
  z-index:90;
  box-sizing:border-box;
  margin:0;
  padding:12px 10px 24px;
  border:0;
  border-radius:0;
  background:radial-gradient(ellipse 100% 250px at 100% 0%,#2b0c38,transparent 75%),#03030d;
  color:#eee7f7;
  font:400 13px/1.4 var(--sil7-font,Inter,system-ui,sans-serif);
  overflow:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.app-shell .team-page[hidden] { display:none; }
.team-page::-webkit-scrollbar { display:none; }
.team-page *, .team-page *::before, .team-page *::after { box-sizing:border-box; }
.team-page button { font-family:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.team-page button:focus-visible { outline:2px solid #ed8be8; outline-offset:2px; }
.team-page .match-page-league { margin:0 0 12px; min-height:28px; }
.team-page .collected-back { color:#eee7f7; font-size:15px; font-weight:600; }
.team-page .team-page-hero {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-height:116px;
  margin:0 0 12px;
  padding:22px 20px;
}
.team-page-logo {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  flex:0 0 68px;
  width:68px;
  height:68px;
  color:#e7c2ed;
  font-size:30px;
  font-weight:600;
}
.team-page-logo img { display:block; width:68px; height:68px; object-fit:contain; }
.team-page-identity { position:relative; z-index:1; min-width:0; }
.team-page .team-page-identity h2 {
  margin:3px 0 0;
  color:#f4edfb;
  font-size:20px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.team-page-sport { color:#b9a6cd; font-size:11px; font-weight:500; }
.team-page .team-page-tabs { display:flex; gap:3px; padding:4px; margin-bottom:16px; scrollbar-width:none; }
.team-page .team-page-tabs .match-section-tab {
  flex:1 1 0;
  min-width:0;
  height:44px;
  padding:0 5px;
  color:#a89cbb;
  font-size:13px;
  font-weight:600;
}
.team-page .team-page-tabs .match-section-tab.is-active { color:#fff; }
.team-page-content { min-width:0; }
.team-page .team-fixture {
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:12px;
  color:#eee7f7;
  text-align:left;
  border-radius:15px;
  transition:border-color .15s,background .15s;
}
.team-page .team-fixture:hover { border-color:#754687; }
.team-page .team-fixture:active { background:#23112f; }
.team-fixture-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.team-fixture-meta time { color:#b6a6c6; font-size:11px; font-weight:500; font-variant-numeric:tabular-nums; }
.team-fixture-status { color:#a797bb; font-size:10px; font-weight:500; }
.team-fixture-side { display:grid; grid-template-columns:26px minmax(0,1fr) 28px; gap:9px; align-items:center; min-height:30px; }
.team-fixture-side + .team-fixture-side { margin-top:5px; }
.team-fixture-side strong { color:#eee7f7; font-size:14px; line-height:1.3; font-weight:600; overflow-wrap:anywhere; }
.team-fixture-side b { color:#f8f0ff; text-align:right; font-size:18px; font-weight:700; font-variant-numeric:tabular-nums; }
.team-small-logo { display:grid; place-items:center; width:26px; height:26px; color:#cdb5db; font-size:13px; }
.team-small-logo img { display:block; width:26px; height:26px; object-fit:contain; }
.team-fixture-competition { display:block; margin-top:10px; padding-top:8px; border-top:1px solid #33213f; color:#a79ab8; font-size:11px; line-height:1.35; }
.team-more,.team-table-button,.team-roster-match { display:flex; align-items:center; gap:8px; padding:12px 0; border:0; background:transparent; color:#e6a1e7; font-size:13px; font-weight:600; text-align:left; }
.team-more { justify-content:center; width:100%; }
.team-player { display:flex; align-items:center; gap:12px; min-height:52px; padding:10px 0; border-top:1px solid #30203e; }
.team-player strong { color:#eee7f7; font-size:14px; font-weight:600; }
.team-shirt { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:8px; background:#2b1a39; color:#cfb8dd; font-size:12px; font-weight:500; }
.team-page .team-tournament { padding:14px; margin-bottom:10px; }
.team-page .team-tournament h3 { font-size:15px; line-height:1.35; font-weight:600; margin:0; }
.team-tournament p { color:#b5a2c6; font-size:12px; margin:6px 0; }
.team-standings { overflow:auto; }
.team-standings table { width:100%; border-collapse:collapse; font-size:12px; }
.team-standings th,.team-standings td { padding:9px 5px; border-bottom:1px solid #352640; text-align:left; }
.team-standings img { width:20px; height:20px; object-fit:contain; vertical-align:middle; }
.team-standings .is-current { color:#f59ff1; background:#331639; }
.match-hero-team[data-team-source] { cursor:pointer; }
.match-hero-team[data-team-source]:focus-visible { outline:2px solid #ef5bef; border-radius:8px; }
@media(max-width:360px) {
  .team-page .team-page-hero { padding:18px 15px; gap:14px; }
  .team-page .team-page-identity h2 { font-size:18px; }
  .team-page .team-page-tabs .match-section-tab { padding:0 3px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .team-page .team-fixture { transition:none; } }
