.fgwu-family-registration,
.fgwu-family-registration * {
	box-sizing: border-box;
}

.fgwu-family-registration {
	color: inherit;
	font-family: inherit;
	line-height: 1.5;
}

.fgwu-family-registration .fgwu-required-note {
	margin: 0 0 1rem;
	font-size: 0.95em;
}

.fgwu-family-registration .fgwu-required-mark {
	color: #a33b2b;
	font-weight: 700;
}

.fgwu-family-registration fieldset {
	min-width: 0;
	margin: 1.25rem 0;
	padding: 1rem 1.15rem;
	border: 1px solid #cbd8dc;
	border-radius: 4px;
}

.fgwu-family-registration legend {
	padding: 0 0.4rem;
	font-weight: 700;
}

.fgwu-family-registration .fgwu-form p {
	margin: 0 0 1rem;
}

.fgwu-family-registration .fgwu-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.fgwu-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.fgwu-family-registration .fgwu-form label {
	display: block;
	font-weight: 600;
}

.fgwu-family-registration .fgwu-form input[type="text"],
.fgwu-family-registration .fgwu-form input[type="email"],
.fgwu-family-registration .fgwu-form input[type="tel"],
.fgwu-family-registration .fgwu-form input[type="number"],
.fgwu-family-registration .fgwu-form select {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 2.8rem;
	margin-top: 0.35rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #9eafb5;
	border-radius: 3px;
	background: #fff;
	color: #173d49;
	font: inherit;
}

.fgwu-family-registration .fgwu-form textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-top: 0.35rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #9eafb5;
	border-radius: 3px;
	background: #fff;
	color: #173d49;
	font: inherit;
}

.fgwu-family-registration .fgwu-form input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	vertical-align: middle;
}

.fgwu-family-registration .fgwu-form button[type="submit"]:hover {
	background: #bd8214;
}

.fgwu-family-registration .fgwu-request-history {
	margin: 1.5rem 0 2rem;
}

.fgwu-family-registration .fgwu-request-card {
	margin: 1rem 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid #b8d3d8;
	border-left: 5px solid #d99b24;
	border-radius: 4px;
	background: #f7fafb;
}

.fgwu-family-registration .fgwu-request-card h3 {
	margin-top: 0;
	color: #1b5968;
}

.fgwu-family-registration [hidden] {
	display: none !important;
}

.fgwu-request-pickup-event-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.55rem;
	margin: 0.65rem 0;
}

.fgwu-family-registration .fgwu-form label.fgwu-request-pickup-event,
.fgwu-family-registration .fgwu-form label.fgwu-request-pickup-none {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	min-width: 0;
	margin: 0;
	padding: 0.85rem 0.9rem;
	border: 1px solid #b8d3d8;
	border-left: 4px solid #d99b24;
	border-radius: 4px;
	background: #f7fafb;
	cursor: pointer;
	font-weight: 400;
}

.fgwu-family-registration .fgwu-request-pickup-event:has(input:checked) {
	border-color: #d99b24;
	background: #fffaf0;
	box-shadow: 0 0 0 2px rgba(217, 155, 36, 0.16);
}

.fgwu-family-registration .fgwu-form label.fgwu-request-pickup-event input[type="radio"],
.fgwu-family-registration .fgwu-form label.fgwu-request-pickup-none input[type="radio"] {
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	margin: 0.2rem 0 0;
}

.fgwu-request-pickup-event-details {
	display: flex;
	flex-direction: column;
	gap: 0.18rem;
	min-width: 0;
	line-height: 1.35;
}

.fgwu-request-pickup-event-details > strong {
	color: #1b5968;
	font-size: 1em;
	line-height: 1.25;
}

.fgwu-request-pickup-event-details > span {
	font-weight: 400;
}

.fgwu-request-pickup-event-details details {
	margin-top: 0.15rem;
	font-size: 0.92em;
}

.fgwu-request-pickup-event-details summary {
	color: #1b5968;
	font-weight: 700;
	cursor: pointer;
}

.fgwu-request-pickup-event-details details > span {
	display: block;
	margin-top: 0.25rem;
	font-weight: 400;
}

.fgwu-family-registration .fgwu-form label.fgwu-request-pickup-none {
	border-left-color: #1b5968;
	background: #fff;
}

.fgwu-link-button,
.fgwu-event-pagination button {
	min-height: 2.6rem;
	padding: 0.55rem 0.9rem;
	border: 1px solid #1b5968;
	border-radius: 3px;
	background: #fff;
	color: #1b5968;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.fgwu-link-button:hover,
.fgwu-event-pagination button:hover:not(:disabled) {
	background: #eef6f7;
}

.fgwu-link-button:focus-visible,
.fgwu-event-pagination button:focus-visible {
	outline: 3px solid rgba(218, 157, 42, 0.45);
	outline-offset: 2px;
}

.fgwu-event-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	margin: 0 0 1.5rem;
}

.fgwu-event-pagination span {
	font-weight: 700;
}

.fgwu-event-pagination button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.fgwu-public-event-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0 1.5rem;
}

.fgwu-public-event-card,
.fgwu-selected-event-registration {
	min-width: 0;
	padding: 1.25rem 1.3rem;
	border: 1px solid #b8d3d8;
	border-left: 5px solid #d99b24;
	border-radius: 4px;
	background: #f7fafb;
}

.fgwu-public-event-card.is-selected {
	border-color: #d99b24;
	background: #fffaf0;
}

.fgwu-public-event-card h3,
.fgwu-selected-event-registration h3 {
	margin: 0 0 0.9rem;
	color: #1b5968;
}

.fgwu-public-event-meta {
	display: grid;
	gap: 0.55rem;
	margin: 1rem 0;
}

.fgwu-event-distance {
	color: #1b5968;
	font-weight: 700;
}

.fgwu-public-event-description {
	margin: 1rem 0;
}

.fgwu-public-event-description summary {
	color: #1b5968;
	font-weight: 700;
	cursor: pointer;
}

.fgwu-public-event-description p {
	margin: 0.55rem 0 0;
}

.fgwu-public-event-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.fgwu-public-event-tags span {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 3px;
	background: #e6eff1;
	color: #173d49;
	font-size: 0.9em;
	font-weight: 700;
}

.fgwu-event-select-form {
	margin-top: 0.9rem;
}

.fgwu-event-selected-label {
	margin: 0.9rem 0 0 !important;
	color: #1b5968;
	font-weight: 700;
}

.fgwu-selected-event-registration {
	margin: 1.25rem 0;
}

.fgwu-family-registration .fgwu-button {
	display: inline-block;
	padding: 0.7rem 1.25rem;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.fgwu-coordinator-dashboard,
.fgwu-coordinator-dashboard * {
	box-sizing: border-box;
}

.fgwu-coordinator-dashboard {
	color: inherit;
	font-family: inherit;
}

.fgwu-dashboard-heading {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}

.fgwu-dashboard-heading h2,
.fgwu-dashboard-panel h3 {
	margin-top: 0;
	color: #173d49;
}

.fgwu-dashboard-kicker {
	margin-bottom: 0.25rem;
	color: #bd8214;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.fgwu-dashboard-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(120px, 1fr));
	gap: 0.8rem;
	margin-bottom: 1.25rem;
}

.fgwu-dashboard-card,
.fgwu-dashboard-panel {
	border: 1px solid #cbd8dc;
	border-radius: 4px;
	background: #fff;
}

.fgwu-dashboard-card {
	padding: 1rem;
	text-align: center;
}

.fgwu-dashboard-card strong,
.fgwu-dashboard-card span {
	display: block;
}

.fgwu-dashboard-card strong {
	color: #173d49;
	font-size: 1.8rem;
}

.fgwu-dashboard-panel {
	margin: 1rem 0;
	padding: 1rem;
}

.fgwu-dashboard-table-wrap {
	overflow-x: auto;
}

.fgwu-dashboard-panel table {
	width: 100%;
	border-collapse: collapse;
}

.fgwu-dashboard-panel th,
.fgwu-dashboard-panel td {
	padding: 0.7rem;
	border-bottom: 1px solid #dce5e8;
	text-align: left;
	vertical-align: top;
}

.fgwu-dashboard-panel th {
	background: #eef6f7;
	color: #173d49;
}

.fgwu-report-document {
	max-width: 900px;
	margin: 1rem auto;
	padding: 2rem;
	background: #fff;
	color: #26373b;
	border: 1px solid #cbd8dc;
}
.fgwu-report-header { text-align: center; border-bottom: 2px solid #173d49; margin-bottom: 1.25rem; padding-bottom: 1rem; }
.fgwu-report-header h2 { margin: 0.25rem 0; color: #173d49; }
.fgwu-report-header > p:last-child { font-size: 1.2rem; font-weight: 700; }
.fgwu-report-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.fgwu-report-meta p { margin: 0.3rem 0; }
.fgwu-report-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0.75rem 0 1.5rem; }
.fgwu-report-stats > div { padding: 0.75rem; border: 1px solid #cbd8dc; text-align: center; }
.fgwu-report-stats strong, .fgwu-report-stats span { display: block; }
.fgwu-report-stats strong { color: #173d49; font-size: 1.4rem; }
.fgwu-report-document h3 { margin: 1.4rem 0 0.5rem; color: #173d49; }
.fgwu-report-document footer { margin-top: 2rem; border-top: 1px solid #cbd8dc; padding-top: 0.5rem; color: #52656a; font-size: 0.9rem; }
.fgwu-report-actions { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.5rem; }
.fgwu-roster-check { display: inline-block; width: 1.25rem; height: 1.25rem; border: 1.5px solid #26373b; vertical-align: middle; }
.fgwu-roster-notes { min-height: 6rem; border-bottom: 1px solid #829398; background: repeating-linear-gradient(to bottom, transparent 0, transparent 1.8rem, #cbd8dc 1.8rem, #cbd8dc calc(1.8rem + 1px)); }

@media (max-width: 640px) {
	.fgwu-report-document { padding: 1rem; }
	.fgwu-report-meta { grid-template-columns: 1fr; }
	.fgwu-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media print {
	@page { size: letter; margin: 10mm; }
	body.fgwu-print-mode { margin: 0 !important; background: #fff !important; }
	body.fgwu-print-mode > *:not(.fgwu-report-document) { display: none !important; }
	body.fgwu-print-mode > .fgwu-report-document { display: block !important; position: static; width: auto; max-width: none; margin: 0; padding: 0; border: 0; color: #26373b; background: #fff; font-size: 10pt; }
	.fgwu-report-actions { display: none !important; }
	.fgwu-report-document h3 { break-after: avoid; }
	.fgwu-report-document tr { break-inside: avoid; }
	.fgwu-roster-document { font-size: 9pt !important; }
	.fgwu-roster-document .fgwu-report-header { margin-bottom: 0.5rem; padding-bottom: 0.4rem; }
	.fgwu-roster-document .fgwu-report-header h2 { margin: 0.15rem 0; font-size: 15pt; }
	.fgwu-roster-document .fgwu-report-header > p:last-child { margin: 0.2rem 0; font-size: 11pt; }
	.fgwu-roster-document .fgwu-report-meta { gap: 0 0.5rem; }
	.fgwu-roster-document .fgwu-report-meta p { margin: 0.15rem 0; }
	.fgwu-roster-document .fgwu-dashboard-panel table th,
	.fgwu-roster-document .fgwu-dashboard-panel table td,
	.fgwu-roster-document table th,
	.fgwu-roster-document table td { padding: 4px 6px; font-size: 8.5pt; line-height: 1.2; }
	.fgwu-roster-document h3 { margin: 0.5rem 0 0.2rem; font-size: 10pt; }
	.fgwu-roster-document .fgwu-roster-notes { min-height: 2rem; }
	.fgwu-roster-document footer { margin-top: 0.5rem; padding-top: 0.25rem; }
}

@media print {
	@page { size: letter; margin: 10mm; }
	body.fgwu-invoice-print-mode { margin: 0 !important; background: #fff !important; }
	body.fgwu-invoice-print-mode > *:not(.fgwu-supply-invoice) { display: none !important; }
	body.fgwu-invoice-print-mode > .fgwu-supply-invoice {
		display: block !important;
		position: static !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #26373b !important;
		background: #fff !important;
		font-size: 10pt !important;
		line-height: 1.35 !important;
	}
	.fgwu-supply-invoice h2 { margin: 0 0 0.5rem; font-size: 18pt; }
	.fgwu-supply-invoice h3 { margin: 0.8rem 0 0.3rem; font-size: 11pt; break-after: avoid; }
	.fgwu-invoice-actions { display: none !important; }
	.fgwu-supply-invoice p { margin: 0.35rem 0; }
	.fgwu-supply-invoice table { width: 100% !important; border-collapse: collapse !important; }
	.fgwu-supply-invoice th,
	.fgwu-supply-invoice td { padding: 4px 6px !important; font-size: 9pt !important; line-height: 1.25 !important; }
	.fgwu-supply-invoice tr { break-inside: avoid; }
}

.fgwu-dashboard-scope-note {
	font-size: 0.9em;
	font-style: italic;
}

.fgwu-dashboard-account {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.25rem;
}

.fgwu-dashboard-account p {
	margin: 0;
}

.fgwu-dashboard-account strong {
	color: #173d49;
	font-size: 1.35rem;
}

.fgwu-dashboard-logout,
.fgwu-dashboard-back {
	color: #1b5968;
	font-weight: 700;
}

.fgwu-dashboard-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.fgwu-dashboard-action {
	display: flex;
	flex-direction: column;
	min-height: 190px;
	padding: 1rem;
	border: 1px solid #9eafb5;
	border-radius: 10px;
	background: #f4f7f8;
	color: inherit;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fgwu-dashboard-action:hover,
.fgwu-dashboard-action:focus {
	border-color: #d99b24;
	background: #fff5e4;
	box-shadow: 0 7px 18px rgba(23, 61, 73, 0.14);
	color: inherit;
	text-decoration: none;
	transform: translateY(-2px);
}

.fgwu-dashboard-action:focus-visible {
	outline: 3px solid #1b5968;
	outline-offset: 3px;
}

.fgwu-dashboard-action h3 {
	margin: 0 0 0.45rem;
	color: #173d49;
	font-size: 1.08rem;
}

.fgwu-dashboard-action p {
	margin: 0;
}

.fgwu-dashboard-action .fgwu-dashboard-action-button {
	display: block;
	margin-top: auto;
	padding-top: 1rem;
}

.fgwu-dashboard-action-button span {
	display: inline-block;
	padding: 0.65rem 1rem;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.fgwu-dashboard-action:hover .fgwu-dashboard-action-button span,
.fgwu-dashboard-action:focus .fgwu-dashboard-action-button span {
	background: #bd8214;
	color: #fff;
}

.fgwu-dashboard-quick-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0 1.25rem;
}

.fgwu-dashboard-action-compact {
	min-height: 145px;
}

.fgwu-dashboard-resource-card {
	cursor: default;
}

.fgwu-dashboard-resource-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: auto;
	padding-top: 1rem;
}

.fgwu-dashboard-resource-links a {
	display: inline-block;
	padding: 0.65rem 1rem;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.fgwu-dashboard-resource-links a:hover,
.fgwu-dashboard-resource-links a:focus {
	background: #bd8214;
	color: #fff;
	text-decoration: none;
}

.fgwu-dashboard-resource-links a:focus-visible {
	outline: 3px solid #1b5968;
	outline-offset: 3px;
}

.fgwu-dashboard-glance {
	margin: 1.25rem 0 0;
	padding: 0.85rem 1rem;
	border-left: 4px solid #d99b24;
	background: #f3f8f9;
}

.fgwu-dashboard-mini-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(120px, 1fr));
	gap: 0.8rem;
	margin: 1rem 0;
}

.fgwu-dashboard-mini-stats div {
	padding: 0.85rem;
	border: 1px solid #cbd8dc;
	border-radius: 4px;
	text-align: center;
}

.fgwu-dashboard-mini-stats strong,
.fgwu-dashboard-mini-stats span {
	display: block;
}

.fgwu-dashboard-mini-stats strong {
	color: #173d49;
	font-size: 1.5rem;
}

.fgwu-dashboard-profile {
	display: grid;
	grid-template-columns: minmax(130px, 0.35fr) 1fr;
	gap: 0.65rem 1rem;
}

.fgwu-dashboard-profile dt {
	font-weight: 700;
}

.fgwu-dashboard-profile dd {
	margin: 0;
}

.fgwu-dashboard-panel-heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
}

.fgwu-dashboard-panel-heading h3,
.fgwu-dashboard-panel-heading p {
	margin-top: 0;
}

.fgwu-dashboard-button,
.fgwu-dashboard-form button[type="submit"],
.fgwu-inline-form button {
	display: inline-block;
	min-height: 2.65rem;
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.fgwu-dashboard-button:hover,
.fgwu-dashboard-button:focus,
.fgwu-dashboard-form button[type="submit"]:hover,
.fgwu-inline-form button:hover {
	background: #bd8214;
	color: #fff;
}

.fgwu-dashboard-form .fgwu-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.fgwu-dashboard-form p {
	margin: 0 0 1rem;
}

.fgwu-dashboard-form label,
.fgwu-dashboard-form legend {
	font-weight: 600;
}

.fgwu-dashboard-form input[type="text"],
.fgwu-dashboard-form input[type="email"],
.fgwu-dashboard-form input[type="tel"],
.fgwu-dashboard-form input[type="date"],
.fgwu-dashboard-form input[type="time"],
.fgwu-dashboard-form input[type="number"],
.fgwu-dashboard-form select,
.fgwu-dashboard-form textarea,
.fgwu-inline-form select {
	display: block;
	width: 100%;
	min-height: 2.65rem;
	margin-top: 0.35rem;
	padding: 0.6rem 0.7rem;
	border: 1px solid #9eafb5;
	border-radius: 3px;
	background: #fff;
	color: #173d49;
	font: inherit;
}

.fgwu-dashboard-form fieldset {
	margin: 0 0 1rem;
	padding: 1rem;
	border: 1px solid #cbd8dc;
}

.fgwu-church-profile-form .fgwu-profile-wide,
.fgwu-church-profile-form .fgwu-profile-wide label {
	display: block;
	width: 100%;
}

.fgwu-church-profile-form .fgwu-profile-wide textarea {
	width: 100%;
	max-width: 56rem;
	min-height: 9rem;
	box-sizing: border-box;
}

.fgwu-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem 1rem;
	margin-top: 0.5rem;
}

.fgwu-checkbox-grid label {
	font-weight: 400;
}

.fgwu-inline-form {
	display: flex;
	align-items: flex-end;
	gap: 0.45rem;
	min-width: 245px;
}

.fgwu-inline-form select {
	margin: 0;
}

.fgwu-inline-form button {
	min-height: 2.65rem;
	padding: 0.55rem 0.75rem;
}

.fgwu-low-stock td {
	background: #fff7e5;
}

.fgwu-low-stock small {
	color: #8a5900;
	font-weight: 700;
}

.fgwu-coordinator-dashboard .fgwu-notice {
	margin: 1rem 0;
	padding: 0.8rem 1rem;
	border-left: 5px solid #d99b24;
	background: #f3f8f9;
}

.fgwu-coordinator-dashboard .fgwu-notice-error {
	border-left-color: #a12622;
	background: #fff5f4;
	color: #70201d;
}

.fgwu-coordinator-dashboard .fgwu-notice p {
	margin: 0;
}

@media (max-width: 850px) {
	.fgwu-dashboard-cards { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
	.fgwu-dashboard-heading { display: block; }
	.fgwu-dashboard-actions { grid-template-columns: 1fr; }
	.fgwu-dashboard-quick-actions { grid-template-columns: 1fr; }
	.fgwu-dashboard-action { min-height: 0; }
	.fgwu-public-event-list { grid-template-columns: 1fr; }
	.fgwu-request-pickup-event-list { grid-template-columns: 1fr; }
	.fgwu-dashboard-account { align-items: flex-start; }
	.fgwu-dashboard-mini-stats { grid-template-columns: 1fr; }
	.fgwu-dashboard-profile { grid-template-columns: 1fr; }
	.fgwu-dashboard-profile dd { margin-bottom: 0.5rem; }
	.fgwu-dashboard-panel-heading { display: block; }
	.fgwu-dashboard-panel-heading .fgwu-dashboard-button { margin-bottom: 1rem; }
	.fgwu-dashboard-form .fgwu-form-grid,
	.fgwu-checkbox-grid { grid-template-columns: 1fr; }
	.fgwu-family-registration .fgwu-form-grid { grid-template-columns: 1fr; }
}

.fgwu-family-registration .fgwu-family-choice {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.fgwu-family-registration .fgwu-form button.fgwu-button-secondary {
	border: 2px solid #1b5968;
	background: #fff;
	color: #1b5968;
}

.fgwu-family-registration .fgwu-form button.fgwu-button-secondary:hover {
	background: #eef6f7;
}

.fgwu-request-kit h2 {
	margin-top: 1.4rem;
}

.fgwu-family-registration .fgwu-form input:focus,
.fgwu-family-registration .fgwu-form select:focus,
.fgwu-family-registration .fgwu-form button:focus {
	outline: 3px solid rgba(218, 157, 42, 0.45);
	outline-offset: 2px;
}

.fgwu-family-registration .fgwu-form .fgwu-contact-methods label {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0.2rem 1rem 0.2rem 0;
	font-weight: 400;
}

.fgwu-family-registration .fgwu-form input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
}

.fgwu-family-registration .fgwu-help-text {
	margin-bottom: 0.5rem !important;
	font-size: 0.95em;
}

.fgwu-family-registration .fgwu-field-error {
	display: block;
	margin-top: 0.35rem;
	color: #a12622;
	font-size: 0.95em;
	font-weight: 600;
}

.fgwu-family-registration .fgwu-field-error[hidden] {
	display: none !important;
}

.fgwu-family-registration [aria-invalid="true"] {
	border-color: #a12622 !important;
}

.fgwu-family-registration .fgwu-contact-methods.has-error {
	border-color: #a12622;
	box-shadow: 0 0 0 1px #a12622;
}

.fgwu-family-registration .fgwu-youth-counts.has-error {
	border-color: #a12622;
	box-shadow: 0 0 0 1px #a12622;
}

.fgwu-family-registration .fgwu-notice {
	margin: 1.25rem 0;
	padding: 1rem 1.2rem;
	border-radius: 4px;
}

.fgwu-family-registration .fgwu-notice h2 {
	margin-top: 0;
	color: #1b5968;
}

.fgwu-family-registration .fgwu-notice-success {
	border: 1px solid #b8d3d8;
	border-left: 5px solid #d99b24;
	background: #f3f8f9;
}

.fgwu-family-registration .fgwu-family-id {
	font-size: 1.1em;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.fgwu-family-registration .fgwu-short-family-id {
	font-size: 1.2em;
	letter-spacing: 0.08em;
}

.fgwu-family-registration .fgwu-notice-error {
	border: 1px solid #d49a98;
	border-left: 5px solid #a12622;
	background: #fff5f4;
	color: #70201d;
}

.fgwu-family-registration .fgwu-notice-error ul {
	margin-bottom: 0;
}

.fgwu-family-registration .fgwu-form button[type="submit"] {
	min-height: 2.8rem;
	padding: 0.7rem 1.4rem;
	border: 0;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.fgwu-family-registration .fgwu-form button[type="submit"]:hover {
	background: #bd8214;
}

.fgwu-family-registration .fgwu-delivery-checkout {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid #b8d3d8;
}

.fgwu-family-registration .fgwu-paypal-checkout-button {
	display: inline-block;
	padding: 0.75rem 1.25rem;
	border-radius: 3px;
	background: #d99b24;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.fgwu-family-registration .fgwu-paypal-checkout-button:hover,
.fgwu-family-registration .fgwu-paypal-checkout-button:focus {
	background: #bd8214;
	color: #fff;
}

/* 0.13.25: compact desktop landing dashboard; all other sections unchanged. */
.fgwu-coordinator-dashboard .fgwu-home-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin: .65rem 0 1.4rem; }
.fgwu-coordinator-dashboard .fgwu-home-stat { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:.85rem .55rem; min-height:90px; border:1px solid #d5e0e3; border-radius:10px; background:#f3f8f9; }
.fgwu-coordinator-dashboard .fgwu-home-stat strong { font-size:1.7rem; line-height:1.1; color:#173d49; }
.fgwu-coordinator-dashboard .fgwu-home-stat span { font-size:.88rem; margin-top:.3rem; color:#1b5968; }
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fgwu-coordinator-dashboard .fgwu-home-management-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.25rem 0; }
.fgwu-coordinator-dashboard .fgwu-home-group { min-width:0; padding:1rem; border:1px solid #a5b7bc; border-radius:10px; background:#f8fafb; }
.fgwu-coordinator-dashboard .fgwu-home-group > h3 { margin:0 0 .8rem; font-size:1.14rem; line-height:1.35; color:#173d49; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-actions { display:flex; flex-direction:column; gap:0; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action { min-height:0; padding:.65rem 0; background:transparent; border:0; border-top:1px solid #dbe4e6; border-radius:0; box-shadow:none; transform:none; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action:first-child { border-top:0; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action:hover { background:#fff5e4; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action h3 { font-size:.98rem; margin:0 0 .25rem; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action p { font-size:.85rem; line-height:1.4; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action-button { margin-top:.5rem; padding-top:0; }
.fgwu-coordinator-dashboard .fgwu-home-group .fgwu-dashboard-action-button span { padding:.35rem .65rem; font-size:.82rem; }
@media (max-width: 1050px) { .fgwu-coordinator-dashboard .fgwu-home-management-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .fgwu-coordinator-dashboard .fgwu-home-management-grid, .fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions { grid-template-columns:1fr; } .fgwu-coordinator-dashboard .fgwu-home-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* 0.13.28: Quick Actions -- two compact cards stacked in column one,
   printable forms in column two, and ministry resources in column three. */
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1rem;
}
.fgwu-coordinator-dashboard .fgwu-dashboard-quick-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}
.fgwu-coordinator-dashboard .fgwu-dashboard-quick-stack .fgwu-dashboard-action {
    flex: 1 1 0;
    min-height: 0;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions > .fgwu-dashboard-action {
    min-width: 0;
}
@media (max-width: 700px) {
    .fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions {
        grid-template-columns: 1fr;
    }
    .fgwu-coordinator-dashboard .fgwu-dashboard-quick-stack .fgwu-dashboard-action {
        flex: auto;
        min-height: 145px;
    }
}


/* 0.13.29: Quick Actions card sizing: no shrinking/overlapping controls. */
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions {
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:1rem;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-stack {
  display:grid;
  grid-template-rows:repeat(2, minmax(0, 1fr));
  gap:1rem;
  min-width:0;
  min-height:0;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-stack > .fgwu-dashboard-action {
  flex:none;
  min-height:180px;
  height:auto;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions .fgwu-dashboard-action {
  box-sizing:border-box;
  min-width:0;
  padding:1rem;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-stack .fgwu-dashboard-action-button {
  margin-top:auto;
  padding-top:.75rem;
}
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-action-button span,
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-resource-links a {
  line-height:1.35;
}
@media (max-width:700px) {
  .fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions {
    grid-template-columns:minmax(0,1fr);
  }
  .fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-stack {
    grid-template-rows:auto auto;
  }
  .fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-stack > .fgwu-dashboard-action {
    min-height:155px;
  }
}

/* 0.13.30: Keep Featured Ministry Resources button immediately below its description. */
.fgwu-coordinator-dashboard .fgwu-home-quick .fgwu-dashboard-quick-actions > .fgwu-dashboard-action .fgwu-dashboard-action-button {
    margin-top: 0;
    padding-top: .75rem;
}

/* Shareable ministry resources: one copy control per independent bulletin/social post. */
.fgwu-resource-copy-actions { margin: 0.75rem 0 0; display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }
.fgwu-resource-copy-button { display: inline-block; width: auto; min-height: 40px; padding: 0.6rem 1.1rem; border-radius: 0.5rem; border: 0; background: #124f58; color: #fff; font-weight: 700; cursor: pointer; }
.fgwu-resource-copy-button:hover, .fgwu-resource-copy-button:focus-visible { background: #0b3e45; color: #fff; }
.fgwu-resource-copy-feedback { font-size: 0.9rem; }
.fgwu-resource-copy-fallback { position: fixed; inset: 0; z-index: 100000; background: #0009; display: flex; padding: 1rem; justify-content: center; align-items: center; }
.fgwu-resource-copy-fallback-inner { background: #fff; color: #222; border-radius: 0.75rem; padding: 1.25rem; width: min(100%, 40rem); }
.fgwu-resource-copy-fallback-inner textarea { display: block; width: 100%; height: 12rem; margin: 0.75rem 0; }

/* Ministry Resource Library: scoped category filters and independent resource cards. */
.fgwu-resource-categories { display:flex; flex-wrap:wrap; align-items:center; gap:0.6rem; margin:1.15rem 0 1.25rem; }
.fgwu-resource-categories .fgwu-resource-category-button { display:inline-flex; justify-content:center; align-items:center; width:auto; min-height:40px; padding:0.6rem 1rem; border:2px solid #185666; border-radius:0.6rem; background:#fff; color:#164b58; font-weight:700; font-size:0.93rem; line-height:1.2; text-decoration:none; transition:background-color .15s ease,border-color .15s ease; }
.fgwu-resource-categories .fgwu-resource-category-button:hover,
.fgwu-resource-categories .fgwu-resource-category-button:focus-visible { background:#e9f3f5; color:#123e49; text-decoration:none; }
.fgwu-resource-categories .fgwu-resource-category-button.is-active { background:#d5a046; border-color:#b78224; color:#173d47; }
.fgwu-resource-categories .fgwu-resource-category-button.is-active:hover,
.fgwu-resource-categories .fgwu-resource-category-button.is-active:focus-visible { background:#e4b65f; }
.fgwu-dashboard-panel .fgwu-resource-card { box-sizing:border-box; display:block; width:100%; margin:1.25rem 0; padding:1.25rem 1.4rem; background:#f7fafb; border:1px solid #b9cbd0; border-left:4px solid #d5a046; border-radius:0.8rem; box-shadow:0 2px 7px rgba(20,55,65,.06); }
.fgwu-dashboard-panel .fgwu-resource-card h4 { margin:0 0 0.7rem; color:#164553; font-size:1.17rem; }
.fgwu-dashboard-panel .fgwu-resource-card .fgwu-resource-content { overflow-wrap:anywhere; line-height:1.6; }
.fgwu-dashboard-panel .fgwu-resource-card .fgwu-resource-copy-actions { margin-top:1rem; }
@media (max-width:600px) { .fgwu-resource-categories { gap:0.5rem; } .fgwu-resource-categories .fgwu-resource-category-button { font-size:0.86rem; min-height:42px; padding:0.5rem 0.75rem; } .fgwu-dashboard-panel .fgwu-resource-card { padding:1rem; } }

/* Resource category metadata remains visible in Featured and All views. */
.fgwu-dashboard-panel .fgwu-resource-card .fgwu-resource-card-categories { margin:-0.2rem 0 0.65rem; color:#3c5961; font-size:0.9rem; line-height:1.45; }

/* FGWU ministry resource library pagination */
.fgwu-resource-count { margin: 1rem 0; }
.fgwu-resource-pagination { margin: 1.5rem 0; }
.fgwu-resource-pagination .page-numbers { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; align-items: center; }
.fgwu-resource-pagination .page-numbers li { margin: 0; padding: 0; list-style: none; }
.fgwu-resource-pagination a.page-numbers,
.fgwu-resource-pagination span.page-numbers { display: inline-block; padding: .45rem .8rem; border: 1px solid currentColor; border-radius: .35rem; text-decoration: none; }
.fgwu-resource-pagination span.page-numbers.current { font-weight: 700; background: #17454b; color: #fff; border-color: #17454b; }

/* Optional graphic choices are outside the copyable caption content. */
.fgwu-dashboard-panel .fgwu-graphic-choices{margin:1.2rem 0;padding:1rem;background:#f8faf9;border:1px solid #d7e4e3;border-radius:12px}
.fgwu-dashboard-panel .fgwu-graphic-choices h5{font-size:1.08rem;color:#074e59;margin:0 0 .4rem}
.fgwu-dashboard-panel .fgwu-graphic-intro{font-size:.89rem;color:#4b5960;line-height:1.5;margin:0 0 1rem}
.fgwu-dashboard-panel .fgwu-graphic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,145px),180px));gap:1rem}
.fgwu-dashboard-panel .fgwu-graphic-option{margin:0;text-align:center;min-width:0}
.fgwu-dashboard-panel .fgwu-graphic-option a{display:block;border:1px solid #d7e4e3;border-radius:8px;overflow:hidden;background:#fff;line-height:0}
.fgwu-dashboard-panel .fgwu-graphic-option img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;display:block}
.fgwu-dashboard-panel .fgwu-graphic-option figcaption{display:flex;flex-direction:column;gap:2px;padding:.4rem .1rem;color:#074e59;font-size:.85rem}
.fgwu-dashboard-panel .fgwu-graphic-option figcaption span{color:#657378;font-size:.75rem}
@media(max-width:480px){.fgwu-dashboard-panel .fgwu-graphic-choices{padding:.75rem}.fgwu-dashboard-panel .fgwu-graphic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}

/* 0.13.38: clarify PayPal-hosted checkout choices without changing payment flow. */
.fgwu-family-registration .fgwu-checkout-payment-row { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin:1rem 0; }
.fgwu-family-registration .fgwu-checkout-payment-row .fgwu-paypal-checkout-button { flex:0 0 auto; }
.fgwu-family-registration .fgwu-checkout-payment-options { display:flex; flex:1 1 260px; flex-direction:column; gap:0.2rem; line-height:1.45; }
.fgwu-family-registration .fgwu-checkout-payment-options small { color:#4e6167; font-size:0.85em; }
@media (max-width:600px) {
 .fgwu-family-registration .fgwu-checkout-payment-row { align-items:flex-start; flex-direction:column; gap:0.65rem; }
 .fgwu-family-registration .fgwu-checkout-payment-options { flex-basis:auto; }
}

/* More room to compose Distribution Plan event instructions. */
.fgwu-plan-event textarea.fgwu-plan-event-description { display:block; width:100%; min-height:12rem; resize:vertical; box-sizing:border-box; }
/* Give the Distribution Plan public description its full available column width. */
.fgwu-plan-event > p:has(> label > textarea.fgwu-plan-event-description) { width:100%; max-width:none; }
.fgwu-plan-event label:has(> textarea.fgwu-plan-event-description) { display:block; width:100%; max-width:none; box-sizing:border-box; }
.fgwu-plan-event textarea.fgwu-plan-event-description { display:block; width:100% !important; max-width:none !important; min-width:0; min-height:12rem; box-sizing:border-box; }

.fgwu-plan-event .fgwu-plan-description-row, .fgwu-plan-event .fgwu-plan-description-label { display:block; width:100%; max-width:none; box-sizing:border-box; }

/* 0.13.44 - readable distribution-plan descriptions and compact family activity */
.fgwu-plan-description-row,.fgwu-plan-description-label {display:block!important;width:100%!important;max-width:none!important;}
.fgwu-plan-event textarea.fgwu-plan-event-description,.fgwu-dashboard-form textarea.fgwu-plan-event-description {display:block;width:100%!important;max-width:none!important;min-height:12rem;box-sizing:border-box;resize:vertical;}
.fgwu-family-activity {margin:1.5rem 0;padding:1rem;border:1px solid #d6dcd7;border-radius:10px;}
.fgwu-family-activity>summary {cursor:pointer;font-weight:700;font-size:1.1rem;}
.fgwu-family-activity-content {padding-top:.75rem;}
.fgwu-activity-item {padding:.7rem 0;border-top:1px solid #e0e6e2;}

.fgwu-family-activity-inline{margin:1.5rem 0;padding:1rem;border:1px solid #d6dcd7;border-radius:10px}.fgwu-family-activity-inline h2{margin-top:0}.fgwu-family-activity-inline .fgwu-activity-item p{margin:.35rem 0}

/* 0.13.46 - subtle separation of family activity from event selection cards. */
.fgwu-family-activity-inline { background-color:#faf7ef; border:1px solid #e2d7c2; border-radius:10px; padding:1.25rem; }
@media (max-width:600px) { .fgwu-family-activity-inline { padding:1rem; } }

/* Optional coordinator guidance: excerpt stays separate from copyable resource body. */
.fgwu-resource-coordinator-tip { position:relative; display:inline-block; }
.fgwu-resource-coordinator-tip > summary { display:inline-flex; align-items:center; cursor:pointer; color:#145361; font-weight:600; text-decoration:underline; text-underline-offset:3px; padding:0.45rem 0.2rem; }
.fgwu-resource-coordinator-tip > summary::marker { content:""; }
.fgwu-resource-coordinator-tip > summary::-webkit-details-marker { display:none; }
.fgwu-resource-coordinator-tip > summary:focus-visible { outline:2px solid #ad7c24; outline-offset:3px; }
.fgwu-resource-coordinator-tip-panel { position:absolute; z-index:30; left:0; bottom:calc(100% + 8px); width:min(340px, 78vw); box-sizing:border-box; background:#fff5db; border:1px solid #c79836; border-radius:8px; box-shadow:0 5px 16px rgba(34,44,38,.18); padding:13px 15px; color:#45391e; line-height:1.5; font-size:0.94rem; }
.fgwu-resource-coordinator-tip-panel strong { display:block; color:#785711; margin-bottom:6px; }
.fgwu-resource-coordinator-tip-panel p { margin:0 0 0.55rem; }
.fgwu-resource-coordinator-tip-panel p:last-child { margin-bottom:0; }
/* Keep Coordinator Tips anchored inward on narrow screens, rather than opening off the left edge. */
@media(max-width:600px) { .fgwu-resource-coordinator-tip-panel { left:0; right:auto; width:min(340px, calc(100vw - 90px)); max-width:calc(100vw - 90px); } }
