:root {
	--hub-bg: #050505;
	--hub-surface: rgba(11, 16, 20, 0.7);
	--hub-border: rgba(255, 255, 255, 0.08);
	--hub-primary: #47ffba;
	--hub-secondary: #8457ff;
	--hub-danger: #ff5c82;
	--hub-text: #f5f5f5;
	--hub-muted: #a7b2c3;
	--hub-radius: 28px;
	--hub-blur: blur(24px);
}

body {
	background: radial-gradient(circle at top, rgba(71, 255, 186, 0.08), transparent 45%), var(--hub-bg);
	color: var(--hub-text);
}

body,
.wp-site-blocks,
body .wp-block-group {
	background: var(--hub-bg) !important;
	color: var(--hub-text);
}

.wp-block-site-title,
.wp-block-site-title a,
.site-title,
#header,
#headerimg {
	display: none !important;
}

#header,
#headerimg,
#page > hr,
body > #header ~ hr {
	display: none !important;
}

.wp-site-blocks {
	padding-top: 0;
}

.wp-block-template-part,
.wp-block-site-title {
	display: none !important;
}
play: none;
}

#dart-hub {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem 6rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.hero {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	align-items: stretch;
}

.hero.single {
	max-width: 640px;
	margin: 0 auto;
}

.mode-register #dart-hub,
.mode-register .hero {
	grid-template-columns: 1fr;
}

.mode-register .hero--register {
	background: linear-gradient(135deg, rgba(9, 14, 18, 0.9), rgba(10, 18, 26, 0.6));
	border-radius: calc(var(--hub-radius) + 10px);
	border: 1px solid rgba(255, 255, 255, 0.06);
	box-shadow: 0 40px 120px rgba(0, 0, 0, 0.55);
	position: relative;
	overflow: hidden;
}

.mode-register .hero--register::after {
	content: '';
	position: absolute;
	inset: 40% 10% -30% 35%;
	background: radial-gradient(circle, rgba(71, 255, 186, 0.18), transparent 65%);
	filter: blur(40px);
	opacity: 0.8;
}

.hero--register .hero__content {
	padding: 2.75rem;
	position: relative;
	z-index: 1;
}

.register-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: flex-start;
}

.register-panel {
	background: rgba(6, 9, 11, 0.78);
	border-radius: var(--hub-radius);
	padding: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
	position: relative;
	overflow: hidden;
}

.register-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 20%, rgba(71, 255, 186, 0.08), transparent 45%);
	z-index: 0;
}

.register-panel > * {
	position: relative;
	z-index: 1;
}

.register-info {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--hub-radius);
	padding: 1.8rem;
	min-height: 100%;
	backdrop-filter: var(--hub-blur);
}

.register-benefits {
	margin-top: 1rem;
	line-height: 1.8;
}

.register-badges {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 0.75rem;
	margin: 1.25rem 0;
}

.register-badges div {
	background: rgba(0, 0, 0, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 0.75rem 1rem;
	text-align: center;
}

.register-badges strong {
	font-size: 1.6rem;
	font-weight: 700;
}

@media (max-width: 900px) {
	.register-grid {
		grid-template-columns: 1fr;
	}
}

.stacked label {
	display: block;
}

.stacked .form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.1rem;
}

.stacked label span {
	font-size: 0.875rem;
	color: var(--hub-muted);
}

.stacked input,
.stacked textarea {
	width: 100%;
	margin-top: 0.35rem;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	background: rgba(3, 8, 12, 0.75);
	color: var(--hub-text);
	padding: 0.65rem 0.9rem;
	font-size: 0.95rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.stacked input::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.stacked input:focus,
.stacked textarea:focus {
	outline: none;
	border-color: var(--hub-primary);
	box-shadow: 0 0 0 2px rgba(71, 255, 186, 0.2);
}

.register-panel .btn {
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.85rem 1.25rem;
	font-size: 1rem;
}

.register-panel .helper-text {
	color: var(--hub-muted);
	font-size: 0.85rem;
	margin-top: 0.6rem;
}

#register-alert {
	margin-bottom: 1rem;
	border-radius: 14px;
}

@media (max-width: 720px) {
	.stacked .form-row {
		grid-template-columns: 1fr;
	}

	.register-panel {
		padding: 1.5rem;
	}
}

.hero__content,
.hero__login,
.map-grid__details,
.reservation,
.account,
.player-dashboard,
.supervisor-dashboard,
.card {
	background: var(--hub-surface);
	border: 1px solid var(--hub-border);
	border-radius: var(--hub-radius);
	padding: 2rem;
	backdrop-filter: var(--hub-blur);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
	position: relative;
	overflow: hidden;
}

.hero__content::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/11/UDC-LOGO.png') no-repeat center;
	background-size: 65%;
	opacity: 0.12;
	pointer-events: none;
	filter: saturate(0.8);
}

.hero__content > * {
	position: relative;
	z-index: 1;
}

.reservation,
.account,
.player-dashboard,
.supervisor-dashboard {
	padding: 2rem;
}

.map-grid__details,
.card {
	padding: 1.5rem;
	border-radius: 22px;
}

.eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.3em;
	font-size: 0.85rem;
	color: var(--hub-muted);
	margin-bottom: 0.75rem;
}

.lede {
	font-size: 1.15rem;
	color: #d8dee9;
	margin-bottom: 1.5rem;
}

.hero__stats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
}

.hero__stats li {
	flex: 1;
	min-width: 120px;
}

.hero__stat-value {
	font-size: 2rem;
	font-weight: 700;
	color: var(--hub-primary);
	display: block;
}

.hero__login form {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	max-width: 520px;
}

.hero__login form label,
.hero__login form input,
.hero__login form .btn {
	width: 100%;
}

.remember-option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	color: var(--hub-muted);
	width: auto;
	flex-wrap: nowrap;
	margin: 0 auto 0.5rem;
}

.remember-option input {
	width: auto;
	margin: 0;
}

@media (max-width: 600px) {
	.remember-option {
		justify-content: center;
		gap: 0.35rem;
	}
}

.hero__login input {
	width: 100%;
	border-radius: 16px;
	border: 1px solid var(--hub-border);
	background: rgba(255, 255, 255, 0.05);
	padding: 0.75rem 1rem;
	color: var(--hub-text);
}

.helper-text {
	font-size: 0.9rem;
	color: var(--hub-muted);
	margin-bottom: 0.75rem;
}

.btn {
	border: none;
	border-radius: 999px;
	padding: 0.9rem 1.5rem;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease;
}

.btn--ghost {
	background: transparent;
	border: 1px solid var(--hub-border);
	color: var(--hub-text);
}

.btn--ghost.is-danger {
	border-color: #ff5f6d;
	color: #ffbf7f;
	background: rgba(255, 95, 109, 0.12);
	box-shadow: 0 0 18px rgba(255, 95, 109, 0.45);
}

.btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.btn--primary {
	background: linear-gradient(120deg, var(--hub-primary), #2cb5ff);
	color: #041b15;
}

.btn--secondary {
	background: rgba(255, 255, 255, 0.08);
	color: var(--hub-text);
	border: 1px solid var(--hub-border);
}

.alert {
	padding: 0.7rem 1rem;
	border-radius: 18px;
	margin-top: 0.75rem;
	font-size: 0.9rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--hub-border);
}

.alert--danger {
	background: rgba(255, 92, 130, 0.12);
	border-color: rgba(255, 92, 130, 0.4);
	color: #ffb7c9;
}

.muted {
	color: var(--hub-muted);
	font-size: 0.9rem;
}

.map-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}

#hub-map {
	min-height: 420px;
	border-radius: var(--hub-radius);
	border: 1px solid var(--hub-border);
	overflow: hidden;
}

.map-grid__details {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.venue-meta {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.5rem;
}

.venue-meta li {
	background: rgba(255, 255, 255, 0.03);
	border-radius: 16px;
	padding: 0.65rem 0.9rem;
	font-size: 0.9rem;
}

.tournament-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

.tournament-chip {
	border: 1px solid var(--hub-border);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.02);
	padding: 0.9rem 1rem;
	text-align: left;
	color: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	position: relative;
}

.tournament-chip:hover {
	border-color: var(--hub-primary);
}

.chip__day {
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	color: var(--hub-muted);
}

.chip__name {
	font-weight: 600;
}

.chip__meta {
	font-size: 0.85rem;
	color: var(--hub-muted);
}

.chip__status {
	position: absolute;
	right: 1rem;
	top: 1rem;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	font-size: 0.75rem;
	border: 1px solid var(--hub-border);
}

.chip__status[data-status="sold"] {
	background: rgba(255, 92, 130, 0.2);
	border-color: rgba(255, 92, 130, 0.4);
	color: #ffb7c9;
}

.reservation {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.reservation__summary {
	background: rgba(255, 255, 255, 0.03);
	border-radius: 20px;
	padding: 1.5rem;
}

.partner-fields[hidden] {
	display: none !important;
}

.partner-fields label input {
	background: rgba(255, 255, 255, 0.02);
}

#reservation-form {
	padding: 2.25rem 2.5rem;
	max-width: 760px;
	margin: 0 auto;
}

.address-link {
	border: none;
	background: transparent;
	color: var(--hub-primary);
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
	font: inherit;
}

.address-link:hover,
.address-link:focus {
	color: #7fffd4;
}

.form-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	column-gap: 2.75rem;
	row-gap: 1.1rem;
	width: 100%;
}

.form-row label {
	display: flex;
	flex-direction: column;
	font-size: 0.9rem;
	color: var(--hub-muted);
}

#reservation-form .form-row {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.75rem;
}

.reservation-team {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.reservation-team__chip {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	display: inline-block;
}

.form-row label {
	display: flex;
	flex-direction: column;
	font-size: 0.9rem;
	color: var(--hub-muted);
}

@media (max-width: 720px) {
	.form-row {
		grid-template-columns: 1fr;
	}
}

#player-create-form .form-row,
#create-account-form .form-row {
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

#register-alert {
	margin-bottom: 1rem;
}

form input,
form select,
form textarea {
	width: 100%;
	margin-top: 0.4rem;
	border-radius: 16px;
	border: 1px solid var(--hub-border);
	background: rgba(255, 255, 255, 0.04);
	padding: 0.7rem 0.9rem;
	color: var(--hub-text);
}

.card--ghost {
	background: rgba(255, 255, 255, 0.02);
}

.table-wrapper {
	overflow-x: auto;
}

.card table {
	width: 100%;
	border-collapse: collapse;
}

.card table th,
.card table td {
	padding: 0.65rem;
	text-align: left;
}

.benefits {
	list-style: none;
	padding: 0;
	margin: 0;
	line-height: 1.8;
	color: var(--hub-muted);
}

.player-dashboard__grid,
.supervisor-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.2rem;
}

.stat-list,
.recent-list,
.search-results,
.team-list {
	list-style: none;
	padding: 0;
	margin: 0;
	color: var(--hub-muted);
	font-size: 0.95rem;
	line-height: 1.7;
}

.search-results li,
.team-list li {
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.team-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.team-actions .btn {
	flex: 1;
	min-width: 120px;
}

.division-toggle {
	display: inline-flex;
	gap: 0.45rem;
	background: rgba(255, 255, 255, 0.02);
	padding: 0.35rem;
	border-radius: 999px;
}

.division-toggle button {
	border: none;
	background: transparent;
	color: var(--hub-muted);
	font-weight: 600;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.division-toggle button.is-active {
	background: var(--hub-primary);
	color: #041b15;
}

.location-list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.location-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
}

.location-actions {
	display: flex;
	gap: 0.5rem;
}

.location-list button {
	border-radius: 16px;
	border: 1px solid rgba(255, 92, 130, 0.5);
	background: transparent;
	color: #ff7c9b;
	padding: 0.35rem 0.9rem;
	cursor: pointer;
}

.inline-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.leaderboard {
	margin-top: 2rem;
}

.leaderboard__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.leaderboard__heading .btn {
	margin: 0;
	white-space: nowrap;
}

.leaderboard__table-wrapper {
	overflow-x: auto;
}

.leaderboard table {
	width: 100%;
	border-collapse: collapse;
	min-width: 640px;
}

.leaderboard th,
.leaderboard td {
	text-align: left;
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.9rem;
}

.leaderboard tbody tr:nth-child(1) td {
	color: var(--hub-primary);
	font-weight: 600;
}

.leaderboard tbody tr:nth-child(2) td,
.leaderboard tbody tr:nth-child(3) td {
	color: #a7f1d7;
}

.about-creators {
	margin-top: 2rem;
}

.creator-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.5rem;
	margin-top: 1.25rem;
}

.creator-card {
	text-align: center;
	background: rgba(255, 255, 255, 0.02);
	border-radius: 24px;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.05);
}

.creator-card img {
	max-width: 160px;
	height: auto;
	margin-bottom: 1rem;
	border-radius: 18px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}
.creator-card__photo.is-placeholder {
	width: 160px;
	height: 160px;
	margin: 0 auto 1rem;
	border-radius: 18px;
	border: 1px dashed rgba(255, 255, 255, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hub-muted);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: rgba(255, 255, 255, 0.02);
}

.creator-card h4 {
	margin: 0;
	font-size: 1.3rem;
}

.creator-card .role {
	margin: 0.35rem 0 0.2rem;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	color: var(--hub-muted);
}

.creator-card .summary {
	color: #d8dee9;
	font-size: 0.95rem;
	margin: 0;
}

.inline-form select,
.inline-form input {
	flex: 1;
	min-width: 140px;
}

.password-field {
	position: relative;
	display: flex;
	align-items: center;
}

.password-field input[type='password'],
.password-field input[type='text'] {
	padding-right: 3rem;
}

.password-toggle {
	position: absolute;
	right: 0.65rem;
	background: transparent;
	border: none;
	color: var(--hub-muted);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.2rem;
	border-radius: 999px;
	transition: color 0.2s ease, background 0.2s ease;
}

.password-toggle:is(:focus-visible, :hover) {
	background: rgba(255, 255, 255, 0.08);
	color: var(--hub-text);
}

.password-toggle.is-active {
	color: var(--hub-primary);
}

.password-toggle svg {
	width: 20px;
	height: 20px;
}

.password-toggle path,
.password-toggle circle,
.password-toggle line {
	stroke: currentColor;
	stroke-width: 1.5;
	fill: none;
}

.password-toggle circle {
	fill: currentColor;
	opacity: 0.6;
}

.password-toggle.is-active circle {
	opacity: 0.9;
}

.password-toggle .eye-slash {
	opacity: 0;
}

.password-toggle.is-active .eye-slash {
	opacity: 1;
}

.period-toggle {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.period-toggle button {
	border: 1px solid var(--hub-border);
	background: transparent;
	color: var(--hub-text);
	border-radius: 999px;
	padding: 0.35rem 0.9rem;
	cursor: pointer;
}

.period-toggle button.is-active {
	background: var(--hub-secondary);
	border-color: var(--hub-secondary);
}

.finance-total {
	font-size: 1.5rem;
	font-weight: 600;
}

#finance-chart {
	width: 100%;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 18px;
}

.tournament-admin-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.tournament-admin-card {
	display: block;
	padding: 1.25rem 1.5rem;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: radial-gradient(circle at top, rgba(255, 255, 255, 0.06), rgba(8, 8, 12, 0.95));
	text-align: left;
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.tournament-admin-card:hover {
	transform: translateY(-4px);
	border-color: var(--hub-primary);
}

.tournament-admin-card h4 {
	margin: 0 0 0.35rem;
	font-size: 1.1rem;
}

.tournament-admin-card .meta {
	font-size: 0.9rem;
	color: var(--hub-muted);
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.tournament-admin__footer {
	display: flex;
	justify-content: flex-end;
}

#tournament-detail-summary {
	margin-top: -0.5rem;
}

.tournament-detail__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.5rem;
}

.tournament-detail__actions .btn {
	flex: 1;
	min-width: 180px;
}

.confirm-modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	z-index: 11000;
}

.confirm-modal[hidden] {
	display: none !important;
}

.confirm-modal__card {
	background: rgba(9, 9, 12, 0.95);
	border-radius: 20px;
	padding: 2rem;
	width: min(420px, 100%);
	text-align: center;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.confirm-modal__actions {
	display: flex;
	gap: 1rem;
	margin-top: 1.25rem;
}

.confirm-modal__actions .btn {
	flex: 1;
}

#reservation-table {
	font-size: 0.9rem;
}

#reservation-table tr td {
	padding: 0.4rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#accounts-list {
	overflow-x: auto;
}

#accounts-list table {
    width: 100%;
    font-size: 0.85rem;
    border-collapse: collapse;
}

#accounts-list th,
#accounts-list td {
	padding: 0.35rem 0.4rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	white-space: nowrap;
	text-align: left;
}

#accounts-list th {
	white-space: normal;
}

#accounts-list td:last-child {
	text-align: right;
}

#accounts-list td button {
	margin-top: 0.25rem;
}

#contact-list {
	overflow-x: auto;
}

#contact-list table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}

#contact-list th,
#contact-list td {
	padding: 0.4rem 0.45rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	text-align: left;
	white-space: nowrap;
}

#contact-list th:last-child,
#contact-list td:last-child {
	text-align: right;
}

#contact-list td button {
	white-space: nowrap;
}

.chatbot {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 999;
}

.chatbot__toggle {
	padding: 0.8rem 1.2rem;
	border-radius: 999px;
	border: 1px solid var(--hub-border);
	background: #0e0e0e;
	color: var(--hub-text);
	cursor: pointer;
}

.chatbot__panel {
	margin-top: 0.75rem;
	width: 320px;
	background: rgba(5, 5, 5, 0.95);
	border-radius: 22px;
	border: 1px solid var(--hub-border);
	padding: 1rem;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}

.chatbot__messages {
	height: 220px;
	overflow-y: auto;
	border: 1px solid rgba(255, 255, 255, 0.04);
	border-radius: 16px;
	padding: 0.8rem;
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
}

.chatbot__messages .bot {
	color: var(--hub-muted);
}

.chatbot__messages .user {
	text-align: right;
	color: var(--hub-primary);
}

.chatbot__panel form {
	display: flex;
	gap: 0.5rem;
}

.chatbot__panel input {
	flex: 1;
}

.chatbot__panel button {
	border-radius: 16px;
	border: none;
	background: var(--hub-primary);
	color: #041b15;
	padding: 0 1rem;
}

.back-button {
	background: transparent;
	border: 1px solid var(--hub-border);
	border-radius: 999px;
	color: var(--hub-text);
	padding: 0.35rem 0.9rem;
	cursor: pointer;
	margin-bottom: 0.5rem;
}

.back-button:hover {
	border-color: var(--hub-primary);
	color: var(--hub-primary);
}

@media (max-width: 720px) {
	#dart-hub {
		padding: 2rem 1rem 5rem;
	}

	.chatbot {
		right: 1rem;
		bottom: 1rem;
	}

	.chatbot__panel {
		width: calc(100vw - 2rem);
	}
}

.map-popup {
	text-align: center;
}

.map-popup img {
	max-width: 160px;
	border-radius: 14px;
	margin-bottom: 0.5rem;
}

.map-popup a {
	color: var(--hub-primary);
	text-decoration: none;
	font-weight: 600;
}

.map-popup p {
	margin: 0;
	color: var(--hub-muted);
	font-size: 0.85rem;
}

.map-popup__directions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.35rem;
	flex-wrap: wrap;
	font-size: 0.8rem;
}

.map-popup__directions span {
	color: var(--hub-muted);
}

.map-popup__directions a {
	color: var(--hub-primary);
	text-decoration: underline;
}

.creator-links {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.creator-links .social {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.05);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.creator-links .social::before {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	mask-size: contain;
	mask-repeat: no-repeat;
	background: #fff;
}

.creator-links .social.instagram::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M16 2H8C4.691 2 2 4.691 2 8v8c0 3.309 2.691 6 6 6h8c3.309 0 6-2.691 6-6V8c0-3.309-2.691-6-6-6zm4 14c0 2.206-1.794 4-4 4H8c-2.206 0-4-1.794-4-4V8c0-2.206 1.794-4 4-4h8c2.206 0 4 1.794 4 4v8z'/%3E%3Cpath fill='%23fff' d='M12 7a5 5 0 100 10 5 5 0 000-10zm0 8a3 3 0 110-6 3 3 0 010 6zm4.5-8.75a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z'/%3E%3C/svg%3E");
}

.creator-links .social.facebook::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M22 12c0-5.514-4.486-10-10-10S2 6.486 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.507 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.772-1.63 1.562V12h2.773l-.443 2.891h-2.33v6.987C18.343 21.128 22 16.991 22 12z'/%3E%3C/svg%3E");
}

.creator-links .social:hover {
	transform: translateY(-2px);
	border-color: var(--hub-primary);
}

@media (max-width: 600px) {
	.creator-links {
		flex-direction: row;
		justify-content: center;
	}
}

@media (max-width: 600px) {
	.hero__content,
	.hero__login,
	.reservation,
	.leaderboard .card,
	.about-creators .card,
	.supervisor-dashboard,
	.player-dashboard,
	.card {
		padding: 1.25rem;
	}

	.hero__stats {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.hero__login form {
		gap: 0.75rem;
	}

	.leaderboard table,
	.leaderboard__table-wrapper {
		min-width: 100%;
	}

	.creator-card img {
		max-width: 120px;
	}
}

@media (max-width: 640px) {
	.card table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		scrollbar-width: thin;
	}

	.card table::-webkit-scrollbar {
		height: 6px;
	}

	.card table::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.15);
		border-radius: 999px;
	}
}

@media (max-width: 600px) {
	#accounts-list table {
		font-size: 0.95rem;
		display: block;
	}

	#accounts-list thead {
		display: none;
	}

	#accounts-list tbody tr {
		display: grid;
		grid-template-columns: 1fr auto;
		row-gap: 0.4rem;
		padding: 0.75rem 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	#accounts-list td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.2rem 0;
	}

	#accounts-list td button {
		margin-top: 0;
	}
}

.sponsor-tiers {
	margin-top: 2rem;
}

.tier-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.tier-card {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
}

.tier-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.25), transparent 55%);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.tier-card--bronze::before {
	background: radial-gradient(circle at 20% 20%, rgba(255, 196, 140, 0.35), rgba(99, 51, 18, 0.9));
}

.tier-card--silver::before {
	background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.35), rgba(60, 74, 92, 0.95));
}

.tier-card--gold::before {
	background: radial-gradient(circle at 20% 20%, rgba(255, 247, 160, 0.35), rgba(130, 92, 10, 0.95));
}

.tier-card:hover::before {
	transform: scale(1.03);
	opacity: 0.95;
}

.tier-card a {
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
	z-index: 1;
}

.tier-card__body {
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 24px;
	padding: 1.25rem;
	background: rgba(255,255,255,0.02);
	height: 100%;
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.tier-card__body:hover {
	transform: translateY(-4px);
	border-color: var(--hub-primary);
}

.tier-card__teaser {
	color: var(--hub-muted);
	font-size: 0.95rem;
	margin: 0.4rem 0 0.6rem;
}

.tier-card__cta {
	display: inline-block;
	margin-top: 0.75rem;
	font-size: 0.85rem;
	color: var(--hub-primary);
}

.sponsor-detail,
.sponsor-apply {
	margin-top: 2rem;
}

.tier-detail__price {
	font-size: 1.4rem;
	font-weight: 600;
}

.tier-detail__list {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
	color: var(--hub-muted);
}

.tier-detail__list li {
	margin-bottom: 0.4rem;
}

.sponsor-apply form .form-row label {
	max-width: 100%;
}

.sponsor-apply textarea {
	margin-top: 0.4rem;
	border-radius: 16px;
	border: 1px solid var(--hub-border);
	background: rgba(255,255,255,0.05);
	color: var(--hub-text);
	width: 100%;
	padding: 0.75rem;
}

@media (max-width: 720px) {
	.tier-card__body {
		text-align: center;
	}
}

#accounts-admin .btn {
	margin-top: 0.75rem;
	align-self: flex-start;
	white-space: nowrap;
	padding-left: 1rem;
	padding-right: 1rem;
}

.contact-us {
	margin-top: 2rem;
}

.contact-modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1000;
}

.contact-modal[hidden] {
	display: none;
}

.contact-modal__card {
	background: rgba(5, 5, 5, 0.95);
	border-radius: 22px;
	padding: 1.5rem;
	border: 1px solid var(--hub-border);
	min-width: 280px;
	text-align: center;
	position: relative;
}

.contact-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	background: transparent;
	border: none;
	color: var(--hub-text);
	font-size: 1.2rem;
	cursor: pointer;
}

.contact-modal__options {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
}

.contact-modal__options button {
	flex: 1;
	border-radius: 16px;
	border: 1px solid var(--hub-border);
	background: rgba(255,255,255,0.05);
	color: var(--hub-text);
	padding: 0.5rem 0.75rem;
	cursor: pointer;
}

.contact-modal__options button:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

#financial-dashboard-page #financial-dashboard {
	margin-top: 1.5rem;
}

#financial-dashboard .btn {
	margin-top: 0.75rem;
	align-self: flex-start;
	white-space: nowrap;
	padding-left: 1rem;
	padding-right: 1rem;
}

.team-player-input {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.roster-chips {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin: 0.5rem 0 1rem;
}

.roster-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	font-size: 0.85rem;
}

.roster-chip button {
	background: transparent;
	border: none;
	color: var(--hub-muted);
	cursor: pointer;
	font-size: 0.85rem;
}

.accounts-search {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 1rem;
	color: var(--hub-muted);
}

.accounts-search input {
	border-radius: 16px;
	border: 1px solid var(--hub-border);
	background: rgba(255, 255, 255, 0.05);
	color: var(--hub-text);
	padding: 0.6rem 0.75rem;
}

#accounts-list th:last-child,
#accounts-list td:last-child {
	text-align: right;
}

header.wp-block-template-part {
	display: none !important;
}
.supervisor-dashboard .btn {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.player-number {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.division-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.15rem 0.4rem;
	border-radius: 999px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.08);
	color: var(--hub-text);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.division-badge--bronze {
	background: rgba(196, 124, 63, 0.2);
	border-color: rgba(196, 124, 63, 0.5);
	color: #f4c39f;
}

.division-badge--silver {
	background: rgba(172, 176, 191, 0.2);
	border-color: rgba(172, 176, 191, 0.5);
	color: #dbdee8;
}

.division-badge--gold {
	background: rgba(242, 201, 76, 0.2);
	border-color: rgba(242, 201, 76, 0.5);
	color: #ffe9a1;
}

.leaderboard-player {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.leaderboard-player .division-badge {
	font-size: 0.6rem;
}

.finance-payments table {
	width: 100%;
	border-collapse: collapse;
	color: var(--hub-text);
}

.finance-payments th,
.finance-payments td {
	padding: 0.4rem 0.6rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	font-size: 0.85rem;
}

.finance-payments tr:last-child td {
	border-bottom: none;
}

.portal {
	padding: 3rem 0;
	position: relative;
	background: #050507;
	overflow: hidden;
}

.portal::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/11/UDC-LOGO.png') center/50% no-repeat;
	opacity: 0.08;
	pointer-events: none;
}

.portal > * {
	position: relative;
}

.checkout {
	padding: 3rem 0;
}

.portal header,
.checkout header,
.reservation__summary.card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	text-align: center;
	align-items: center;
}

.portal-grid {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.portal-summary {
	margin: 0 auto 2rem;
	max-width: 560px;
	text-align: center;
}

.portal-login-card {
	width: min(420px, 100%);
	padding: 1.75rem 2.1rem;
}

.portal-join-button {
	margin-top: 1rem;
	width: 100%;
}

.payment-card label,
.portal-grid label {
	display: block;
	font-size: 0.9rem;
	color: var(--hub-muted);
	margin-bottom: 0.75rem;
}

.payment-card input,
.portal-grid input,
.portal-grid textarea {
	width: 100%;
	border-radius: 12px;
	border: 1px solid var(--hub-border);
	background: rgba(255, 255, 255, 0.04);
	color: var(--hub-text);
	padding: 0.6rem 0.8rem;
}

.payment-methods {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 0.75rem;
	margin: 1rem 0;
}

.payment-methods button {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--hub-border);
	color: var(--hub-text);
	padding: 0.65rem;
	border-radius: 999px;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.payment-methods button.is-active {
	background: var(--hub-primary);
	color: #000;
	border-color: transparent;
}

.payment-element {
	margin: 1rem 0;
	border-radius: 18px;
	border: 1px solid var(--hub-border);
	padding: 1rem;
	background: rgba(255, 255, 255, 0.02);
}

.confirmation-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	z-index: 9999;
}

.confirmation-card {
	background: #0b0b0f;
	border-radius: 24px;
	padding: 2.5rem;
	max-width: 420px;
	text-align: center;
	position: relative;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.confirmation-card img {
	width: 120px;
	height: auto;
	margin-bottom: 1.5rem;
}

.confirmation-close {
	position: absolute;
	top: 1rem;
	left: 1rem;
	border: none;
	background: transparent;
	color: var(--hub-text);
	font-size: 1.5rem;
	cursor: pointer;
}
.confirmation-overlay[hidden] {
	display: none !important;
}
