:root {
  color-scheme: dark;

  --bg: #101722;

  --header: #182230;

  --surface: #1b2736;

  --surface2: #243244;

  --surface3: #2a394b;

  --border: #334253;

  --text: #f0f4f8;

  --muted: #a7b7c9;

  --dim: #8195ab;

  --accent: #ffb342;

  --accent-dark: #f9a629;

  --live: #ff6271;

  --green: #6ce3ad;
}

* {
  box-sizing: border-box;
}

html {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
}

body {
  margin: 0;

  background: var(--bg);

  color: var(--text);
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
}

button:focus-visible,
input:focus-visible,
a:focus-visible {
  outline: 2px solid var(--accent);

  outline-offset: 3px;
}

a {
  color: inherit;

  text-decoration: none;
}

[hidden] {
  display: none !important;
}

.site-header {
  background: var(--header);

  border-bottom: 1px solid var(--border);

  position: sticky;

  top: 0;

  z-index: 20;
}

.header-inner {
  max-width: 1220px;

  margin: auto;

  padding: 12px 20px 11px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;
}

.brand {
  font-size: 19px;

  font-weight: 800;

  display: flex;

  align-items: center;

  gap: 10px;

  white-space: nowrap;

  letter-spacing: -0.55px;
}

.brand strong {
  color: var(--accent);
}

.brand-mark {
  display: inline-grid;

  place-items: center;

  width: 33px;

  height: 33px;

  background: var(--accent);

  color: #17202c;

  border-radius: 7px;

  font-size: 15px;

  font-weight: 950;
}

.provider-state {
  font-size: 11px;

  color: var(--muted);

  display: flex;

  align-items: center;

  gap: 7px;

  white-space: nowrap;
}

.status-dot {
  display: inline-block;

  width: 7px;

  height: 7px;

  border-radius: 50%;

  background: var(--green);
}

.provider-state.error .status-dot {
  background: var(--live);
}

.main-nav {
  max-width: 1220px;

  margin: auto;

  padding: 0 20px;

  display: flex;

  gap: 19px;

  overflow-x: auto;

  scrollbar-width: none;
}

.main-nav::-webkit-scrollbar {
  display: none;
}

.nav-button {
  border: 0;

  border-bottom: 3px solid transparent;

  background: transparent;

  color: #b0bfcc;

  padding: 11px 3px 12px;

  white-space: nowrap;

  font-size: 13px;

  font-weight: 700;
}

.nav-button.active {
  border-bottom-color: var(--accent);

  color: #fff;
}

.nav-button:hover {
  color: white;
}

.shell {
  max-width: 1220px;

  margin: 0 auto;

  padding: 24px 20px;

  display: grid;

  grid-template-columns: 230px minmax(0, 1fr);

  gap: 22px;

  align-items: start;
}

.sidebar {
  background: var(--surface);

  border: 1px solid var(--border);

  border-radius: 8px;

  overflow: hidden;
}

.side-head {
  padding: 15px 16px;

  border-bottom: 1px solid var(--border);

  font-size: 13px;

  font-weight: 850;

  display: flex;

  align-items: center;

  justify-content: space-between;
}

.text-button {
  background: none;

  border: 0;

  color: var(--accent);

  font-size: 11px;

  font-weight: 700;

  padding: 2px;
}

.filter-group {
  padding: 14px 12px 12px;

  border-bottom: 1px solid var(--border);
}

.filter-title {
  font-size: 11px;

  text-transform: uppercase;

  letter-spacing: 1px;

  color: #c7d3e0;

  font-weight: 850;

  padding: 0 5px 9px;
}

.filter-stack {
  display: flex;

  flex-direction: column;

  gap: 3px;

  max-height: 310px;

  overflow-y: auto;
}

.filter-option {
  width: 100%;

  background: transparent;

  border: 1px solid transparent;

  color: #bcc9d8;

  display: flex;

  align-items: center;

  justify-content: space-between;

  text-align: left;

  padding: 8px 10px;

  border-radius: 5px;

  font-size: 12px;

  gap: 7px;
}

.filter-option:hover {
  background: var(--surface2);
}

.filter-option.selected {
  background: #39404b;

  border-color: #4b4a45;

  color: #ffce8c;

  font-weight: 800;
}

.filter-option .filter-count {
  font-size: 10px;

  color: #8da1b9;
}

.filter-placeholder {
  font-size: 12px;

  color: var(--dim);

  padding: 8px;
}

.side-help {
  padding: 14px 16px;

  font-size: 11px;

  line-height: 1.6;

  color: var(--dim);
}

.side-help strong {
  color: #c3cfdb;
}

.main-content {
  min-width: 0;
}

.page-top {
  display: flex;

  justify-content: space-between;

  gap: 15px;

  align-items: flex-end;

  margin-bottom: 17px;
}

.breadcrumb {
  color: var(--accent);

  font-weight: 850;

  font-size: 10px;

  letter-spacing: 1px;
}

.breadcrumb span {
  color: var(--dim);

  padding: 0 6px;
}

.page-top h1 {
  margin: 8px 0 6px;

  font-size: clamp(21px, 2.5vw, 28px);

  letter-spacing: -0.6px;
}

.subtitle {
  color: var(--muted);

  font-size: 13px;

  line-height: 1.45;

  margin: 0;
}

.refresh-button {
  color: #d6e2ef;

  background: var(--surface2);

  border: 1px solid var(--border);

  border-radius: 6px;

  padding: 9px 12px;

  font-size: 12px;

  white-space: nowrap;
}

.refresh-button:hover {
  background: var(--surface3);
}

.refresh-button span {
  font-size: 17px;

  vertical-align: -1px;

  margin-right: 4px;
}

.toolbar {
  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 15px;

  background: var(--surface);

  border: 1px solid var(--border);

  padding: 9px 11px;

  border-radius: 8px 8px 0 0;
}

.view-tabs {
  display: flex;

  gap: 4px;

  flex-wrap: wrap;
}

.view-tab {
  border: 0;

  background: transparent;

  color: var(--muted);

  padding: 9px 12px;

  font-size: 12px;

  font-weight: 800;

  border-radius: 5px;

  white-space: nowrap;
}

.view-tab.active {
  background: var(--accent);

  color: #131c2a;
}

.view-tab:not(.active):hover {
  background: var(--surface2);

  color: #fff;
}

.live-pulse {
  display: inline-block;

  background: #e94d61;

  border-radius: 50%;

  width: 6px;

  height: 6px;

  margin-left: 2px;

  vertical-align: 2px;
}

.toolbar-actions {
  display: flex;

  align-items: center;

  gap: 7px;

  min-width: 0;
}

.search-wrap {
  display: flex;

  align-items: center;

  gap: 7px;

  background: #121c29;

  border: 1px solid var(--border);

  border-radius: 6px;

  padding: 0 10px;

  height: 35px;

  min-width: 200px;
}

.search-icon {
  font-size: 22px;

  color: var(--dim);
}

.search-wrap input {
  background: transparent;

  border: 0;

  color: white;

  outline: none;

  min-width: 0;

  width: 100%;

  font-size: 12px;
}

.search-wrap:focus-within {
  border-color: var(--accent);
}

.search-wrap input::placeholder {
  color: #8495aa;
}

.mobile-filters-button {
  display: none;
}

.utility-line {
  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 10px;

  color: var(--dim);

  font-size: 11px;

  padding: 10px 3px;
}

.timezone {
  white-space: nowrap;
}

.notice {
  padding: 12px 15px;

  background: #39283b;

  border: 1px solid #765169;

  color: #ffccdf;

  border-radius: 6px;

  font-size: 12px;

  margin-bottom: 12px;
}

.placeholder {
  padding: 45px 16px;

  text-align: center;

  background: var(--surface);

  border: 1px solid var(--border);

  font-size: 13px;

  color: var(--muted);
}

.date-group {
  margin-bottom: 15px;
}

.date-heading {
  background: #29384b;

  padding: 10px 13px;

  color: #e4ecf5;

  font-size: 12px;

  font-weight: 850;

  border-left: 3px solid var(--accent);

  text-transform: capitalize;
}

.date-heading small {
  color: #a6b8cc;

  font-weight: 600;

  margin-left: 7px;

  text-transform: none;
}

.match-row {
  display: grid;

  grid-template-columns: 73px minmax(0, 1fr) minmax(125px, 200px);

  align-items: center;

  gap: 13px;

  min-height: 83px;

  padding: 10px 16px;

  background: var(--surface);

  border-bottom: 1px solid #314254;
}

.match-row:nth-child(odd) {
  background: var(--surface2);
}

.match-row:last-child {
  border-radius: 0 0 6px 6px;

  border-bottom: 0;
}

.match-row:hover {
  background: #304054;
}

.match-time {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 4px;

  border-right: 1px solid var(--border);

  min-height: 45px;

  justify-content: center;
}

.time-big {
  font-weight: 950;

  color: #fff;

  font-variant-numeric: tabular-nums;

  font-size: 18px;

  letter-spacing: -0.4px;
}

.time-big.live {
  color: var(--live);

  font-size: 12px;

  letter-spacing: 0;
}

.match-format {
  font-size: 10px;

  color: #95a7bb;

  font-weight: 750;
}

.match-teams {
  display: grid;

  gap: 5px;

  min-width: 0;
}

.team-line {
  display: flex;

  align-items: center;

  gap: 8px;

  min-width: 0;

  font-size: 13px;

  font-weight: 750;

  line-height: 1.3;
}

.team-line .team-name {
  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;
}

.team-logo {
  flex: 0 0 21px;

  width: 21px;

  height: 21px;

  border-radius: 4px;

  background: #3b4b5c;

  color: #d7e4f1;

  font-size: 9px;

  display: grid;

  place-items: center;

  overflow: hidden;

  font-weight: 850;
}

.team-logo img {
  width: 100%;

  height: 100%;

  object-fit: contain;
}

.team-name.tbd {
  color: #8fa0b2;

  font-weight: 550;
}

.score {
  margin-left: auto;

  color: #f6f8fd;

  font-size: 14px;

  font-weight: 950;

  min-width: 14px;

  text-align: center;
}

.match-meta {
  text-align: right;

  min-width: 0;
}

.event-name {
  font-size: 11px;

  color: #b9cada;

  font-weight: 700;

  line-height: 1.3;

  overflow-wrap: anywhere;
}

.stage-name {
  font-size: 10px;

  color: #8ea1b7;

  line-height: 1.4;

  margin-top: 5px;
}

.stage-highlight {
  color: #ffd08a;

  background: #4d3a32;

  font-size: 9px;

  padding: 2px 5px;

  border-radius: 3px;

  display: inline-block;

  margin-top: 5px;

  font-weight: 800;
}

.event-mobile {
  display: none;
}

.source-line {
  font-size: 11px;

  color: #788da4;

  margin: 15px 0 25px;

  line-height: 1.6;
}

.footer {
  padding: 26px 20px;

  text-align: center;

  color: #798ea3;

  border-top: 1px solid var(--border);

  font-size: 11px;
}

.list-simple {
  background: var(--surface);

  border: 1px solid var(--border);

  border-radius: 6px;

  overflow: hidden;
}

.simple-row {
  padding: 15px 17px;

  border-bottom: 1px solid var(--border);

  display: flex;

  align-items: center;

  gap: 13px;

  justify-content: space-between;
}

.simple-row:last-child {
  border: 0;
}

.simple-row:nth-child(even) {
  background: var(--surface2);
}

.simple-main {
  min-width: 0;
}

.simple-title {
  font-size: 13px;

  font-weight: 800;

  color: #f1f4f9;
}

.simple-sub {
  font-size: 11px;

  margin-top: 6px;

  color: #9fb1c3;

  line-height: 1.5;
}

.simple-right {
  font-size: 12px;

  white-space: nowrap;

  text-align: right;

  color: #bccbdb;
}

.ranking-number {
  color: var(--accent);

  font-size: 14px;

  font-weight: 950;

  min-width: 35px;
}

.ranking-segment {
  display: flex;

  flex-wrap: wrap;

  gap: 7px;
}

.ranking-segment button {
  border: 1px solid var(--border);

  background: var(--surface);

  color: #d4deea;

  border-radius: 5px;

  padding: 10px 12px;

  font-size: 12px;
}

.ranking-segment button.active {
  border-color: var(--accent);

  background: #4b3928;

  color: #ffd08a;

  font-weight: 850;
}

@media (max-width: 950px) {
  .shell {
    grid-template-columns: 190px minmax(0, 1fr);

    gap: 13px;

    padding: 18px 14px;
  }

  .match-row {
    grid-template-columns: 70px minmax(0, 1fr) minmax(100px, 145px);

    padding: 10px 11px;

    gap: 9px;
  }

  .brand {
    font-size: 18px;
  }

  .event-name {
    font-size: 10px;
  }
}

@media (max-width: 690px) {
  .header-inner {
    padding: 10px 13px;
  }

  .brand {
    font-size: 17px;
  }

  .brand-mark {
    height: 30px;

    width: 30px;
  }

  .provider-state {
    font-size: 10px;
  }

  .main-nav {
    gap: 16px;

    padding: 0 13px;
  }

  .nav-button {
    font-size: 12px;

    padding: 10px 1px;
  }

  .shell {
    display: block;

    padding: 15px 10px;
  }

  .sidebar {
    display: none;

    margin-bottom: 15px;
  }

  .sidebar.mobile-open {
    display: block;
  }

  .side-help {
    display: none;
  }

  .page-top {
    align-items: center;

    margin-bottom: 15px;
  }

  .page-top h1 {
    font-size: 22px;
  }

  .subtitle {
    font-size: 12px;
  }

  .refresh-button {
    padding: 8px;

    font-size: 11px;
  }

  .toolbar {
    display: block;

    padding: 8px;
  }

  .view-tabs {
    margin-bottom: 8px;
  }

  .view-tab {
    flex: 1;
  }

  .toolbar-actions {
    width: 100%;
  }

  .mobile-filters-button {
    display: block;

    flex: 0 0 auto;

    background: var(--surface2);

    color: white;

    border: 1px solid var(--border);

    border-radius: 5px;

    padding: 10px 11px;

    font-size: 11px;

    font-weight: 800;
  }

  .search-wrap {
    flex: 1;

    min-width: 0;

    height: 37px;
  }

  .utility-line {
    padding: 10px 2px;
  }

  .timezone {
    font-size: 10px;
  }

  .match-row {
    grid-template-columns: 64px minmax(0, 1fr);

    min-height: 79px;

    gap: 10px;

    padding: 9px 11px;
  }

  .match-time {
    min-height: 46px;
  }

  .time-big {
    font-size: 17px;
  }

  .match-meta {
    display: none;
  }

  .event-mobile {
    display: block;

    color: #8197ac;

    font-size: 10px;

    margin: 5px 0 0 29px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;
  }

  .team-line {
    font-size: 12px;

    gap: 7px;
  }

  .team-logo {
    width: 21px;

    height: 21px;

    flex-basis: 21px;
  }

  .match-teams {
    gap: 4px;
  }

  .date-heading {
    font-size: 11px;
  }

  .date-heading small {
    font-size: 10px;
  }
}

@media (max-width: 380px) {
  .provider-state {
    max-width: 100px;

    text-overflow: ellipsis;

    overflow: hidden;
  }

  .brand {
    font-size: 15px;
  }

  .refresh-button {
    font-size: 0;
  }

  .refresh-button span {
    font-size: 19px;

    margin: 0;
  }

  .timezone {
    display: none;
  }
}

.shell:not(.has-filters) {
  grid-template-columns: minmax(0, 1fr);
}

.shell:not(.has-filters) .sidebar {
  display: none;
}

.shell:not(.has-filters) .mobile-filters-button {
  display: none;
}

/* V3 — linhas clicáveis e correção dos logos */

.match-link {
  color: inherit;

  text-decoration: none;

  cursor: pointer;
}

.match-link:focus-visible {
  outline: 2px solid var(--accent);

  outline-offset: -2px;

  background: #304054;
}

.team-logo {
  position: relative;

  display: grid;

  place-items: center;

  overflow: hidden;
}

.team-logo img {
  position: absolute;

  inset: 0;

  display: block;

  width: 100%;

  height: 100%;

  object-fit: contain;

  background: #263548;
}

/* V4: rodada = pontos; mapa = série (ambos rotulados) */

.live-round-heading {
  font-weight: 900;

  font-size: 9px;

  color: #ffcb7a;

  text-align: right;

  letter-spacing: 0.6px;
}

.live-map-summary {
  font-size: 10px;

  font-weight: 750;

  color: #b5cbe2;

  margin: 3px 0 0 30px;
}

.match-row:has(.live-round-heading) {
  min-height: 102px;
}

@media (max-width: 690px) {
  .live-round-heading {
    font-size: 8px;
  }

  .live-map-summary {
    font-size: 9px;

    margin-left: 29px;
  }

  .match-row:has(.live-round-heading) {
    min-height: 108px;
  }
}

/* V5: rounds discretos, série em destaque, logos corrigidos */

.match-row:has(.live-round-heading) {
  min-height: 91px;
}

.match-teams {
  gap: 3px;
}

.live-round-heading {
  font-size: 9px;

  color: #95a9c0;

  letter-spacing: 0.65px;

  text-align: right;

  font-weight: 800;

  margin-right: 0;
}

.team-logo {
  background: #263548;

  color: #b6c6d7;
}

.team-logo img {
  background: #263548;

  object-fit: contain;

  padding: 1px;
}

.live-map-summary {
  display: flex;

  align-items: center;

  gap: 9px;

  margin: 5px 0 0 29px;

  flex-wrap: wrap;

  font-size: 11px;
}

.series-tag {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 3px 8px;

  border: 1px solid #996e35;

  background: #4b3928;

  border-radius: 4px;

  color: #e9f2fa;
}

.series-tag span {
  font-size: 9px;

  letter-spacing: 0.5px;

  font-weight: 850;

  color: #ffce8d;
}

.series-tag strong {
  font-size: 13px;

  line-height: 1;

  color: #fff;

  font-variant-numeric: tabular-nums;
}

.current-map-tag {
  color: #a6bacf;

  font-size: 10px;

  font-weight: 700;
}

.score {
  font-size: 16px;

  min-width: 20px;

  font-variant-numeric: tabular-nums;
}

@media (max-width: 690px) {
  .match-row:has(.live-round-heading) {
    min-height: 96px;
  }

  .live-round-heading {
    font-size: 8px;
  }

  .live-map-summary {
    margin-left: 27px;

    gap: 5px;
  }

  .series-tag {
    padding: 3px 6px;
  }

  .series-tag strong {
    font-size: 12px;
  }
}

/* V8: visual da V5 preservado; configuração e navegação locais */

.match-row {
  transition: background 0.12s ease;
}

.live-round-heading {
  color: #d7b67c;
}

.setup-card {
  background: linear-gradient(135deg, #24354a, #1b2838);

  border: 1px solid #40556d;

  border-radius: 9px;

  padding: 25px;

  margin: 0 0 18px;
}

.setup-chip {
  display: inline-block;

  color: #ffcf86;

  font-size: 10px;

  letter-spacing: 1px;

  font-weight: 900;
}

.setup-card h2 {
  font-size: 22px;

  letter-spacing: -0.5px;

  margin: 10px 0 8px;
}

.setup-card p {
  font-size: 13px;

  line-height: 1.7;

  color: #b8cade;

  max-width: 720px;
}

.setup-steps {
  display: flex;

  flex-direction: column;

  gap: 8px;

  margin: 17px 0;

  color: #e6ecf5;

  font-size: 12px;
}

.setup-steps code {
  background: #111c29;

  padding: 3px 6px;

  border-radius: 4px;
}

.setup-link,
.match-finder button {
  display: inline-block;

  background: var(--accent);

  color: #151e29;

  font-weight: 850;

  font-size: 12px;

  padding: 11px 14px;

  border-radius: 6px;

  border: 0;
}

.setup-link:hover,
.match-finder button:hover {
  background: #ffcd7a;
}

.match-finder {
  background: var(--surface);

  border: 1px solid var(--border);

  border-radius: 8px;

  padding: 20px;
}

.match-finder strong {
  font-size: 14px;
}

.match-finder p {
  color: #a9bdd0;

  font-size: 12px;

  line-height: 1.6;
}

.match-finder form {
  display: flex;

  gap: 8px;

  margin-top: 13px;
}

.match-finder input {
  flex: 1;

  min-width: 0;

  background: #0f1926;

  border: 1px solid #43556c;

  border-radius: 5px;

  color: #fff;

  padding: 11px;

  font-size: 12px;
}

.finder-example {
  font-size: 11px;

  color: #a9bdd0;

  margin-top: 12px;
}

.finder-example a {
  color: #ffcb80;
}

.finder-error {
  color: #ff9dab !important;
}

@media (max-width: 690px) {
  .match-finder form {
    flex-direction: column;
  }

  .setup-card {
    padding: 19px;
  }

  .match-finder {
    padding: 15px;
  }
}

/* Separação visual dos dias e campeonatos */

/* Dia: uma faixa discreta, diferente dos campeonatos */

.date-group > .date-heading {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 6px;

  background: transparent;

  border-left: 0;

  border-bottom: 1px solid #3b4d62;

  padding: 9px 2px;

  color: #aebed0;

  font-size: 11px;

  letter-spacing: 0.3px;
}

.date-group > .date-heading small {
  margin-left: auto;

  color: #8195ac;
}

/* Cada campeonato ganha um contorno próprio */

.championship-group {
  margin-top: 6px !important;

  border: 1px solid #40546c;

  border-radius: 7px;

  overflow: hidden;

  background: #192636;
}

/* Cabeçalho: contraste e detalhe na cor do site */

.championship-group > .date-heading {
  display: flex;

  align-items: center;

  gap: 9px;

  min-height: 38px;

  padding: 9px 12px;

  background: linear-gradient(100deg, #302b22, #162231 65%);

  border-left: 3px solid #ffb638;

  border-bottom: 1px solid #526074;

  color: #ffcf83;

  font-weight: 800;

  line-height: 1.4;

  overflow-wrap: anywhere;
}

/* Quantidade de partidas em uma etiqueta à direita */

.championship-group > .date-heading small {
  flex-shrink: 0;

  margin-left: auto;

  padding: 3px 7px;

  border: 1px solid #43536a;

  border-radius: 4px;

  background: #202e3f;

  color: #bdccdc;

  font-size: 10px;

  font-weight: 600;

  white-space: nowrap;
}

/* Linhas dos jogos contidas dentro do campeonato */

.championship-group > .match-row {
  border-bottom: 1px solid #304155;

  border-radius: 0;
}

.championship-group > .match-row:nth-of-type(odd) {
  background: #1c2939;
}

.championship-group > .match-row:nth-of-type(even) {
  background: #223245;
}

.championship-group > .match-row:hover,
.championship-group > .match-row:focus-visible {
  background: #30445b;
}

.championship-group > .match-row:last-child {
  border-bottom: 0;
}

/* Ajuste compacto para celular */

@media (max-width: 690px) {
  .championship-group > .date-heading {
    padding: 8px 9px;

    gap: 7px;
  }

  .championship-group > .date-heading small {
    padding: 3px 5px;

    font-size: 9px;
  }
}

/* ===============================================
   DONOS DA MÍDIA — COMPACTO CONSOLIDADO
   Sem posições absolutas ou valores right manuais.
   O cabeçalho MAPAS e o placar compartilham a mesma
   largura e a mesma borda direita.
   =============================================== */

.shell {
  padding-top: 8px;
  gap: 12px;
}
.shell .page-top {
  margin-bottom: 5px;
}
.shell .page-top h1 {
  font-size: 20px;
  margin: 0;
}
.shell .toolbar {
  padding: 4px 8px;
}
.shell .utility-line {
  padding: 3px 2px;
}
.shell .date-group {
  margin-bottom: 5px;
}
.shell .upcoming-heading {
  font-size: 13px;
  margin: 7px 0 3px;
}

/* Dia é o separador principal. */
.shell .date-group > .date-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 29px;
  padding: 5px 10px;
  margin: 8px 0 4px;
  background: #26374c;
  color: #fff;
  border-left: 3px solid #ffb43d;
  font-size: 12px;
  font-weight: 850;
  line-height: 17px;
  text-transform: capitalize;
}
.shell .date-group > .date-heading small {
  margin-left: auto;
  font-size: 10px;
  color: #b9cce3;
  white-space: nowrap;
}

/* Cabeçalho do campeonato, discreto. */
.shell .championship-group {
  margin: 4px 0 !important;
}
.shell .championship-group > .date-heading,
.shell .championship-group > .championship-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
  position: static;
  margin: 0;
  min-height: 19px;
  padding: 2px 8px;
  background: #192330;
  border-left: 2px solid #ffb43d;
  font-size: 10px;
  font-weight: 650;
  line-height: 14px;
  color: #c8d5e5;
}
.shell .championship-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.shell .championship-maps {
  position: static;
  grid-column: 2;
  width: 42px;
  margin: 0;
  padding: 0;
  color: #ffb43d;
  font-size: 9px;
  font-weight: 800;
  line-height: 14px;
  text-align: center;
  white-space: nowrap;
}
/* Só para compatibilidade com versões que ainda exibem contador. */
.shell .championship-group > .date-heading small {
  font-size: 9px;
  padding: 0 4px;
}

/* Card com 43 px: horário + duas equipes + placar. */
.shell .match-row,
.shell .match-row:has(.live-round-heading) {
  --score-width: 42px;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 43px;
  padding: 3px 8px;
}
.shell .match-row > .match-time {
  grid-column: 1;
  grid-row: 1;
  width: 90px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  margin: 0;
  text-align: left;
}
.shell .time-big {
  font-size: 14px;
  line-height: 17px;
}
.shell .time-big.live {
  font-size: 10px;
  line-height: 13px;
}
.shell .match-format {
  font-size: 9px;
  line-height: 11px;
}
.shell .live-start {
  display: flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}
.shell .live-start-time {
  font-size: 12px;
  line-height: 15px;
  font-weight: 800;
  color: #fff;
}
.shell .live-start-label {
  font-size: 9px;
  font-weight: 500;
  color: #91a8c0;
}

.shell .match-row > .match-teams {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: 1px;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  align-self: center;
}
.shell .match-teams > .team-line {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) var(--score-width);
  align-items: center;
  gap: 6px;
  min-height: 17px;
  width: 100%;
  margin: 0;
  font-size: 11px;
  line-height: 16px;
}
.shell .team-line > .team-logo {
  grid-column: 1;
  width: 16px;
  height: 16px;
  flex: none;
}
.shell .team-line > .team-name {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  text-align: left;
}
.shell .team-line > .score {
  grid-column: 3;
  width: var(--score-width);
  margin: 0;
  padding: 0;
  justify-self: stretch;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.shell .match-row > .match-meta,
.shell .live-round-heading,
.shell .championship-group .event-mobile {
  display: none;
}
.shell .score.score-winning {
  color: #4ade80;
}
.shell .score.score-losing {
  color: #fb6576;
}
.shell .score.score-tied {
  color: #fff;
}

@media (max-width: 690px) {
  .shell .match-row,
  .shell .match-row:has(.live-round-heading) {
    grid-template-columns: 76px minmax(0, 1fr);
    min-height: 48px;
    padding: 5px 7px;
    gap: 6px;
  }
  .shell .match-row > .match-time {
    width: 76px;
  }
  .shell .date-group > .date-heading {
    font-size: 11px;
  }
}
/* Donos da Mídia — tabela de ranking, sem iframe */
.ranking-table {
  border: 1px solid #334253;
  border-radius: 7px;
  overflow: hidden;
  background: #1b2736;
}
.ranking-table-head,
.ranking-table-row {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 100px;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
}
.ranking-table-head {
  background: #26374b;
  color: #b5c4d7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
.ranking-table-head span:last-child {
  text-align: right;
}
.ranking-table-row {
  min-height: 45px;
  border-top: 1px solid #334253;
  font-size: 12px;
}
.ranking-table-row:nth-child(odd) {
  background: #223044;
}
.ranking-place {
  color: #ffb342;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.ranking-team {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.ranking-team img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.ranking-team b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ranking-team small {
  font-size: 10px;
  color: #9fb1c3;
  margin-left: auto;
}
.ranking-points {
  text-align: right;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 690px) {
  .ranking-table-head,
  .ranking-table-row {
    grid-template-columns: 44px minmax(0, 1fr) 63px;
    padding: 9px 8px;
    gap: 7px;
  }
  .ranking-team small {
    display: none;
  }
}

/* CORES DOS MAPAS VENCIDOS */

/* Time que está ganhando */
.shell .match-row .team-line .score.score-winning {
  color: #4ade80 !important;
}

/* Time que está perdendo */
.shell .match-row .team-line .score.score-losing {
  color: #fb6576 !important;
}

/* Empate */
.shell .match-row .team-line .score.score-tied {
  color: #ffffff !important;
}
/* Identificação do placar da série */
.match-row .match-teams:has(.score) {
  position: relative;
}

/* Evita duplicar o título antigo */
.match-row .match-teams:has(.score) .live-round-heading {
  display: none !important;
}

.match-row .match-teams:has(.score)::before {
  content: "MAPAS";
  position: absolute;
  top: -9px;
  right: 0;
  color: #ffcb7a;
  font-size: 8px;
  font-weight: 800;
  line-height: 9px;
  letter-spacing: 0.4px;
  pointer-events: none;
}
/* Centraliza MAPAS sobre os placares */
.match-row .match-teams:has(.score) {
  --score-width: 36px;
}

.match-row .match-teams .score {
  flex: 0 0 var(--score-width);
  width: var(--score-width);
  min-width: var(--score-width);
  margin-left: auto;
  text-align: center;
  box-sizing: border-box;
}

.match-row .match-teams:has(.score)::before {
  right: 0;
  width: var(--score-width);
  text-align: center;
  box-sizing: border-box;
}

/* DONOS_V1218_TEAM_RANKING */
/* Ranking geral para todas as equipes: tabela compacta e responsiva. */
.ranking-table{border:1px solid #334253;border-radius:7px;overflow:hidden;background:#1b2736}
.ranking-table-head,.ranking-table-row{display:grid;grid-template-columns:65px minmax(0,1fr) 90px;align-items:center;gap:12px;padding:9px 14px}
.ranking-table-head{background:#26374b;color:#b5c4d7;font-size:10px;font-weight:800;letter-spacing:.5px}
.ranking-table-head span:last-child{text-align:right}
.ranking-table-row{min-height:43px;border-top:1px solid #334253;font-size:12px}
.ranking-table-row:nth-child(odd){background:#223044}.ranking-place{color:#ffb342;font-weight:900;font-variant-numeric:tabular-nums}
.ranking-team{display:flex;align-items:center;gap:9px;min-width:0}.ranking-team img{width:23px;height:23px;object-fit:contain}.ranking-team b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-team small{font-size:10px;color:#9fb1c3;margin-left:auto}.ranking-points{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:690px){.ranking-table-head,.ranking-table-row{grid-template-columns:44px minmax(0,1fr) 64px;padding:8px;gap:7px}.ranking-team small{display:none}}

