.gfam-welcome-toast {
	position: fixed;
	z-index: 1000000;
	top: 24px;
	right: 24px;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	max-width: min(360px, calc(100vw - 32px));
	padding: 0.9rem 1.1rem;
	border: 1px solid rgba(117, 16, 168, 0.14);
	border-radius: 12px;
	background: #fff;
	color: #351342;
	font-size: 1rem;
	font-weight: 750;
	box-shadow: 0 14px 38px rgba(37, 12, 48, 0.24);
	animation: gfam-toast-in 0.25s ease-out;
}
.gfam-welcome-toast.is-leaving {
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.25s, transform 0.25s;
}
.gfam-welcome-check {
	display: grid;
	place-items: center;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #7510a8;
	color: #fff;
	font-size: 0.9rem;
}
@keyframes gfam-toast-in {
	from { opacity: 0; transform: translateY(-10px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 520px) {
	.gfam-welcome-toast { top: 16px; right: 16px; left: 16px; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	.gfam-welcome-toast { animation: none; }
}
.gfam-ticket-icon {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	width: 20px;
	height: 14px;
	border: 2px solid currentColor;
	border-radius: 3px;
	transform: rotate(-7deg);
}
.gfam-ticket-icon::after {
	content: "";
	position: absolute;
	top: 1px;
	bottom: 1px;
	left: 6px;
	border-left: 2px dotted currentColor;
}
.gfam-payment {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1rem;
	margin: 0.7rem 0;
	padding: 0.7rem 0.85rem;
	border-radius: 7px;
	font-size: 0.92rem;
}
.gfam-payment.is-paid { background: #edf8f0; color: #176b32; }
.gfam-payment.is-unpaid { background: #f1f2f4; color: #1f2328; }
.gfam-entry-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 0.8rem; }
.gfam-action-link,
.gfam-receipt-link { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; box-sizing: border-box; padding: 0.55rem 0.9rem; border: 2px solid #7510a8; border-radius: 7px; color: #7510a8; font-weight: 700; text-decoration: none; }
.gfam-registrations a.gfam-receipt-link,
.gfam-registration a.gfam-receipt-link,
.gfam-registrations a.gfam-receipt-link:visited,
.gfam-registration a.gfam-receipt-link:visited { background: #7510a8; color: #fff !important; }
.gfam-action-link:hover,
.gfam-action-link:focus { background: #f5eafa; color: #57077f; }
.gfam-receipt-link:hover,
.gfam-receipt-link:focus,
.gfam-receipt-link:active { background: #57077f; border-color: #57077f; color: #fff !important; }
