/* 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-campaigns-notice-success { color: #00875a; margin-bottom: 0.75em; }
.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;
}
/* 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 Setup button – solid green, white text; hover: white bg, green border/text */
.gp-campaigns-front .gp-stripe-setup-btn,
.gp-campaigns-detail .gp-stripe-setup-btn {
	display: inline-block;
	background: #00875a !important;
	color: #fff !important;
	border: 2px solid #00875a !important;
	padding: 0.5em 1em;
	text-decoration: none;
	border-radius: 3px;
	cursor: pointer;
}
.gp-campaigns-front .gp-stripe-setup-btn:hover,
.gp-campaigns-front .gp-stripe-setup-btn:focus,
.gp-campaigns-detail .gp-stripe-setup-btn:hover,
.gp-campaigns-detail .gp-stripe-setup-btn:focus {
	background: #fff !important;
	color: #00875a !important;
	border: 2px solid #00875a !important;
	text-decoration: none;
}

/* 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 {
	max-width: 100%;
	height: auto;
}
.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;
	width: 100% !important;
	max-width: 100% !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 {
	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 {
	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 {
	color: #b32d2e;
}

/* 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[data-gp-invite-hint-state="need-more"] {
	color: #b32d2e;
}
.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;
}
.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="need-more"],
.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="need-more"],
.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="need-more"] {
	color: #9f2425;
}

/* 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;
}

/* Engine competition forms (Spotty / Flip) — AJAX 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;
}
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-busy {
	color: #1f3a5f;
	font-weight: 600;
}
.gp-pd-root form[data-gp-engine-autosave="1"] .gp-pd-engine-autosave-status.is-error {
	color: #b32d2e;
	font-weight: 600;
}

/* 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. */
.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;
}

/* 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 table: prevent horizontal scroll on small screens. */
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table {
		table-layout: fixed;
		width: 100%;
	}
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table th,
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table td {
		padding: 0.4em 0.55em;
		font-size: 0.92em;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	/* Fundraising progress cell is typically the widest text. */
	.gp-pd-root #gp-tab-panel-competitions .gp-pd-comp-table td:nth-child(4) {
		font-size: 0.9em;
		line-height: 1.25;
	}
	/* Status badges can force width; allow them to wrap if needed. */
	.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 is the usual culprit: allow wrap instead of forcing table wider. */
	.gp-pd-root #gp-tab-panel-add-competition .gp-pd-your-competitions-table td.gp-pd-your-comp-actions {
		white-space: normal;
		flex-wrap: wrap;
		gap: 6px;
	}
	.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;
	}
}

/* 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;
}

/* 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 → Your competitions: Edit + Clone in Actions column. */
.gp-pd-root .gp-pd-your-competitions-table .gp-pd-your-comp-actions {
	vertical-align: middle;
	white-space: nowrap;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}
.gp-pd-root .gp-pd-your-competitions-table .gp-pd-your-comp-actions .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 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-btn: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;
}

/* 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;
}
.gp-pd-mail-results-message {
	color: #b32d2e;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 20px 0;
}
.gp-pd-mail-results-actions {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.gp-pd-mail-results-actions .button {
	margin: 0;
}
.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 / archive (amber — matches other PD warning affordances). */
.gp-pd-root button.gp-button.gp-pd-btn-archive,
.gp-pd-root a.gp-button.gp-pd-btn-archive {
	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 {
	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: add a little separation before the next image label (e.g. “Prize image *”). */
.gp-pd-root #gp-tab-panel-add-competition .gp-pd-spotty-settings-form .gp-pd-field--image + .gp-pd-field--image {
	margin-top: 1.4rem;
}

/* 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;
}

/* 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: 1200px !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; }
.gp-pd-body {
	display: flex;
	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 {
	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 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	max-width: 100% !important;
}

/* Inputs: match the browser-styled date fields (consistent contrast). */
.gp-pd-root .gp-input,
.gp-pd-root input.gp-input,
.gp-pd-root select.gp-input,
.gp-pd-root textarea.gp-input {
	background: #EFF4F9;
}
.gp-pd-root input[type="date"].gp-input {
	background: #EFF4F9;
}

/* Marketing + builder fields: ensure same input background 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 select,
.gp-pd-root .gp-pd-content textarea {
	background: #EFF4F9;
}

/* 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);
}

@media (max-width: 782px) {
	/* Results → Entries table: tighten spacing so it fits mobile. */
	.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 {
		padding: 0.38em 0.5em;
		font-size: 0.92em;
	}
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table thead th {
		white-space: normal;
		line-height: 1.15;
	}

	/* Tighten Donations (col 4) a bit more on mobile (no fixed table layout). */
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table th:nth-child(4),
	.gp-pd-root #gp-tab-panel-results .gp-section-entries .gp-campaigns-table td:nth-child(4) {
		padding-left: 0.32em;
		padding-right: 0.32em;
		font-size: 0.88em;
		text-align: right;
		white-space: nowrap;
	}
}

/* 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;
}
.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);
}

/* 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-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 { flex: 0 0 auto; font-size: 0.88rem; }
.gp-pd-tour-link { color: #555; }
.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;
	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;
}
.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;
}

/* 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-link { text-decoration: none; color: inherit; display: inline-block; max-width: 100%; }
.gp-pd-comp-link strong { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.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--ended { background:#f3f3f3; color:#444; border-color:#ddd; }
.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 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.28rem;
}
.gp-pd-comp-table--v2 .gp-pd-comp-lifecycle .gp-pd-status-badge {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.gp-pd-comp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	align-items: center;
}
.gp-pd-comp-mail-next {
	font-size: 0.72rem !important;
	line-height: 1.25 !important;
	white-space: normal;
	max-width: 11rem;
	text-align: center;
}
.gp-pd-comp-inline-form {
	display: inline;
	margin: 0;
}
.gp-pd-comp-act {
	padding: 0.15rem 0.45rem !important;
	font-size: 0.72rem !important;
	line-height: 1.25 !important;
	min-height: 0 !important;
}
.gp-pd-comp-col-entries { white-space: nowrap; font-size: 0.9rem; }
.gp-pd-comp-col-goal { text-align: right; white-space: nowrap; }
.gp-pd-pct-mini { font-weight: 700; color: #1F3A5F; font-size: 0.85rem; }
.gp-pd-pct-mini--empty { font-weight: 500; color: #999; }
.gp-pd-comp-entries-count { font-weight: 700; color: #333; }
.gp-pd-comp-entries-link { margin-left: 0.25rem; font-size: 0.82rem; font-weight: 600; }

/* 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-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-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; }
}
