.cmp-player-card,.cmp-team-card,.cmp-tournament-card,.cmp-match-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:10px 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.cmp-player-photo,.cmp-team-logo,.cmp-tournament-image{max-width:96px;height:auto;border-radius:8px;display:block;margin-bottom:8px}
.cmp-fixture-item{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;padding:8px 0;border-bottom:1px dashed #e5e7eb}
.cmp-standings,.cmp-tournament-positions{width:100%;border-collapse:collapse}
.cmp-standings th,.cmp-standings td,.cmp-tournament-positions th,.cmp-tournament-positions td{padding:8px;border-bottom:1px solid #eee;text-align:left}
.cmp-match-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.cmp-score{font-size:24px;font-weight:700}
.cmp-goals{margin:8px 0 0 16px;list-style:disc}
.cmp-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--color-campeonato);color:#fff}

.cmp-player-card,.cmp-team-card,.cmp-tournament-card,.cmp-match-card{border-color:rgba(103,208,182,.6)}
.cmp-fixture-item{border-bottom-color:rgba(103,208,182,.4)}
.cmp-match-meta,.cmp-tournament-card h2,.cmp-team-card h3,.cmp-player-card h3{color:var(--color-campeonato)}
a.cmp-link{color:var(--color-campeonato);text-decoration:none}
a.cmp-link:hover{text-decoration:underline}
table.cmp-standings tr:hover, table.cmp-tournament-positions tr:hover{background:rgba(103,208,182,.06)}

/* Simple visual connectors for bracket */
.cmp-bracket{ --cmp-line: var(--color-campeonato); }
.cmp-bracket-round{ padding: 8px }
.cmp-bracket-match{ position: relative; }
.cmp-bracket-round + .cmp-bracket-round .cmp-bracket-match:before{
  content:''; position:absolute; left:-16px; top:50%; width:16px; height:2px; background:var(--cmp-line);
}
.cmp-bracket-round .cmp-bracket-match + .cmp-bracket-match{ margin-top: 16px; }
