/* Partner Campaigns shortcode – front-end (Elementor) */
.gp-campaigns-front { margin: 0; }

/* [partner_data_legal] – donation/terms page: theme body font, bold */
.gp-partner-legal-block {
	font-family: inherit;
	font-weight: bold;
	margin: 0.25em 0;
}
.gp-campaigns-detail { margin-top: 1.5em; }

/* Partner dashboard tabs */
.gp-campaigns-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5em; margin-bottom: 1.5em; border-bottom: 1px solid #ddd; }
.gp-campaigns-tabs [role="tab"] { padding: 0.6em 1em; background: #f5f5f5; border: 1px solid #ddd; border-bottom: none; border-radius: 4px 4px 0 0; cursor: pointer; font-size: 1em; text-decoration: none; color: #333; }
.gp-campaigns-tabs [role="tab"]:hover { background: #eee; }
.gp-campaigns-tabs [role="tab"][aria-selected="true"] { background: #fff; margin-bottom: -1px; padding-bottom: 0.7em; }
.gp-campaigns-tabs-wrap { margin-bottom: 1.5em; }
.gp-campaigns-tabs-wrap .gp-campaigns-tabs { margin-bottom: 0.25em; }
.gp-campaigns-tour-link-wrap { margin: 0 0 0.25em; text-align: right; }
.gp-campaigns-tour-link-wrap .gp-campaigns-tour-link { background: none !important; border: 0 !important; color: #666 !important; cursor: pointer; font-size: 0.85em; text-decoration: underline; padding: 0 !important; box-shadow: none !important; display: inline; }
.gp-campaigns-tour-link-wrap .gp-campaigns-tour-link:hover { color: #333; }
.gp-campaigns-tab-panel { display: none; padding-top: 1em; }
.gp-campaigns-tab-panel[aria-hidden="false"] { display: block; }
.gp-campaigns-section { margin-bottom: 2em; }
.gp-campaigns-heading { font-size: 1.05em; margin: 0 0 0.5em; font-weight: 600; }
.gp-campaigns-table { width: 100%; border-collapse: collapse; margin: 0.5em 0; }
.gp-campaigns-table th,
.gp-campaigns-table td { padding: 0.5em 0.75em; text-align: left; border: 1px solid #ddd; }
.gp-campaigns-table th { background: #f5f5f5; }
.gp-campaigns-dl { margin: 0.5em 0; }
.gp-campaigns-dl dt { font-weight: 600; margin-top: 0.5em; }
.gp-campaigns-dl dd { margin-left: 0; }
.gp-campaigns-note { margin: 0.5em 0; color: #666; }
.gp-campaigns-list { list-style: none; padding-left: 0; }
.gp-campaigns-list li { margin: 0.5em 0; }
.gp-campaigns-list a { text-decoration: none; }
.gp-campaigns-list a:hover { text-decoration: underline; }
.gp-campaigns-error { color: #b32d2e; }
.gp-pd-field-has-error {
	border-color: #b32d2e;
	box-shadow: 0 0 0 1px #b32d2e;
}
.gp-pd-field-wrap-has-error .description {
	color: #b32d2e;
}
.gp-campaigns-notice-success { color: #00875a; margin-bottom: 0.75em; }
.gp-campaigns-notice-warning {
    color: #8a4b00;
    background: #fff8e6;
    border: 1px solid #f0d78c;
    border-radius: 6px;
    padding: 0.75em 1em;
    margin-bottom: 0.75em;
}
.gp-pd-rejection-notice p {
    margin: 0 0 0.35em 0;
}
.gp-pd-rejection-notice p:last-child {
    margin-bottom: 0;
}
.gp-contact-form p { margin: 0.5em 0; }
.gp-contact-form .gp-input { max-width: 100%; }
/* Shared button style for "Update contact details" and "Stripe Dashboard" ( !important so theme does not override ) */
.gp-campaigns-front .gp-button,
.gp-campaigns-detail .gp-button,
.gp-campaigns-front button.gp-button,
.gp-campaigns-detail button.gp-button,
.gp-campaigns-front a.gp-button,
.gp-campaigns-detail a.gp-button {
	display: inline-block !important;
	margin-top: 0.5em !important;
	padding: 0.5em 1em !important;
	background: #f0f0f0 !important;
	border: 1px solid #ccc !important;
	border-radius: 3px !important;
	color: #333 !important;
	text-decoration: none !important;
	box-sizing: border-box;
	cursor: pointer;
	font-size: 1em;
	line-height: 1.4;
}
.gp-campaigns-front .gp-button:hover,
.gp-campaigns-detail .gp-button:hover,
.gp-campaigns-front .gp-button:focus,
.gp-campaigns-detail .gp-button:focus {
	background: #e8e8e8 !important;
	border-color: #999 !important;
	color: #333 !important;
	text-decoration: none !important;
}

/* Destructive action buttons (Partner Dashboard) */
.gp-button.gp-button-danger,
button.gp-button.gp-button-danger {
	background: #b32d2e !important;
	border-color: #b32d2e !important;
	color: #fff !important;
}
.gp-button.gp-button-danger:hover,
.gp-button.gp-button-danger:focus,
button.gp-button.gp-button-danger:hover,
button.gp-button.gp-button-danger:focus {
	background: #fff !important;
	border-color: #b32d2e !important;
	color: #b32d2e !important;
}

.gp-campaigns-front .gp-button.gp-button-danger,
.gp-campaigns-detail .gp-button.gp-button-danger,
.gp-campaigns-front button.gp-button.gp-button-danger,
.gp-campaigns-detail button.gp-button.gp-button-danger {
	background: #b32d2e !important;
	border-color: #b32d2e !important;
	color: #fff !important;
}
.gp-campaigns-front .gp-button.gp-button-danger:hover,
.gp-campaigns-front .gp-button.gp-button-danger:focus,
.gp-campaigns-detail .gp-button.gp-button-danger:hover,
.gp-campaigns-detail .gp-button.gp-button-danger:focus {
	background: #fff !important;
	border-color: #b32d2e !important;
	color: #b32d2e !important;
}

/* Lightweight modal confirm (Partner Dashboard) */
.gp-pd-modal.is-hidden { display: none; }
.gp-pd-modal {
	position: fixed;
	z-index: 100000; /* higher than most themes */
	top: 0; left: 0; right: 0; bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.gp-pd-modal__backdrop {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.55);
}
.gp-pd-modal__panel {
	position: relative;
	background: #fff;
	border-radius: 6px;
	max-width: 520px;
	width: 100%;
	padding: 14px 16px 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}
.gp-pd-modal__title {
	font-weight: 600;
	font-size: 1.05em;
	margin: 0 0 8px 0;
}
.gp-pd-modal__body {
	color: #333;
	margin: 0 0 12px 0;
	white-space: pre-wrap;
}
.gp-pd-modal__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

/* In modal, keep destructive button solid red (it is focused by default). */
.gp-pd-modal .gp-button.gp-button-danger:focus,
.gp-pd-modal button.gp-button.gp-button-danger:focus {
	background: #b32d2e !important;
	border-color: #b32d2e !important;
	color: #fff !important;
}
.gp-pd-modal .gp-button.gp-button-danger:hover,
.gp-pd-modal button.gp-button.gp-button-danger:hover {
	background: #9f2425 !important;
	border-color: #9f2425 !important;
	color: #fff !important;
}

/* Activate (go live) confirm — beat sticky submit bar / PD modal hide rules. */
.gp-pd-activate-confirm-modal.gp-pd-modal,
.gp-pd-root .gp-pd-activate-confirm-modal.gp-pd-modal {
	max-width: none;
	z-index: 200000;
}
.gp-pd-activate-confirm-modal.gp-pd-modal.is-open,
.gp-pd-root .gp-pd-activate-confirm-modal.gp-pd-modal.is-open {
	display: flex !important;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__panel {
	max-width: 26rem;
	border: 1px solid #f0d78c;
	border-left: 5px solid #d97706;
	background: #fffdf6;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__title {
	color: #8a4b00;
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__title::before {
	content: "!";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35em;
	height: 1.35em;
	border-radius: 50%;
	background: #d97706;
	color: #fff;
	font-size: 0.82em;
	font-weight: 700;
	line-height: 1;
	flex-shrink: 0;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__body {
	white-space: normal;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__body p {
	margin: 0 0 0.65em;
	line-height: 1.4;
	color: #5c3d00;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__body p:last-child {
	margin-bottom: 0;
}
/* Modal is rendered outside .gp-pd-root — beat generic grey .gp-button. */
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button,
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.button.gp-button {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0.5em 1em !important;
	font-size: 1em !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	cursor: pointer;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-secondary {
	background: #fff !important;
	border: 1px solid #2E9FA4 !important;
	color: #2E9FA4 !important;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-secondary:hover,
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-secondary:focus {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary {
	background: #c05600 !important;
	border: 1px solid #c05600 !important;
	color: #fff !important;
}
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary:hover,
.gp-pd-activate-confirm-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary:focus {
	background: #9a4300 !important;
	border-color: #9a4300 !important;
	color: #fff !important;
}
/* Space between "Stripe Dashboard" heading and the button; force vertical stack */
.gp-campaigns-dl dt.gp-stripe-dashboard-dt,
.gp-campaigns-dl dd.gp-stripe-dashboard-cell {
	display: block !important;
}
.gp-campaigns-dl dt.gp-stripe-dashboard-dt {
	margin-bottom: 0.35em !important;
}
.gp-campaigns-dl dd.gp-stripe-dashboard-cell {
	margin-top: 0.5em !important;
	margin-bottom: 0 !important;
}
.gp-campaigns-dl dd.gp-stripe-dashboard-cell p {
	margin: 0 !important;
}

/* Stripe Connect buttons – #533AFD (Overview, Results→Stripe, Add Comp, Settings) */
.gp-pd-root a.gp-stripe-setup-btn,
.gp-pd-root a.gp-stripe-setup-btn-inline,
.gp-campaigns-detail a.gp-stripe-setup-btn,
.gp-campaigns-detail a.gp-stripe-setup-btn-inline,
.gp-campaigns-front a.gp-stripe-setup-btn,
.gp-campaigns-front a.gp-stripe-setup-btn-inline,
.gp-pd-root a.gp-button.gp-stripe-setup-btn,
.gp-campaigns-detail a.gp-button.gp-stripe-setup-btn,
.gp-campaigns-front a.gp-button.gp-stripe-setup-btn {
	display: inline-block !important;
	margin-top: 0.5em !important;
	padding: 0.5em 1em !important;
	background: #533AFD !important;
	color: #fff !important;
	border: 2px solid #533AFD !important;
	text-decoration: none !important;
	border-radius: 3px !important;
	cursor: pointer;
	font-size: 1em;
	line-height: 1.4;
	box-sizing: border-box;
}
.gp-pd-root a.gp-stripe-setup-btn:hover,
.gp-pd-root a.gp-stripe-setup-btn:focus,
.gp-pd-root a.gp-stripe-setup-btn-inline:hover,
.gp-pd-root a.gp-stripe-setup-btn-inline:focus,
.gp-campaigns-detail a.gp-stripe-setup-btn:hover,
.gp-campaigns-detail a.gp-stripe-setup-btn:focus,
.gp-campaigns-detail a.gp-stripe-setup-btn-inline:hover,
.gp-campaigns-detail a.gp-stripe-setup-btn-inline:focus,
.gp-campaigns-front a.gp-stripe-setup-btn:hover,
.gp-campaigns-front a.gp-stripe-setup-btn:focus,
.gp-campaigns-front a.gp-stripe-setup-btn-inline:hover,
.gp-campaigns-front a.gp-stripe-setup-btn-inline:focus,
.gp-pd-root a.gp-button.gp-stripe-setup-btn:hover,
.gp-pd-root a.gp-button.gp-stripe-setup-btn:focus,
.gp-campaigns-detail a.gp-button.gp-stripe-setup-btn:hover,
.gp-campaigns-detail a.gp-button.gp-stripe-setup-btn:focus,
.gp-campaigns-front a.gp-button.gp-stripe-setup-btn:hover,
.gp-campaigns-front a.gp-button.gp-stripe-setup-btn:focus {
	background: #fff !important;
	color: #533AFD !important;
	border: 2px solid #533AFD !important;
	text-decoration: none !important;
}
.gp-pd-root a.gp-stripe-setup-btn-inline.gp-stripe-setup-btn-disabled,
.gp-campaigns-detail a.gp-stripe-setup-btn-inline.gp-stripe-setup-btn-disabled,
.gp-campaigns-front a.gp-stripe-setup-btn-inline.gp-stripe-setup-btn-disabled {
	background: #e8e4ff !important;
	color: #533AFD !important;
	border: 2px solid #c4b8fd !important;
	cursor: not-allowed;
	pointer-events: none;
	opacity: 1;
}

/* QR Codes tab */
.gp-qr-codes-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5em;
	margin-top: 1em;
}
.gp-qr-code-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1em;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
}
.gp-qr-code-title {
	margin: 0 0 0.5em;
	font-size: 0.95em;
}
.gp-qr-code-preview {
	min-width: 200px;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 4px;
	overflow: hidden;
}
.gp-qr-code-preview canvas,
.gp-qr-code-preview img {
	display: block;
	width: 200px;
	height: 200px;
	max-width: 200px;
	image-rendering: pixelated;
	image-rendering: crisp-edges;
}
.gp-qr-code-meta {
	margin: 0.75em 0 0.35em;
	font-size: 0.95em;
}
.gp-qr-code-item p {
	margin: 0.25em 0;
}

/* Competitions table – View / Ended text */
.gp-campaigns-table td:nth-child(7) {
	text-align: center;
}
.gp-comp-view {
	display: inline-block;
	min-width: 3em;
}
.gp-comp-view-link {
	color: #2E9FA4;
	font-weight: 600;
	text-decoration: none;
}
.gp-comp-view-link:hover,
.gp-comp-view-link:focus {
	text-decoration: underline;
}
.gp-comp-ended {
	color: #b32d2e;
	font-weight: 600;
}

/* Dashboard tour (onboarding) */
.gp-tour-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.35);
	z-index: 2147483646;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 2em 1em 0;
	box-sizing: border-box;
	pointer-events: auto;
}
.gp-tour-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	padding: 1.25em 1.5em;
	max-width: 420px;
	width: 100%;
}
.gp-tour-message {
	margin: 0 0 1em;
	line-height: 1.5;
	color: #333;
}
.gp-tour-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75em;
}
.gp-tour-nav { display: flex; gap: 0.6em; }
.gp-tour-btn {
	padding: 0.35em 0.7em;
	border-radius: 4px;
	border: 1px solid #ccc;
	background: #f5f5f5;
	color: #333;
	cursor: pointer;
	font-size: 0.85em;
}
.gp-tour-btn:hover { background: #eee; border-color: #999; }
.gp-tour-next { background: #2E9FA4; color: #fff; border-color: #2E9FA4; }
.gp-tour-next:hover { background: #269094; color: #fff; border-color: #269094; }
.gp-tour-highlight {
	position: relative;
	z-index: 2147483647;
	box-shadow: 0 0 0 3px #2E9FA4;
	border-radius: 4px;
	transition: box-shadow 0.2s ease;
}

/* Getting started: tour button and video guides */
.gp-mkt-gs-tour-wrap { margin: 1em 0 0; font-size: 0.9em; }
.gp-mkt-gs-tour-btn { background: none !important; border: 0 !important; color: #1F3A5F !important; cursor: pointer; padding: 0 !important; text-decoration: underline; font-size: inherit; box-shadow: none !important; display: inline; }
.gp-mkt-gs-tour-btn:hover { text-decoration: none; }
.gp-pd-root .gp-mkt-getting-started .gp-mkt-gs-toggle {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #2E9FA4 !important;
	cursor: pointer;
	font: inherit;
	font-weight: inherit;
	text-decoration: none !important;
	display: inline;
	position: static !important;
	right: auto !important;
	top: auto !important;
}
.gp-pd-root .gp-mkt-getting-started .gp-mkt-gs-toggle:hover,
.gp-pd-root .gp-mkt-getting-started .gp-mkt-gs-toggle:focus {
	text-decoration: none !important;
	opacity: 0.9;
}
.gp-pd-root .gp-mkt-getting-started .gp-mkt-gs-toggle-sep { opacity: 0.75; }

/* The marketing toolkit CSS positions the toggle absolutely; reset layout for PD inline header. */
.gp-pd-root .gp-mkt-getting-started { padding-top: 0.75em; }
.gp-pd-root .gp-mkt-getting-started .gp-mkt-getting-started-intro { margin-top: 0.75em; }
.gp-mkt-gs-videos-intro { margin: 1em 0 0.25em; font-size: 0.9em; font-weight: 600; }
.gp-mkt-gs-videos { margin-top: 0.25em; }
.gp-mkt-gs-video-link { color: #1F3A5F; }

/* Partner dashboard shell (sidebar + content) */
.gp-pd-root {
	--gp-pd-sidebar-w: 220px;
	--gp-pd-topbar-h: 52px;
	display: block !important;
	box-sizing: border-box;
	/* 100vw so theme.json / block contentSize (720px) cannot shrink the dashboard. */
	width: min(1200px, calc(100vw - 2rem)) !important;
	max-width: min(1200px, calc(100vw - 2rem)) !important;
	margin-left: calc(50% - min(600px, calc(50vw - 1rem))) !important;
	margin-right: auto !important;
}

/* Typography: make chips + buttons uniform weight across PD. */
.gp-pd-root .gp-button,
.gp-pd-root button.gp-button,
.gp-pd-root a.gp-button,
.gp-pd-root .gp-pd-subnav-link,
.gp-pd-root .gp-pd-comp-filter-chip,
.gp-pd-root .gp-pd-detail-tab,
.gp-pd-root .gp-mkt-btn {
	font-weight: 600 !important;
}
.gp-pd-root.gp-pd-loading {
	opacity: 0.65;
	pointer-events: none;
}

/* Primary PD button (match chip/button color states). */
.gp-pd-root .gp-pd-btn-primary,
.gp-pd-root button.gp-button.gp-pd-btn-primary,
.gp-pd-root a.gp-button.gp-pd-btn-primary {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-btn-primary:hover,
.gp-pd-root .gp-pd-btn-primary:focus,
.gp-pd-root button.gp-button.gp-pd-btn-primary:hover,
.gp-pd-root button.gp-button.gp-pd-btn-primary:focus,
.gp-pd-root a.gp-button.gp-pd-btn-primary:hover,
.gp-pd-root a.gp-button.gp-pd-btn-primary:focus {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
	text-decoration: none !important;
}

/* Secondary PD button (inverse of primary). */
.gp-pd-root .gp-pd-btn-secondary,
.gp-pd-root button.gp-button.gp-pd-btn-secondary,
.gp-pd-root a.gp-button.gp-pd-btn-secondary,
.gp-pd-root span.gp-button.gp-pd-btn-secondary {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-btn-secondary:hover,
.gp-pd-root .gp-pd-btn-secondary:focus,
.gp-pd-root button.gp-button.gp-pd-btn-secondary:hover,
.gp-pd-root button.gp-button.gp-pd-btn-secondary:focus,
.gp-pd-root a.gp-button.gp-pd-btn-secondary:hover,
.gp-pd-root a.gp-button.gp-pd-btn-secondary:focus,
.gp-pd-root span.gp-button.gp-pd-btn-secondary:hover,
.gp-pd-root span.gp-button.gp-pd-btn-secondary:focus {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* Results tab: emphasise MUST in red inside finality note. */
.gp-pd-root .gp-pd-results-must {
	color: #b32d2e;
}

/* Required asterisk on Partner Dashboard forms. */
.gp-pd-root span.required,
.gp-pd-root h3 .required {
	color: #b32d2e;
}

.gp-pd-root .gp-pd-submit-blockers-notice__jump {
	margin-left: 0.35em;
	white-space: nowrap;
}

/* Submit blockers — WordPress-style warning notice (amber left bar, not success green). */
.gp-pd-root .gp-pd-submit-blockers-notice {
	max-width: 36em;
	margin: 1em 0;
	background-color: #fff8e5;
	border: 1px solid #c3c4c7;
	border-left: 4px solid #dba617;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
	padding: 11px 15px;
	color: #1d2327;
}
.gp-pd-root .gp-pd-submit-blockers-notice p {
	margin: 0 0 0.5em 0;
	color: inherit;
}
.gp-pd-root .gp-pd-submit-blockers-notice__list {
	margin: 0;
	padding-left: 1.25em;
}
.gp-pd-root .gp-pd-submit-blockers-notice__jump a {
	color: #2271b1;
	text-decoration: underline;
}
.gp-pd-root .gp-pd-submit-blockers-notice__jump a:hover,
.gp-pd-root .gp-pd-submit-blockers-notice__jump a:focus {
	color: #135e96;
}

.gp-pd-root .gp-pd-add-comp-submit-bar--hidden {
	display: none !important;
}

/* Add/Edit Spotty: Invite a judge accordion should read as important. */
.gp-pd-root .gp-pd-invite-judge-accordion {
	border-color: rgba(46, 159, 164, 0.35);
	background: #fff;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary {
	background: rgba(46, 159, 164, 0.10);
	border-radius: 8px;
	padding: 0.7rem 0.85rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 0.55rem;
	row-gap: 0.25rem;
	justify-content: stretch;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover,
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus {
	background: rgba(46, 159, 164, 0.14);
}
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary {
	background: rgba(46, 159, 164, 0.18);
}

/* Invite accordion summary: keep readable text on hover/open (override generic accordion white text). */
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover,
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary {
	color: #1F3A5F;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover .gp-pd-invite-judge-accordion__title,
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus .gp-pd-invite-judge-accordion__title,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary .gp-pd-invite-judge-accordion__title {
	color: #1F3A5F;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover .gp-pd-invite-judge-accordion__hint,
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus .gp-pd-invite-judge-accordion__hint,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary .gp-pd-invite-judge-accordion__hint {
	color: rgba(0, 0, 0, 0.65);
}

/* Invite accordion: caret closer to native <select> dropdown indicator (small triangle). */
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary::after,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary::after {
	content: '';
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid rgba(31, 58, 95, 0.55);
	transform: none;
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	align-self: center;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover::after,
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus::after,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary:hover::after,
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary:focus::after {
	border-top-color: rgba(31, 58, 95, 0.75);
}
.gp-pd-root .gp-pd-invite-judge-accordion__title {
	font-weight: 700;
	color: #1F3A5F;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	grid-column: 1;
	grid-row: 1;
}
.gp-pd-root .gp-pd-invite-judge-accordion__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	background: #1F3A5F;
	color: #fff;
	white-space: nowrap;
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
}
.gp-pd-root .gp-pd-invite-judge-accordion__hint {
	display: block;
	width: 100%;
	margin-top: 0;
	color: rgba(0, 0, 0, 0.65);
	font-weight: 600;
	font-size: 0.86rem;
	grid-column: 1 / -1;
	grid-row: 2;
}

/* Pool sizing hint on invite accordion summary: teal vs red CTA (overrides grey hover above). */
.gp-pd-root .gp-pd-invite-judge-accordion__hint[data-gp-invite-hint-state="enough"] {
	color: #2e9fa4;
}
.gp-pd-root .gp-pd-invite-judge-accordion__hint[hidden] {
	display: none !important;
}
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:hover .gp-pd-invite-judge-accordion__hint[data-gp-invite-hint-state="enough"],
.gp-pd-root .gp-pd-invite-judge-accordion > .gp-pd-invite-judge-accordion__summary:focus .gp-pd-invite-judge-accordion__hint[data-gp-invite-hint-state="enough"],
.gp-pd-root .gp-pd-invite-judge-accordion[open] > .gp-pd-invite-judge-accordion__summary .gp-pd-invite-judge-accordion__hint[data-gp-invite-hint-state="enough"] {
	color: #269094;
}
/* Spotty judging setup — manual-save panel (distinct from autosave settings above). */
.gp-pd-root .gp-pd-judging-setup-panel {
	margin: 0 0 1.25em 0;
	padding: 1.15em 1.25em 1.25em;
	max-width: min(100%, 52rem);
	box-sizing: border-box;
	background: #eef6f8;
	border: 1px solid #b8d4dc;
	border-radius: 6px;
}
.gp-pd-root .gp-pd-judging-setup-panel.gp-pd-judging-setup-panel--highlight {
	box-shadow: 0 0 0 3px rgba(46, 159, 164, 0.35);
	transition: box-shadow 0.35s ease;
}
.gp-pd-root .gp-pd-judging-setup-panel__title {
	margin: 0 0 0.65em 0;
	font-size: 1.05em;
}
.gp-pd-root .gp-pd-judging-setup-panel__intro {
	margin: 0 0 0.5em 0;
	max-width: 48rem;
	font-size: 0.92rem;
	line-height: 1.45;
	color: rgba(0, 0, 0, 0.72);
}
.gp-pd-root .gp-pd-judging-setup-panel__intro-rule {
	margin-bottom: 0.65em;
}
.gp-pd-root .gp-pd-judging-status-email-note {
	display: inline-block;
	margin: 0.35em 0 0.5em 0;
	max-width: 36rem;
}
.gp-pd-root .gp-pd-judging-status-highlight-note {
	display: none;
	margin: 0.35em 0 0.5em 0;
	max-width: 36rem;
	font-size: 0.88em;
	font-weight: 600;
	line-height: 1.4;
	color: #b45309;
}
.gp-pd-root .gp-pd-judging-setup-status {
	margin: 0 0 1em 0;
	padding: 0.65em 0.75em;
	background: rgba(255, 255, 255, 0.55);
	border-radius: 4px;
}
.gp-pd-root .gp-pd-judging-setup-status .gp-spotty-judging-next {
	font-size: 0.95rem;
	line-height: 1.45;
}
.gp-pd-root .gp-pd-judging-setup-panel__field,
.gp-pd-root .gp-pd-judging-setup-panel__invite,
.gp-pd-root .gp-pd-judging-setup-panel__assigned,
.gp-pd-root .gp-pd-judging-setup-panel__status {
	margin-bottom: 0.85em;
}
.gp-pd-root .gp-pd-judging-setup-panel__section-heading {
	display: block;
	margin-bottom: 0.35em;
	font-size: inherit;
	line-height: 1.35;
}
.gp-pd-root .gp-pd-judging-setup-panel__section-heading strong {
	font-weight: 700;
}
.gp-pd-root .gp-pd-judging-setup-panel__actions {
	margin: 1em 0 0 0;
	padding-top: 0.35em;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.gp-pd-root .gp-pd-activation-missing-notice--has-judging {
	border-left: 4px solid #2e9fa4;
	padding-left: 0.85em;
}
.gp-pd-root .gp-pd-activation-missing-notice__item--judging {
	margin-bottom: 0.35em;
}
.gp-pd-root .gp-pd-activation-missing-notice__jump {
	display: block;
	margin-top: 0.2em;
	font-size: 0.92em;
	font-weight: 600;
}
.gp-pd-root .gp-pd-activation-missing-notice__jump a {
	color: #1a6970;
}

/* Spotty judging “Next step” line — semantic states (ordering: Required judges first, then flag). */
.gp-pd-root .gp-pd-spotty-judging-flag-line {
	color: inherit;
}
.gp-pd-root .gp-spotty-judging-next[data-gp-spotty-judging-flag="incomplete-normal"] {
	font-weight: 700;
	color: #2e9fa4;
}
.gp-pd-root .gp-spotty-judging-next[data-gp-spotty-judging-flag="in-progress-waiting"] {
	font-weight: 700;
	color: #b45309;
}
.gp-pd-root .gp-spotty-judging-next[data-gp-spotty-judging-flag="complete-strong"] {
	font-weight: 700;
	color: #1a6970;
}
.gp-pd-root .gp-spotty-judging-next[data-gp-spotty-judging-flag="hard-block"] {
	font-weight: 700;
	color: #b32d2e;
}
.gp-pd-root .gp-spotty-judging-next[data-gp-spotty-judging-flag="unsaved-warning"] {
	font-weight: 700;
	color: #b45309;
}
.gp-pd-root .gp-spotty-judging-preview {
	margin: 0.35em 0 0;
	font-size: 0.92rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.55);
	font-style: italic;
}
.gp-pd-root .gp-spotty-judging-preview[hidden] {
	display: none;
}
.gp-pd-root .gp-pd-spotty-judging-status-field[hidden] {
	display: none !important;
}
/* Attention callout for Judging status (amber — distinct from teal CTAs / status line). */
.gp-pd-root .gp-pd-spotty-judging-status-field.gp-pd-spotty-judging-status-field--highlight {
	margin-left: -0.4em;
	margin-right: -0.4em;
	padding: 0.85em 0.95em 0.95em;
	background: #fffbeb;
	border: 2px solid #d97706;
	border-left-width: 5px;
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(146, 64, 14, 0.14);
}
.gp-pd-root .gp-pd-spotty-judging-status-field.gp-pd-spotty-judging-status-field--highlight .gp-pd-judging-setup-panel__section-heading {
	display: block;
	margin-bottom: 0.35em;
	font-weight: 700;
	color: #92400e;
}
.gp-pd-root .gp-pd-spotty-judging-status-field.gp-pd-spotty-judging-status-field--highlight .gp-pd-judging-status-email-note {
	display: none;
}
.gp-pd-root .gp-pd-spotty-judging-status-field.gp-pd-spotty-judging-status-field--highlight .gp-pd-judging-status-highlight-note {
	display: block;
}
.gp-pd-root .gp-pd-spotty-judging-status-field.gp-pd-spotty-judging-status-field--highlight .gp-input {
	border-color: #d97706;
	background: #fff;
	box-shadow: inset 0 0 0 1px #f59e0b;
}

/* Engine competition forms (Spotty / Flip) — AJAX autosave status */
.gp-pd-root form[data-gp-profile-autosave="1"] .gp-pd-profile-autosave-status,
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status {
	display: block;
	font-size: 0.86rem;
	line-height: 1.35;
	margin: 0 0 0.65rem 0;
	min-height: 1.35em;
	color: rgba(0, 0, 0, 0.52);
	box-sizing: border-box;
}
/* Busy: teal accent (readable vs black body text). Errors stay red. */
.gp-pd-root form[data-gp-profile-autosave="1"] .gp-pd-profile-autosave-status.is-busy,
.gp-pd-root form[data-gp-profile-autosave="1"] .gp-pd-profile-autosave-status.is-busy .gp-pd-engine-autosave-status__text,
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-busy,
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-busy .gp-pd-engine-autosave-status__text,
.gp-pd-root form[data-gp-flip-image-uploads="1"] .gp-pd-engine-autosave-status.is-busy,
.gp-pd-root form[data-gp-flip-image-uploads="1"] .gp-pd-flip-upload-status.is-busy,
#gp-pd-root .gp-pd-flip-set-edit .gp-pd-flip-upload-status.is-busy,
#gp-pd-root .gp-pd-flip-set-edit .gp-pd-engine-autosave-status.is-busy {
	color: #2E9FA4 !important;
	-webkit-text-fill-color: #2E9FA4 !important;
	font-weight: 600 !important;
}
.gp-pd-root form[data-gp-profile-autosave="1"] .gp-pd-profile-autosave-status.is-error,
.gp-pd-root form[data-gp-profile-autosave="1"] .gp-pd-profile-autosave-status.is-error .gp-pd-engine-autosave-status__text,
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-error,
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-error .gp-pd-engine-autosave-status__text,
.gp-pd-root form[data-gp-flip-image-uploads="1"] .gp-pd-flip-upload-status.is-error,
.gp-pd-root form[data-gp-flip-image-uploads="1"] .gp-pd-engine-autosave-status.is-error {
	color: #b32d2e !important;
	-webkit-text-fill-color: #b32d2e !important;
	font-weight: 600 !important;
}

/* Spotty: dual-list judge assignment — one horizontal row (Available | actions | Assigned). */
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-pane {
	flex: 1 1 0;
	min-width: 200px;
	max-width: 100%;
}
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-select {
	width: 100%;
	max-width: 100%;
	min-height: 10rem;
	box-sizing: border-box;
}

/*
 * Tablets (esp. iPad Safari): native <select size="N"> renders like a collapsed control until tapped.
 * JS adds .gp-pd-is-touch-enhanced + .gp-pd-spotty-judge-touch-wrap and a mirror list so rows stay visible.
 */
.gp-pd-root .gp-pd-spotty-judge-touch-wrap {
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.gp-pd-root .gp-pd-spotty-judge-select.gp-pd-is-touch-enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	opacity: 0 !important;
	/* Keep focusable via <label for> — do not set pointer-events: none */
}
.gp-pd-root .gp-pd-spotty-judge-touch-list {
	width: 100%;
	min-height: 11rem;
	max-height: min(50vh, 22rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	border: 1px solid rgba(31, 58, 95, 0.22);
	border-radius: 6px;
	background: #eff4f9;
	padding: 4px 0;
}
.gp-pd-root .gp-pd-spotty-judge-touch-list:focus-visible {
	outline: 2px solid rgba(31, 58, 95, 0.35);
	outline-offset: 2px;
}
.gp-pd-root .gp-pd-spotty-judge-touch-list.is-disabled {
	opacity: 0.55;
	pointer-events: none;
}
.gp-pd-root .gp-pd-spotty-judge-touch-opt {
	padding: 0.62rem 0.75rem;
	min-height: 44px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	cursor: pointer;
	font-size: 0.96rem;
	line-height: 1.28;
	color: rgba(26, 26, 26, 0.95);
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	word-break: break-word;
	overflow-wrap: anywhere;
}
.gp-pd-root .gp-pd-spotty-judge-touch-opt:last-of-type {
	border-bottom: none;
}
.gp-pd-root .gp-pd-spotty-judge-touch-opt.is-selected {
	background: rgba(31, 58, 95, 0.12);
	font-weight: 600;
	color: #1f3a5f;
}
.gp-pd-root .gp-pd-spotty-judge-touch-empty {
	padding: 0.85rem 0.75rem;
	min-height: 2.75rem;
	color: rgba(0, 0, 0, 0.52);
	font-size: 0.92rem;
	line-height: 1.35;
}
/* Middle column: wrapper keeps helper text from widening the button stack. */
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions-col {
	flex: 0 0 auto;
	/* Side panes have <label><br> above each list; offset so first button lines up with the selects. */
	align-self: flex-start;
	padding-top: 1.65em;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
	min-width: 0;
	gap: 4px;
}
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 6px;
	/* Buttons only (no hint): longest label sets width, capped here so padding stays tight. */
	width: min(max-content, 5.35rem);
	max-width: 100%;
	min-width: 0;
}
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions .button.gp-button,
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions button.gp-button {
	width: 100%;
	min-width: 0;
	padding: 0.28em 0.18em !important;
	font-size: 0.85em !important;
	line-height: 1.2 !important;
	margin-top: 0 !important;
	min-height: 0;
	box-sizing: border-box;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-delete-hint {
	display: block;
	margin: 0;
	max-width: min(14rem, 92vw);
	text-align: center;
	font-size: 0.78em;
	line-height: 1.35;
	color: rgba(0, 0, 0, 0.62);
}

/* Help copy under Available/Assigned — use pane width (do not cap with 40em). */
.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-selector-help {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Spotty judge picklists: one-line essentials + collapsible Tips and Actions. */
.gp-pd-root .gp-pd-spotty-judge-selector-essentials strong {
	font-weight: 700;
}
.gp-pd-root .gp-pd-spotty-judge-tips {
	border-radius: 6px;
	border: 1px solid rgba(31, 58, 95, 0.18);
	background: rgba(31, 58, 95, 0.04);
}
/* Match native-ish <select> / Invite accordion caret: no clumsy platform marker on the left. */
.gp-pd-root .gp-pd-spotty-judge-tips__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	list-style: none;
	padding: 0.45rem 0.85rem;
	font-weight: 600;
	color: #1f3a5f;
	user-select: none;
	cursor: pointer;
}
.gp-pd-root .gp-pd-spotty-judge-tips__summary::-webkit-details-marker {
	display: none;
}
.gp-pd-root .gp-pd-spotty-judge-tips__summary:focus {
	outline: none;
}
.gp-pd-root .gp-pd-spotty-judge-tips__summary:focus-visible {
	outline: 2px solid rgba(31, 58, 95, 0.35);
	outline-offset: 2px;
	border-radius: 4px;
}
/*
 * Stroke-only chevron (open “V”), closer to native <select> indicators than filled triangles.
 * data URL: thin polyline, same navy as summary text; flip when open via rotate.
 */
.gp-pd-root .gp-pd-spotty-judge-tips__summary::after {
	content: '';
	flex-shrink: 0;
	width: 12px;
	height: 7px;
	margin-left: 0.45rem;
	box-sizing: border-box;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpolyline points='1.6 2 6 5.6 10.4 2' fill='none' stroke='%231f3a5f' stroke-opacity='1' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 7px;
	transform: rotate(0deg);
	transform-origin: center;
	transition: filter 140ms ease, transform 140ms ease;
}
.gp-pd-root .gp-pd-spotty-judge-tips[open] > .gp-pd-spotty-judge-tips__summary::after {
	transform: rotate(180deg);
}
.gp-pd-root .gp-pd-spotty-judge-tips__summary:hover::after {
	filter: brightness(0.78);
}
.gp-pd-root .gp-pd-spotty-judge-tips__body {
	padding: 0 0.75rem 0.65rem 0.85rem;
	margin: 0;
	color: rgba(0, 0, 0, 0.75);
	max-width: 100%;
	box-sizing: border-box;
}
.gp-pd-root .gp-pd-spotty-judge-tips__list {
	margin: 0;
	padding-inline-start: 1.15em;
}
.gp-pd-root .gp-pd-spotty-judge-tips__list li {
	margin: 0.35em 0;
	line-height: 1.45;
}
.gp-pd-root .gp-pd-spotty-judge-tips__body .gp-pd-spotty-judge-delete-org {
	margin: 0.65em 0 0 0;
}

/* Invite panel hash targets (redirect after send / resend / revoke): keep success notice in view. */
.gp-pd-root [id^='gp-pd-spotty-judge-invite-panel-'] {
	scroll-margin-top: 1rem;
}

/* Below “Invitation email sent” — expectation copy (readable teal on pale success context). */
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-sent-followup {
	margin: 0.4em 0 0;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
	color: #0f766e;
}

/* Spotty judge invite: intro copy + form use PD pane width (no 36em/42em caps). */
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-lede {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-form {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-name-hint {
	display: block;
	margin-top: 0.35em;
	max-width: 100%;
	box-sizing: border-box;
}

/* Invite send error: red text only (no boxed “notice” / :target / focus chrome from theme). */
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-send-error {
	display: block;
	margin: 0.35em 0 0.5em;
	padding: 0;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: #b32d2e;
}
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-send-error:target,
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-send-error:focus,
.gp-pd-root .gp-pd-spotty-judge-invite .gp-pd-spotty-judge-invite-send-error:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Spotty builder: “open judge page” note — full pane width (no 36em cap). */
.gp-pd-root .gp-pd-spotty-judge-page-note {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Add Competition → Spotty: judging page link (bold teal, no underline). */
.gp-pd-root a.gp-pd-open-judging-page {
	font-weight: 700 !important;
	color: #2e9fa4 !important;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
}
.gp-pd-root a.gp-pd-open-judging-page:hover,
.gp-pd-root a.gp-pd-open-judging-page:focus {
	color: #269094 !important;
	text-decoration: none !important;
}

/* Add/Edit Spotty: actions card for judge/progress links. */
.gp-pd-root .gp-pd-actions-card {
	border: 1px solid rgba(0,0,0,0.10);
	border-radius: 10px;
	background: #fff;
	padding: 0.75rem 0.85rem;
}
.gp-pd-root .gp-pd-actions-card__row {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0.6rem 0;
}
.gp-pd-root .gp-pd-actions-card__row + .gp-pd-actions-card__row {
	border-top: 1px solid rgba(0,0,0,0.08);
}
.gp-pd-root .gp-pd-actions-card__meta {
	flex: 1 1 360px;
	min-width: 240px;
}
.gp-pd-root .gp-pd-actions-card__title {
	font-weight: 700;
	color: #1F3A5F;
	margin: 0 0 0.15rem 0;
}
.gp-pd-root .gp-pd-actions-card__hint {
	color: rgba(0,0,0,0.65);
	font-weight: 600;
	font-size: 0.9rem;
}
.gp-pd-root .gp-pd-actions-card__actions {
	flex: 0 0 auto;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}
.gp-pd-root .gp-pd-copy-btn.is-copied {
	background: #00875a !important;
	border-color: #00875a !important;
	color: #fff !important;
}

/* Link-style jump to Invite a judge accordion (no underline). */
.gp-pd-root a.gp-pd-invite-judge-jump {
	color: #2E9FA4;
	font-weight: 700;
	text-decoration: none !important;
}
.gp-pd-root a.gp-pd-invite-judge-jump:hover,
.gp-pd-root a.gp-pd-invite-judge-jump:focus {
	color: #269094;
	text-decoration: none !important;
}

/* Tiny expandable help link (Basics meta). */
.gp-pd-root details.gp-pd-mini-help {
	margin: 0;
	padding: 0;
	line-height: 1.2;
}
.gp-pd-root .gp-pd-mini-help__summary {
	list-style: none;
	cursor: pointer;
	color: #2E9FA4;
	font-weight: 700;
	display: inline;
	margin: 0;
	padding: 0;
	line-height: 1.2;
}
.gp-pd-root .gp-pd-mini-help__summary::-webkit-details-marker { display: none; }
.gp-pd-root details.gp-pd-mini-help[open] { display: block; }

/* Spotty judge selector: stack on narrow screens so nothing sits off-page horizontally. */
@media (max-width: 782px) {
	/* Competitions: center the status chips + game dropdown as one tool row (List size row is centered below). */
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-filter-bar {
		justify-content: center;
		text-align: center;
		margin-bottom: 1.1em;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-filter {
		justify-content: center;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-game-filter {
		justify-content: center;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-game-filter select.gp-input {
		max-width: min(420px, 100%);
		width: min(420px, 100%);
	}

	/* Competitions: center the “List size” row on small screens. */
	.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-filter {
		text-align: center;
	}

	/* Results → Entries: center the “List size” row on small screens. */
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-filter {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	/* Results → Entries: center the tools row (game dropdown + list size) on small screens. */
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-tools {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 10px;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-game-filter {
		justify-content: center;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-game-filter select.gp-input {
		width: min(420px, 100%);
		max-width: min(420px, 100%);
	}

	/* Competitions list: card rows on small screens (see also .gp-pd-comp-table--v2 block). */
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-status-badge {
		white-space: normal;
	}

	/* Add Competition → “Your competitions” table: avoid tiny horizontal overflow on mobile. */
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table th,
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table td {
		padding: 0.4em 0.55em;
		font-size: 0.92em;
	}
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table td {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	/* Actions column: allow wrap on inner flex row (td stays table-cell). */
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table .gp-pd-your-comp-actions-inner {
		white-space: normal;
		flex-wrap: wrap;
	}
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table a.gp-button.gp-pd-your-comp-edit,
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table button.gp-button.gp-pd-your-comp-clone {
		padding: 3px 8px !important;
		font-size: 0.8rem !important;
	}

	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-row {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		overflow-x: visible;
		gap: 10px;
	}
	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-pane {
		flex: 0 0 auto;
		width: 100%;
		min-width: 0;
	}
	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions-col {
		align-self: stretch;
		width: 100%;
		max-width: none;
		padding-top: 0;
	}
	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions {
		flex-direction: column;
		align-self: stretch;
		align-items: stretch;
		width: 100%;
		max-width: none;
		gap: 8px;
	}
	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions .button.gp-button,
	.gp-pd-root .gp-pd-spotty-judge-selector .gp-pd-spotty-judge-actions button.gp-button {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		white-space: nowrap;
		overflow-wrap: normal;
		word-break: normal;
	}
}

/* Activate CTA: hidden until autosave reports validation-ready (trusted partners). */
.gp-pd-root .gp-pd-activate-competition-wrap--hidden {
	display: none !important;
}

/* Overview — welcome + launch readiness (Phase A onboarding). */
.gp-pd-root .gp-pd-welcome-banner {
	max-width: min(100%, 52rem);
	margin: 0 0 1.25rem 0;
	padding: 0.85em 1em;
	border-radius: 8px;
	border: 1px solid rgba(46, 159, 164, 0.28);
	border-left: 3px solid #2E9FA4;
	background: #f0fafb;
}

.gp-pd-root .gp-pd-welcome-banner p {
	margin: 0;
	line-height: 1.45;
}

.gp-pd-root .gp-pd-welcome-banner p + p {
	margin-top: 0.65em;
}

.gp-pd-root .gp-pd-welcome-banner__title {
	margin-bottom: 0.65em !important;
}

.gp-pd-root .gp-pd-launch-readiness {
	max-width: min(100%, 52rem);
	margin: 0 0 1.5rem 0;
	padding: 1em 1.1em;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.gp-pd-root .gp-pd-launch-readiness__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5em 1em;
	margin-bottom: 0.65em;
}

.gp-pd-root .gp-pd-launch-readiness__title {
	margin: 0;
	font-size: 1.05em;
}

.gp-pd-root .gp-pd-launch-readiness__select-form {
	margin: 0;
}

.gp-pd-root .gp-pd-launch-readiness__select {
	max-width: 16rem;
}

.gp-pd-root .gp-pd-launch-readiness__progress {
	margin: 0 0 0.65em 0;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.72);
}

.gp-pd-root .gp-pd-launch-readiness__rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gp-pd-root .gp-pd-launch-readiness__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em 0.5em;
	margin: 0.35em 0;
}

.gp-pd-root .gp-pd-launch-readiness__row.is-complete .gp-pd-launch-readiness__label {
	color: #00875a;
}

.gp-pd-root .gp-pd-launch-readiness__row.is-pending .gp-pd-launch-readiness__label {
	color: rgba(0, 0, 0, 0.78);
}

.gp-pd-root .gp-pd-launch-readiness__icon {
	font-weight: 700;
	min-width: 1.1em;
}

.gp-pd-root .gp-pd-launch-readiness__hint {
	flex-basis: 100%;
	margin: 0.15em 0 0 1.6em;
	font-size: 0.92em;
}

.gp-pd-root .gp-pd-stripe-terms-agree-wrap .gp-pd-stripe-terms-inline-link {
	font-weight: 700;
	color: #2E9FA4;
}

.gp-pd-root .gp-pd-stripe-terms-agree-wrap .gp-pd-stripe-terms-inline-text {
	color: #2E9FA4;
}

.gp-pd-root .gp-pd-add-comp-checklist {
	max-width: min(100%, 52rem);
	margin: 1em 0;
	padding: 1em 1.15em;
	background: #f8f7ff;
	border: 1px solid #e8e4ff;
	border-radius: 4px;
}

.gp-pd-root .gp-pd-add-comp-checklist__title {
	margin: 0 0 0.65em 0;
	font-weight: 700;
	font-size: 1.05em;
	line-height: 1.35;
	color: #533AFD;
}

.gp-pd-root .gp-pd-add-comp-checklist__stripe-hint {
	margin: 0 0 0.35em 0;
	font-size: 0.95em;
	color: rgba(0, 0, 0, 0.72);
}

.gp-pd-root .gp-pd-add-comp-checklist ol,
.gp-pd-root .gp-pd-add-comp-checklist__steps {
    margin: 0.35em 0 0 1.1em;
    padding: 0;
}

.gp-pd-root .gp-pd-add-comp-stripe-connect {
    margin-top: 0.85em;
    padding-top: 0.15em;
}

.gp-pd-root .gp-pd-add-comp-stripe-connect-foot {
	max-width: min(100%, 52rem);
	margin: 1.25em 0 0.75em;
	padding: 0.85em 1em;
	background: #fff;
	border: 1px solid #e8e4ff;
	border-left: 3px solid #533AFD;
	border-radius: 4px;
}

.gp-pd-root .gp-pd-add-comp-stripe-connect-foot__lead {
	margin: 0 0 0.5em 0;
	font-weight: 600;
	font-size: 0.98em;
	line-height: 1.35;
	color: #533AFD;
}

.gp-pd-root .gp-pd-add-comp-stripe-connect-foot .gp-pd-stripe-terms-agree-wrap {
	margin: 0;
}

.gp-pd-root .gp-pd-stripe-connect-help {
	margin: 0 0 0.5em 0;
}

.gp-pd-root button.gp-pd-stripe-help-open {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
	text-align: left;
}

.gp-pd-root .gp-pd-first-comp-guide ol {
	padding-left: 1.25em;
}

/* Add Competition: sticky “Submit for approval” after required game sections. */
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-add-comp-submit-bar {
	position: sticky;
	bottom: 0;
	z-index: 40;
	margin-top: 1.5rem;
	padding: 12px 14px max(12px, env(safe-area-inset-bottom, 0px));
	background: rgba(248, 249, 251, 0.97);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 10px;
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
	backdrop-filter: blur(6px);
}
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-add-comp-submit-hint {
	color: rgba(0, 0, 0, 0.65);
	font-weight: 600;
}
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-add-comp-submit-hint.gp-campaigns-notice-success {
	color: #00875a;
}

.gp-pd-root .gp-pd-comp-lifecycle .gp-pd-comp-ready-chip {
	display: inline-block;
	margin-top: 0.35em;
	vertical-align: top;
}
.gp-pd-root .gp-pd-comp-overview-next-cta .button {
	margin: 0;
}
.gp-pd-root .gp-pd-comp-overview-next-cta--pending-review .gp-pd-withdraw-submission-note {
	max-width: 36em;
}
.gp-pd-root .gp-pd-comp-overview-next-view .gp-pd-comp-link {
	font-size: 0.92rem;
}

/* Account requires approval — use pane width (matches other PD notes). */
.gp-pd-root .gp-pd-add-comp-submit-approval-note {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Add Competition → All competitions: keep td as table-cell; flex only on inner wrapper. */
.gp-pd-root .gp-pd-your-competitions-table .gp-pd-your-comp-actions {
	vertical-align: top;
}
.gp-pd-root .gp-pd-your-competitions-table .gp-pd-your-comp-actions-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}
.gp-pd-root .gp-pd-your-competitions-table .gp-pd-your-comp-actions-inner .gp-pd-your-comp-clone-form {
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}
.gp-pd-root .gp-pd-your-competitions-table a.gp-button.gp-pd-your-comp-edit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 4px 10px !important;
	margin: 0 !important;
	margin-top: 0 !important;
	font-size: 0.82rem !important;
	line-height: 1.25 !important;
	min-height: 0 !important;
	border-radius: 4px !important;
}
.gp-pd-root .gp-pd-your-competitions-table button.gp-button.gp-pd-your-comp-clone {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 4px 10px !important;
	margin: 0 !important;
	margin-top: 0 !important;
	font-size: 0.82rem !important;
	line-height: 1.25 !important;
	min-height: 0 !important;
	border-radius: 4px !important;
	background: #1f3a5f !important;
	border: 1px solid #1f3a5f !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer;
}
.gp-pd-root .gp-pd-your-competitions-table button.gp-button.gp-pd-your-comp-clone:hover,
.gp-pd-root .gp-pd-your-competitions-table button.gp-button.gp-pd-your-comp-clone:focus {
	background: #2d5082 !important;
	border-color: #2d5082 !important;
	color: #fff !important;
}

/* Mail Results: solid red (admin parity — high-risk action). */
.gp-pd-root a.gp-button.gp-mail-results-btn,
.gp-pd-root a.gp-button.gp-mail-results-link,
.gp-pd-root button.gp-button.gp-mail-results-btn {
	background: #dc3232 !important;
	border: 1px solid #dc3232 !important;
	color: #fff !important;
	text-decoration: none !important;
}
.gp-pd-root a.gp-button.gp-mail-results-btn:hover,
.gp-pd-root a.gp-button.gp-mail-results-link:hover,
.gp-pd-root a.gp-button.gp-mail-results-btn:focus,
.gp-pd-root a.gp-button.gp-mail-results-link:focus,
.gp-pd-root button.gp-button.gp-mail-results-btn:hover,
.gp-pd-root button.gp-button.gp-mail-results-btn:focus {
	background: #b82b2b !important;
	border-color: #b82b2b !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* Resend only: outlined red default; solid red on hover (distinct from first send). */
.gp-pd-root a.gp-button.gp-mail-results-link.gp-pd-comp-act--resend,
.gp-pd-root a.gp-button.gp-mail-results-btn[data-mail-results-resend="1"] {
	background: #fff !important;
	border: 1px solid #dc3232 !important;
	color: #dc3232 !important;
}
.gp-pd-root a.gp-button.gp-mail-results-link.gp-pd-comp-act--resend:hover,
.gp-pd-root a.gp-button.gp-mail-results-link.gp-pd-comp-act--resend:focus,
.gp-pd-root a.gp-button.gp-mail-results-btn[data-mail-results-resend="1"]:hover,
.gp-pd-root a.gp-button.gp-mail-results-btn[data-mail-results-resend="1"]:focus {
	background: #dc3232 !important;
	border-color: #dc3232 !important;
	color: #fff !important;
}
.gp-pd-mail-results-cta {
	margin: 1em 0 0.5em;
}
.gp-pd-root .gp-pd-mail-results-sent {
	background: #e6f6ee !important;
	border: 2px solid #0b7a4b !important;
	border-radius: 8px;
	padding: 1.1em 1.2em;
	margin: 0 0 1.25em;
	max-width: 42rem;
	box-sizing: border-box;
}
.gp-pd-root .gp-pd-mail-results-sent__title {
	margin: 0 !important;
	font-size: 1.35em !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #0b5c3a !important;
}
.gp-pd-root .gp-pd-mail-results-sent__when {
	margin: 0.45em 0 0 !important;
	font-size: 1em !important;
	font-weight: 600 !important;
	color: #1a4d36 !important;
}
.gp-pd-root .gp-pd-mail-results-sent__hint {
	margin: 0.85em 0 0 !important;
	font-size: 1.1em !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #143328 !important;
}
.gp-pd-root .gp-pd-mail-results-sent + .gp-pd-mail-results-cta {
	margin-top: 0;
}
.gp-pd-mail-results-cta .gp-mail-results-btn {
	display: inline-block;
}

/* Mail Results confirm modal (matches Spotty admin overlay pattern). */
.gp-pd-mail-results-overlay {
	position: fixed;
	inset: 0;
	z-index: 200000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	padding: 16px;
	box-sizing: border-box;
}
.gp-pd-mail-results-box {
	background: #fff;
	padding: 24px;
	max-width: 420px;
	width: 100%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
	box-sizing: border-box;
	text-align: center;
}
.gp-pd-mail-results-message {
	color: #b32d2e;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 20px 0;
	text-align: center;
}
.gp-pd-mail-results-actions {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: center;
}
.gp-pd-mail-results-actions .button {
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.gp-pd-mail-results-actions .gp-pd-mail-results-btn-primary {
	background: #b32d2e !important;
	border-color: #b32d2e !important;
	color: #fff !important;
}
.gp-pd-mail-results-actions .gp-pd-mail-results-btn-primary:hover,
.gp-pd-mail-results-actions .gp-pd-mail-results-btn-primary:focus {
	background: #8f1d1e !important;
	border-color: #8f1d1e !important;
	color: #fff !important;
}

/* Caution (amber — Close entries, Archive, other warning affordances). */
.gp-pd-root button.gp-button.gp-pd-btn-archive,
.gp-pd-root a.gp-button.gp-pd-btn-archive,
.gp-pd-root button.gp-button.gp-pd-btn-caution,
.gp-pd-root a.gp-button.gp-pd-btn-caution {
	background: #fff4e5 !important;
	border: 1px solid #f0b849 !important;
	color: #8a4b00 !important;
	text-decoration: none !important;
}
.gp-pd-root button.gp-button.gp-pd-btn-archive:hover,
.gp-pd-root button.gp-button.gp-pd-btn-archive:focus,
.gp-pd-root a.gp-button.gp-pd-btn-archive:hover,
.gp-pd-root a.gp-button.gp-pd-btn-archive:focus,
.gp-pd-root button.gp-button.gp-pd-btn-caution:hover,
.gp-pd-root button.gp-button.gp-pd-btn-caution:focus,
.gp-pd-root a.gp-button.gp-pd-btn-caution:hover,
.gp-pd-root a.gp-button.gp-pd-btn-caution:focus {
	background: #ffe9c2 !important;
	border-color: #e6a020 !important;
	color: #6b3d00 !important;
	text-decoration: none !important;
}

.gp-pd-image-field { margin: 0.75rem 0; }
.gp-pd-image-field .gp-pd-image-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; }
.gp-pd-image-preview { display: none; margin-top: 0.5rem; }
.gp-pd-image-preview.is-visible { display: block; }
.gp-pd-image-preview img { max-width: 220px; height: auto; border: 1px solid #e2e2e2; border-radius: 6px; background: #fff; }

/* Add/Edit competition: keep image headings closer to action buttons. */
.gp-pd-root #gp-tab-panel-add-competition p > .gp-pd-image-field,
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-image-field {
	margin-top: 0.25rem;
	margin-bottom: 0.5rem;
}
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-image-field .gp-pd-image-actions {
	margin-top: 0.25rem;
	margin-bottom: 0;
}

/* Add/Edit Spotty: separation before the next image label (Prize → Competition; Competition → Fundraising). */
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-spotty-settings-form .gp-pd-field--image + .gp-pd-field--image,
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-spotty-settings-form #gp-pd-prize-fields + .gp-pd-field--image {
	margin-top: 1.4rem;
}

/* Spotty / Flip settings forms: uniform subsection headings (h3 vs h4 defaults differ by theme). */
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-spotty-settings-form .gp-pd-form-section-heading,
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-flip-settings-form .gp-pd-form-section-heading {
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 0.75em 0;
}

/* Profile: compact thumb + actions. */
.gp-pd-root .gp-pd-profile-image .gp-pd-image-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 8px 0;
}
.gp-pd-root .gp-pd-profile-image .gp-pd-profile-preview {
	margin-top: 8px;
	display: none;
}
.gp-pd-root .gp-pd-profile-image .gp-pd-profile-preview.is-visible {
	display: block;
}
.gp-pd-root .gp-pd-profile-image .gp-pd-profile-preview img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,0.08);
	background: #fff;
}

/* Flip image set admin preview — same chrome as in-game card, but cover fills the box for partners. */
.gp-pd-root .gp-pd-flip-card-face-preview {
	display: inline-block;
	width: 88px;
	height: 88px;
	margin-top: 8px;
	background-color: #fff;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
	border-radius: 8px;
	vertical-align: top;
}
.gp-pd-root .gp-pd-flip-card-face-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border: 0;
	border-radius: 8px;
	background: #fff;
}
.gp-pd-root .gp-pd-flip-card-face-preview.is-empty {
	background-image: none;
}

.gp-pd-root .gp-pd-profile-image.is-uploading .gp-pd-flip-card-face-preview {
	opacity: 0.55;
}
.gp-pd-root .gp-pd-profile-image.is-uploading .gp-pd-image-actions .button,
.gp-pd-root .gp-pd-profile-image.is-uploading .gp-pd-image-actions label.button {
	pointer-events: none;
	opacity: 0.65;
}
.gp-pd-root .gp-pd-image-upload-status,
.gp-pd-root .gp-pd-flip-upload-status {
	display: block;
	margin: 6px 0 0;
	max-width: 36em;
	font-size: 0.92em;
	line-height: 1.4;
}
.gp-pd-root .gp-pd-image-upload-status__text,
.gp-pd-root .gp-pd-engine-autosave-status__text {
	display: block;
	color: inherit;
}
.gp-pd-root .gp-pd-image-upload-status:not(.is-busy):not(.is-error):not(.is-done),
.gp-pd-root .gp-pd-flip-upload-status:not(.is-busy):not(.is-error):not(.is-done) {
	color: #50575e;
}
.gp-pd-root .gp-pd-image-upload-status.is-busy,
.gp-pd-root .gp-pd-flip-upload-status.is-busy,
.gp-pd-root output.gp-pd-profile-upload-msg.is-busy,
.gp-pd-root output.gp-pd-profile-upload-msg[data-gp-upload-busy="1"],
.gp-pd-root output.gp-pd-flip-card-upload-msg.is-busy,
.gp-pd-root output.gp-pd-flip-card-upload-msg[data-gp-upload-busy="1"],
.gp-pd-root .gp-pd-engine-autosave-status.is-busy,
.gp-campaigns-detail .gp-pd-image-upload-status.is-busy,
.gp-campaigns-detail .gp-pd-flip-upload-status.is-busy,
.gp-campaigns-detail output.gp-pd-flip-card-upload-msg.is-busy,
.gp-section-flip-image-sets .gp-pd-image-upload-status.is-busy,
.gp-section-flip-image-sets .gp-pd-flip-upload-status.is-busy,
.gp-pd-root .gp-pd-flip-upload-status.is-busy .gp-pd-image-upload-status__text,
.gp-pd-root .gp-pd-flip-upload-status.is-busy .gp-pd-engine-autosave-status__text,
.gp-pd-root .gp-pd-engine-autosave-status.is-busy .gp-pd-engine-autosave-status__text {
	color: #2E9FA4 !important;
	-webkit-text-fill-color: #2E9FA4 !important;
	font-weight: 600 !important;
}
.gp-pd-root .gp-pd-image-upload-status.is-error,
.gp-pd-root .gp-pd-flip-upload-status.is-error,
.gp-pd-root output.gp-pd-profile-upload-msg.is-error,
.gp-pd-root output.gp-pd-flip-card-upload-msg.is-error,
.gp-pd-root .gp-pd-image-upload-status.is-error .gp-pd-image-upload-status__text,
.gp-pd-root .gp-pd-flip-upload-status.is-error .gp-pd-image-upload-status__text {
	color: #b32d2e !important;
	-webkit-text-fill-color: #b32d2e !important;
	font-weight: 600 !important;
}
.gp-pd-root .gp-pd-image-upload-status.is-done .gp-pd-image-upload-status__text,
.gp-pd-root .gp-pd-flip-upload-status.is-done .gp-pd-image-upload-status__text {
	color: #007017 !important;
}
.gp-pd-root .gp-pd-engine-autosave-status.is-done .gp-pd-engine-autosave-status__text {
	color: #007017;
}

.gp-pd-root .gp-pd-sponsor-row {
	border: 1px solid #dcdcde;
	border-radius: 4px;
	padding: 0.75em 1em 0.35em;
	margin: 0 0 1em;
	background: #fff;
}
.gp-pd-root .gp-pd-sponsor-roster {
	margin: 0 0 0.5em;
}
#gp-pd-root form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg,
.gp-section-partner_assets form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg {
	display: block;
	box-sizing: border-box;
	margin: 6px 0 0;
	max-width: 36em;
	font-family: inherit;
	font-size: 0.92em;
	line-height: 1.4;
	color: #50575e;
}
#gp-pd-root form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-busy,
#gp-pd-root form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg[data-gp-upload-busy="1"],
.gp-section-partner_assets form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-busy {
	color: #2E9FA4 !important;
	-webkit-text-fill-color: #2E9FA4 !important;
	font-weight: 600 !important;
}
#gp-pd-root form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-error,
.gp-section-partner_assets form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-error {
	color: #b32d2e !important;
	-webkit-text-fill-color: #b32d2e !important;
	font-weight: 600 !important;
}
#gp-pd-root form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-done,
.gp-section-partner_assets form.gp-pd-profile-assets-form output.gp-pd-profile-upload-msg.is-done {
	color: #007017 !important;
	-webkit-text-fill-color: #007017 !important;
	font-weight: 600 !important;
}

/* Flip image set edit — per-field upload status (output avoids theme [role=status] black text). */
#gp-pd-root form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg,
.gp-campaigns-detail form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg {
	display: block;
	box-sizing: border-box;
	margin: 6px 0 0;
	max-width: 36em;
	font-family: inherit;
	font-size: 0.92em;
	line-height: 1.4;
	color: #50575e;
}
#gp-pd-root form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-busy,
#gp-pd-root form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg[data-gp-upload-busy="1"],
.gp-campaigns-detail form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-busy,
.gp-campaigns-detail form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg[data-gp-upload-busy="1"] {
	color: #2E9FA4 !important;
	-webkit-text-fill-color: #2E9FA4 !important;
	font-weight: 600 !important;
}
#gp-pd-root form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-error,
.gp-campaigns-detail form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-error {
	color: #b32d2e !important;
	-webkit-text-fill-color: #b32d2e !important;
	font-weight: 600 !important;
}
#gp-pd-root form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-done,
.gp-campaigns-detail form.gp-pd-flip-set-edit output.gp-pd-flip-card-upload-msg.is-done {
	color: #007017 !important;
	-webkit-text-fill-color: #007017 !important;
	font-weight: 600 !important;
}

/* Partner-scoped image picker modal. */
.gp-pd-root .gp-pd-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
}
.gp-pd-root .gp-pd-modal.is-open { display: block; }
body.gp-pd-modal-open { overflow: hidden; }
.gp-pd-root .gp-pd-modal-scrim {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
}
.gp-pd-root .gp-pd-modal-card {
	position: relative;
	background: #fff;
	width: min(980px, calc(100vw - 24px));
	max-height: calc(100vh - 24px);
	margin: 12px auto;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 16px 50px rgba(0,0,0,0.25);
	display: flex;
	flex-direction: column;
}
.gp-pd-root .gp-pd-modal-head {
	padding: 14px 16px;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.gp-pd-root .gp-pd-modal-body {
	padding: 16px;
	overflow: auto;
}
.gp-pd-root #gp-pd-image-picker-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
}
.gp-pd-root .gp-pd-image-tile {
	appearance: none;
	text-align: left;
	border: 1px solid rgba(0,0,0,0.10);
	border-radius: 12px;
	background: #fff;
	padding: 10px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}
.gp-pd-root .gp-pd-image-tile:hover,
.gp-pd-root .gp-pd-image-tile:focus {
	border-color: rgba(46,159,164,0.65);
	box-shadow: 0 6px 18px rgba(0,0,0,0.08);
	transform: translateY(-1px);
}
.gp-pd-root .gp-pd-image-thumb {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	background: #f3f7ff;
	border: 1px solid rgba(0,0,0,0.08);
}
.gp-pd-root .gp-pd-image-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.gp-pd-root .gp-pd-image-meta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: baseline;
}
.gp-pd-root .gp-pd-image-actions-row {
	display: flex;
	justify-content: flex-end;
	margin-top: -6px;
}
.gp-pd-root .gp-pd-image-delete {
	appearance: none;
	border: 0;
	background: transparent;
	color: rgba(138,15,15,0.9);
	border-radius: 8px;
	padding: 1px 4px;
	font-weight: 600;
	font-size: 10px;
	cursor: pointer;
	line-height: 1.2;
}
.gp-pd-root .gp-pd-image-delete:hover,
.gp-pd-root .gp-pd-image-delete:focus {
	background: rgba(138,15,15,0.08);
}
.gp-pd-root .gp-pd-image-title {
	font-weight: 600;
	color: #1F3A5F;
	font-size: 13px;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.gp-pd-root .gp-pd-image-id {
	color: rgba(0,0,0,0.55);
	font-size: 12px;
	white-space: nowrap;
}

/* Marketing page: align button styling with PD chips (except WhatsApp). */
#gp-tab-panel-marketing .gp-mkt-btn:not(.gp-mkt-btn-whatsapp):not(.gp-mkt-btn-copied):not(.gp-mkt-btn-reset),
#gp-tab-panel-marketing a.gp-mkt-btn:not(.gp-mkt-btn-whatsapp):not(.gp-mkt-btn-copied):not(.gp-mkt-btn-reset),
#gp-tab-panel-marketing button.gp-mkt-btn:not(.gp-mkt-btn-whatsapp):not(.gp-mkt-btn-copied):not(.gp-mkt-btn-reset) {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
	text-decoration: none !important;
}
#gp-tab-panel-marketing .gp-mkt-btn:not(.gp-mkt-btn-whatsapp):not(.gp-mkt-btn-copied):not(.gp-mkt-btn-reset):hover,
#gp-tab-panel-marketing .gp-mkt-btn:not(.gp-mkt-btn-whatsapp):not(.gp-mkt-btn-copied):not(.gp-mkt-btn-reset):focus {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
	text-decoration: none !important;
}

/* Marketing: reset buttons should be inverse (white normal, green on hover). */
#gp-tab-panel-marketing .gp-mkt-btn-reset {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
}
#gp-tab-panel-marketing .gp-mkt-btn-reset:hover,
#gp-tab-panel-marketing .gp-mkt-btn-reset:focus {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
}

/* Elementor often wraps shortcodes in shrink-wrapping containers; force full-width so the PD shell doesn't resize per panel. */
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}
.gp-pd-shell {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.06);
}

/* PD accordion (native details/summary) */
.gp-pd-accordion { margin: 0.75rem 0 0; }
.gp-pd-accordion-item {
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	background: #fff;
	margin: 0.6rem 0;
	overflow: hidden;
}
.gp-pd-accordion-summary {
	list-style: none;
	cursor: pointer;
	padding: 0.6rem 0.75rem;
	font-weight: 600;
	color: #1F3A5F;
	background: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}
.gp-pd-accordion-summary:hover,
.gp-pd-accordion-summary:focus,
.gp-pd-accordion-item[open] .gp-pd-accordion-summary {
	background: #1F3A5F;
	color: #fff;
	outline: none;
}
.gp-pd-accordion-summary::-webkit-details-marker { display: none; }
.gp-pd-accordion-summary::after {
	content: '▾';
	color: #6b7280;
	font-weight: 700;
}
.gp-pd-accordion-summary:hover::after,
.gp-pd-accordion-summary:focus::after,
.gp-pd-accordion-item[open] .gp-pd-accordion-summary::after {
	color: #fff;
}
.gp-pd-accordion-item[open] .gp-pd-accordion-summary::after { content: '▴'; }
.gp-pd-accordion-panel { padding: 0.75rem 0.9rem; }

/* PD system email templates — status badge + intro */
.gp-pd-system-email-intro .gp-campaigns-note:last-child { margin-bottom: 0.5rem; }
.gp-pd-system-email-status {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.3;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	white-space: nowrap;
	margin-left: 0.5rem;
	vertical-align: middle;
	background: #2e9fa4;
	color: #fff;
}
.gp-pd-system-email-actions {
	margin-top: 0.25em;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
}
.gp-pd-system-email-actions .gp-pd-btn-primary,
.gp-pd-system-email-actions .gp-pd-btn-secondary {
	margin: 0;
}

.gp-pd-body {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	min-height: 60vh;
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
}
.gp-pd-scrim {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	z-index: 100000;
}
.gp-pd-sidebar {
	flex: 0 0 var(--gp-pd-sidebar-w);
	max-width: var(--gp-pd-sidebar-w);
	border-right: 1px solid #e0e0e0;
	background: #f8f9fb;
	box-sizing: border-box;
}
.gp-pd-sidebar-inner {
	padding: 1rem 0.75rem 1.5rem;
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 2.5rem);
}
.gp-pd-brand {
	font-weight: 700;
	font-size: 0.95rem;
	color: #1F3A5F;
	margin-bottom: 0.75rem;
	padding: 0 0.35rem;
}
.gp-pd-nav { display: flex; flex-direction: column; gap: 0.2rem; flex: 1 1 auto; }
#gp-tab-settings { margin-top: auto; }
#gp-tab-help { margin-top: 0.2rem; }
.gp-pd-nav-link.gp-pd-nav-logout {
	margin-top: 0.35rem;
	padding-top: 0.7rem;
	border-top: 1px solid #e5e7eb;
	border-radius: 0 0 6px 6px;
	color: #333;
}
.gp-pd-nav-link.gp-pd-nav-logout::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 17v1c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v1h-2V6H5v12h9v-1h2zm4.6-6-3.15-3.15L16.4 9 18.85 11.45H9v2h9.85L16.4 15.9l1.05 1.15L20.6 13.9c.4-.4.4-1 0-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 17v1c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v1h-2V6H5v12h9v-1h2zm4.6-6-3.15-3.15L16.4 9 18.85 11.45H9v2h9.85L16.4 15.9l1.05 1.15L20.6 13.9c.4-.4.4-1 0-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gp-pd-nav-link {
	display: block;
	padding: 0.45rem 0.6rem;
	border-radius: 6px;
	text-decoration: none !important;
	color: #333;
	font-size: 0.92rem;
	line-height: 1.35;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
.gp-pd-nav-ico {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	color: #6b7280;
}
.gp-pd-nav-ico svg {
	width: 18px;
	height: 18px;
	display: block;
	fill: currentColor;
}
.gp-pd-nav-text { display: inline-block; min-width: 0; }
.gp-pd-nav-link:hover,
.gp-pd-nav-link:focus { background: #eef1f5; color: #111; text-decoration: none !important; }
.gp-pd-nav-link.is-active {
	background: #fff;
	color: #1F3A5F;
	font-weight: 600;
	box-shadow: 0 0 0 1px #dbe3ea;
}
.gp-pd-nav-link.is-active .gp-pd-nav-ico { color: #1F3A5F; }

.gp-pd-main {
	flex: 1 1 0%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	width: auto !important;
	max-width: none !important;
}

/* Form controls: soft fill, grey border, comfortable padding (not native black chrome). */
.gp-pd-root input.gp-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="color"]):not([type="range"]),
.gp-pd-root select.gp-input:not([multiple]):not([size]),
.gp-pd-root textarea.gp-input {
	box-sizing: border-box;
	max-width: 100%;
	margin: 0;
	padding: 0.55em 0.75em;
	min-height: 2.65em;
	border: 1px solid #c5d0db;
	border-radius: 6px;
	background: #EFF4F9;
	color: #1F3A5F;
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	box-shadow: none;
	color-scheme: light;
	vertical-align: middle;
}
.gp-pd-root textarea.gp-input {
	min-height: 6em;
	resize: vertical;
	vertical-align: top;
}
.gp-pd-root select.gp-input:not([multiple]):not([size]) {
	cursor: pointer;
}
.gp-pd-root input[type="date"].gp-input,
.gp-pd-root input[type="datetime-local"].gp-input,
.gp-pd-root input[type="time"].gp-input {
	appearance: none;
	-webkit-appearance: none;
}
.gp-pd-root input[type="date"].gp-input::-webkit-calendar-picker-indicator,
.gp-pd-root input[type="datetime-local"].gp-input::-webkit-calendar-picker-indicator,
.gp-pd-root input[type="time"].gp-input::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 0.55;
	margin-left: 0.35em;
}
.gp-pd-root input.gp-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.gp-pd-root select.gp-input:not([multiple]):not([size]):focus,
.gp-pd-root textarea.gp-input:focus {
	border-color: #2e9fa4;
	outline: none;
	box-shadow: 0 0 0 3px rgba(46, 159, 164, 0.22);
}
.gp-pd-root input.gp-input:disabled,
.gp-pd-root select.gp-input:not([multiple]):not([size]):disabled,
.gp-pd-root textarea.gp-input:disabled {
	opacity: 0.72;
	cursor: not-allowed;
}
.gp-pd-root input.gp-input[readonly] {
	background: #e4ebf2;
	color: #4a5d73;
	cursor: default;
}
.gp-pd-root input.gp-pd-field-has-error,
.gp-pd-root select.gp-pd-field-has-error,
.gp-pd-root textarea.gp-pd-field-has-error {
	border-color: #b32d2e;
	box-shadow: 0 0 0 1px #b32d2e;
}
.gp-pd-root .gp-input.large-text,
.gp-pd-root textarea.large-text {
	width: 100%;
}
.gp-pd-root .gp-competition-create-form > p,
.gp-pd-root .gp-competition-edit-form > p {
	margin: 0.9em 0;
}
.gp-pd-root .gp-competition-create-form .gp-input,
.gp-pd-root .gp-competition-edit-form .gp-input {
	width: 100%;
	max-width: 100%;
	display: block;
}

/* Campaign Builder: empty-state note (info icon + bold text). */
.gp-pd-root .gp-cb-note.gp-cb-note--empty {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
	padding: 0.6em 0.75em;
	border-radius: 10px;
	background: rgba(231, 238, 246, 0.65);
	border: 1px solid rgba(31, 58, 95, 0.18);
}
.gp-pd-root .gp-cb-note.gp-cb-note--empty .gp-cb-note-icon {
	flex: 0 0 auto;
	font-size: 1.1em;
	line-height: 1.2;
	color: #1F3A5F;
	margin-top: 0.05em;
	font-weight: 900;
}
.gp-pd-root .gp-cb-note.gp-cb-note--empty strong {
	color: #1F3A5F;
}

/* Marketing + builder fields: same chrome even without .gp-input. */
.gp-pd-root .gp-pd-content input[type="text"],
.gp-pd-root .gp-pd-content input[type="email"],
.gp-pd-root .gp-pd-content input[type="url"],
.gp-pd-root .gp-pd-content input[type="number"],
.gp-pd-root .gp-pd-content input[type="search"],
.gp-pd-root .gp-pd-content input[type="tel"],
.gp-pd-root .gp-pd-content input[type="password"],
.gp-pd-root .gp-pd-content input[type="date"],
.gp-pd-root .gp-pd-content input[type="datetime-local"],
.gp-pd-root .gp-pd-content input[type="time"],
.gp-pd-root .gp-pd-content select:not([multiple]):not([size]),
.gp-pd-root .gp-pd-content textarea {
	box-sizing: border-box;
	max-width: 100%;
	padding: 0.55em 0.75em;
	min-height: 2.65em;
	border: 1px solid #c5d0db;
	border-radius: 6px;
	background: #EFF4F9;
	color: #1F3A5F;
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	box-shadow: none;
	color-scheme: light;
}
.gp-pd-root .gp-pd-content textarea {
	min-height: 6em;
	resize: vertical;
}
.gp-pd-root .gp-pd-content input[type="date"],
.gp-pd-root .gp-pd-content input[type="datetime-local"],
.gp-pd-root .gp-pd-content input[type="time"] {
	appearance: none;
	-webkit-appearance: none;
}
.gp-pd-root .gp-pd-content input[type="date"]::-webkit-calendar-picker-indicator,
.gp-pd-root .gp-pd-content input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.gp-pd-root .gp-pd-content input[type="time"]::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 0.55;
}
.gp-pd-root .gp-pd-content input[type="text"]:focus,
.gp-pd-root .gp-pd-content input[type="email"]:focus,
.gp-pd-root .gp-pd-content input[type="url"]:focus,
.gp-pd-root .gp-pd-content input[type="number"]:focus,
.gp-pd-root .gp-pd-content input[type="search"]:focus,
.gp-pd-root .gp-pd-content input[type="tel"]:focus,
.gp-pd-root .gp-pd-content input[type="password"]:focus,
.gp-pd-root .gp-pd-content input[type="date"]:focus,
.gp-pd-root .gp-pd-content input[type="datetime-local"]:focus,
.gp-pd-root .gp-pd-content input[type="time"]:focus,
.gp-pd-root .gp-pd-content select:not([multiple]):not([size]):focus,
.gp-pd-root .gp-pd-content textarea:focus {
	border-color: #2e9fa4;
	outline: none;
	box-shadow: 0 0 0 3px rgba(46, 159, 164, 0.22);
}

/* Campaign Builder: "Optional but recommended" inputs back to white. */
.gp-pd-root .gp-cb-optional-group input[type="text"],
.gp-pd-root .gp-cb-optional-group input[type="email"],
.gp-pd-root .gp-cb-optional-group input[type="url"],
.gp-pd-root .gp-cb-optional-group input[type="number"],
.gp-pd-root .gp-cb-optional-group input[type="search"],
.gp-pd-root .gp-cb-optional-group input[type="tel"],
.gp-pd-root .gp-cb-optional-group input[type="password"],
.gp-pd-root .gp-cb-optional-group input[type="date"],
.gp-pd-root .gp-cb-optional-group select,
.gp-pd-root .gp-cb-optional-group textarea {
	background: #fff;
}

/* Results → Entries/plays: soften table (tint, zebra, lighter borders). */
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table {
	background: #EFF4F9;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 10px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table th,
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table td {
	border-color: rgba(0,0,0,0.08);
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table thead th {
	background: #E7EEF6;
	color: #1F3A5F;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table tbody tr:nth-child(odd) td {
	background: #fff;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table tbody tr:nth-child(even) td {
	background: #F7FAFD;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table tbody tr:hover td {
	background: rgba(31,58,95,0.06);
}

/* Results → Summary: stacked cards on phones (do not reuse Competitions --v2). */
@media (max-width: 782px) {
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table {
		table-layout: auto;
		width: 100%;
		max-width: 100%;
		border: none;
		background: transparent;
		overflow: visible;
		border-radius: 0;
		margin: 0.5em 0;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table thead {
		display: none;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tbody {
		display: block;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tr.gp-pd-summary-row {
		display: flex;
		flex-direction: column;
		margin: 0 0 0.85rem;
		padding: 0.75rem 0.85rem;
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
		box-sizing: border-box;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tr.gp-pd-summary-row td {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0.4rem 0;
		border: none;
		background: transparent;
		text-align: left;
		white-space: normal;
		overflow-wrap: anywhere;
		box-sizing: border-box;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tr.gp-pd-summary-row td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.68rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #666;
		margin-bottom: 0.25rem;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table td.gp-pd-summary-col-comp {
		order: -1;
		padding-top: 0;
		padding-bottom: 0.55rem;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table td.gp-pd-summary-col-comp::before {
		display: none;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tbody tr:nth-child(odd) td,
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tbody tr:nth-child(even) td,
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-summary-table tbody tr:hover td {
		background: transparent;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-comp-link {
		font-size: 1.02rem;
		font-weight: 700;
	}
}

/* Entries/plays limit links: secondary “outline chips” (distinct from primary teal filters). */
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-filter {
	margin: 0;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-label {
	margin-right: 6px;
	color: rgba(0,0,0,0.65);
	font-weight: 600;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(31, 58, 95, 0.22);
	background: #fff;
	color: #1F3A5F;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.2;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-link:hover,
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-link:focus {
	background: rgba(31, 58, 95, 0.06);
	color: #1F3A5F;
	border-color: rgba(31, 58, 95, 0.35);
	text-decoration: none !important;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid #1F3A5F;
	background: #1F3A5F;
	color: #fff;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 1.2;
}

/* Competitions list + Add Competition “Your competitions”: shared table frame (Results-style). */
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table {
	background: #EFF4F9;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 10px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}
/* v2 list: allow “More” menu to expand outside the table frame (no clip). */
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table--v2 {
	overflow: visible;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-list-wrap {
	overflow: visible;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table th,
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table td,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table th,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table td {
	border-color: rgba(0, 0, 0, 0.08);
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table thead th,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table thead th {
	background: #E7EEF6;
	color: #1F3A5F;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table tbody tr td,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table tbody tr td {
	background: transparent;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table tbody tr:hover td,
.gp-pd-root #gp-tab-panel-add-competition .gp-section-add-competition .gp-pd-comp-table tbody tr:hover td {
	background: rgba(31, 58, 95, 0.06);
}

/* More → Entries: wide tables scroll inside the Competitions panel (avoid page spill on mobile). */
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-view {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: flex-end;
	margin: 0.75em 0 0.25em;
	max-width: 100%;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-search .gp-input {
	min-width: min(16rem, 100%);
	flex: 1 1 12rem;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-clear {
	align-self: center;
	font-size: 0.92em;
}
.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table .gp-pd-entries-id {
	white-space: nowrap;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35em;
}
/* Entry detail modal: gp-pd-root hides .gp-pd-modal unless .is-open (image picker pattern). */
.gp-pd-root .gp-pd-entry-detail-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100001;
	padding: 16px;
	align-items: center;
	justify-content: center;
}
.gp-pd-root .gp-pd-entry-detail-modal.is-open {
	display: flex;
}
.gp-pd-entry-detail-modal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
}
.gp-pd-entry-detail-modal .gp-pd-entry-detail-panel {
	max-width: min(640px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	overflow: auto;
}
/* Entry detail modal is appended to body (outside .gp-pd-root) — full teal primary Close. */
.gp-pd-entry-detail-modal .gp-pd-modal__actions .gp-pd-entry-detail-close-btn,
.gp-pd-entry-detail-modal .gp-pd-modal__actions .button.gp-pd-btn-primary,
.gp-pd-entry-detail-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0.5em 1em !important;
	font-weight: 600 !important;
	font-size: 1em !important;
	line-height: 1.4 !important;
	background: #2E9FA4 !important;
	border: 1px solid #2E9FA4 !important;
	border-radius: 3px !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.gp-pd-entry-detail-modal .gp-pd-modal__actions .gp-pd-entry-detail-close-btn:hover,
.gp-pd-entry-detail-modal .gp-pd-modal__actions .gp-pd-entry-detail-close-btn:focus,
.gp-pd-entry-detail-modal .gp-pd-modal__actions .button.gp-pd-btn-primary:hover,
.gp-pd-entry-detail-modal .gp-pd-modal__actions .button.gp-pd-btn-primary:focus,
.gp-pd-entry-detail-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary:hover,
.gp-pd-entry-detail-modal .gp-pd-modal__actions button.gp-button.gp-pd-btn-primary:focus {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
	text-decoration: none !important;
}
.gp-pd-entry-detail-modal .gp-pd-entry-detail-body {
	margin: 0 0 0.5em;
}
.gp-pd-entry-detail-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}
.gp-pd-entry-detail-table th {
	width: 38%;
	font-weight: 600;
	text-align: left;
	vertical-align: top;
	padding: 0.45em 0.65em 0.45em 0;
	color: #444;
}
.gp-pd-entry-detail-table td {
	padding: 0.45em 0;
	color: #222;
	word-break: break-word;
}
.gp-pd-entry-detail-table tr:nth-child(even) th,
.gp-pd-entry-detail-table tr:nth-child(even) td {
	background: rgba(0, 0, 0, 0.03);
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-entry-detail-trigger.gp-pd-btn-secondary {
	font-size: 0.88rem;
	padding: 3px 10px !important;
	line-height: 1.35 !important;
	min-height: 0;
	white-space: nowrap;
}
.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-entries-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	margin: 0.65em 0 0;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	background: #eff4f9;
}
.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table {
	margin: 0;
	min-width: 38rem;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: none;
	background: transparent;
	box-sizing: border-box;
}
.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table th,
.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table td {
	word-break: break-word;
	overflow-wrap: anywhere;
}
@media (max-width: 782px) {
	.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table th,
	.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table td {
		padding: 0.38em 0.55em;
		font-size: 0.88em;
	}
	.gp-pd-root #gp-tab-panel-competitions table.gp-pd-comp-entries-table thead th {
		white-space: nowrap;
	}
}

/* Competitions list: Limit row — secondary outline chips (distinct from primary teal status filters). */
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-filter {
	margin: 0;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-label {
	margin-right: 6px;
	color: rgba(0, 0, 0, 0.65);
	font-weight: 600;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(31, 58, 95, 0.22);
	background: #fff;
	color: #1F3A5F;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.2;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-link:hover,
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-link:focus {
	background: rgba(31, 58, 95, 0.06);
	color: #1F3A5F;
	border-color: rgba(31, 58, 95, 0.35);
	text-decoration: none !important;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid #1F3A5F;
	background: #1F3A5F;
	color: #fff;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 1.2;
}

/* Marketing: competition selector row. */
.gp-pd-root .gp-mkt-comp-picker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 0 0 14px 0;
	padding: 10px 12px;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 10px;
	background: #fff;
}
.gp-pd-root .gp-mkt-comp-label {
	font-weight: 600;
	color: #1F3A5F;
}
.gp-pd-root .gp-mkt-comp-picker select.gp-input {
	min-width: min(520px, 100%);
}
.gp-pd-root .gp-mkt-comp-toggle {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.gp-pd-root .gp-mkt-comp-toggle-current {
	color: rgba(0,0,0,0.65);
	font-weight: 600;
}

/* Marketing: empty-state notice (soft amber, not error-red). */
.gp-pd-root .gp-mkt-empty-note {
	background: #fff4e5;
	color: #8a4b00;
	border: 1px solid #f0b849;
	border-radius: 10px;
	padding: 10px 12px;
}

@media (max-width: 782px) {
	.gp-pd-root .gp-mkt-empty-note {
		text-align: center;
	}
	.gp-pd-root .gp-mkt-empty-note .gp-pd-subnav-link {
		display: inline-flex;
		margin: 10px auto 0;
	}
}
.gp-pd-topbar {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: var(--gp-pd-topbar-h);
	padding: 0.35rem 0.75rem;
	border-bottom: 1px solid #e8e8e8;
	background: #fff;
}
.gp-pd-topbar-lead {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1 1 auto;
	min-width: 0;
}
.gp-pd-menu-toggle {
	display: none;
	padding: 0.4rem 0.65rem;
	font-size: 0.9rem;
	border: 1px solid #2E9FA4;
	border-radius: 4px;
	background: #2E9FA4;
	color: #fff;
	cursor: pointer;
}
.gp-pd-menu-toggle:hover,
.gp-pd-menu-toggle:focus,
.gp-pd-menu-toggle:active,
.gp-pd-menu-toggle:focus-visible {
	background: #1F3A5F;
	border-color: #1F3A5F;
	color: #fff;
}
.gp-pd-page-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 600;
	flex: 1 1 auto;
}
.gp-pd-topbar-actions {
	margin-left: auto;
	flex: 0 0 auto;
	font-size: 0.88rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem;
}
.gp-pd-lang {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.gp-pd-lang-sep {
	color: #bbb;
	font-weight: 400;
}
.gp-pd-lang-item {
	color: #555;
	text-decoration: none;
}
a.gp-pd-lang-item:hover,
a.gp-pd-lang-item:focus {
	color: #2E9FA4;
}
.gp-pd-lang-item.is-active {
	color: #1F3A5F;
}
.gp-pd-stripe-link,
.gp-pd-stripe-link:hover,
.gp-pd-stripe-link:focus,
.gp-pd-stripe-link:active,
.gp-pd-stripe-link:visited {
	color: #533BFD !important;
	text-decoration: none !important;
}
.gp-pd-stripe-link:hover,
.gp-pd-stripe-link:focus {
	text-decoration: none !important;
	filter: brightness(0.95);
}

/* Stripe Dashboard external link button */
.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn {
	background: #533BFD !important;
	border-color: #533BFD !important;
	color: #fff !important;
}
.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn:visited,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn:visited {
	color: #fff !important;
}
.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn:active,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn:active {
	background: #533BFD !important;
	border-color: #533BFD !important;
	color: #fff !important;
}
.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn:hover,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn:hover,
.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn:focus-visible,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn:focus-visible {
	background: #fff !important;
	border-color: #533BFD !important;
	color: #533BFD !important;
	text-decoration: none !important;
}

.gp-campaigns-front a.gp-button.gp-pd-stripe-dashboard-btn:focus,
.gp-campaigns-detail a.gp-button.gp-pd-stripe-dashboard-btn:focus {
	background: #533BFD !important;
	border-color: #533BFD !important;
	color: #fff !important;
	outline: 2px solid rgba(83, 59, 253, 0.35);
	outline-offset: 2px;
}
.gp-pd-content {
	padding: 0.75rem 1rem 2rem;
	background: #fff;
	flex: 1 1 auto;
	width: 100% !important;
	min-width: 0;
}
.gp-pd-content { box-sizing: border-box; }

/* Keep the content column width visually consistent across sections. */
.gp-pd-content .gp-campaigns-tab-panel {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.gp-pd-subnav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #eee;
}
.gp-pd-subnav-link {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	text-decoration: none !important;
	font-size: 0.88rem;
	color: #fff;
	background: #2E9FA4;
	border: 1px solid #2E9FA4;
}
.gp-pd-subnav-link:hover,
.gp-pd-subnav-link:focus { background: #fff; color: #2E9FA4; text-decoration: none !important; }
.gp-pd-subnav-link.is-active {
	background: #1F3A5F;
	color: #fff;
	border-color: #1F3A5F;
	font-weight: 600;
}
.gp-pd-overview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.75rem;
	margin: 0.5em 0 1em;
}
.gp-pd-kpi {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 0.65rem 0.6rem;
	background: #fafafa;
	text-align: center;
}
.gp-pd-kpi--accent { border-color: #c9d6ea; background: #f3f7ff; }
.gp-pd-kpi-value { font-size: 1.35rem; font-weight: 700; color: #1F3A5F; line-height: 1.2; }
.gp-pd-kpi-label { font-size: 0.78rem; color: #555; margin: 0.25rem 0; line-height: 1.25; }
.gp-pd-kpi-link {
	display: inline-block;
	margin-top: 0.15rem;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	border: 1px solid rgba(31, 58, 95, 0.28);
	background: #fff;
	color: #1F3A5F;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.25;
}
.gp-pd-kpi-link:hover {
	background: #1F3A5F;
	border-color: #1F3A5F;
	color: #fff;
	text-decoration: none !important;
}
.gp-pd-kpi-link:focus {
	outline: 2px solid rgba(46, 159, 164, 0.7);
	outline-offset: 2px;
	text-decoration: none !important;
}
.gp-pd-stripe-cta { margin-top: 0.75em; }
.gp-pd-hint { margin-top: 0.25em; }
.gp-pd-settings-stripe-cta,
.gp-pd-settings-stripe-linked { margin: 0.5em 0 0.75em; }
.gp-pd-comp-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	align-items: center;
}

/* Competitions: chips + game dropdown on one line (desktop). */
.gp-pd-root .gp-pd-comp-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 0 0 0.85em;
}

/* Competitions: on tablets, center the chips + game dropdown as one tool row (List size row is centered below). */
@media (max-width: 1024px) and (min-width: 783px) {
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-filter-bar {
		justify-content: center;
		text-align: center;
		margin-bottom: 1.1em;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-filter {
		justify-content: center;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-game-filter {
		justify-content: center;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-game-filter select.gp-input {
		max-width: min(420px, 100%);
		width: min(420px, 100%);
	}

	/* Competitions: center the “List size” row on tablets. */
	.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-campaigns-limit-filter {
		text-align: center;
	}

	/* Results → Entries: center the “List size” row on tablets. */
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-limit-filter {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	/* Results → Entries: center the tools row (game dropdown + list size) on tablets. */
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-tools {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 10px;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-game-filter {
		justify-content: center;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-game-filter select.gp-input {
		width: min(420px, 100%);
		max-width: min(420px, 100%);
	}
}

/* Competitions: game-type dropdown filter (compact, in the same tool row). */
.gp-pd-root .gp-pd-comp-game-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.gp-pd-root .gp-pd-comp-game-filter select.gp-input {
	min-width: 140px;
	max-width: 180px;
	min-height: 0;
	font-size: 0.9rem;
	padding: 0.35em 0.5em;
}

/* Results → Entries: game dropdown + list size controls on one row (desktop). */
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px 12px;
	margin: 0 0 0.85em;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-game-filter {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.5rem 0.75rem;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-date-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.5rem 0.75rem;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-date-filter label {
	display: flex;
	flex-direction: column;
	gap: 0.2em;
	font-size: 0.82rem;
	color: #1F3A5F;
	font-weight: 600;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-date-filter input[type="date"].gp-input {
	min-width: 9.5rem;
}
.gp-pd-root .gp-section-entries a.gp-pd-entries-comp-link {
	color: #2E9FA4;
	font-weight: 600;
	text-decoration: none;
}
.gp-pd-root .gp-section-entries a.gp-pd-entries-comp-link:hover,
.gp-pd-root .gp-section-entries a.gp-pd-entries-comp-link:focus {
	color: #1F3A5F;
	text-decoration: underline;
}
.gp-pd-entries-sublinks {
	display: block;
	margin-top: 0.2em;
	font-size: 0.82rem;
	font-weight: 400;
}
.gp-pd-root .gp-section-entries .gp-pd-entries-sublinks a {
	color: #2E9FA4;
	text-decoration: none;
}
.gp-pd-root .gp-section-entries .gp-pd-entries-sublinks a:hover,
.gp-pd-root .gp-section-entries .gp-pd-entries-sublinks a:focus {
	color: #1F3A5F;
	text-decoration: underline;
}
.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-pd-entries-tools .gp-campaigns-limit-filter {
	border-top: 0;
	padding-top: 0;
	margin: 0;
}
.gp-pd-comp-filter-chip {
	display: inline-block;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	font-size: 0.82rem;
	text-decoration: none !important;
	color: #fff;
	background: #2E9FA4;
	border: 1px solid #2E9FA4;
}
.gp-pd-comp-filter-chip:hover,
.gp-pd-comp-filter-chip:focus { background: #fff; border-color: #2E9FA4; color: #2E9FA4; text-decoration: none !important; }
.gp-pd-comp-filter-chip.is-active {
	background: #1F3A5F;
	color: #fff;
	border-color: #1F3A5F;
	font-weight: 600;
	pointer-events: none;
}
.gp-pd-comp-filter-chip .gp-pd-comp-filter-count {
	display: inline-block;
	min-width: 1.15em;
	margin-left: 0.2em;
	padding: 0 0.28em;
	border-radius: 999px;
	font-size: 0.78em;
	font-weight: 700;
	line-height: 1.35;
	vertical-align: baseline;
	background: rgba(255, 255, 255, 0.22);
	color: inherit;
}
.gp-pd-comp-filter-chip:hover .gp-pd-comp-filter-count,
.gp-pd-comp-filter-chip:focus .gp-pd-comp-filter-count {
	background: rgba(46, 159, 164, 0.14);
}
.gp-pd-comp-filter-chip.is-active .gp-pd-comp-filter-count {
	background: rgba(255, 255, 255, 0.2);
}
.gp-pd-comp-filter-chip.has-attention:not(.is-active) {
	background: #1F3A5F;
	border-color: #1F3A5F;
}
.gp-pd-comp-filter-chip.has-attention:not(.is-active):hover,
.gp-pd-comp-filter-chip.has-attention:not(.is-active):focus {
	background: #fff;
	border-color: #1F3A5F;
	color: #1F3A5F;
}
.gp-pd-comp-filter-chip.has-attention:not(.is-active):hover .gp-pd-comp-filter-count,
.gp-pd-comp-filter-chip.has-attention:not(.is-active):focus .gp-pd-comp-filter-count {
	background: rgba(31, 58, 95, 0.12);
}

/* Competitions: LIST → DETAIL → WORKSPACE */
.gp-pd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gp-pd-comp-table th,
.gp-pd-comp-table td { vertical-align: top; }
.gp-pd-comp-table--v2 .gp-pd-comp-col-name { width: 38%; }
.gp-pd-comp-table--v2 .gp-pd-comp-col-lifecycle { width: 24%; }
.gp-pd-comp-table--v2 .gp-pd-comp-col-dates { width: 16%; white-space: nowrap; }
.gp-pd-comp-table--v2 .gp-pd-comp-col-actions { width: 22%; }
.gp-pd-comp-link {
	display: inline-block;
	max-width: 100%;
	color: #2E9FA4;
	font-weight: 600;
	text-decoration: none !important;
	transition: color 0.15s ease;
}
.gp-pd-comp-link:visited {
	color: #2E9FA4;
	text-decoration: none !important;
}
.gp-pd-comp-link:hover,
.gp-pd-comp-link:focus {
	color: #1F3A5F;
	text-decoration: none !important;
}
.gp-pd-comp-link:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.55);
	outline-offset: 2px;
}
.gp-pd-comp-link strong {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: inherit;
	font-weight: 700;
}
.gp-pd-comp-link strong::after {
	content: " \203A";
	font-weight: 600;
	opacity: 0.9;
}
.gp-pd-comp-name-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin-top: 0.32rem;
}
.gp-pd-comp-game-badge {
	display: inline-block;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	background: #e7eef6;
	color: #1F3A5F;
	border: 1px solid #c5d4ef;
	line-height: 1.25;
}
.gp-pd-comp-mode-badge {
	display: inline-block;
	padding: 0.12rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.gp-pd-comp-mode-badge--practice {
	background: #2563eb;
	color: #ffffff;
	border: 1px solid #1d4ed8;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
}
.gp-pd-comp-mode-badge--demo {
	background: #9333ea;
	color: #ffffff;
	border: 1px solid #7e22ce;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}
.gp-pd-comp-detail-meta .gp-pd-comp-mode-badge {
	margin-right: 0.35rem;
}
.gp-pd-comp-target-pct {
	display: inline-flex;
	align-items: baseline;
	gap: 0.2rem;
	font-size: 0.78rem;
	color: #555;
}
.gp-pd-comp-target-label {
	font-weight: 600;
	color: #666;
}
.gp-pd-comp-meta {
	margin-top: 0.35rem;
	font-size: 0.82rem;
	color: #555;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
}
.gp-pd-comp-meta-entries { font-weight: 600; color: #333; }
.gp-pd-comp-meta-sep { color: #999; font-weight: 400; }
.gp-pd-root .gp-pd-comp-entries-link {
	color: #2E9FA4;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-comp-entries-link:hover,
.gp-pd-root .gp-pd-comp-entries-link:focus {
	color: #1F3A5F;
	text-decoration: underline !important;
}
.gp-pd-root .gp-pd-link-teal {
	color: #2E9FA4;
	font-weight: 600;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-link-teal:hover,
.gp-pd-root .gp-pd-link-teal:focus {
	color: #1F3A5F;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-link-teal:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.45);
	outline-offset: 2px;
	border-radius: 2px;
}
.gp-pd-root .gp-pd-comp-entries-link:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.45);
	outline-offset: 2px;
	border-radius: 2px;
}
.gp-pd-comp-results-chip--link { text-decoration: none !important; }
.gp-pd-comp-sub { color: #666; font-size: 0.82rem; }

.gp-pd-status-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
	border: 1px solid #dbe3ea;
	background: #f6f8fb;
	color: #1F3A5F;
	white-space: nowrap;
}
.gp-pd-status--draft { background:#f5f5f5; color:#333; border-color:#ddd; }
.gp-pd-status--submitted { background:#fff4e5; color:#8a4b00; border-color:#f0b849; }
.gp-pd-status--approved { background:#e8f5e9; color:#1b5e20; border-color:#a5d6a7; }
.gp-pd-status--live { background:#e6f3f4; color:#1F3A5F; border-color:#b8d9dc; }
.gp-pd-status--closed { background:#fde7e9; color:#7a1d1d; border-color:#f3b3bb; }
.gp-pd-status--archived { background:#eee; color:#444; border-color:#ddd; }
.gp-pd-status--rejected { background:#fde7e9; color:#7a1d1d; border-color:#f3b3bb; }
.gp-pd-status--scheduled { background:#e8eef8; color:#1a3a6e; border-color:#c5d4ef; }
.gp-pd-status--open { background:#e3f4f5; color:#0d5c61; border-color:#9fd9dc; }
.gp-pd-status--entries_closed { background:#fde7e9; color:#7a1d1d; border-color:#f3b3bb; }
.gp-pd-status--ended { background:#f3f3f3; color:#444; border-color:#ddd; }
.gp-pd-comp-entries-closed-chip { margin-left: 0.35em; }
.gp-pd-terms-certification-wrap { margin-top: 0.35em; }
.gp-pd-terms-certification-wrap .gp-pd-terms-read-link-wrap {
	display: block;
	margin: 0 0 0.45em 0;
}
.gp-pd-terms-certification-wrap .gp-pd-terms-read-link-hint {
	display: block;
	margin: 0 0 0.45em 0;
}
.gp-pd-terms-certification-wrap .gp-pd-terms-certify-label {
	display: block;
	margin: 0;
}
.gp-pd-root .gp-pd-terms-certification-wrap a.gp-pd-terms-read-link {
	font-weight: 700;
	color: #2e9fa4 !important;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
}
.gp-pd-root .gp-pd-terms-certification-wrap a.gp-pd-terms-read-link:hover,
.gp-pd-root .gp-pd-terms-certification-wrap a.gp-pd-terms-read-link:focus {
	color: #269094 !important;
	text-decoration: none !important;
}
.gp-pd-terms-certification-wrap .gp-pd-terms-read-link-wrap.is-hidden,
.gp-pd-terms-certification-wrap .gp-pd-terms-read-link-hint.is-hidden {
	display: none;
}
.gp-pd-comp-overview-entries-control { margin: 1.25em 0 0; padding: 1em 1.1em; border: 1px solid #e8e8e8; border-radius: 8px; background: #fafafa; }
.gp-pd-comp-overview-entries-control textarea { width: 100%; max-width: 36em; }
.gp-pd-status--upcoming { background:#fff8e6; color:#6a4b00; border-color:#f0d090; }
.gp-pd-status--record { background:#fafafa; color:#999; border-color:#eaeaea; font-weight: 500; }

.gp-pd-comp-lifecycle,
.gp-pd-partner-status {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
}
.gp-pd-comp-lifecycle .gp-pd-status-badge,
.gp-pd-partner-status .gp-pd-status-badge {
	margin: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: top;
}
.gp-pd-partner-status-secondary {
	display: block;
	color: #5c6b7a;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.35;
	max-width: 100%;
}
.gp-pd-basics-status-card .gp-pd-partner-status {
	margin-top: 0.35rem;
}
.gp-pd-your-competitions-table .gp-pd-partner-status {
	min-width: 9.5rem;
}
.gp-pd-comp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: flex-start;
}
.gp-pd-comp-actions-stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	width: 100%;
	min-width: 0;
}
.gp-pd-comp-more {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
}
.gp-pd-comp-more-summary {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	cursor: pointer;
}
.gp-pd-comp-more-summary::-webkit-details-marker {
	display: none;
}
.gp-pd-comp-more-summary::marker {
	content: "";
}
.gp-pd-comp-more-toggle {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}
.gp-pd-comp-more-panel {
	display: none;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: 0.35rem;
	padding: 0.5rem;
	min-width: 10.5rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
details.gp-pd-comp-more[open] > .gp-pd-comp-more-panel {
	display: flex;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-table--v2 tbody tr td {
	overflow: visible;
}
.gp-pd-root #gp-tab-panel-competitions .gp-section-competitions .gp-pd-comp-col-actions {
	overflow: visible;
	vertical-align: top;
}
/* Tablet + desktop: stacked equal-width primary actions (split-screen safe). */
@media (min-width: 783px) {
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-actions-stack {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0.35rem;
		width: min(10.75rem, 100%);
		max-width: 100%;
		min-width: 0;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-actions-stack > .gp-pd-comp-action-btn,
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-actions-stack > .gp-mail-results-btn.gp-pd-comp-action-btn,
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-actions-stack > .gp-pd-comp-more {
		width: 100%;
		min-width: 0;
		justify-self: stretch;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-more,
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-more-summary {
		display: block;
		width: 100%;
		min-width: 0;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-action-btn {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0.35rem 0.65rem !important;
		font-size: 0.82rem !important;
		line-height: 1.35 !important;
		min-height: 2.125rem !important;
		text-align: center;
		box-sizing: border-box !important;
	}
	/* Open More menu must paint above the next row (esp. its More control). */
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-col-actions:has(.gp-pd-comp-more[open]) {
		position: relative;
		z-index: 5;
	}
	.gp-pd-root #gp-tab-panel-competitions details.gp-pd-comp-more[open] > .gp-pd-comp-more-panel {
		z-index: 6;
	}
}
/* Tablet only: float the More menu so it does not stretch the table row. */
@media (min-width: 783px) and (max-width: 1024px) {
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-more-panel {
		position: absolute;
		right: 0;
		top: calc(100% + 2px);
		width: auto;
		min-width: 10.5rem;
		max-width: min(16rem, 90vw);
	}
}
/* Wide desktop: expand More submenu inline below the row actions. */
@media (min-width: 1025px) {
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-more-panel {
		position: static;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		grid-column: 1 / -1;
	}
}
.gp-pd-comp-more-panel .gp-pd-comp-act,
.gp-pd-comp-more-panel .button {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
.gp-pd-comp-more-form {
	display: block;
	margin: 0;
	width: 100%;
}
.gp-pd-comp-inline-form {
	display: inline;
	margin: 0;
}
.gp-pd-comp-act {
	padding: 0.2rem 0.5rem !important;
	font-size: 0.72rem !important;
	line-height: 1.3 !important;
	min-height: 0 !important;
}
.gp-pd-comp-name-meta-row .gp-pd-pct-mini { font-weight: 700; color: #1F3A5F; font-size: 0.78rem; }

/* Competitions list v2: stacked cards on phones. */
@media (max-width: 782px) {
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-list-wrap {
		overflow-x: visible;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 {
		table-layout: auto;
		border: none;
		background: transparent;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 thead {
		display: none;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 tbody {
		display: block;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 tr.gp-pd-comp-row {
		display: block;
		margin: 0 0 0.85rem;
		padding: 0.75rem 0.85rem;
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 tr.gp-pd-comp-row td {
		display: block;
		width: 100%;
		padding: 0.4rem 0;
		border: none;
		background: transparent;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 tr.gp-pd-comp-row td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.68rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #666;
		margin-bottom: 0.25rem;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table--v2 td.gp-pd-comp-col-name::before {
		display: none;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-link {
		font-size: 1.02rem;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-link strong {
		white-space: normal;
		font-size: inherit;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-actions-stack {
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-action-btn {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		min-height: 44px;
		text-align: center;
		font-size: 0.88rem !important;
		padding: 0.45rem 0.65rem !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-more-panel {
		position: static;
		min-width: 0;
		width: 100%;
		box-shadow: none;
		border: 1px solid #e0e6ed;
	}
}

/* Competition detail: back navigation (no default blue underline). */
.gp-pd-root .gp-pd-back-link {
	color: #2E9FA4;
	font-weight: 600;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-back-link:hover,
.gp-pd-root .gp-pd-back-link:focus {
	color: #1F3A5F;
	text-decoration: none !important;
}
.gp-pd-root .gp-pd-back-link:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.45);
	outline-offset: 2px;
}

.gp-pd-root .gp-pd-comp-sub-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.gp-pd-root .gp-pd-comp-sub--actions {
	flex: 0 0 auto;
}
.gp-pd-root .gp-pd-restore-btn {
	padding: 2px 8px !important;
	font-size: 0.78rem !important;
	line-height: 1.2 !important;
	margin-top: 0 !important;
}

.gp-pd-comp-detail { border: 1px solid #eee; border-radius: 10px; padding: 0.85rem 0.9rem; background: #fff; }
.gp-pd-comp-detail-header { display: flex; gap: 0.75rem; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.gp-pd-comp-detail-meta { margin-top: 0.35rem; display: flex; gap: 0.5rem; align-items: flex-start; flex-wrap: wrap; color: #555; }
.gp-pd-comp-detail-dates { font-size: 0.88rem; }
.gp-pd-detail-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.85rem 0 0.75rem; }
.gp-pd-detail-tab {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	text-decoration: none !important;
	font-size: 0.88rem;
	color: #fff;
	background: #2E9FA4;
	border: 1px solid #2E9FA4;
}
.gp-pd-detail-tab:hover,
.gp-pd-detail-tab:focus { background: #fff; color: #2E9FA4; text-decoration: none !important; }
.gp-pd-detail-tab.is-active { background: #1F3A5F; color: #fff; border-color: #1F3A5F; }
.gp-pd-detail-panel { border-top: 1px solid #eee; padding-top: 0.85rem; }
.gp-pd-comp-overview-lede { margin-bottom: 0.85em !important; }
.gp-pd-comp-overview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
	gap: 0.65rem;
	margin: 0 0 1.1rem;
}
.gp-pd-comp-overview-stat {
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 0.55rem 0.6rem;
	background: #fafafa;
}
.gp-pd-comp-overview-stat-label,
.gp-pd-root h4.gp-pd-comp-overview-stat-label {
	display: block;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #666 !important;
	margin-bottom: 0.2rem;
	line-height: 1.35;
}
.gp-pd-comp-overview-next > h4.gp-pd-comp-overview-stat-label {
	margin: 0 0 0.85em;
}
.gp-pd-comp-overview-stat-value {
	display: block;
	font-size: 0.92rem;
	color: #222;
	line-height: 1.35;
}
.gp-pd-comp-overview-stat-value--page {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.35rem;
}
.gp-pd-comp-overview-page-text {
	color: #222;
}
.gp-pd-comp-overview-inline-link {
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none !important;
	color: #2E9FA4;
}
.gp-pd-comp-overview-inline-link:hover,
.gp-pd-comp-overview-inline-link:focus {
	color: #1F3A5F;
	text-decoration: underline !important;
}
.gp-pd-comp-overview-copy-btn {
	border: none;
	background: none;
	padding: 0;
	cursor: pointer;
	font: inherit;
}
.gp-pd-comp-overview-copy-btn.is-copied {
	color: #1F3A5F;
}
.gp-pd-root .gp-pd-comp-overview-heading {
	margin: 0 0 0.45em;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.35;
}
.gp-pd-comp-overview-next {
	margin: 0 0 1.1rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid #d6e4f5;
	border-radius: 8px;
	background: #f6f9fd;
}
.gp-pd-comp-overview-status {
	margin: 0;
	line-height: 1.45;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
}
.gp-pd-comp-overview-status .gp-pd-status-badge {
	flex-shrink: 0;
}
.gp-pd-comp-overview-status-detail,
.gp-pd-comp-overview-status .gp-pd-partner-status-secondary {
	color: #5c6b7a;
	font-size: 0.88rem;
	line-height: 1.4;
}
.gp-pd-comp-overview-judging,
.gp-pd-comp-overview-prize,
.gp-pd-comp-overview-fundraising {
	margin: 0 0 1.1rem;
}
.gp-pd-comp-export-block {
	margin: 0 0 1.25rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid #eee;
}
.gp-pd-comp-export-block:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.gp-pd-comp-overview-excerpt { line-height: 1.45; }
.gp-pd-danger { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px dashed #eee; }

/* Match `.gp-pd-page-title` (top bar “Competitions”); scope + !important beats theme `h4`. */
.gp-pd-root .gp-pd-comp-detail h4.gp-pd-archive-heading {
	margin: 1.25em 0 0.35em;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	line-height: 1.35;
	color: inherit;
}
.gp-pd-root .gp-pd-archive-hint {
	margin: 0 0 0.65em;
}
@media (max-width: 782px) {
	.gp-pd-menu-toggle { display: inline-block; }
	.gp-pd-topbar {
		align-items: flex-start;
	}
	.gp-pd-topbar-lead {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.2rem;
	}
	.gp-pd-page-title {
		flex: 0 1 auto;
		line-height: 1.25;
	}
	.gp-pd-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(88vw, 280px);
		max-width: none;
		z-index: 100001;
		transform: translateX(-102%);
		transition: transform 0.2s ease;
		box-shadow: 2px 0 12px rgba(0, 0, 0, 0.12);
		overflow: hidden;
	}
	.gp-pd-sidebar-inner {
		position: static;
		min-height: 100%;
		height: 100%;
	}
	/* Make the menu list scroll within the drawer, while keeping Settings/Help pinned at bottom. */
	.gp-pd-nav { overflow-y: auto; -webkit-overflow-scrolling: touch; }
	.gp-pd-root.gp-pd-sidebar-open .gp-pd-sidebar { transform: translateX(0); }
	.gp-pd-root.gp-pd-sidebar-open .gp-pd-scrim { display: block; }
}

.gp-pd-admin-viewing-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5em 1em;
	margin: 0;
	padding: 0.65em 1em;
	background: #f0f6fc;
	border: 1px solid #c5d9ed;
	border-radius: 4px;
	font-size: 0.95em;
}
.gp-pd-shell > .gp-pd-admin-viewing-banner {
	border-radius: 0;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	scroll-margin-top: 12px;
}
.gp-pd-admin-viewing-banner .gp-pd-admin-change-partner {
	font-weight: 600;
	color: #2E9FA4 !important;
	text-decoration: none !important;
}
.gp-pd-admin-viewing-banner .gp-pd-admin-change-partner:visited {
	color: #2E9FA4 !important;
}
.gp-pd-admin-viewing-banner .gp-pd-admin-change-partner:hover,
.gp-pd-admin-viewing-banner .gp-pd-admin-change-partner:focus {
	color: #1F3A5F !important;
	text-decoration: none !important;
}
.gp-pd-admin-viewing-banner .gp-pd-admin-change-partner:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.45);
	outline-offset: 2px;
}
.gp-pd-admin-selector {
	max-width: 36rem !important;
	width: auto;
	margin: 1.5em auto;
	padding: 1.25em 1.5em;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 10px;
	box-sizing: border-box;
}
.gp-pd-admin-selector-title {
	margin-top: 0;
}
/* Rounded chrome on a wrapper — theme/WebKit often blocks border-radius on <input> itself. */
.gp-pd-admin-selector-field-wrap {
	display: inline-block;
	vertical-align: middle;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: #EFF4F9;
	box-sizing: border-box;
}
.gp-pd-admin-selector-field-wrap:focus-within {
	border-color: #2E9FA4;
	box-shadow: 0 0 0 1px #2E9FA4;
}
.gp-pd-admin-selector-field-wrap--search {
	width: min(100%, 24rem);
	max-width: 100%;
}
.gp-pd-admin-selector-field-wrap--id {
	width: 6rem;
}
.gp-pd-admin-selector-field-wrap .gp-pd-admin-selector-field {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.45em 0.65em;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
}
.gp-pd-admin-selector .gp-button.gp-pd-btn-primary,
.gp-pd-admin-selector button.gp-button.gp-pd-btn-primary {
	background: #2E9FA4 !important;
	border: 1px solid #2E9FA4 !important;
	border-radius: 10px !important;
	color: #fff !important;
	font-weight: 600 !important;
	padding: 0.45em 0.9em !important;
}
.gp-pd-admin-selector .gp-button.gp-pd-btn-primary:hover,
.gp-pd-admin-selector .gp-button.gp-pd-btn-primary:focus,
.gp-pd-admin-selector button.gp-button.gp-pd-btn-primary:hover,
.gp-pd-admin-selector button.gp-button.gp-pd-btn-primary:focus {
	background: #fff !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
}
.gp-pd-admin-selector-results {
	margin: 1em 0 0;
	padding-left: 1.25em;
}
.gp-pd-admin-selector-link {
	color: #2E9FA4 !important;
	font-weight: 600;
	text-decoration: none !important;
}
.gp-pd-admin-selector-link:visited {
	color: #2E9FA4 !important;
	text-decoration: none !important;
}
.gp-pd-admin-selector-link:hover,
.gp-pd-admin-selector-link:focus {
	color: #1F3A5F !important;
	text-decoration: none !important;
}
.gp-pd-admin-selector-link:focus-visible {
	outline: 2px solid rgba(46, 159, 164, 0.45);
	outline-offset: 2px;
}
.gp-pd-admin-selector-id {
	color: inherit;
	opacity: 0.85;
	font-size: 0.9em;
	font-weight: 600;
}

/* Stripe Connect help modal (rendered on document.body). */
body.gp-pd-stripe-help-open {
	overflow: hidden;
}

.gp-pd-stripe-help-modal {
	position: fixed;
	inset: 0;
	z-index: 100040;
	display: none;
}

.gp-pd-stripe-help-modal.is-open {
	display: block;
}

.gp-pd-stripe-help-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}

.gp-pd-stripe-help-modal__panel {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(100% - 2rem, 32rem);
	max-height: min(92dvh, 28rem);
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

@media (max-width: 540px) {
	.gp-pd-stripe-help-modal__panel {
		width: 100%;
		max-height: 100dvh;
		height: auto;
		border-radius: 0;
		transform: none;
		left: 0;
		top: auto;
		bottom: 0;
	}
}

.gp-pd-stripe-help-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	flex-shrink: 0;
	background: #2e9fa4;
	color: #fff;
}

.gp-pd-stripe-help-modal__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
	color: #fff;
}

.gp-pd-stripe-help-modal .gp-pd-stripe-help-modal__close,
.gp-pd-stripe-help-modal button.gp-pd-stripe-help-modal__close,
.gp-pd-stripe-help-modal button.button.gp-pd-stripe-help-modal__close {
	flex-shrink: 0;
	margin: 0 !important;
	padding: 0.4em 0.85em !important;
	font-weight: 600 !important;
	background: #fff !important;
	border: 1px solid #2e9fa4 !important;
	border-radius: 3px !important;
	color: #2e9fa4 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer;
}

.gp-pd-stripe-help-modal .gp-pd-stripe-help-modal__close:hover,
.gp-pd-stripe-help-modal .gp-pd-stripe-help-modal__close:focus,
.gp-pd-stripe-help-modal button.gp-pd-stripe-help-modal__close:hover,
.gp-pd-stripe-help-modal button.gp-pd-stripe-help-modal__close:focus,
.gp-pd-stripe-help-modal button.button.gp-pd-stripe-help-modal__close:hover,
.gp-pd-stripe-help-modal button.button.gp-pd-stripe-help-modal__close:focus {
	background: #e7f5f6 !important;
	border-color: #fff !important;
	color: #247d81 !important;
	text-decoration: none !important;
}

.gp-pd-stripe-help-modal .gp-pd-stripe-help-modal__close:focus-visible,
.gp-pd-stripe-help-modal button.gp-pd-stripe-help-modal__close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.gp-pd-stripe-help-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 1rem 1.15rem 1.25rem;
}

.gp-pd-stripe-help-modal__list {
	margin: 0;
	padding-left: 1.2em;
	line-height: 1.45;
}

.gp-pd-stripe-help-modal__list li + li {
	margin-top: 0.65em;
}

/* Explore games — House demo library (PD + [gp_game_showcase]) */
.gp-pd-game-library,
.gp-game-showcase-page .gp-pd-game-library {
	margin: 0 0 1.25em;
	max-width: 52em;
}

.gp-pd-game-library__heading {
	margin: 0 0 0.35em;
	font-size: 1.15em;
}

.gp-pd-game-library__intro {
	margin: 0 0 0.85em;
}

.gp-pd-game-library__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 0.85em;
}

.gp-pd-game-library__card {
	border: 1px solid #d8dee6;
	border-radius: 8px;
	padding: 0.9em 1em;
	background: #fff;
}

.gp-pd-game-library__title {
	margin: 0 0 0.45em;
	font-size: 1.02em;
}

.gp-pd-game-library__summary,
.gp-pd-game-library__best-for {
	margin: 0 0 0.55em;
	line-height: 1.45;
}

.gp-pd-game-library__actions {
	margin: 0.65em 0 0.35em;
}

.gp-pd-game-library a.gp-pd-game-library__demo-link,
.gp-game-showcase-page a.gp-pd-game-library__demo-link {
	background: #fff !important;
	border: 1px solid #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #2E9FA4 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.gp-pd-game-library a.gp-pd-game-library__demo-link:hover,
.gp-pd-game-library a.gp-pd-game-library__demo-link:focus,
.gp-game-showcase-page a.gp-pd-game-library__demo-link:hover,
.gp-game-showcase-page a.gp-pd-game-library__demo-link:focus {
	background: #2E9FA4 !important;
	border-color: #2E9FA4 !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.gp-pd-game-library__demo-note {
	margin: 0;
}

.gp-pd-explore-games-link {
	margin: 0 0 0.85em;
	line-height: 1.45;
}

.gp-pd-explore-games-link .gp-pd-link-teal {
	text-decoration: none;
}

.gp-pd-explore-games-link .gp-pd-link-teal:hover,
.gp-pd-explore-games-link .gp-pd-link-teal:focus {
	text-decoration: underline;
}

.gp-pd-game-library__showcase-link,
.gp-pd-game-library__hint {
	margin: 0.85em 0 0;
}

.gp-pd-game-library--compact .gp-pd-game-library__card {
	padding: 0.75em 0.85em;
}

.gp-game-showcase-page {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 1rem 2rem;
}

.gp-pd-help {
	max-width: none;
}
.gp-pd-help-muted {
	margin: 0.25em 0 0;
	color: #5a6a72;
	font-size: 0.95em;
}
.gp-pd-help-toolbar {
	display: grid;
	gap: 1rem;
	margin-bottom: 0.75rem;
}
@media (min-width: 48rem) {
	.gp-pd-help-toolbar {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}
}
.gp-pd-help-toolbar h2 {
	margin: 0;
	font-size: 1.35em;
	font-weight: 650;
}
.gp-pd-help-search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}
.gp-pd-help-search .gp-input {
	min-width: 12rem;
	flex: 1 1 10rem;
}
.gp-pd-help-search-results {
	margin: 0 0 1rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #d5e0e3;
	border-radius: 0.5rem;
	background: #f6fafb;
}
.gp-pd-help-recommend-list {
	margin: 0.4em 0 0;
	padding-left: 1.25rem;
}
.gp-pd-help-layout {
	display: grid;
	gap: 1.5rem;
	margin-top: 0.5rem;
}
@media (min-width: 48rem) {
	.gp-pd-help-layout {
		grid-template-columns: 15rem minmax(0, 1fr);
		align-items: start;
	}
}
.gp-pd-help-nav {
	padding: 0.75rem 0.9rem;
	border: 1px solid #d5e0e3;
	border-radius: 0.5rem;
	background: #f6fafb;
}
.gp-pd-help-nav-group + .gp-pd-help-nav-group {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid #d5e0e3;
}
.gp-pd-help-nav-heading {
	margin: 0 0 0.4rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #5a6a72;
}
.gp-pd-help-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.2rem;
}
.gp-pd-help-nav-link {
	display: block;
	padding: 0.35rem 0.45rem;
	border-radius: 0.35rem;
	color: #173a3c;
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.35;
}
.gp-pd-help-nav-link:hover,
.gp-pd-help-nav-link:focus-visible {
	background: #e4eef0;
	color: #0f2f31;
}
.gp-pd-help-nav-link.is-active {
	background: #2E9FA4;
	color: #fff;
	font-weight: 600;
}
.gp-pd-help-article-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}
.gp-pd-help-article-title {
	margin: 0;
	font-size: 1.25em;
	font-weight: 650;
}
.gp-pd-help-back {
	margin: 0 0 1em;
	font-size: 0.95em;
}
.gp-pd-help-body h1 {
	font-size: 1.45em;
	margin: 0 0 0.6em;
	font-weight: 650;
}
.gp-pd-help-body h2 {
	font-size: 1.15em;
	margin: 1.35em 0 0.45em;
	font-weight: 650;
}
.gp-pd-help-body h3 {
	font-size: 1.05em;
	margin: 1.1em 0 0.35em;
	font-weight: 650;
}
.gp-pd-help-body p,
.gp-pd-help-body li {
	line-height: 1.5;
}
.gp-pd-help-body ul,
.gp-pd-help-body ol {
	margin: 0.4em 0 0.8em;
	padding-left: 1.3em;
}
.gp-pd-help-table {
	margin: 0.6em 0 1em;
	font-size: 0.95em;
}
.gp-pd-help-body blockquote,
.gp-pd-help-callout {
	margin: 0 0 1rem;
	padding: 0.75rem 0.9rem;
	border-left: 3px solid #2E9FA4;
	background: #f6fafb;
}
.gp-pd-help-body blockquote p,
.gp-pd-help-callout p {
	margin: 0;
}
@media print {
	.gp-pd-help-no-print {
		display: none !important;
	}
	.gp-pd-help-layout {
		display: block;
	}
}
