.tmg-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.tmg-form input[type=url], .tmg-form select { width: 100%; max-width: 32rem; }
.tmg-msg.tmg-ok { color: #0a0; }
.tmg-msg.tmg-err { color: #a00; }
.tmg-leaderboard { width: 100%; border-collapse: collapse; }
.tmg-leaderboard th, .tmg-leaderboard td { border: 1px solid #ddd; padding: .4rem .6rem; text-align: left; }
.tmg-recent-matches { list-style: disc; margin-left: 1.25rem; }
.tmg-recent-matches .tmg-date { opacity: .7; margin-left: .35rem; }

.tmg-tournament-meta { opacity: .85; }
.tmg-tournament-standings { margin: 1.25rem 0; }
.tmg-round { margin: 1rem 0; }
.tmg-round-status { font-weight: normal; opacity: .7; font-size: .85em; }
.tmg-match-list { list-style: none; margin: 0; padding: 0; }
.tmg-match { padding: .5rem .75rem; border: 1px solid #ddd; margin-bottom: .4rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.tmg-slot { opacity: .6; min-width: 2rem; }
.tmg-side.tmg-winner { font-weight: 700; }
.tmg-side em { margin-left: .35rem; opacity: .8; }
.tmg-vs { opacity: .5; }


/* Phase C — tournament registration */
.tmg-tournament-register { margin: 1.25rem 0; }
.tmg-register-card { padding: 1rem 1.15rem; border: 1px solid #ddd; border-radius: .5rem; }
.tmg-register-title { font-weight: 700; margin: 0 0 .35rem; }
.tmg-register-hint { margin: 0 0 .75rem; opacity: .9; }
.tmg-register-spots, .tmg-register-meta { margin: .35rem 0; opacity: .75; font-size: .9em; }
.tmg-register-btn {
	display: inline-block;
	padding: .55rem 1.25rem;
	font-weight: 700;
	border: none;
	border-radius: .4rem;
	cursor: pointer;
	text-decoration: none;
	background: #0d9488;
	color: #fff;
}
.tmg-register-btn:hover { filter: brightness(1.08); }
.tmg-register-form { margin: 0; }
.tmg-tournament-reg-meta { opacity: .8; font-size: .9em; }
