/*
 * eHockeyPro Arena — application visual system
 * Loaded after the legacy theme so old data views inherit the new shell while
 * their existing PHP and JavaScript behavior remains intact.
 */

:root {
	--ehp-ink: #07120f;
	--ehp-ink-soft: #26322e;
	--ehp-muted: #64716c;
	--ehp-line: #dce5e1;
	--ehp-surface: #ffffff;
	--ehp-surface-soft: #f4f7f6;
	--ehp-surface-tint: #eaf3f0;
	--ehp-night: #071411;
	--ehp-night-soft: #10221d;
	--ehp-lime: #c8ff3d;
	--ehp-lime-dark: #83b50b;
	--ehp-aqua: #7be7df;
	--ehp-blue: #6eb8ff;
	--ehp-danger: #d84747;
	--ehp-warning: #e7a51b;
	--ehp-success: #1c9b63;
	--ehp-shadow-sm: 0 1px 2px rgba(7, 18, 15, 0.06), 0 8px 24px rgba(7, 18, 15, 0.05);
	--ehp-shadow-lg: 0 24px 70px rgba(4, 15, 12, 0.18);
	--ehp-radius-sm: 10px;
	--ehp-radius: 18px;
	--ehp-radius-lg: 28px;
	--ehp-container: 1180px;
	--ehp-header-height: 72px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--ehp-header-height) + 24px);
}

body.ehp-v2 {
	min-height: 100%;
	margin: 0;
	background: var(--ehp-surface-soft);
	color: var(--ehp-ink);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.ehp-v2 *,
.ehp-v2 *::before,
.ehp-v2 *::after {
	box-sizing: border-box;
}

.ehp-v2 a {
	color: inherit;
	text-decoration: none;
}

.ehp-v2 a:hover {
	color: inherit;
	text-decoration: none;
}

.ehp-v2 img {
	max-width: 100%;
	height: auto;
}

.ehp-logo-frame { position: relative; isolation: isolate; }
.ehp-logo-fallback { display: grid; position: absolute; inset: 0; z-index: 0; place-items: center; }
.ehp-logo-image { position: absolute; inset: 0; z-index: 1; background: inherit; }

.ehp-v2 p {
	padding: 0;
	margin: 0 0 1rem;
}

.ehp-v2 h1,
.ehp-v2 h2,
.ehp-v2 h3,
.ehp-v2 h4,
.ehp-v2 h5,
.ehp-v2 h6 {
	margin: 0;
	color: inherit;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.ehp-v2 button,
.ehp-v2 input,
.ehp-v2 select,
.ehp-v2 textarea {
	font: inherit;
}

.ehp-v2 :focus-visible {
	outline: 3px solid rgba(110, 184, 255, 0.7);
	outline-offset: 3px;
}

.ehp-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 99999;
	padding: 10px 14px;
	border-radius: 8px;
	background: #fff;
	color: #000;
	transform: translateY(-160%);
}

.ehp-skip-link:focus {
	transform: translateY(0);
}

.ehp-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.ehp-container {
	width: min(calc(100% - 40px), var(--ehp-container));
	margin-inline: auto;
}

.ehp-section {
	padding: 104px 0;
}

.ehp-section-soft {
	background: var(--ehp-surface-soft);
}

.ehp-section-dark {
	background: var(--ehp-night);
	color: #fff;
}

.ehp-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 22px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.ehp-kicker::before {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ehp-lime);
	box-shadow: 0 0 0 5px rgba(200, 255, 61, 0.15);
	content: "";
}

.ehp-display {
	max-width: 900px;
	font-size: clamp(48px, 7.1vw, 96px);
	font-weight: 800 !important;
	letter-spacing: -0.065em !important;
	line-height: 0.92 !important;
}

.ehp-section-title {
	max-width: 780px;
	font-size: clamp(38px, 5vw, 66px);
	letter-spacing: -0.055em !important;
}

.ehp-section-copy {
	max-width: 650px;
	margin-top: 22px !important;
	color: var(--ehp-muted);
	font-size: 19px;
	line-height: 1.6;
}

.ehp-section-dark .ehp-section-copy {
	color: rgba(255, 255, 255, 0.66);
}

/* Header */
.ehp-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	height: var(--ehp-header-height);
	overflow: visible;
	border-bottom: 1px solid rgba(7, 18, 15, 0.08);
	background: rgba(255, 255, 255, 0.91);
	box-shadow: none;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.admin-bar .ehp-site-header {
	top: 32px;
}

.ehp-site-header.is-app-header {
	background: rgba(7, 20, 17, 0.97);
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, 0.08);
}

.ehp-header-inner {
	display: flex;
	align-items: center;
	gap: 32px;
	width: min(calc(100% - 40px), 1360px);
	height: 100%;
	margin: 0 auto;
}

.ehp-brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	flex: 0 0 auto;
	color: inherit;
}

.ehp-brand-mark {
	position: relative;
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	border: 2px solid currentColor;
	border-radius: 50%;
	transform: rotate(-18deg);
}

.ehp-brand-mark::before,
.ehp-brand-mark::after,
.ehp-brand-mark span::before {
	position: absolute;
	width: 18px;
	height: 2px;
	background: currentColor;
	content: "";
}

.ehp-brand-mark::before { transform: translateY(-5px); }
.ehp-brand-mark::after { transform: translateY(5px); }
.ehp-brand-mark span::before { transform: translate(-9px, -1px); }

.ehp-brand-type {
	font-family: "Druk Wide", "Helvetica Neue", sans-serif;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.ehp-brand-type span {
	color: var(--ehp-lime-dark);
}

.is-app-header .ehp-brand-type span {
	color: var(--ehp-lime);
}

.ehp-primary-nav {
	display: flex;
	align-items: center;
	gap: 4px;
}

.ehp-marketing-nav {
	margin-left: auto;
}

.ehp-nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	border-radius: 10px;
	color: var(--ehp-ink-soft);
	font-size: 14px;
	font-weight: 650;
	white-space: nowrap;
}

.ehp-nav-link:hover {
	background: rgba(7, 18, 15, 0.05);
}

.ehp-app-nav {
	align-self: stretch;
	margin-left: 16px;
}

.ehp-app-nav .ehp-nav-link {
	height: 100%;
	border-radius: 0;
	color: rgba(255, 255, 255, 0.62);
}

.ehp-app-nav .ehp-nav-link::after {
	position: absolute;
	right: 14px;
	bottom: -1px;
	left: 14px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: var(--ehp-lime);
	content: "";
	transform: scaleX(0);
}

.ehp-app-nav .ehp-nav-link:hover,
.ehp-app-nav .ehp-nav-link.is-active {
	background: transparent;
	color: #fff;
}

.ehp-app-nav .ehp-nav-link.is-active::after {
	transform: scaleX(1);
}

.ehp-nav-lock {
	width: 14px;
	height: 14px;
	color: var(--ehp-warning);
}

.ehp-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 12px;
}

.ehp-account-actions {
	margin-left: auto;
}

.ehp-login-link {
	padding: 10px 12px;
	font-size: 14px;
	font-weight: 700;
}

.ehp-button,
.ehp-v2 .btn,
.ehp-v2 input[type="submit"],
.ehp-v2 button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}

.ehp-button:hover,
.ehp-v2 .btn:hover,
.ehp-v2 input[type="submit"]:hover,
.ehp-v2 button[type="submit"]:hover {
	transform: translateY(-1px);
}

.ehp-button-primary,
.ehp-v2 .btn-success,
.ehp-v2 .btn-primary,
.ehp-v2 input[type="submit"],
.ehp-v2 button[type="submit"] {
	border-color: var(--ehp-lime);
	background: var(--ehp-lime);
	color: var(--ehp-ink) !important;
	box-shadow: 0 8px 24px rgba(153, 204, 25, 0.2);
}

.ehp-button-primary:hover,
.ehp-v2 .btn-success:hover,
.ehp-v2 .btn-primary:hover,
.ehp-v2 input[type="submit"]:hover,
.ehp-v2 button[type="submit"]:hover {
	border-color: #d5ff6d;
	background: #d5ff6d;
}

.ehp-button-secondary,
.ehp-v2 .btn-outline-dark {
	border-color: var(--ehp-line);
	background: #fff;
	color: var(--ehp-ink) !important;
}

.ehp-button-secondary:hover,
.ehp-v2 .btn-outline-dark:hover {
	border-color: var(--ehp-ink);
	background: #fff;
}

.ehp-button-ghost {
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.06);
	color: #fff !important;
}

.ehp-button-small {
	min-height: 40px;
	padding: 0 17px;
	font-size: 13px;
}

.ehp-plan-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 230px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ehp-status-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ehp-success);
	box-shadow: 0 0 0 4px rgba(28, 155, 99, 0.15);
}

.ehp-plan-badge.is-trial .ehp-status-dot { background: var(--ehp-lime); box-shadow: 0 0 0 4px rgba(200, 255, 61, 0.13); }
.ehp-plan-badge.is-expired .ehp-status-dot,
.ehp-plan-badge.is-inactive .ehp-status-dot { background: var(--ehp-warning); box-shadow: 0 0 0 4px rgba(231, 165, 27, 0.13); }

.ehp-avatar {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	background: var(--ehp-night-soft);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.ehp-menu-toggle {
	display: none;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-left: auto;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: inherit;
}

.ehp-menu-toggle[aria-expanded="true"] .ehp-menu-icon-open,
.ehp-menu-icon-close {
	display: none;
}

.ehp-menu-toggle[aria-expanded="true"] .ehp-menu-icon-close {
	display: block;
}

.ehp-mobile-menu {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding: 12px 20px 22px;
	border-top: 1px solid rgba(7, 18, 15, 0.08);
	border-bottom: 1px solid rgba(7, 18, 15, 0.1);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: var(--ehp-shadow-lg);
}

.is-app-header .ehp-mobile-menu {
	border-color: rgba(255, 255, 255, 0.08);
	background: rgba(7, 20, 17, 0.99);
}

.ehp-mobile-menu a:not(.ehp-button) {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px 10px;
	font-size: 15px;
	font-weight: 700;
}

.ehp-mobile-menu .ehp-button {
	width: 100%;
	margin-top: 10px;
}

.ehp-mobile-menu-divider {
	height: 1px;
	margin: 8px 0;
	background: currentColor;
	opacity: 0.11;
}

/* Layout and marketing hero */
.ehp-v2 .body_container {
	width: 100%;
	max-width: none;
	min-height: calc(100vh - var(--ehp-header-height));
	margin: 0;
	padding: 0;
}

.ehp-main {
	min-height: calc(100vh - var(--ehp-header-height));
}

.ehp-hero {
	position: relative;
	min-height: min(850px, calc(100vh - var(--ehp-header-height)));
	overflow: hidden;
	background: var(--ehp-night);
	color: #fff;
}

.ehp-hero::before {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 78% 18%, rgba(123, 231, 223, 0.18), transparent 25%),
		linear-gradient(90deg, rgba(7, 20, 17, 0.98) 0%, rgba(7, 20, 17, 0.9) 48%, rgba(7, 20, 17, 0.35) 76%, rgba(7, 20, 17, 0.5) 100%);
	content: "";
	z-index: 1;
}

.ehp-hero::after {
	position: absolute;
	inset: 0 0 0 52%;
	background: var(--ehp-hero-image) center 30% / cover no-repeat;
	content: "";
	filter: saturate(0.85) contrast(1.05);
	opacity: 0.72;
}

.ehp-hero-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr);
	align-items: center;
	gap: 64px;
	min-height: min(850px, calc(100vh - var(--ehp-header-height)));
	padding: 84px 0 96px;
}

.ehp-hero-copy {
	max-width: 760px;
}

.ehp-hero .ehp-display em {
	display: block;
	color: var(--ehp-lime);
	font-style: normal;
}

.ehp-v2 .ehp-hero-intro {
	max-width: 670px;
	margin-top: 30px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.55;
}

.ehp-hero-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 36px;
}

.ehp-hero-note {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.56);
	font-size: 13px;
}

.ehp-hero-note .ehp-icon {
	width: 16px;
	height: 16px;
	color: var(--ehp-lime);
}

.ehp-dashboard-preview {
	position: relative;
	align-self: end;
	width: min(510px, 100%);
	margin-left: auto;
	margin-bottom: -52px;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--ehp-radius-lg) var(--ehp-radius-lg) 0 0;
	background: rgba(246, 250, 248, 0.96);
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.38);
	color: var(--ehp-ink);
	transform: rotate(-1deg);
}

.ehp-preview-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.ehp-preview-toolbar strong {
	font-size: 13px;
}

.ehp-live-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 9px;
	border-radius: 999px;
	background: #e7f7ef;
	color: #15764c;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ehp-live-pill::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #22a969;
	content: "";
}

.ehp-preview-score {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 18px;
	padding: 26px 18px;
	border: 1px solid var(--ehp-line);
	border-radius: 16px;
	background: #fff;
}

.ehp-preview-team {
	display: grid;
	justify-items: center;
	gap: 9px;
	min-width: 0;
	font-size: 11px;
	font-weight: 800;
	text-align: center;
	text-transform: uppercase;
}

.ehp-preview-crest {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 15px;
	background: var(--ehp-night);
	color: var(--ehp-lime);
	font-family: "Druk Wide", sans-serif;
	font-size: 14px;
}

.ehp-preview-team:last-child .ehp-preview-crest {
	background: #173a64;
	color: #9cd4ff;
}

.ehp-scoreline {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: "Druk Wide", "Helvetica Neue", sans-serif;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.04em;
}

.ehp-scoreline span {
	color: #a3ada9;
	font-size: 15px;
}

.ehp-preview-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 9px;
	margin-top: 12px;
}

.ehp-preview-stat {
	padding: 13px;
	border-radius: 12px;
	background: #eaf0ee;
}

.ehp-preview-stat span {
	display: block;
	color: var(--ehp-muted);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.ehp-preview-stat strong {
	display: block;
	margin-top: 2px;
	font-size: 18px;
}

.ehp-proof-strip {
	border-bottom: 1px solid var(--ehp-line);
	background: #fff;
}

.ehp-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.ehp-proof-item {
	padding: 34px 38px;
	border-right: 1px solid var(--ehp-line);
}

.ehp-proof-item:first-child { padding-left: 0; }
.ehp-proof-item:last-child { border-right: 0; }
.ehp-proof-item strong { display: block; font-size: 16px; }
.ehp-proof-item span { display: block; margin-top: 4px; color: var(--ehp-muted); font-size: 13px; }

/* Workflow and feature cards */
.ehp-workflow-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 64px;
}

.ehp-step-card {
	position: relative;
	min-height: 340px;
	padding: 30px;
	overflow: hidden;
	border: 1px solid var(--ehp-line);
	border-radius: var(--ehp-radius);
	background: #fff;
	box-shadow: var(--ehp-shadow-sm);
}

.ehp-step-number {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--ehp-night);
	color: var(--ehp-lime);
	font-size: 12px;
	font-weight: 850;
}

.ehp-step-card h3 {
	margin-top: 54px;
	font-size: 27px;
}

.ehp-step-card p {
	margin-top: 14px;
	color: var(--ehp-muted);
	line-height: 1.65;
}

.ehp-step-art {
	position: absolute;
	right: 24px;
	bottom: 20px;
	left: 24px;
	height: 72px;
	border: 1px solid var(--ehp-line);
	border-radius: 12px;
	background: var(--ehp-surface-soft);
}

.ehp-step-art::before,
.ehp-step-art::after {
	position: absolute;
	content: "";
}

.ehp-step-art::before {
	top: 15px;
	left: 16px;
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: var(--ehp-night);
}

.ehp-step-art::after {
	top: 24px;
	right: 18px;
	width: 46%;
	height: 8px;
	border-radius: 8px;
	background: var(--ehp-line);
	box-shadow: 0 17px 0 #cbd7d2;
}

.ehp-feature-layout {
	display: grid;
	grid-template-columns: 0.82fr 1.18fr;
	gap: 72px;
	align-items: start;
}

.ehp-feature-intro {
	position: sticky;
	top: calc(var(--ehp-header-height) + 40px);
}

.ehp-feature-list {
	display: grid;
	gap: 14px;
}

.ehp-feature-card {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 18px;
	padding: 25px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.045);
}

.ehp-feature-icon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: rgba(200, 255, 61, 0.1);
	color: var(--ehp-lime);
}

.ehp-feature-card h3 {
	font-size: 21px;
	letter-spacing: -0.025em;
}

.ehp-feature-card p {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.61);
	font-size: 14px;
	line-height: 1.65;
}

/* Pricing */
.ehp-pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 58px;
}

.ehp-plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 520px;
	padding: 30px;
	border: 1px solid var(--ehp-line);
	border-radius: var(--ehp-radius);
	background: #fff;
	box-shadow: var(--ehp-shadow-sm);
}

.ehp-plan-card.is-featured {
	border-color: var(--ehp-night);
	background: var(--ehp-night);
	box-shadow: var(--ehp-shadow-lg);
	color: #fff;
	transform: translateY(-12px);
}

.ehp-plan-ribbon {
	position: absolute;
	top: 20px;
	right: 20px;
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--ehp-lime);
	color: var(--ehp-ink);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ehp-plan-card > span:not(.ehp-plan-ribbon) {
	color: var(--ehp-muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ehp-plan-card.is-featured > span:not(.ehp-plan-ribbon) { color: rgba(255,255,255,.58); }
.ehp-plan-card h3 { margin-top: 12px; font-size: 27px; }
.ehp-plan-price { margin-top: 25px; font-size: 48px; font-weight: 800; letter-spacing: -0.055em; line-height: 1; }
.ehp-plan-price small { color: var(--ehp-muted); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.ehp-plan-card.is-featured .ehp-plan-price small { color: rgba(255,255,255,.56); }

.ehp-plan-features {
	display: grid;
	gap: 13px;
	margin: 28px 0 30px;
	padding: 24px 0 0;
	border-top: 1px solid var(--ehp-line);
	list-style: none;
}

.ehp-plan-card.is-featured .ehp-plan-features { border-color: rgba(255,255,255,.12); }
.ehp-plan-features li { display: grid; grid-template-columns: 19px 1fr; gap: 10px; align-items: start; font-size: 14px; }
.ehp-plan-features .ehp-icon { width: 17px; height: 17px; color: var(--ehp-success); }
.ehp-plan-card.is-featured .ehp-plan-features .ehp-icon { color: var(--ehp-lime); }
.ehp-plan-card .ehp-button { width: 100%; margin-top: auto; }

.ehp-addons-row {
	display: grid;
	grid-template-columns: 0.72fr 1fr 1fr;
	gap: 18px;
	align-items: stretch;
	margin-top: 28px;
}

.ehp-addons-intro,
.ehp-addon-card {
	padding: 26px;
	border: 1px solid var(--ehp-line);
	border-radius: 16px;
	background: var(--ehp-surface-soft);
}

.ehp-addons-intro h3 { font-size: 24px; }
.ehp-addons-intro p { margin-top: 10px; color: var(--ehp-muted); font-size: 14px; }
.ehp-addon-card { display: flex; align-items: center; gap: 18px; background: #fff; }
.ehp-addon-icon { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; border-radius: 13px; background: var(--ehp-surface-tint); }
.ehp-addon-card h4 { font-size: 17px; letter-spacing: -0.02em; }
.ehp-addon-card p { margin: 4px 0 0; color: var(--ehp-muted); font-size: 12px; }
.ehp-addon-card strong { margin-left: auto; font-size: 15px; white-space: nowrap; }

.ehp-pricing-assurance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin-top: 42px;
	overflow: hidden;
	border: 1px solid var(--ehp-line);
	border-radius: 16px;
	background: var(--ehp-line);
}
.ehp-pricing-assurance > div { display: grid; grid-template-columns: 24px 1fr; gap: 3px 12px; padding: 22px; background: #fff; }
.ehp-pricing-assurance .ehp-icon { grid-row: 1 / 3; width: 20px; height: 20px; color: var(--ehp-success); }
.ehp-pricing-assurance strong { font-size: 13px; }
.ehp-pricing-assurance span { color: var(--ehp-muted); font-size: 11px; line-height: 1.5; }

/* League showcase */
.ehp-league-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 52px;
}

.ehp-league-card {
	display: flex;
	align-items: center;
	gap: 17px;
	min-height: 120px;
	padding: 20px;
	border: 1px solid var(--ehp-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--ehp-shadow-sm);
}

.ehp-league-card:hover { border-color: #adbbb5; transform: translateY(-2px); }
.ehp-league-logo { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 auto; overflow: hidden; border-radius: 15px; background: var(--ehp-night); color: var(--ehp-lime); font-family: "Druk Wide", sans-serif; }
.ehp-league-logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.ehp-league-card strong { display: block; line-height: 1.25; }
.ehp-league-card span { display: block; margin-top: 5px; color: var(--ehp-muted); font-size: 12px; }
.ehp-league-card .ehp-icon { margin-left: auto; }

/* FAQ and CTA */
.ehp-faq-grid {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: 80px;
}

.ehp-faq-list { border-top: 1px solid var(--ehp-line); }
.ehp-faq-item { border-bottom: 1px solid var(--ehp-line); }
.ehp-faq-question { display: flex; justify-content: space-between; gap: 18px; width: 100%; padding: 24px 0; border: 0; background: transparent; color: var(--ehp-ink); font-size: 18px; font-weight: 750; text-align: left; }
.ehp-faq-question::after { content: "+"; color: var(--ehp-muted); font-size: 24px; font-weight: 400; }
.ehp-faq-question[aria-expanded="true"]::after { content: "−"; }
.ehp-faq-answer { max-width: 700px; padding: 0 40px 24px 0; color: var(--ehp-muted); line-height: 1.7; }

.ehp-final-cta {
	position: relative;
	overflow: hidden;
	padding: 86px 0;
	background: var(--ehp-lime);
}

.ehp-final-cta::after {
	position: absolute;
	top: -160px;
	right: -120px;
	width: 520px;
	height: 520px;
	border: 80px solid rgba(7, 18, 15, 0.08);
	border-radius: 50%;
	content: "";
}

.ehp-final-cta-inner { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.ehp-final-cta h2 { max-width: 720px; font-size: clamp(42px, 5.4vw, 70px); letter-spacing: -0.055em; }
.ehp-final-cta p { margin-top: 14px; color: rgba(7, 18, 15, 0.68); }
.ehp-final-cta .ehp-button { flex: 0 0 auto; border-color: var(--ehp-night); background: var(--ehp-night); color: #fff !important; }

/* Authentication and plugin forms */
.ehp-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
	min-height: calc(100vh - var(--ehp-header-height));
	background: #fff;
}

.ehp-auth-aside {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 700px;
	overflow: hidden;
	padding: 54px;
	background: var(--ehp-night) var(--ehp-auth-image) center / cover no-repeat;
	color: #fff;
}

.ehp-auth-aside::before { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,20,17,.08), rgba(7,20,17,.94)); content: ""; }
.ehp-auth-aside-copy { position: relative; z-index: 1; max-width: 530px; }
.ehp-auth-aside-copy h2 { font-size: clamp(38px, 4vw, 60px); letter-spacing: -0.055em; }
.ehp-auth-aside-copy p { margin-top: 18px; color: rgba(255,255,255,.68); font-size: 18px; }
.ehp-auth-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.ehp-auth-point { padding: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.06); }
.ehp-auth-point strong { display: block; font-size: 12px; }
.ehp-auth-point span { display: block; margin-top: 3px; color: rgba(255,255,255,.58); font-size: 10px; }

.ehp-auth-main {
	display: grid;
	place-items: center;
	padding: 60px 8vw;
}

.ehp-auth-card {
	width: min(100%, 560px);
}

.ehp-auth-card h1,
.ehp-auth-card h2 {
	padding: 0 !important;
	border: 0 !important;
	font-size: clamp(36px, 4.5vw, 54px) !important;
}

.ehp-auth-subtitle { margin-top: 13px !important; color: var(--ehp-muted); font-size: 16px; }
.ehp-auth-form { margin-top: 34px; }
.ehp-registration-layout .ehp-auth-main { align-items: start; overflow: visible; }
.ehp-registration-card { max-width: 620px; }
.ehp-registration-trust { display: flex; align-items: flex-start; gap: 9px; margin-top: 20px !important; color: var(--ehp-muted); font-size: 12px; line-height: 1.55; }
.ehp-registration-trust .ehp-icon { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 1px; }
.ehp-honeypot { position: absolute !important; left: -9999px !important; top: -9999px !important; }
.ehp-registration-card .pms-first-name-field,
.ehp-registration-card .pms-last-name-field,
.ehp-registration-card .pms-subscription-plan-4145,
.ehp-registration-card .wppb-send-credentials-checkbox,
.ehp-registration-card #pms-subscription-plans-discount,
.ehp-registration-card li#wppb-form-element-14 h4 { display: none !important; }

.ehp-v2 .wppb-user-forms,
.ehp-v2 .pms-form,
.ehp-v2 .login_box form {
	width: 100%;
	max-width: none;
}

.ehp-v2 .wppb-user-forms ul,
.ehp-v2 .pms-form ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ehp-v2 .wppb-form-field,
.ehp-v2 .pms-field,
.ehp-v2 .login-username,
.ehp-v2 .login-password {
	display: block;
	margin: 0 0 18px;
}

.ehp-v2 .wppb-form-field > label,
.ehp-v2 .pms-field > label,
.ehp-v2 .login_box form > p > label {
	display: block;
	width: auto;
	margin: 0 0 8px;
	color: var(--ehp-ink-soft);
	font-size: 13px;
	font-weight: 750;
}

.ehp-v2 input[type="text"],
.ehp-v2 input[type="email"],
.ehp-v2 input[type="password"],
.ehp-v2 input[type="url"],
.ehp-v2 input[type="number"],
.ehp-v2 input[type="search"],
.ehp-v2 select,
.ehp-v2 textarea,
.ehp-v2 .form-control {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid #cfd9d5;
	border-radius: 11px;
	background: #fff;
	box-shadow: 0 1px 1px rgba(7,18,15,.02);
	color: var(--ehp-ink);
	font-size: 15px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.ehp-v2 textarea { min-height: 120px; resize: vertical; }
.ehp-v2 input:focus,
.ehp-v2 select:focus,
.ehp-v2 textarea:focus,
.ehp-v2 .form-control:focus { outline: 0; border-color: #6e9d8b; box-shadow: 0 0 0 4px rgba(94, 150, 128, .13); }
.ehp-v2 input[type="checkbox"],
.ehp-v2 input[type="radio"] { accent-color: var(--ehp-ink); }

.ehp-v2 .login-submit,
.ehp-v2 .form-submit { margin-top: 20px; }
.ehp-v2 .login-submit input,
.ehp-v2 .form-submit input { width: 100%; }
.ehp-v2 .login-remember { color: var(--ehp-muted); font-size: 13px; }
.ehp-v2 .login-extra-links { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ehp-line); color: var(--ehp-muted); font-size: 13px; text-align: center; }
.ehp-v2 .login-extra-links p { margin-bottom: 9px; }
.ehp-v2 .login-extra-links a,
.ehp-v2 .support-hatch a { color: var(--ehp-ink); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }

.ehp-trial-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: 28px 0 32px;
}

.ehp-trial-step { position: relative; display: flex; align-items: center; gap: 9px; color: var(--ehp-muted); font-size: 11px; font-weight: 750; }
.ehp-trial-step:not(:last-child)::after { position: absolute; right: 12px; left: 36px; bottom: -9px; height: 2px; background: var(--ehp-line); content: ""; }
.ehp-trial-step span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--ehp-line); color: var(--ehp-ink); }
.ehp-trial-step.is-active { color: var(--ehp-ink); }
.ehp-trial-step.is-active span { background: var(--ehp-lime); }

.ehp-v2 .pms-subscription-plan {
	position: relative;
	display: grid !important;
	grid-template-columns: 20px 1fr auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0 0 10px !important;
	padding: 16px !important;
	border: 1px solid var(--ehp-line) !important;
	border-radius: 12px !important;
	background: #fff !important;
}

.ehp-v2 .pms-subscription-plan:has(input:checked) { border-color: var(--ehp-ink) !important; box-shadow: 0 0 0 2px var(--ehp-ink); }
.ehp-v2 .pms-subscription-plan label { margin: 0 !important; font-weight: 750; }
.ehp-v2 .pms-subscription-plan-price { grid-column: 2 / -1; color: var(--ehp-muted); }
.ehp-v2 .plan-feature-note { font-size: 12px !important; }
.ehp-v2 .pms-subscription-plan-6391::before { position: absolute; top: -9px; right: 12px; margin: 0; padding: 4px 8px; border-radius: 999px; background: var(--ehp-lime); color: var(--ehp-ink); content: "Best place to start"; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }

/* Application pages and legacy data views */
.ehp-authenticated .ehp-main {
	padding: 38px 0 78px;
	background: var(--ehp-surface-soft);
}

.ehp-authenticated .body_content,
.ehp-authenticated .entry-content,
.ehp-authenticated .site-main {
	width: 100%;
}

.ehp-authenticated .body_content > .login_box > .container,
.ehp-authenticated .body_content > .login_box > .team_sec > .container,
.ehp-authenticated .body_content > .pricing-page,
.ehp-authenticated .body_content > .container {
	width: min(calc(100% - 40px), var(--ehp-container));
	max-width: var(--ehp-container) !important;
	margin: 0 auto;
}

.ehp-authenticated .login_box h1,
.ehp-authenticated .login_box h2 {
	padding: 0 0 12px;
	border: 0;
	font-size: clamp(34px, 4vw, 52px);
}

.ehp-page-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
}

.ehp-page-heading p { margin-top: 9px; color: var(--ehp-muted); }
.ehp-page-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.ehp-workspace-summary {
	display: grid;
	grid-template-columns: 1.35fr repeat(3, 1fr);
	gap: 12px;
	margin: 18px 0 30px;
}

.ehp-summary-card {
	padding: 18px;
	border: 1px solid var(--ehp-line);
	border-radius: 14px;
	background: #fff;
}

.ehp-summary-card span { display: block; color: var(--ehp-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.ehp-summary-card strong { display: block; margin-top: 5px; font-size: 23px; line-height: 1.15; }
.ehp-summary-card.is-plan { background: var(--ehp-night); color: #fff; border-color: var(--ehp-night); }
.ehp-summary-card.is-plan span { color: rgba(255,255,255,.56); }

.ehp-v2 .alert {
	margin-bottom: 22px;
	padding: 15px 17px;
	border: 1px solid #bcd9cd;
	border-radius: 12px;
	background: #edf8f3;
	color: #205a43;
	font-size: 13px;
}

.ehp-v2 .alert a { font-weight: 750; text-decoration: underline; }
.ehp-v2 .alert-info { border-color: #c6d8ea; background: #edf5fc; color: #24516f; }

.ehp-v2 .team_sec { margin-top: 20px; }
.ehp-v2 .team_block { width: 100%; }
.ehp-v2 .team_block > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 0; padding: 0; list-style: none; }
.ehp-v2 .team_block > ul > li { display: grid; grid-template-columns: 64px minmax(0,1fr); grid-template-rows: auto auto; gap: 7px 15px; align-items: center; min-height: 124px; padding: 19px; border: 1px solid var(--ehp-line); border-radius: 15px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-v2 .team_block > ul > li:first-child { display: none; }
.ehp-v2 .team_block .img,
.ehp-v2 .team_block .crest { grid-row: 1 / 3; width: 64px; height: 64px; margin: 0; overflow: hidden; border-radius: 14px; background: var(--ehp-surface-tint); }
.ehp-v2 .team_block .img img { width: 100%; height: 100%; object-fit: contain; padding: 5px; }
.ehp-v2 .team_block .club_name { width: auto; min-width: 0; margin: 0; padding: 0; }
.ehp-v2 .team_block .club_name h3 { font-size: 17px; letter-spacing: -0.02em; }
.ehp-v2 .team_block .club_abbr h3 { color: var(--ehp-muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ehp-v2 .team_block .links { grid-column: 2; width: auto; margin-top: 8px; }
.ehp-v2 .team_block .links .btn { min-height: 34px; padding: 0 13px; font-size: 11px; }
.ehp-v2 .team_block > ul > li > a { display: contents; }
.ehp-v2 .add-button { margin-top: 22px; }
.ehp-v2 .upgrade-button { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; color: var(--ehp-muted); font-size: 12px; }

.ehp-workspace { padding: 4px 0 20px; }
.ehp-workspace .ehp-page-heading h1 { font-size: clamp(42px, 5vw, 64px); }
.ehp-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.ehp-team-card { display: flex; flex-direction: column; min-height: 280px; padding: 20px; border: 1px solid var(--ehp-line); border-radius: 17px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-team-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.ehp-team-crest { display: grid; place-items: center; width: 66px; height: 66px; overflow: hidden; border-radius: 15px; background: var(--ehp-night); color: var(--ehp-lime); font-family: "Druk Wide", sans-serif; font-size: 14px; }
.ehp-team-crest img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.ehp-club-status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 999px; background: #ecf8f2; color: #18754c; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ehp-club-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--ehp-success); }
.ehp-team-card-copy { margin-top: 24px; }
.ehp-team-card-copy > span { color: var(--ehp-muted); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.ehp-team-card-copy h2 { margin-top: 4px; font-size: 25px; }
.ehp-team-card-copy code { display: inline-block; margin-top: 10px; padding: 5px 7px; border-radius: 6px; background: var(--ehp-surface-soft); color: var(--ehp-muted); font-size: 10px; }
.ehp-team-card-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 20px; }
.ehp-team-card-actions .ehp-button { flex: 1; min-height: 38px; padding: 0 13px; font-size: 11px; }
.ehp-team-card-actions .ehp-icon { width: 15px; height: 15px; }
.ehp-team-card.is-editing { grid-column: span 2; min-height: 280px; }
.ehp-team-card.is-editing form { display: grid; grid-template-columns: 90px 1fr; gap: 12px; width: 100%; }
.ehp-team-card.is-editing .img { grid-row: span 4; }
.ehp-team-card.is-editing .links { grid-column: 2; }
.ehp-add-team-card { align-items: center; justify-content: center; border-style: dashed; background: transparent; color: var(--ehp-muted); text-align: center; }
.ehp-add-team-card:hover { border-color: var(--ehp-ink); background: #fff; color: var(--ehp-ink); }
.ehp-add-team-plus { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 13px; border-radius: 50%; background: var(--ehp-line); color: var(--ehp-ink); font-size: 27px; }
.ehp-add-team-card strong { font-size: 16px; }
.ehp-add-team-card > span:last-child { margin-top: 4px; font-size: 11px; }
.ehp-team-grid-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; color: var(--ehp-muted); font-size: 12px; }
.ehp-team-grid-footer a { display: inline-flex; align-items: center; gap: 6px; color: var(--ehp-ink); font-weight: 750; }
.ehp-team-grid-footer .ehp-icon { width: 15px; height: 15px; }
.ehp-league-share { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 48px; padding: 32px; overflow: hidden; border-radius: var(--ehp-radius); background: var(--ehp-night); color: #fff; }
.ehp-league-share .ehp-kicker { margin-bottom: 12px; }
.ehp-league-share h2 { font-size: 30px; }
.ehp-league-share p { margin: 9px 0 0; color: rgba(255,255,255,.58); }

.ehp-team-setup { padding: 4px 0 30px; }
.ehp-team-setup .ehp-page-heading h1 { max-width: 760px; font-size: clamp(42px, 5.8vw, 72px); }
.ehp-team-setup .ehp-page-heading p { max-width: 720px; }
.ehp-setup-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(320px,.55fr); gap: 20px; align-items: start; }
.ehp-team-form,
.ehp-club-help { border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-team-form { padding: 26px; }
.ehp-team-form-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--ehp-line); }
.ehp-team-form-intro strong { display: block; font-size: 18px; }
.ehp-team-form-intro span { display: block; margin-top: 3px; color: var(--ehp-muted); font-size: 11px; }
.ehp-text-button { padding: 0; border: 0; background: transparent; color: var(--ehp-ink); font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.ehp-team-form-rows { display: grid; gap: 14px; }
.ehp-team-form-row { position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding: 20px; border: 1px solid var(--ehp-line); border-radius: 14px; background: var(--ehp-surface-soft); }
.ehp-crest-upload { display: block; }
.ehp-crest-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.ehp-crest-preview { display: grid; place-items: center; align-content: center; gap: 6px; width: 96px; height: 96px; border: 1px dashed #aebbb6; border-radius: 16px; background: #fff center / cover no-repeat; color: var(--ehp-muted); cursor: pointer; }
.ehp-crest-preview.has-image { border-style: solid; }
.ehp-crest-preview .ehp-icon { width: 20px; height: 20px; }
.ehp-crest-preview small { font-size: 10px; }
.ehp-team-fields { display: grid; grid-template-columns: 1.2fr 1fr .55fr; gap: 12px; }
.ehp-team-fields label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 750; }
.ehp-team-fields label > small { display: block; margin-top: 5px; color: var(--ehp-muted); font-size: 9px; }
.ehp-team-fields input { min-height: 46px; }
.ehp-remove-row { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #fff; color: var(--ehp-muted); font-size: 19px; line-height: 1; }
.ehp-team-form-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--ehp-line); }
.ehp-form-message { margin-top: 14px; font-size: 12px; font-weight: 650; }
.ehp-form-message.is-error { color: var(--ehp-danger); }
.ehp-form-message.is-success { color: var(--ehp-success); }
.ehp-club-help { position: sticky; top: calc(var(--ehp-header-height) + 22px); padding: 25px; }
.ehp-club-help .ehp-kicker { margin-bottom: 12px; }
.ehp-club-help h2 { font-size: 28px; }
.ehp-club-help ol { display: grid; gap: 0; margin: 22px 0; padding: 0; list-style: none; }
.ehp-club-help li { display: grid; grid-template-columns: 28px 1fr; gap: 11px; padding: 14px 0; border-top: 1px solid var(--ehp-line); }
.ehp-club-help li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--ehp-line); font-size: 10px; font-weight: 850; }
.ehp-club-help li strong { font-size: 12px; }
.ehp-club-help li p { margin: 3px 0 0; color: var(--ehp-muted); font-size: 10px; }
.ehp-club-help .ehp-button { width: 100%; min-height: 42px; font-size: 11px; }

.ehp-v2 .get-started-checklist {
	padding: 32px;
	border: 1px solid var(--ehp-line);
	border-radius: var(--ehp-radius);
	background: #fff;
	box-shadow: var(--ehp-shadow-sm);
}
.ehp-v2 .get-started-checklist h3 { font-size: 25px; }
.ehp-v2 .get-started-checklist ol { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; }
.ehp-v2 .get-started-checklist li { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 16px; padding: 17px 0; border-top: 1px solid var(--ehp-line); }
.ehp-v2 .get-started-checklist .step-num { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ehp-line); font-size: 12px; font-weight: 800; }
.ehp-v2 .get-started-checklist .step-current .step-num { background: var(--ehp-lime); }
.ehp-v2 .get-started-checklist small { color: var(--ehp-muted); }

.ehp-v2 .ehp-upsell {
	display: grid;
	grid-template-columns: 42px 1fr auto;
	align-items: center;
	gap: 15px;
	margin: 20px 0;
	padding: 18px;
	border: 1px solid #d9d1a7;
	border-radius: 14px;
	background: #fffbed;
	text-align: left;
}
.ehp-v2 .ehp-upsell-lock { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #f5ebbd; }
.ehp-v2 .ehp-upsell-copy p { margin: 3px 0 0; color: #776f4d; font-size: 12px; }

.ehp-v2 table,
.ehp-v2 .table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--ehp-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	font-size: 13px;
}
.ehp-v2 table th,
.ehp-v2 .table th { padding: 13px 15px; border: 0; border-bottom: 1px solid var(--ehp-line); background: #edf2f0; color: var(--ehp-muted); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ehp-v2 table td,
.ehp-v2 .table td { padding: 14px 15px; border: 0; border-bottom: 1px solid #e9eeec; vertical-align: middle; }
.ehp-v2 table tbody tr:last-child td { border-bottom: 0; }
.ehp-v2 table tbody tr:hover td { background: #f7faf9; }

.ehp-v2 .gamelist-block {
	margin: 0 0 11px;
	border: 1px solid var(--ehp-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--ehp-shadow-sm);
}
.ehp-v2 .gamelist-block a { display: grid; grid-template-columns: 100px 1fr; align-items: center; width: 100%; padding: 16px; }
.ehp-v2 .gamelist-block h2 { border: 0 !important; color: var(--ehp-muted); font-size: 9px !important; letter-spacing: .07em; text-transform: uppercase; }
.ehp-v2 .gamelist-block .col-3 > span { font-size: 25px; font-weight: 800; }
.ehp-v2 .gamelist-block h3 { font-size: 17px; }

.ehp-match-history { padding: 4px 0 40px; }
.ehp-back-link { display: inline-flex; margin-bottom: 25px; color: var(--ehp-muted); font-size: 12px; font-weight: 750; }
.ehp-match-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.ehp-match-team-identity { display: flex; align-items: center; gap: 20px; }
.ehp-match-team-identity .ehp-kicker { margin-bottom: 8px; }
.ehp-match-team-identity h1 { font-size: clamp(38px, 5vw, 62px); }
.ehp-match-team-identity p { margin-top: 6px; color: var(--ehp-muted); }
.ehp-match-team-crest { display: grid; place-items: center; width: 88px; height: 88px; flex: 0 0 auto; overflow: hidden; border-radius: 20px; background: var(--ehp-night); color: var(--ehp-lime); font-family: "Druk Wide", sans-serif; font-size: 15px; }
.ehp-match-team-crest img { width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.ehp-sync-label { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--ehp-line); border-radius: 999px; background: #fff; color: var(--ehp-muted); font-size: 10px; font-weight: 750; }
.ehp-sync-label > span { width: 7px; height: 7px; border-radius: 50%; background: var(--ehp-success); box-shadow: 0 0 0 4px rgba(28,155,99,.12); }
.ehp-team-switcher { display: flex; gap: 7px; margin-bottom: 22px; overflow-x: auto; }
.ehp-team-switcher a { padding: 8px 11px; border: 1px solid var(--ehp-line); border-radius: 999px; background: #fff; color: var(--ehp-muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.ehp-team-switcher a.is-active { border-color: var(--ehp-night); background: var(--ehp-night); color: #fff; }
.ehp-match-list { display: grid; gap: 10px; }
.ehp-match-card { display: grid; grid-template-columns: 125px 1fr 118px; align-items: center; gap: 20px; min-height: 118px; padding: 18px 20px; border: 1px solid var(--ehp-line); border-radius: 15px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-match-card:hover { border-color: #adbbb5; transform: translateY(-1px); }
.ehp-match-time { color: var(--ehp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ehp-match-clubs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ehp-match-club { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; min-width: 0; padding: 10px; border-radius: 11px; background: var(--ehp-surface-soft); }
.ehp-match-club.is-winner { background: #f2f8df; }
.ehp-match-club-logo { display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border-radius: 10px; background: var(--ehp-night); color: var(--ehp-lime); font-size: 9px; font-weight: 850; }
.ehp-match-club-logo img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.ehp-match-club strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ehp-match-club b { font-size: 24px; }
.ehp-match-open { display: flex; align-items: center; justify-content: flex-end; gap: 6px; font-size: 11px; font-weight: 750; }
.ehp-match-open .ehp-icon { width: 15px; height: 15px; }

/* EA-inspired club overview, private match history, and game reports */
.ehp-club-overview,
.ehp-game-detail { padding: 4px 0 48px; }
.ehp-club-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 36px;
	padding: 34px;
	overflow: hidden;
	border-radius: 24px;
	background: radial-gradient(circle at 80% 0, rgba(200, 255, 61, .16), transparent 34%), var(--ehp-night);
	color: #fff;
	box-shadow: var(--ehp-shadow-lg);
}
.ehp-club-identity { display: flex; align-items: center; gap: 22px; min-width: 0; }
.ehp-club-identity .ehp-kicker { margin-bottom: 8px; }
.ehp-club-identity h1 { overflow-wrap: anywhere; font-size: clamp(38px, 5vw, 64px); }
.ehp-club-identity p { margin: 9px 0 0; color: rgba(255,255,255,.58); font-size: 12px; }
.ehp-club-hero-crest { display: grid; place-items: center; width: 98px; height: 98px; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.07); color: var(--ehp-lime); font-size: 17px; font-weight: 900; }
.ehp-club-hero-crest img { width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.ehp-club-headline-stats { display: grid; grid-template-columns: repeat(4, minmax(76px, 1fr)); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.055); }
.ehp-club-headline-stats div { min-width: 80px; padding: 16px 18px; border-right: 1px solid rgba(255,255,255,.1); text-align: center; }
.ehp-club-headline-stats div:last-child { border-right: 0; }
.ehp-club-headline-stats span { display: block; color: rgba(255,255,255,.52); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.ehp-club-headline-stats strong { display: block; margin-top: 5px; font-size: 27px; font-variant-numeric: tabular-nums; }
.ehp-club-tabs { display: flex; gap: 24px; margin: 0 0 24px; padding: 0 4px; overflow-x: auto; border-bottom: 1px solid var(--ehp-line); }
.ehp-club-hero + .ehp-club-tabs { margin-top: 22px; }
.ehp-club-tabs a { position: relative; flex: 0 0 auto; padding: 13px 0 14px; color: var(--ehp-muted); font-size: 11px; font-weight: 850; }
.ehp-club-tabs a.is-active { color: var(--ehp-ink); }
.ehp-club-tabs a.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--ehp-ink); content: ""; }
.ehp-club-overview-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.ehp-club-panel { grid-column: span 6; padding: 24px; border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-division-panel { grid-column: span 7; }
.ehp-performance-panel { grid-column: span 5; }
.ehp-last-match-panel { grid-column: span 7; }
.ehp-members-panel { grid-column: span 5; }
.ehp-finals-panel { grid-column: span 4; }
.ehp-history-panel { grid-column: span 8; }
.ehp-club-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.ehp-club-panel-heading .ehp-kicker { margin-bottom: 7px; }
.ehp-club-panel-heading h2 { font-size: 27px; }
.ehp-club-panel-heading > img { width: 58px; height: 58px; object-fit: contain; }
.ehp-club-panel-heading > a { color: var(--ehp-muted); font-size: 10px; font-weight: 800; }
.ehp-division-metrics,
.ehp-performance-metrics,
.ehp-member-breakdown { display: grid; gap: 9px; }
.ehp-division-metrics { grid-template-columns: repeat(3, 1fr); }
.ehp-performance-metrics { grid-template-columns: repeat(2, 1fr); }
.ehp-member-breakdown { grid-template-columns: repeat(3, 1fr); }
.ehp-division-metrics > div,
.ehp-performance-metrics > div,
.ehp-member-breakdown > div { padding: 15px; border-radius: 12px; background: var(--ehp-surface-soft); }
.ehp-division-metrics span,
.ehp-performance-metrics span,
.ehp-member-breakdown span { display: block; color: var(--ehp-muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ehp-division-metrics strong,
.ehp-performance-metrics strong,
.ehp-member-breakdown strong { display: block; margin-top: 4px; font-size: 22px; font-variant-numeric: tabular-nums; }
.ehp-form-run { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; margin-top: 12px; padding-top: 16px; border-top: 1px solid var(--ehp-line); }
.ehp-form-run > span { color: var(--ehp-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ehp-form-run > div { display: flex; gap: 5px; }
.ehp-form-run b,
.ehp-private-match-meta b { display: inline-grid; place-items: center; min-width: 27px; height: 27px; padding: 0 7px; border-radius: 7px; background: var(--ehp-line); color: var(--ehp-muted); font-size: 9px; font-style: normal; }
.ehp-form-run b.is-w,
.ehp-form-run b.is-wins,
.ehp-private-match-meta b.is-w { background: #e6f5ee; color: #147247; }
.ehp-form-run b.is-l,
.ehp-form-run b.is-losses,
.ehp-private-match-meta b.is-l { background: #fbe9e9; color: #b22e2e; }
.ehp-form-run > strong { font-size: 15px; white-space: nowrap; }
.ehp-form-run small { color: var(--ehp-muted); font-size: 8px; font-weight: 600; }
.ehp-overview-score { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 9px; }
.ehp-overview-score > span { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px; border-radius: 12px; background: var(--ehp-surface-soft); }
.ehp-overview-score i,
.ehp-private-match-score i { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border-radius: 10px; background: var(--ehp-night); color: var(--ehp-lime); font-size: 9px; font-style: normal; font-weight: 900; }
.ehp-overview-score i img,
.ehp-private-match-score i img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.ehp-overview-score strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ehp-overview-score b { font-size: 24px; }
.ehp-overview-score > em { display: flex; align-items: center; gap: 5px; font-size: 10px; font-style: normal; font-weight: 800; white-space: nowrap; }
.ehp-overview-score > em .ehp-icon { width: 14px; height: 14px; }
.ehp-panel-empty { margin: 0; color: var(--ehp-muted); font-size: 12px; }
.ehp-featured-member { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; margin-bottom: 9px; padding: 11px; border-radius: 12px; background: var(--ehp-night); color: #fff; }
.ehp-featured-member > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: rgba(255,255,255,.08); color: var(--ehp-lime); font-size: 9px; font-weight: 900; }
.ehp-featured-member small { display: block; color: rgba(255,255,255,.5); font-size: 8px; text-transform: capitalize; }
.ehp-featured-member strong { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ehp-featured-member dl { display: flex; gap: 10px; margin: 0; text-align: center; }
.ehp-featured-member dl div { min-width: 26px; }
.ehp-featured-member dt { color: rgba(255,255,255,.45); font-size: 7px; }
.ehp-featured-member dd { margin: 1px 0 0; font-size: 13px; font-weight: 850; }
.ehp-finals-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.ehp-finals-metrics > div { min-height: 108px; padding: 17px; border-radius: 13px; background: radial-gradient(circle at 100% 0, rgba(200,255,61,.15), transparent 55%), var(--ehp-night); color: #fff; }
.ehp-finals-metrics strong { display: block; color: var(--ehp-lime); font-size: 31px; }
.ehp-finals-metrics span { display: block; margin-top: 8px; color: rgba(255,255,255,.55); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ehp-best-finish { align-self: center; padding: 7px 9px; border-radius: 999px; background: var(--ehp-surface-tint); color: var(--ehp-muted); font-size: 9px; white-space: nowrap; }
.ehp-history-panel dl { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ehp-history-panel dl > div { padding: 15px; border-radius: 12px; background: var(--ehp-surface-soft); }
.ehp-history-panel dt { color: var(--ehp-muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ehp-history-panel dd { margin: 4px 0 0; font-size: 21px; font-weight: 800; }

.ehp-private-match-list { display: grid; gap: 12px; }
.ehp-private-match-card { display: grid; grid-template-columns: 110px minmax(0,1fr) 270px; align-items: center; gap: 20px; padding: 18px 20px; border: 1px solid var(--ehp-line); border-radius: 17px; background: #fff; box-shadow: var(--ehp-shadow-sm); transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.ehp-private-match-card:hover { border-color: #aab9b3; box-shadow: 0 16px 34px rgba(7,18,15,.09); transform: translateY(-1px); }
.ehp-private-match-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--ehp-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ehp-private-match-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; }
.ehp-private-match-score > div { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 10px; min-width: 0; }
.ehp-private-match-score strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ehp-private-match-score b { font-size: 25px; }
.ehp-private-match-score > span { color: var(--ehp-muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.ehp-private-match-preview { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 14px; padding-left: 18px; border-left: 1px solid var(--ehp-line); }
.ehp-private-match-preview > span { font-size: 13px; font-weight: 850; font-variant-numeric: tabular-nums; }
.ehp-private-match-preview small { display: block; color: var(--ehp-muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.ehp-private-match-preview em { display: flex; align-items: center; gap: 5px; font-size: 9px; font-style: normal; font-weight: 850; white-space: nowrap; }
.ehp-private-match-preview .ehp-icon { width: 14px; height: 14px; }

.ehp-game-detail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 24px; }
.ehp-game-detail-heading .ehp-kicker { margin-bottom: 8px; }
.ehp-game-detail-heading h1 { font-size: clamp(42px, 5vw, 64px); }
.ehp-game-detail-heading p { margin: 9px 0 0; color: var(--ehp-muted); font-size: 11px; }
.ehp-game-detail-heading .ehp-button { flex: 0 0 auto; }
.ehp-game-scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; margin-bottom: 14px; padding: 30px; border-radius: 22px; background: radial-gradient(circle at 50% -60%, rgba(200,255,61,.18), transparent 45%), var(--ehp-night); color: #fff; }
.ehp-game-score-side { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 16px; min-width: 0; }
.ehp-game-score-side:nth-of-type(2) { direction: rtl; text-align: right; }
.ehp-game-score-side:nth-of-type(2) > * { direction: ltr; }
.ehp-game-score-side > span { display: grid; place-items: center; width: 70px; height: 70px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.06); color: var(--ehp-lime); font-size: 13px; font-weight: 900; }
.ehp-game-score-side > span img { width: 100%; height: 100%; padding: 6px; object-fit: contain; }
.ehp-game-score-side strong { overflow: hidden; font-size: clamp(16px, 2vw, 23px); text-overflow: ellipsis; white-space: nowrap; }
.ehp-game-score-side b { font-size: clamp(42px, 5vw, 66px); font-variant-numeric: tabular-nums; line-height: 1; }
.ehp-game-scoreboard > em { color: rgba(255,255,255,.52); font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .14em; }
.ehp-game-team-accordions { display: grid; gap: 10px; margin-top: 10px; }
.ehp-game-accordion { overflow: hidden; border: 1px solid var(--ehp-line); border-radius: 16px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-game-accordion summary { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 18px; min-height: 76px; padding: 15px 20px; cursor: pointer; list-style: none; }
.ehp-game-accordion summary::-webkit-details-marker { display: none; }
.ehp-game-accordion summary > span:first-child small { display: block; color: var(--ehp-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ehp-game-accordion summary strong { display: block; margin-top: 2px; font-size: 18px; }
.ehp-game-accordion summary > b { font-size: 24px; }
.ehp-game-accordion summary > i,
.ehp-accordion-plus { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ehp-surface-soft); color: var(--ehp-ink); font-size: 18px; font-style: normal; font-weight: 500; transition: transform 160ms ease; }
.ehp-game-accordion[open] summary > i:last-child { transform: rotate(45deg); }
.ehp-game-accordion-body { padding: 0 20px 20px; border-top: 1px solid var(--ehp-line); }
.ehp-game-accordion-body h2 { margin: 22px 0 10px; font-size: 18px; }
.ehp-game-accordion-body .ehp-table-scroll { border-radius: 12px; }
.ehp-game-accordion-body table { min-width: 720px; border-radius: 12px; font-variant-numeric: tabular-nums; }
.ehp-game-accordion-body table th,
.ehp-game-accordion-body table td { padding: 11px 12px; font-size: 10px; white-space: nowrap; }
.ehp-team-comparison summary { grid-template-columns: 1fr auto; }
.ehp-game-accordion-team { display: flex; align-items: center; gap: 12px; }
.ehp-game-accordion-team > i { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border-radius: 10px; background: var(--ehp-night); color: var(--ehp-lime); font-size: 9px; font-style: normal; font-weight: 900; }
.ehp-game-accordion-team > i img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.ehp-game-player-table .ehp-position-badge { min-width: 26px; height: 26px; border-radius: 7px; font-size: 8px; }

.ehp-v2 .dataTables_wrapper { padding: 20px; border: 1px solid var(--ehp-line); border-radius: 16px; background: #fff; }
.ehp-v2 .dataTables_filter input { width: min(280px, 100%); margin-left: 8px; }
.ehp-v2 .dataTables_length select { width: auto; min-height: 38px; }
.ehp-v2 .dataTables_paginate { display: flex; gap: 5px; margin-top: 15px; }
.ehp-v2 .paginate_button { padding: 7px 10px; border: 1px solid var(--ehp-line); border-radius: 8px; background: #fff; font-size: 12px; }

/* Public league */
.ehp-guest .team_box > .container h1 {
	max-width: 900px;
	margin: 56px auto 12px;
	padding: 0;
	border: 0;
	font-size: clamp(42px, 6vw, 74px);
	text-align: center;
}
.ehp-guest .team_box > .container h2 { margin-bottom: 34px; color: var(--ehp-muted); font-size: 14px; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.ehp-guest .team_sec > .container { width: min(calc(100% - 40px), var(--ehp-container)); max-width: var(--ehp-container); margin: 0 auto 80px; }

.ehp-public-league-hero {
	position: relative;
	padding: 82px 0 74px;
	overflow: hidden;
	background: var(--ehp-night);
	color: #fff;
}
.ehp-public-league-hero::after { position: absolute; top: -80%; right: -6%; width: 550px; height: 550px; border: 85px solid rgba(200,255,61,.07); border-radius: 50%; content: ""; }
.ehp-public-league-hero .ehp-container { position: relative; z-index: 1; }
.ehp-public-league-hero h1 { max-width: 850px; font-size: clamp(48px, 7vw, 84px); letter-spacing: -.06em; }
.ehp-league-meta { display: flex; align-items: center; gap: 10px; margin-top: 22px; color: rgba(255,255,255,.62); }
.ehp-league-meta span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; font-size: 11px; font-weight: 750; }
.ehp-public-league-hero .ehp-button { margin-top: 22px; }
.ehp-public-league-body { padding: 52px 0 84px; }
.ehp-public-league-body .team_block > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ehp-public-league-body .ehp-page-heading h2 { font-size: clamp(36px, 4vw, 54px); }
.ehp-public-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.ehp-public-team-card { display: grid; grid-template-columns: 62px 1fr 20px; align-items: center; gap: 15px; min-height: 112px; padding: 18px; border: 1px solid var(--ehp-line); border-radius: 15px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-public-team-card:hover { border-color: #aab8b2; transform: translateY(-2px); }
.ehp-public-team-crest { display: grid; place-items: center; width: 62px; height: 62px; overflow: hidden; border-radius: 14px; background: var(--ehp-night); color: var(--ehp-lime); font-family: "Druk Wide", sans-serif; font-size: 12px; }
.ehp-public-team-crest img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.ehp-public-team-copy { min-width: 0; }
.ehp-public-team-copy small { display: block; color: var(--ehp-muted); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ehp-public-team-copy strong { display: block; margin-top: 2px; overflow: hidden; font-size: 16px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.ehp-public-team-copy span { display: block; margin-top: 5px; color: var(--ehp-muted); font-size: 11px; }
.ehp-public-team-card > .ehp-icon { width: 18px; height: 18px; }
.ehp-empty-state { display: grid; justify-items: center; max-width: 720px; margin: 0 auto; padding: 60px 30px; border: 1px dashed #bdc9c4; border-radius: 18px; background: #fff; text-align: center; }
.ehp-empty-state > .ehp-icon { width: 34px; height: 34px; color: var(--ehp-muted); }
.ehp-empty-state h2 { margin-top: 16px; font-size: 28px; }
.ehp-empty-state p { margin-top: 9px; color: var(--ehp-muted); }

/* Pricing template compatibility */
.ehp-v2 .pricing-page { width: min(calc(100% - 40px), var(--ehp-container)); max-width: var(--ehp-container); padding: 72px 0 90px; }
.ehp-v2 .pricing-page > h1 { font-size: clamp(48px, 6vw, 76px); }
.ehp-v2 .pricing-page .sub { max-width: 700px; margin: 15px auto 54px; color: var(--ehp-muted); font-size: 17px; }
.ehp-v2 .pricing-page h2.section { margin: 50px 0 16px; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.ehp-v2 .pricing-page .plan-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ehp-v2 .pricing-page .plan-card { max-width: none; min-height: 410px; padding: 28px; border: 1px solid var(--ehp-line); border-radius: 17px; box-shadow: var(--ehp-shadow-sm); }
.ehp-v2 .pricing-page .plan-card h3 { font-size: 24px; }
.ehp-v2 .pricing-page .plan-card .price { margin-top: 18px; color: var(--ehp-ink); font-size: 42px; letter-spacing: -.05em; }
.ehp-v2 .pricing-page .plan-card ul { margin: 20px 0; }
.ehp-v2 .pricing-page .plan-card ul li::before { color: var(--ehp-success); }
.ehp-v2 .pricing-page .plan-card .btn { margin-top: auto; }
.ehp-v2 .pricing-page .addon-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

/* Footer */
.ehp-site-footer {
	padding: 64px 0 20px;
	background: var(--ehp-night);
	color: #fff;
}

.ehp-footer-inner,
.ehp-footer-meta {
	width: min(calc(100% - 40px), var(--ehp-container));
	margin: 0 auto;
}

.ehp-footer-inner {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 90px;
}

.ehp-footer-brand p { max-width: 330px; margin-top: 20px; color: rgba(255,255,255,.5); font-size: 14px; }
.ehp-footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; }
.ehp-footer-nav div { display: grid; align-content: start; gap: 10px; }
.ehp-footer-nav strong { margin-bottom: 4px; color: rgba(255,255,255,.48); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.ehp-footer-nav a { color: rgba(255,255,255,.78); font-size: 13px; }
.ehp-footer-nav a:hover { color: var(--ehp-lime); }
.ehp-footer-meta { display: flex; justify-content: space-between; gap: 20px; margin-top: 54px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.37); font-size: 11px; }
.ehp-site-footer.is-app-footer { padding-top: 34px; }
.ehp-site-footer.is-app-footer .ehp-footer-inner { display: none; }
.ehp-site-footer.is-app-footer .ehp-footer-meta { margin-top: 0; }

/* Settings, billing, and access states */
.ehp-settings-page,
.ehp-billing-page { padding: 4px 0 26px; }
.ehp-settings-page .ehp-page-heading h1,
.ehp-billing-page .ehp-page-heading h1 { font-size: clamp(42px, 5vw, 64px); }
.ehp-settings-page .ehp-kicker,
.ehp-billing-page .ehp-kicker { margin-bottom: 10px; }
.ehp-settings-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 18px; align-items: start; }
.ehp-settings-main { display: grid; gap: 16px; }
.ehp-settings-side { position: sticky; top: calc(var(--ehp-header-height) + 22px); display: grid; gap: 16px; }
.ehp-settings-card,
.ehp-billing-hero,
.ehp-addon-plan,
.ehp-payment-card,
.ehp-danger-zone { border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-settings-card { padding: 25px; }
.ehp-settings-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--ehp-line); }
.ehp-settings-card-heading > div { display: flex; align-items: center; gap: 10px; }
.ehp-settings-card-heading > div > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ehp-surface-tint); font-size: 9px; font-weight: 850; }
.ehp-settings-card h2 { font-size: 22px; }
.ehp-settings-card-heading p { max-width: 310px; margin: 0; color: var(--ehp-muted); font-size: 11px; line-height: 1.5; }
.ehp-form-grid { display: grid; gap: 17px; }
.ehp-form-grid.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ehp-form-grid .full { grid-column: 1 / -1; }
.ehp-form-grid label > span,
.ehp-danger-zone form label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 750; }
.ehp-form-grid label > small { display: block; margin-top: 6px; color: var(--ehp-muted); font-size: 9px; }
.ehp-form-grid input,
.ehp-form-grid select,
.ehp-danger-zone input { width: 100%; min-height: 47px; padding: 0 13px; border: 1px solid #cbd5d1; border-radius: 10px; background: #fff; color: var(--ehp-ink); }
.ehp-form-grid input[readonly] { background: var(--ehp-surface-soft); color: var(--ehp-muted); }
.ehp-slug-field { display: flex; align-items: center; overflow: hidden; border: 1px solid #cbd5d1; border-radius: 10px; background: var(--ehp-surface-soft); }
.ehp-slug-field small { padding-left: 13px; color: var(--ehp-muted); font-size: 11px; white-space: nowrap; }
.ehp-slug-field input { border: 0; border-radius: 0; background: #fff; }
.ehp-settings-submit { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.ehp-settings-submit .ehp-form-message { margin: 0 auto 0 0; }
.ehp-account-snapshot { overflow: hidden; background: var(--ehp-night); color: #fff; }
.ehp-account-snapshot .ehp-kicker { color: rgba(255,255,255,.62); }
.ehp-account-snapshot h2 { font-size: 28px; }
.ehp-account-snapshot > p { display: flex; align-items: center; gap: 9px; margin: 13px 0 26px; color: rgba(255,255,255,.67); font-size: 11px; text-transform: capitalize; }
.ehp-account-snapshot .ehp-status-dot { background: var(--ehp-lime); }
.ehp-account-snapshot > a { display: flex; align-items: center; justify-content: space-between; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.12); color: #fff; font-size: 11px; font-weight: 750; }
.ehp-account-snapshot > a .ehp-icon { width: 15px; }
.ehp-detail-list { margin: 18px 0; }
.ehp-detail-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--ehp-line); font-size: 11px; }
.ehp-detail-list dt { color: var(--ehp-muted); }
.ehp-detail-list dd { margin: 0; font-weight: 750; text-align: right; }
.ehp-help-copy { margin: 0 !important; color: var(--ehp-muted); font-size: 10px; line-height: 1.55; }
.ehp-danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 34px; padding: 24px; border-color: #edcccc; box-shadow: none; }
.ehp-danger-zone .ehp-kicker { color: var(--ehp-danger); }
.ehp-danger-zone .ehp-kicker::before { background: var(--ehp-danger); }
.ehp-danger-zone h2 { font-size: 22px; }
.ehp-danger-zone p { margin: 7px 0 0; color: var(--ehp-muted); font-size: 11px; }
.ehp-danger-zone form { display: flex; align-items: flex-end; gap: 10px; }
.ehp-danger-zone form label { min-width: 230px; }
.ehp-danger-zone form > div { display: flex; gap: 8px; }
.ehp-button-danger { border-color: var(--ehp-danger) !important; background: var(--ehp-danger) !important; color: #fff !important; }

.ehp-billing-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding: 36px; background: var(--ehp-night); color: #fff; }
.ehp-billing-hero h2 { max-width: 720px; font-size: clamp(36px, 5vw, 62px); }
.ehp-plan-status { display: inline-flex; align-items: center; gap: 9px; margin: 18px 0 10px !important; color: rgba(255,255,255,.8); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.ehp-plan-status .ehp-status-dot { background: var(--ehp-lime); }
.ehp-plan-status.is-expired .ehp-status-dot,
.ehp-plan-status.is-incomplete .ehp-status-dot { background: var(--ehp-warning); }
.ehp-billing-meta { margin: 3px 0 0 !important; color: rgba(255,255,255,.58); font-size: 11px; }
.ehp-billing-actions { display: grid; justify-items: end; gap: 12px; min-width: 180px; }
.ehp-billing-actions .ehp-text-link { color: rgba(255,255,255,.65); font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
.ehp-billing-section { margin-top: 44px; }
.ehp-section-heading-small { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 16px; }
.ehp-section-heading-small h2 { font-size: 30px; }
.ehp-section-heading-small > p { max-width: 430px; margin: 0; color: var(--ehp-muted); font-size: 11px; text-align: right; }
.ehp-addon-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.ehp-addon-plan { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 25px; }
.ehp-addon-plan.is-active { border-color: #b8d8c9; background: #f5fbf8; }
.ehp-addon-plan > div:first-child > span { color: var(--ehp-muted); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ehp-addon-plan h3 { margin-top: 7px; font-size: 24px; }
.ehp-addon-plan p { margin: 9px 0 0; color: var(--ehp-muted); font-size: 11px; }
.ehp-addon-plan > div:last-child { display: grid; justify-items: end; min-width: 118px; }
.ehp-addon-plan strong { font-size: 28px; }
.ehp-addon-plan small { color: var(--ehp-muted); font-size: 9px; }
.ehp-addon-plan .ehp-button { min-height: 38px; margin-top: 18px; padding: 0 13px; font-size: 10px; }
.ehp-addon-active { display: inline-flex; align-items: center; gap: 5px; margin-top: 20px; color: var(--ehp-success); font-size: 10px; font-weight: 750; }
.ehp-addon-active .ehp-icon { width: 15px; }
.ehp-payment-card { overflow: hidden; }
.ehp-table-scroll { overflow-x: auto; }
.ehp-payment-table { width: 100%; border-collapse: collapse; }
.ehp-payment-table th,
.ehp-payment-table td { padding: 15px 18px; border-bottom: 1px solid var(--ehp-line); text-align: left; font-size: 11px; white-space: nowrap; }
.ehp-payment-table th { background: var(--ehp-surface-soft); color: var(--ehp-muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.ehp-payment-table tr:last-child td { border-bottom: 0; }
.ehp-empty-inline { padding: 38px; text-align: center; }
.ehp-empty-inline h3 { font-size: 21px; }
.ehp-empty-inline p { margin: 6px 0 0; color: var(--ehp-muted); font-size: 11px; }
.ehp-billing-page > .support-hatch { margin-top: 35px; text-align: center; }

/* Player intelligence workspace */
.ehp-players-workspace .ehp-page-heading p { max-width: 720px; }
.ehp-player-summary { grid-template-columns: 1.35fr repeat(3, 1fr); }
.ehp-player-panel { overflow: hidden; border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-player-toolbar { display: grid; grid-template-columns: minmax(230px, 1fr) auto minmax(150px, auto) 90px; gap: 10px; align-items: end; padding: 16px; border-bottom: 1px solid var(--ehp-line); background: #fff; }
.ehp-player-search input,
.ehp-player-sort select,
.ehp-player-page-size select { width: 100%; min-height: 42px; margin: 0; border: 1px solid var(--ehp-line); border-radius: 10px; background: var(--ehp-surface-soft); color: var(--ehp-ink); font-size: 12px; }
.ehp-player-search input { padding: 0 14px; }
.ehp-player-sort span,
.ehp-player-page-size span { display: block; margin-bottom: 5px; color: var(--ehp-muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ehp-player-sort select,
.ehp-player-page-size select { padding: 0 30px 0 11px; }
.ehp-player-view-switcher { display: flex; min-height: 42px; padding: 3px; border-radius: 10px; background: var(--ehp-surface-soft); }
.ehp-player-view-switcher button { min-width: 72px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--ehp-muted); font-size: 10px; font-weight: 800; }
.ehp-player-view-switcher button.is-active { background: var(--ehp-night); color: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-player-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ehp-v2 .ehp-player-table { min-width: 870px; border: 0; border-radius: 0; font-variant-numeric: tabular-nums; }
.ehp-v2 .ehp-player-table th { padding: 11px 13px; white-space: nowrap; }
.ehp-v2 .ehp-player-table td { padding: 12px 13px; color: var(--ehp-ink-soft); font-size: 12px; white-space: nowrap; }
.ehp-v2 .ehp-player-table tbody tr:last-child td { border-bottom: 0; }
.ehp-v2 .ehp-player-table tbody tr.is-watched td { background: #f7fce9; }
.ehp-v2 .ehp-player-table tbody tr.is-drafted td { background: #edf3ff; }
.ehp-v2 .ehp-player-table tbody tr.is-unresolved td { background: #fff9ee; color: var(--ehp-muted); }
.ehp-v2 .ehp-player-table td.is-emphasis { color: var(--ehp-ink); font-weight: 850; }
.ehp-player-name strong { display: block; color: var(--ehp-ink); font-size: 13px; }
.ehp-player-name small { display: block; margin-top: 2px; color: var(--ehp-muted); font-size: 8px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.ehp-position-badge { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 7px; border-radius: 8px; background: var(--ehp-night); color: var(--ehp-lime); font-size: 10px; font-weight: 900; }
.ehp-position-badge.is-muted { background: var(--ehp-line); color: var(--ehp-muted); }
.ehp-player-board-controls { display: flex; gap: 5px; }
.ehp-player-board-controls label { position: relative; margin: 0; }
.ehp-player-board-controls input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.ehp-player-board-controls span { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid var(--ehp-line); border-radius: 8px; background: #fff; color: #87938f; cursor: pointer; font-size: 10px; font-weight: 900; }
.ehp-player-board-controls input:checked + span { border-color: var(--ehp-night); background: var(--ehp-night); color: var(--ehp-lime); }
.ehp-player-board-controls input:focus-visible + span { outline: 3px solid rgba(110,184,255,.7); outline-offset: 2px; }
.ehp-player-panel[data-view="skater"] .ehp-goalie-stat,
.ehp-player-panel[data-view="goalie"] .ehp-skater-stat { display: none; }
.ehp-player-panel[data-view="goalie"] .ehp-player-table { min-width: 650px; }
.ehp-player-loading-row td,
.ehp-player-empty-row td { height: 180px; color: var(--ehp-muted) !important; text-align: center; }
.ehp-player-loading-row span { display: inline-block; width: 15px; height: 15px; margin-right: 8px; border: 2px solid var(--ehp-line); border-top-color: var(--ehp-ink); border-radius: 50%; vertical-align: -3px; animation: ehp-player-spin .7s linear infinite; }
@keyframes ehp-player-spin { to { transform: rotate(360deg); } }
.ehp-player-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 12px 16px; border-top: 1px solid var(--ehp-line); background: var(--ehp-surface-soft); }
.ehp-player-panel-footer p { margin: 0; color: var(--ehp-muted); font-size: 10px; }
.ehp-player-pagination { display: flex; align-items: center; gap: 10px; color: var(--ehp-muted); font-size: 10px; }
.ehp-player-pagination button { min-height: 32px; padding: 0 11px; border: 1px solid var(--ehp-line); border-radius: 8px; background: #fff; color: var(--ehp-ink); font-size: 9px; font-weight: 800; }
.ehp-player-pagination button:disabled { opacity: .4; }
.ehp-player-panel > .ehp-form-message { margin: 0; padding: 0 16px 14px; background: var(--ehp-surface-soft); }

.ehp-player-add-stack { display: grid; gap: 18px; }
.ehp-player-add-form,
.ehp-saved-player-list { padding: 26px; border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-platform-chip { display: inline-flex !important; align-items: center; min-height: 28px; padding: 0 9px; border-radius: 999px; background: var(--ehp-surface-tint); color: var(--ehp-ink) !important; font-size: 9px !important; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ehp-player-bulk-field > span { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; }
.ehp-player-bulk-field textarea { width: 100%; min-height: 230px; resize: vertical; border: 1px solid var(--ehp-line); border-radius: 13px; background: var(--ehp-surface-soft); color: var(--ehp-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; line-height: 1.8; }
.ehp-player-bulk-field small { display: block; margin-top: 7px; color: var(--ehp-muted); font-size: 9px; }
.ehp-saved-player-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.ehp-saved-player-heading .ehp-kicker { margin-bottom: 7px; }
.ehp-saved-player-heading h2 { font-size: 27px; }
.ehp-saved-player-heading input { width: min(230px, 100%); min-height: 40px; margin: 0; }
.ehp-saved-player-list ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ehp-saved-player-list li { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--ehp-line); border-radius: 11px; background: var(--ehp-surface-soft); }
.ehp-saved-player-list li strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ehp-saved-player-list .ehp-position-badge { min-width: 30px; height: 30px; font-size: 8px; }
.ehp-text-button.is-danger { color: var(--ehp-danger); }
.ehp-player-import-form { padding: 26px; border: 1px solid var(--ehp-line); border-radius: 18px; background: #fff; box-shadow: var(--ehp-shadow-sm); }
.ehp-csv-dropzone { position: relative; display: grid; justify-items: center; padding: 65px 28px; border: 1px dashed #aebbb6; border-radius: 16px; background: var(--ehp-surface-soft); text-align: center; cursor: pointer; }
.ehp-csv-dropzone:hover { border-color: var(--ehp-ink); background: #fff; }
.ehp-csv-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.ehp-csv-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 15px; border-radius: 15px; background: var(--ehp-night); color: var(--ehp-lime); }
.ehp-csv-icon .ehp-icon { width: 24px; height: 24px; }
.ehp-csv-dropzone strong { font-size: 18px; }
.ehp-csv-dropzone small { margin-top: 6px; color: var(--ehp-muted); font-size: 10px; }

.ehp-state-page { display: grid; place-items: center; min-height: calc(100vh - var(--ehp-header-height)); padding: 70px 20px; background: radial-gradient(circle at 50% 8%, rgba(123,231,223,.2), transparent 36%), var(--ehp-surface-soft); }
.ehp-state-card { width: min(100%, 610px); padding: clamp(34px, 7vw, 68px); border: 1px solid var(--ehp-line); border-radius: 28px; background: #fff; box-shadow: var(--ehp-shadow-lg); text-align: center; }
.ehp-state-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 25px; border-radius: 50%; background: var(--ehp-night); color: var(--ehp-lime); }
.ehp-state-icon .ehp-icon { width: 25px; height: 25px; }
.ehp-state-card .ehp-kicker { justify-content: center; }
.ehp-state-card h1 { font-size: clamp(38px, 7vw, 62px); }
.ehp-state-card > p { max-width: 470px; margin: 17px auto 28px; color: var(--ehp-muted); }
.ehp-state-card .support-hatch { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid var(--ehp-line); }

/* Responsive */
@media (max-width: 1080px) {
	.ehp-primary-nav,
	.ehp-header-actions { display: none; }
	.ehp-menu-toggle { display: grid; }
	.ehp-hero-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; }
	.ehp-display { font-size: clamp(50px, 7vw, 78px); }
	.ehp-feature-layout { gap: 44px; }
	.ehp-auth-layout { grid-template-columns: .8fr 1.2fr; }
	.ehp-public-league-body .team_block > ul { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.ehp-public-team-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px) {
	:root { --ehp-header-height: 64px; }
	body.admin-bar .ehp-site-header { top: 46px; }
	.ehp-section { padding: 74px 0; }
	.ehp-header-inner { width: min(calc(100% - 28px), 1360px); }
	.ehp-container { width: min(calc(100% - 28px), var(--ehp-container)); }
	.ehp-hero { min-height: auto; }
	.ehp-hero::after { inset: 42% 0 0 18%; opacity: .46; }
	.ehp-hero::before { background: linear-gradient(180deg, rgba(7,20,17,.99) 0%, rgba(7,20,17,.9) 54%, rgba(7,20,17,.62) 100%); }
	.ehp-hero-grid { grid-template-columns: 1fr; min-height: auto; padding: 72px 0 0; }
	.ehp-hero-copy { padding-bottom: 50px; }
	.ehp-dashboard-preview { width: min(520px, 92%); margin: 20px auto -34px; transform: none; }
	.ehp-proof-grid { grid-template-columns: 1fr; padding: 10px 0; }
	.ehp-proof-item,
	.ehp-proof-item:first-child { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--ehp-line); }
	.ehp-proof-item:last-child { border-bottom: 0; }
	.ehp-workflow-grid,
	.ehp-pricing-grid,
	.ehp-league-grid { grid-template-columns: 1fr; }
	.ehp-step-card { min-height: 300px; }
	.ehp-plan-card.is-featured { transform: none; }
	.ehp-addons-row { grid-template-columns: 1fr; }
	.ehp-pricing-assurance { grid-template-columns: 1fr; }
	.ehp-feature-layout,
	.ehp-faq-grid { grid-template-columns: 1fr; gap: 48px; }
	.ehp-feature-intro { position: static; }
	.ehp-final-cta-inner { align-items: flex-start; flex-direction: column; }
	.ehp-auth-layout { grid-template-columns: 1fr; }
	.ehp-auth-aside { min-height: 430px; padding: 34px 28px; }
	.ehp-auth-main { padding: 52px 24px; }
	.ehp-auth-points { grid-template-columns: 1fr; }
	.ehp-auth-point:nth-child(n+2) { display: none; }
	.ehp-workspace-summary { grid-template-columns: repeat(2, 1fr); }
	.ehp-team-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ehp-league-share { align-items: flex-start; flex-direction: column; }
	.ehp-setup-layout { grid-template-columns: 1fr; }
	.ehp-club-help { position: static; }
	.ehp-team-fields { grid-template-columns: 1fr 1fr; }
	.ehp-match-card { grid-template-columns: 1fr; gap: 12px; }
	.ehp-match-time { order: -1; }
	.ehp-match-open { justify-content: flex-start; }
	.ehp-v2 .team_block > ul,
	.ehp-public-league-body .team_block > ul { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ehp-v2 .pricing-page .plan-cards { grid-template-columns: 1fr; }
	.ehp-footer-inner { grid-template-columns: 1fr; gap: 42px; }
	.ehp-settings-grid { grid-template-columns: 1fr; }
	.ehp-settings-side { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ehp-player-toolbar { grid-template-columns: 1fr 1fr; }
	.ehp-player-search { grid-column: 1 / -1; }
	.ehp-player-view-switcher { order: 4; }
	.ehp-danger-zone { align-items: flex-start; flex-direction: column; }
	.ehp-danger-zone form { width: 100%; align-items: stretch; flex-direction: column; }
	.ehp-danger-zone form label { min-width: 0; }
	.ehp-billing-hero { align-items: flex-start; flex-direction: column; }
	.ehp-billing-actions { justify-items: start; }
	.ehp-addon-grid { grid-template-columns: 1fr; }
	.ehp-club-hero { grid-template-columns: 1fr; }
	.ehp-club-headline-stats { width: 100%; }
	.ehp-club-panel,
	.ehp-division-panel,
	.ehp-performance-panel,
	.ehp-last-match-panel,
	.ehp-members-panel,
	.ehp-finals-panel,
	.ehp-history-panel { grid-column: 1 / -1; }
	.ehp-history-panel dl { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.ehp-private-match-card { grid-template-columns: 90px minmax(0,1fr); }
	.ehp-private-match-preview { grid-column: 1 / -1; padding: 13px 0 0; border-top: 1px solid var(--ehp-line); border-left: 0; }
	.ehp-game-detail-heading { align-items: flex-start; flex-direction: column; }
	.ehp-game-scoreboard { gap: 14px; padding: 24px 20px; }
	.ehp-game-score-side { grid-template-columns: 56px minmax(0,1fr); }
	.ehp-game-score-side > span { width: 56px; height: 56px; }
	.ehp-game-score-side b { grid-column: 1 / -1; text-align: center; }
	.ehp-game-score-side:nth-of-type(2) { grid-template-columns: minmax(0,1fr) 56px; }
	.ehp-game-score-side:nth-of-type(2) > span { grid-column: 2; }
	.ehp-game-score-side:nth-of-type(2) > strong { grid-column: 1; grid-row: 1; }
}

@media (max-width: 560px) {
	.ehp-display { font-size: clamp(45px, 13vw, 64px); }
	.ehp-section-title { font-size: 40px; }
	.ehp-section-copy { font-size: 17px; }
	.ehp-hero-intro { font-size: 17px; }
	.ehp-hero-actions { align-items: stretch; flex-direction: column; }
	.ehp-hero-actions .ehp-button { width: 100%; }
	.ehp-dashboard-preview { width: 100%; padding: 12px; border-radius: 20px 20px 0 0; }
	.ehp-preview-score { gap: 8px; padding: 20px 8px; }
	.ehp-preview-crest { width: 44px; height: 44px; }
	.ehp-scoreline { gap: 5px; font-size: 25px; }
	.ehp-preview-stats { grid-template-columns: 1fr; }
	.ehp-preview-stat:nth-child(n+2) { display: none; }
	.ehp-step-card { padding: 24px; }
	.ehp-plan-card { min-height: auto; }
	.ehp-addon-card { align-items: flex-start; flex-wrap: wrap; }
	.ehp-addon-card strong { width: 100%; margin-left: 64px; }
	.ehp-auth-aside { min-height: 360px; }
	.ehp-trial-steps { gap: 10px; }
	.ehp-trial-step { align-items: flex-start; flex-direction: column; }
	.ehp-trial-step:not(:last-child)::after { display: none; }
	.ehp-workspace-summary { grid-template-columns: 1fr; }
	.ehp-page-heading { align-items: flex-start; flex-direction: column; }
	.ehp-page-actions { width: 100%; }
	.ehp-page-actions .ehp-button { width: 100%; }
	.ehp-team-grid { grid-template-columns: 1fr; }
	.ehp-team-card.is-editing { grid-column: auto; }
	.ehp-team-form { padding: 18px; }
	.ehp-team-form-intro { align-items: flex-start; flex-direction: column; }
	.ehp-team-form-row { grid-template-columns: 1fr; padding: 16px; }
	.ehp-crest-preview { width: 80px; height: 80px; }
	.ehp-team-fields { grid-template-columns: 1fr; }
	.ehp-team-form-footer { flex-direction: column-reverse; }
	.ehp-team-form-footer .ehp-button { width: 100%; }
	.ehp-match-heading { align-items: flex-start; flex-direction: column; }
	.ehp-match-team-crest { width: 66px; height: 66px; border-radius: 15px; }
	.ehp-match-clubs { grid-template-columns: 1fr; }
	.ehp-v2 .team_block > ul,
	.ehp-public-league-body .team_block > ul { grid-template-columns: 1fr; }
	.ehp-league-meta { align-items: flex-start; flex-wrap: wrap; }
	.ehp-public-team-grid { grid-template-columns: 1fr; }
	.ehp-v2 .get-started-checklist { padding: 22px; }
	.ehp-v2 .get-started-checklist li { grid-template-columns: 36px 1fr; }
	.ehp-v2 .get-started-checklist li .btn { grid-column: 2; width: 100%; }
	.ehp-v2 .ehp-upsell { grid-template-columns: 42px 1fr; }
	.ehp-v2 .ehp-upsell .btn { grid-column: 1 / -1; width: 100%; }
	.ehp-v2 .table-responsive,
	.ehp-v2 .detials-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.ehp-v2 table { min-width: 680px; }
	.ehp-v2 .gamelist-block a { grid-template-columns: 70px 1fr; }
	.ehp-footer-nav { grid-template-columns: 1fr 1fr; gap: 28px; }
	.ehp-footer-meta { align-items: flex-start; flex-direction: column; }
	.ehp-settings-card-heading,
	.ehp-section-heading-small { align-items: flex-start; flex-direction: column; }
	.ehp-settings-card-heading p,
	.ehp-section-heading-small > p { text-align: left; }
	.ehp-form-grid.two-columns,
	.ehp-settings-side { grid-template-columns: 1fr; }
	.ehp-form-grid .full { grid-column: auto; }
	.ehp-slug-field { align-items: stretch; flex-direction: column; }
	.ehp-slug-field small { padding: 10px 13px; }
	.ehp-settings-submit { align-items: stretch; flex-direction: column; }
	.ehp-settings-submit .ehp-button { width: 100%; }
	.ehp-player-toolbar { grid-template-columns: 1fr; }
	.ehp-player-search { grid-column: auto; }
	.ehp-player-view-switcher { width: 100%; }
	.ehp-player-view-switcher button { flex: 1; min-width: 0; }
	.ehp-player-panel-footer { align-items: flex-start; flex-direction: column; }
	.ehp-player-pagination { width: 100%; justify-content: space-between; }
	.ehp-saved-player-heading { align-items: stretch; flex-direction: column; }
	.ehp-saved-player-heading input { width: 100%; }
	.ehp-saved-player-list ul { grid-template-columns: 1fr; }
	.ehp-player-add-form,
	.ehp-saved-player-list,
	.ehp-player-import-form { padding: 18px; }
	.ehp-danger-zone form > div { flex-direction: column; }
	.ehp-danger-zone form .ehp-button { width: 100%; }
	.ehp-addon-plan { flex-direction: column; }
	.ehp-addon-plan > div:last-child { justify-items: start; }
	.ehp-billing-hero { padding: 27px; }
	.ehp-billing-actions { width: 100%; }
	.ehp-billing-actions .ehp-button { width: 100%; }
	.ehp-club-hero { gap: 24px; padding: 22px; border-radius: 19px; }
	.ehp-club-identity { align-items: flex-start; gap: 14px; }
	.ehp-club-hero-crest { width: 70px; height: 70px; border-radius: 16px; }
	.ehp-club-identity h1 { font-size: clamp(31px, 10vw, 44px); }
	.ehp-club-identity p { font-size: 10px; }
	.ehp-club-headline-stats { grid-template-columns: repeat(2, 1fr); }
	.ehp-club-headline-stats div:nth-child(2) { border-right: 0; }
	.ehp-club-headline-stats div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
	.ehp-club-panel { padding: 19px; }
	.ehp-division-metrics,
	.ehp-performance-metrics,
	.ehp-member-breakdown { grid-template-columns: 1fr 1fr; }
	.ehp-member-breakdown > div:last-child { grid-column: 1 / -1; }
	.ehp-featured-member { grid-template-columns: 38px minmax(0,1fr); }
	.ehp-featured-member > span { width: 38px; height: 38px; }
	.ehp-featured-member dl { grid-column: 1 / -1; justify-content: space-around; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.1); }
	.ehp-finals-metrics { grid-template-columns: 1fr; }
	.ehp-form-run { grid-template-columns: 1fr auto; }
	.ehp-form-run > span { grid-column: 1 / -1; }
	.ehp-overview-score { grid-template-columns: 1fr; }
	.ehp-overview-score > em { justify-content: flex-end; }
	.ehp-history-panel dl { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ehp-private-match-card { grid-template-columns: 1fr; padding: 15px; }
	.ehp-private-match-meta { justify-content: flex-start; }
	.ehp-private-match-score { gap: 7px; }
	.ehp-private-match-score > div { grid-template-columns: 38px minmax(0,1fr); gap: 7px; }
	.ehp-private-match-score i { width: 38px; height: 38px; }
	.ehp-private-match-score b { grid-column: 1 / -1; text-align: center; }
	.ehp-private-match-score strong { font-size: 10px; }
	.ehp-private-match-preview { grid-template-columns: 1fr 1fr; }
	.ehp-private-match-preview em { grid-column: 1 / -1; justify-content: flex-end; }
	.ehp-game-detail-heading .ehp-button { width: 100%; }
	.ehp-game-scoreboard { grid-template-columns: 1fr auto 1fr; gap: 7px; padding: 18px 10px; }
	.ehp-game-score-side,
	.ehp-game-score-side:nth-of-type(2) { display: flex; align-items: center; flex-direction: column; gap: 7px; text-align: center; }
	.ehp-game-score-side strong { width: 100%; font-size: 11px; white-space: normal; }
	.ehp-game-score-side b { font-size: 40px; }
	.ehp-game-scoreboard > em { font-size: 7px; }
	.ehp-game-accordion summary { gap: 10px; padding: 13px; }
	.ehp-game-accordion-body { padding: 0 13px 13px; }
	.ehp-game-accordion-team > i { width: 38px; height: 38px; }
	.ehp-game-accordion summary strong { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
