		:root {
			color-scheme: light;
			--ink: #07111f;
			--muted: #526172;
			--line: #dce5ef;
			--panel: #fff;
			--brand: #0f6cbd;
			--ok: #15803d;
			font-size: 18px;
		}

		html {
			min-height: 100%;
		}

		body {
			margin: 0;
			font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
			color: var(--ink);
			background: #f5f8fb;
		}

		main {
			min-height: 100vh;
			display: grid;
			align-content: start;
			justify-items: center;
			padding: 32px;
			padding-top: max(24px, env(safe-area-inset-top, 0px));
		}

		h1 {
			margin: 8px 0 0;
			font-size: clamp(1.75rem, 4vw, 2.35rem);
			line-height: 1.15;
		}

		.card {
			width: min(920px, 100%);
			padding: 40px;
			border-radius: 28px;
			background: var(--panel);
			box-shadow: 0 20px 60px rgba(7, 17, 31, .14);
		}

		.card--staff {
			padding: 22px 24px;
		}

		.card--staff h1 {
			margin-top: 2px;
			font-size: clamp(1.45rem, 3.5vw, 1.9rem);
		}

		.card--staff .card__top {
			gap: 10px;
		}

		.card--staff .card__top > div > p {
			font-size: .82rem;
		}

		.card--staff > p,
		.card--staff .staff-page__intro {
			font-size: .95rem;
			line-height: 1.45;
		}

		.card__top {
			display: flex;
			gap: 16px;
			align-items: flex-start;
			justify-content: space-between;
		}

		p {
			color: var(--muted);
			font-size: 1.05rem;
			line-height: 1.6;
		}

		button,
		input,
		select {
			font: inherit;
			font-size: max(1rem, 16px);
			touch-action: manipulation;
		}

		button {
			min-height: 2.8rem;
			border: 0;
			border-radius: 999px;
			padding: 0 1rem;
			font-weight: 900;
			cursor: pointer;
		}

		input {
			width: 100%;
			box-sizing: border-box;
			border: 1px solid var(--line);
			border-radius: 14px;
			padding: 12px 14px;
		}

		select {
			width: 100%;
			box-sizing: border-box;
			border: 1px solid var(--line);
			border-radius: 14px;
			padding: 12px 36px 12px 14px;
			background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23526172' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
			color: var(--ink);
			cursor: pointer;
			appearance: none;
		}

		select:focus,
		input:focus {
			outline: 2px solid rgba(15, 108, 189, .28);
			outline-offset: 1px;
			border-color: var(--brand);
		}

		label {
			display: grid;
			gap: 6px;
			color: var(--muted);
			font-weight: 700;
		}

		.primary {
			color: #fff;
			background: var(--brand);
		}

		.secondary {
			color: var(--ink);
			background: #edf4fb;
		}

		.danger {
			color: #991b1b;
			background: #fee2e2;
		}

		.card__top > div > p {
			margin: 0;
			font-size: .92rem;
			font-weight: 800;
			letter-spacing: .04em;
			text-transform: uppercase;
		}

		.login-grid {
			display: grid;
			gap: 18px;
			max-width: 480px;
			margin-top: 8px;
		}

		.login-marketing {
			margin: 0;
			text-align: center;
		}

		.login-marketing__link {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 2.25rem;
			padding: 0 12px;
			border: 0;
			border-radius: 999px;
			color: var(--muted);
			background: transparent;
			font-size: .92rem;
			font-weight: 700;
			text-decoration: none;
			cursor: pointer;
		}

		.login-marketing__link:hover {
			color: var(--brand);
			background: #f3f8fd;
		}

		.login-section {
			display: grid;
			gap: 14px;
			padding: 20px;
			border: 1px solid var(--line);
			border-radius: 18px;
			background: #fbfdff;
		}

		.login-section__title {
			margin: 0;
			font-size: 1.12rem;
			line-height: 1.2;
			color: var(--ink);
		}

		.login-section__lead {
			margin: 0;
			font-size: .98rem;
			line-height: 1.5;
		}

		.login-divider {
			display: grid;
			grid-template-columns: 1fr auto 1fr;
			gap: 12px;
			align-items: center;
			margin: 2px 0;
			color: var(--muted);
			font-size: .88rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .06em;
		}

		.login-divider::before,
		.login-divider::after {
			content: '';
			height: 1px;
			background: var(--line);
		}

		.login-divider--section {
			margin: 4px 0;
		}

		.email-form {
			display: grid;
			gap: 12px;
		}

		.create-business-form {
			display: grid;
			gap: 12px;
			max-width: 520px;
		}

		.create-business-form__pricing {
			margin: 0;
			color: var(--ink);
			font-size: .98rem;
			font-weight: 800;
			line-height: 1.45;
		}

		.create-business-form__note {
			margin: 0;
		}

		.create-business-form__optional {
			font-style: normal;
			font-weight: 600;
			color: var(--muted);
		}

		.profile-email-verify {
			display: grid;
			gap: 12px;
			padding: 14px;
			border: 1px solid var(--line);
			border-radius: 14px;
			background: #f8fbff;
		}

		.profile-email-verify__status {
			margin: 0;
			min-height: 20px;
			color: var(--muted);
			font-size: .92rem;
		}

		.profile-email-verify__status.is-verified {
			color: #0f6b3d;
			font-weight: 700;
		}

		.profile-phone-verify {
			display: grid;
			gap: 12px;
			padding: 14px;
			border: 1px solid var(--line);
			border-radius: 14px;
			background: #f8fbff;
		}

		.profile-phone-verify__recaptcha {
			position: absolute;
			width: 1px;
			height: 1px;
			margin: 0;
			padding: 0;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

		.profile-phone-verify__status {
			margin: 0;
			min-height: 20px;
			color: var(--muted);
			font-size: .92rem;
		}

		.profile-phone-verify__status.is-verified {
			color: #0f6b3d;
			font-weight: 700;
		}

		.profile-phone-verify .contact-auth__field > span,
		.profile-email-verify .contact-auth__field > span {
			color: var(--muted);
			font-weight: 700;
		}

		.profile-phone-verify .contact-auth__otp-digit,
		.profile-email-verify .contact-auth__otp-digit {
			color: var(--ink);
			background: #fff;
			border-color: var(--line);
		}

		.profile-phone-verify .contact-auth__verify-wrap,
		.profile-email-verify .contact-auth__verify-wrap {
			margin-top: 4px;
		}

		.actions {
			display: flex;
			flex-wrap: wrap;
			gap: 10px;
			align-items: center;
		}

		.status {
			display: none;
		}

		.dashboard {
			display: flex;
			flex-direction: column;
			gap: 18px;
		}

		.dashboard__account-summary {
			order: 0;
		}

		.dashboard__profile-section {
			order: 1;
		}

		.dashboard__player-profile {
			order: 2;
		}

		.dashboard__organizations {
			order: 4;
		}

		.dashboard__platform-notice {
			order: 3;
			margin: 0 0 14px;
			padding: 12px 14px;
			border: 1px solid rgba(251, 191, 36, .35);
			border-radius: 12px;
			background: rgba(251, 191, 36, .08);
			color: var(--ink, #fff);
			font-size: .92rem;
			line-height: 1.45;
		}

		.dashboard__platform-notice strong {
			font-weight: 700;
		}

		.dashboard__platform-notice a {
			color: var(--brand, #38bdf8);
		}

		.dashboard--has-orgs .dashboard__platform-notice {
			order: 2;
		}

		.dashboard__create-organization {
			order: 3;
		}

		.dashboard--has-orgs .dashboard__organizations {
			order: 3;
		}

		.dashboard--has-orgs .dashboard__create-organization {
			order: 4;
		}

		.dashboard__organizations h2,
		.dashboard__create-section h2,
		.dashboard__profile-section h2,
		.dashboard__player-profile h2 {
			margin: 0 0 4px;
			font-size: 1.12rem;
		}

		.dashboard__profile-section,
		.dashboard__create-section {
			margin-top: 8px;
			padding-top: 22px;
			border-top: 1px solid var(--line);
		}

		.dashboard__create-summary {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			color: var(--brand);
			font-size: 1.02rem;
			font-weight: 900;
			list-style: none;
			cursor: pointer;
		}

		.dashboard__create-summary::-webkit-details-marker {
			display: none;
		}

		.dashboard__create-summary::after {
			content: '+';
			display: inline-grid;
			width: 1.35rem;
			height: 1.35rem;
			place-items: center;
			border-radius: 999px;
			background: #edf4fb;
			font-size: .95rem;
			line-height: 1;
		}

		.dashboard__create-section[open] .dashboard__create-summary::after {
			content: '-';
		}

		.dashboard__create-section .create-business-form {
			margin-top: 10px;
		}

		.staff-page {
			display: grid;
			gap: 8px;
			max-width: 100%;
			margin-top: 4px;
		}

		.staff-page__back {
			display: block;
			margin: 0 0 6px;
			padding: 0;
			min-height: auto;
			color: var(--brand);
			background: transparent;
			font-weight: 800;
		}

		.staff-page__back[hidden] {
			display: none;
		}

		.staff-page__intro {
			margin: 0;
		}

		.staff-page__org {
			margin: 0;
			font-size: 1.08rem;
			font-weight: 900;
			color: var(--ink);
		}

		.staff-panel {
			display: grid;
			gap: 10px;
			padding: 14px;
			border: 1px solid var(--line);
			border-radius: 14px;
			background: #fbfdff;
		}

		.staff-list {
			display: grid;
			gap: 6px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

		.staff-list li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line); }

		.staff-list__pending {
			font-style: normal;
			font-size: .82rem;
			font-weight: 800;
			color: #8a5a00;
		}

		.staff-section {
			display: grid;
			gap: 8px;
		}

		.staff-section + .staff-section {
			padding-top: 10px;
			border-top: 1px solid var(--line);
		}

		.staff-section__heading {
			margin: 0;
			font-size: .95rem;
			font-weight: 900;
			color: var(--ink);
		}

		.staff-section__hint {
			margin: 0;
			font-size: .9rem;
			line-height: 1.45;
			color: var(--muted);
		}

		.staff-form__row {
			display: grid;
			grid-template-columns: minmax(0, 1fr) 5.75rem;
			gap: 10px;
			align-items: end;
		}

		.staff-form__email {
			min-width: 0;
		}

		.staff-form__role select {
			padding: 12px 28px 12px 10px;
			font-weight: 700;
			background-position: right 10px center;
		}

		.staff-form .actions {
			margin-top: 2px;
		}

		main:has(.card--staff) {
			padding: 16px;
			padding-top: max(12px, env(safe-area-inset-top, 0px));
		}

		.tenant-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
			gap: 12px;
			margin-top: 10px;
		}

		.tenant-card {
			display: grid;
			gap: 10px;
			padding: 14px 16px;
			border: 1px solid var(--line);
			border-radius: 16px;
			color: var(--ink);
			background: #fbfdff;
		}

		.tenant-card__site {
			margin: 0;
			font-size: .92rem;
			line-height: 1.35;
		}

		.tenant-card__site a {
			color: var(--brand);
			font-weight: 800;
			text-decoration: none;
		}

		.tenant-card__header {
			display: flex;
			gap: 10px;
			align-items: center;
		}

		.tenant-card__icon {
			display: grid;
			width: 40px;
			height: 40px;
			flex: 0 0 40px;
			place-items: center;
			overflow: hidden;
			border-radius: 12px;
			background: #e7f0fa;
			color: var(--brand);
			font-weight: 900;
		}

		.tenant-card__icon img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.tenant-card__name {
			margin: 0;
			font-size: 1.08rem;
			line-height: 1.2;
		}

		.tenant-card__actions {
			display: flex;
			flex-wrap: nowrap;
			gap: 6px;
			width: 100%;
		}

		.tenant-card__actions a,
		.tenant-card__actions button {
			flex: 1 1 0;
			min-width: 0;
			min-height: 2rem;
			border-radius: 999px;
			padding: 4px 8px;
			text-decoration: none;
			font-size: .84rem;
			font-weight: 800;
			text-align: center;
			white-space: nowrap;
		}

		.tenant-card__actions .launch-link {
			display: inline-flex;
			align-items: center;
			justify-content: center;
		}

		.tenant-card__actions .secondary {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border: 1px solid var(--line);
			color: var(--ink);
			background: #edf4fb;
			cursor: pointer;
		}

		.tenant-card__actions .tenant-card__remove {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border: 1px solid #fecaca;
			color: #991b1b;
			background: #fef2f2;
			cursor: pointer;
		}

		.tenant-card__meta {
			display: flex;
			flex-wrap: wrap;
			gap: 6px 10px;
			margin: 0;
			font-size: .84rem;
			line-height: 1.35;
			color: var(--muted);
		}

		.tenant-card__meta span {
			font-weight: 700;
		}

		.tenant-card__contest-fees {
			display: grid;
			gap: 8px;
			margin-top: 10px;
			padding: 12px 14px;
			border: 1px solid var(--line);
			border-radius: 16px;
			background: #f8fbff;
		}

		.tenant-card__contest-fees-head {
			display: flex;
			flex-wrap: wrap;
			gap: 8px 12px;
			align-items: center;
			justify-content: space-between;
		}

		.tenant-card__contest-fees-title {
			margin: 0;
			font-size: .92rem;
			font-weight: 800;
			color: var(--ink);
		}

		.tenant-card__contest-fees-status {
			margin: 0;
			font-size: .84rem;
			font-weight: 700;
			color: var(--muted);
		}

		.tenant-card__contest-fees-status.is-ready {
			color: var(--ok);
		}

		.tenant-card__contest-fees-help {
			margin: 0;
			font-size: .82rem;
			line-height: 1.45;
			color: var(--muted);
		}

		.tenant-card__contest-fees-btn {
			justify-self: start;
		}

		.tenant-card__billing-actions {
			display: flex;
			flex-wrap: wrap;
			gap: 6px;
		}

		.tenant-card__billing-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 1.9rem;
			padding: 0 10px;
			border: 1px solid var(--line);
			border-radius: 999px;
			color: var(--ink);
			background: #fff;
			font-size: .8rem;
			font-weight: 800;
			cursor: pointer;
		}

		.tenant-card__billing-btn:hover {
			border-color: var(--brand);
			color: var(--brand);
			background: #f3f8fd;
		}

		.confirm-dialog {
			position: fixed;
			inset: 0;
			z-index: 30;
			display: grid;
			place-items: center;
			padding: 16px;
			background: rgba(7, 17, 31, .42);
		}

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

		.confirm-dialog__panel {
			width: min(420px, 100%);
			display: grid;
			gap: 16px;
			padding: 20px;
			border-radius: 18px;
			background: #fff;
			box-shadow: 0 18px 48px rgba(7, 17, 31, .18);
		}

		.confirm-dialog__message {
			margin: 0;
			color: var(--ink);
			font-size: 1rem;
			line-height: 1.5;
		}

		.confirm-dialog__actions {
			display: flex;
			flex-wrap: wrap;
			gap: 10px;
			justify-content: flex-end;
		}

		.player-profile-panel {
			display: grid;
			gap: 12px;
			padding: 18px;
			border: 1px solid var(--line);
			border-radius: 18px;
			background: #fbfdff;
		}

		.player-entry-list {
			display: grid;
			gap: 12px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

		.player-entry-card {
			display: grid;
			gap: 8px;
			padding: 14px;
			border: 1px solid var(--line);
			border-radius: 14px;
			background: #fff;
		}

		.player-entry-card__meta {
			color: var(--muted);
			font-size: .95rem;
		}

		.player-entry-card__results {
			display: grid;
			gap: 4px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

		.player-entry-card__results li {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
			justify-content: space-between;
		}

		.launch-link {
			color: #fff;
			background: var(--brand);
		}

		#dashboard .create-business-form .primary,
		#staff-page .primary,
		#staff-page .secondary,
		.card__top .danger,
		.confirm-dialog button {
			min-height: 2.15rem;
			padding: 0 0.85rem;
			font-size: .88rem;
			font-weight: 800;
		}

		.card__top .danger {
			min-height: 2rem;
			padding: 0 0.75rem;
			font-size: .82rem;
		}

		.staff-page__back {
			min-height: auto;
			padding: 0;
			font-size: .92rem;
		}

		.disabled-link {
			color: var(--muted);
			background: #edf4fb;
			pointer-events: none;
		}

		[hidden] {
			display: none !important;
		}

		@media (max-width: 380px) {
			.staff-form__row {
				grid-template-columns: 1fr;
			}

			.staff-form__role select {
				padding: 12px 36px 12px 14px;
				background-position: right 14px center;
			}
		}

		@media (max-height: 850px) {
			:root {
				font-size: 16px;
			}

			main {
				padding: 12px 16px 16px;
				padding-top: max(12px, env(safe-area-inset-top, 0px));
			}

			.card {
				padding: 18px 16px;
				border-radius: 20px;
				box-shadow: 0 12px 36px rgba(7, 17, 31, .1);
			}

			h1 {
				margin-top: 4px;
				font-size: 1.45rem;
			}

			.card__top > div > p {
				font-size: .78rem;
			}

			p {
				font-size: .92rem;
				line-height: 1.4;
			}

			.login-grid {
				gap: 10px;
				margin-top: 4px;
			}

			.login-section {
				gap: 8px;
				padding: 12px;
				border-radius: 14px;
			}

			.login-section__title {
				font-size: .98rem;
			}

			.login-section__lead {
				font-size: .86rem;
				line-height: 1.35;
			}

			.login-divider {
				gap: 8px;
				margin: 0;
				font-size: .75rem;
			}

			.email-form {
				gap: 8px;
			}

			label {
				gap: 4px;
				font-size: .88rem;
			}

			button {
				min-height: 2.45rem;
				padding: 0 .85rem;
			}

			input {
				padding: 9px 11px;
				border-radius: 12px;
			}

			select {
				padding: 9px 32px 9px 11px;
				border-radius: 12px;
				background-position: right 11px center;
			}

			.staff-form__role select {
				padding: 9px 26px 9px 9px;
				background-position: right 8px center;
			}

			.card--staff {
				padding: 14px 14px 16px;
			}

			.staff-form__row {
				grid-template-columns: minmax(0, 1fr) 5.5rem;
				gap: 8px;
			}

			.status {
				display: none;
			}
		}
