/* ====================================================================================================
   11TH NATIONAL SCOUT JAMBOREE 2027 - PARTICIPANT ACCOUNT PORTAL
   Uses the existing public portal structure and keeps account-specific styles isolated.
==================================================================================================== */
.participant-account-page .page-main
{
	padding: 28px 0 42px;
}

.participant-account-shell
{
	max-width: 980px;
	margin: 0 auto;
}

.participant-account-shell-narrow
{
	max-width: 760px;
}

.participant-account-panel
{
	overflow: hidden;
}

.participant-account-panel .portal-panel-header
{
	align-items: flex-start;
}

.participant-account-help
{
	margin: 14px 17px 17px;
	padding: 12px 14px;
	border: 1px solid #d7e7f2;
	border-radius: 7px;
	background: #f4f9fc;
	color: #49677e;
	font-size: 0.78rem;
	line-height: 1.55;
}

.participant-account-help strong
{
	color: #173e5f;
}

.participant-account-form
{
	display: grid;
	gap: 13px;
	max-width: none;
	margin: 16px 17px 0;
}

.participant-account-panel > .participant-account-form:last-child
{
	margin-bottom: 17px;
}

.participant-account-form .portal-form-actions
{
	margin-top: 2px;
}

.participant-account-links
{
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 14px 17px 17px;
}

.participant-account-code
{
	font-family: Consolas, Monaco, monospace;
	font-weight: 800;
	letter-spacing: 0.03em;
	color: #0b6fb9;
}

.participant-account-notice
{
	margin-bottom: 16px;
}

.participant-account-panel > .participant-account-notice
{
	margin: 14px 17px 0;
}

.participant-account-page .scout-qr-preview
{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
}

.participant-account-page .scout-qr-preview canvas
{
	display: block;
	image-rendering: pixelated;
}

.participant-account-page .scout-qr-preview.scout-qr-unavailable
{
	padding: 8px;
	color: #9c3b3b;
	font-size: 0.68rem;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
}

.participant-account-grid
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 17px 17px 16px;
}

.participant-account-card
{
	padding: 16px;
	border: 1px solid #dce7ef;
	border-radius: 9px;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(21, 58, 87, 0.06);
}

.participant-account-card span
{
	display: block;
	margin-bottom: 5px;
	color: #6d8191;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.participant-account-card strong
{
	display: block;
	color: #153b5a;
	font-size: 0.93rem;
	line-height: 1.35;
}

.participant-dashboard-layout
{
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.7fr);
	gap: 16px;
	margin: 0 17px;
}

.participant-dashboard-profile,
.participant-dashboard-qr
{
	padding: 18px;
	border: 1px solid #dce7ef;
	border-radius: 9px;
	background: #ffffff;
}

.participant-dashboard-profile h3,
.participant-dashboard-qr h3
{
	margin: 0 0 14px;
	color: #173d5d;
	font-size: 1rem;
}

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

.participant-detail-table th,
.participant-detail-table td
{
	padding: 10px 8px;
	border-bottom: 1px solid #e7eef4;
	font-size: 0.78rem;
	text-align: left;
	vertical-align: top;
}

.participant-detail-table th
{
	width: 38%;
	color: #577188;
	font-weight: 750;
}

.participant-detail-table td
{
	color: #17384f;
	font-weight: 650;
}

.participant-account-panel > .participant-detail-table
{
	width: calc(100% - 34px);
	margin: 17px 17px 0;
}

.participant-dashboard-qr
{
	text-align: center;
}

.participant-dashboard-qr .scout-qr-preview
{
	width: 190px;
	height: 190px;
	margin: 0 auto 10px;
}

.participant-dashboard-qr .scout-qr-preview canvas
{
	width: 190px;
	height: 190px;
}

.participant-dashboard-qr small
{
	display: block;
	margin-bottom: 12px;
	font-family: Consolas, Monaco, monospace;
	font-size: 0.69rem;
	font-weight: 800;
	color: #355f7f;
}

.participant-account-menu
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 17px 17px;
}

.participant-account-menu form
{
	margin: 0;
}

.participant-account-status
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.03em;
}

.participant-account-status-active
{
	color: #15613b;
	background: #e4f7ec;
}

.participant-account-status-blocked,
.participant-account-status-cancelled
{
	color: #8f2e2e;
	background: #feeaea;
}

.participant-account-status-pending
{
	color: #72510b;
	background: #fff4cf;
}

.participant-qr-only-card
{
	max-width: 520px;
	margin: 17px auto 0;
	padding: 24px;
	border: 1px solid #dce7ef;
	border-radius: 10px;
	background: #ffffff;
	text-align: center;
}

.participant-qr-only-card .scout-qr-preview
{
	width: 260px;
	height: 260px;
	margin: 0 auto 12px;
}

.participant-qr-only-card .scout-qr-preview canvas
{
	width: 260px;
	height: 260px;
}

@media (max-width: 980px)
{
	.participant-account-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.participant-dashboard-layout
	{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px)
{
	.participant-account-grid
	{
		grid-template-columns: 1fr;
	}

	.participant-account-menu,
	.participant-account-links
	{
		flex-direction: column;
	}

	.participant-account-menu .portal-btn,
	.participant-account-links .portal-btn,
	.participant-account-menu form,
	.participant-account-menu form .portal-btn
	{
		width: 100%;
	}
}

/* ==============================================================================================
   11NSJ - Participant / Leader Account Extensions
   ============================================================================================== */
.participant-activation-preview
{
	margin: 16px 17px 0;
	padding: 13px 15px;
	border: 1px solid #d9e7f0;
	border-radius: 8px;
	background: #f7fbfd;
	color: #345b77;
	font-size: 0.78rem;
	line-height: 1.55;
}

.participant-activation-preview strong
{
	color: #153b5a;
}

.participant-account-grid-six
{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.participant-leader-panel
{
	margin: 16px 17px 0;
	border: 1px solid #dce7ef;
	border-radius: 9px;
	background: #ffffff;
	overflow: hidden;
}

.participant-leader-panel-header
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #e4edf3;
	background: #f8fbfd;
}

.participant-leader-panel-header h3
{
	margin: 2px 0 0;
	color: #173d5d;
	font-size: 0.95rem;
}

.participant-leader-kicker
{
	display: block;
	color: #0b77c5;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.participant-leader-count
{
	flex: 0 0 auto;
	padding: 5px 8px;
	border: 1px solid #cfe2ef;
	border-radius: 999px;
	background: #eef7fc;
	color: #28617f;
	font-size: 0.63rem;
	font-weight: 800;
}

.participant-leader-table-wrap
{
	width: 100%;
	max-width: 100%;
	overflow-x: visible;
}

.participant-leader-table
{
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 0.67rem;
}

.participant-leader-table th,
.participant-leader-table td
{
	padding: 8px 6px;
	border-right: 1px solid #e5edf3;
	border-bottom: 1px solid #e5edf3;
	color: #26485f;
	text-align: left;
	vertical-align: middle;
	white-space: normal;
	word-break: break-word;
}

.participant-leader-table th
{
	background: #eef6fb;
	color: #315c78;
	font-size: 0.61rem;
	font-weight: 850;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.participant-leader-table th:nth-child(1),
.participant-leader-table td:nth-child(1)
{
	width: 5%;
	text-align: center;
}

.participant-leader-table th:nth-child(2),
.participant-leader-table td:nth-child(2)
{
	width: 17%;
}

.participant-leader-table th:nth-child(3),
.participant-leader-table td:nth-child(3)
{
	width: 17%;
}

.participant-leader-table th:nth-child(4),
.participant-leader-table td:nth-child(4)
{
	width: 8%;
}

.participant-leader-table th:nth-child(5),
.participant-leader-table td:nth-child(5)
{
	width: 14%;
}

.participant-leader-table th:nth-child(6),
.participant-leader-table td:nth-child(6)
{
	width: 13%;
}

.participant-leader-table th:nth-child(7),
.participant-leader-table td:nth-child(7)
{
	width: 17%;
}

.participant-leader-table th:nth-child(8),
.participant-leader-table td:nth-child(8)
{
	width: 9%;
}

.participant-leader-empty
{
	padding: 18px !important;
	color: #6b7d8b !important;
	text-align: center !important;
}

.participant-leader-subheader
{
	border-top: 1px solid #e4edf3;
}

.participant-foreign-scout-table th:nth-child(1),
.participant-foreign-scout-table td:nth-child(1)
{
	width: 5%;
}

.participant-foreign-scout-table th:nth-child(2),
.participant-foreign-scout-table td:nth-child(2)
{
	width: 25%;
}

.participant-foreign-scout-table th:nth-child(3),
.participant-foreign-scout-table td:nth-child(3)
{
	width: 35%;
}

.participant-foreign-scout-table th:nth-child(4),
.participant-foreign-scout-table td:nth-child(4)
{
	width: 10%;
}

.participant-foreign-scout-table th:nth-child(5),
.participant-foreign-scout-table td:nth-child(5)
{
	width: 25%;
}

.participant-leader-summary-grid
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	padding: 14px 16px 16px;
}

.participant-leader-summary-card
{
	padding: 12px;
	border: 1px solid #dfe9f0;
	border-radius: 7px;
	background: #fbfdfe;
	text-align: center;
}

.participant-leader-summary-card span,
.participant-leader-summary-card small
{
	display: block;
	color: #607b8e;
	font-size: 0.62rem;
	font-weight: 750;
}

.participant-leader-summary-card strong
{
	display: block;
	margin: 4px 0;
	color: #123e5d;
	font-size: 1.2rem;
}

@media (max-width: 980px)
{
	.participant-account-grid-six
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.participant-leader-table-wrap
	{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.participant-leader-table
	{
		min-width: 860px;
	}
}

@media (max-width: 640px)
{
	.participant-account-grid-six,
	.participant-leader-summary-grid
	{
		grid-template-columns: 1fr;
	}

	.participant-leader-panel-header
	{
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ====================================================================================================
   20.08.2026 - FORGOT PASSWORD IDENTITY GUIDANCE
==================================================================================================== */

.participant-recovery-field-note
{
	display: block;
	margin-top: 5px;
	color: #758693;
	font-size: 0.68rem;
	line-height: 1.4;
}

.participant-recovery-guide
{
	padding: 12px 13px;
	border: 1px solid #d7e7f2;
	border-left: 4px solid #00a1e9;
	border-radius: 7px;
	background: #f6fbfe;
	color: #405e73;
	font-size: 0.73rem;
	line-height: 1.45;
}

.participant-recovery-guide > strong
{
	display: block;
	margin-bottom: 8px;
	color: #173e5f;
	font-size: 0.78rem;
}

.participant-recovery-guide-grid
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 12px;
}

.participant-recovery-guide-grid span
{
	display: block;
	padding: 7px 9px;
	border: 1px solid #e1ecf3;
	border-radius: 5px;
	background: #ffffff;
}

.participant-recovery-guide-grid b
{
	color: #0d2642;
}

.participant-recovery-detected
{
	padding: 9px 11px;
	border: 1px dashed #c8d6df;
	border-radius: 6px;
	background: #fafcfd;
	color: #6d7f8d;
	font-size: 0.72rem;
	font-weight: 650;
	line-height: 1.4;
}

.participant-recovery-detected-active
{
	border-style: solid;
	border-color: rgba(234, 85, 21, 0.28);
	background: #fff7f2;
	color: #8c3f18;
}

.participant-recovery-detected-active strong
{
	color: #0d2642;
}

@media (max-width: 640px)
{
	.participant-recovery-guide-grid
	{
		grid-template-columns: 1fr;
	}
}

