:root {
	--gf-primary: #001e3c;
	--gf-primary-dk: #00152b;
	--gf-primary-lt: #eef5fd;
	--gf-accent: #0062c4;
	--gf-success: #057a55;
	--gf-error: #c81e1e;
	--gf-border: #d1d5db;
	--gf-bg: #f9fafb;
	--gf-text: #111827;
	--gf-muted: #6b7280;
	--gf-radius: 10px;
	--gf-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}

.gf-progress--ring .gf-progress-ring svg {
	width: 74px;
	height: 74px;
	transform: rotate(-90deg);
	display: block;
}

@keyframes gfSlideIn {
	0% {
		opacity: 0;
		transform: translate(16px);
	}
	
	to {
		opacity: 1;
		transform: translate(0);
	}
}

.gf-field[style*="display: none"] {
	display: none !important;
}

.gf-radio-card-icon-svg svg {
	width: var(--gf-card-icon-size, 32px);
	height: var(--gf-card-icon-size, 32px);
}

@keyframes gfSpin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes gf-summary-in {
	0% {
		opacity: 0;
		transform: translateY(6px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes gfConfirmIn {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes gfConfirmPulse {
	0% {
		transform: scale(.85);
		opacity: .35;
	}
	
	to {
		transform: scale(1.5);
		opacity: 0;
	}
}

.gf-confirm-disc svg {
	width: 34px;
	height: 34px;
}

@keyframes gfConfirmDraw {
	0%, 30% {
		stroke-dashoffset: 48;
	}
	
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes gf-conv-in {
	0% {
		opacity: 0;
		transform: translateY(14px);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}