
	/* 그라데이션 텍스트 */
	.text-color-gradient {
		background: linear-gradient(45deg, #3FA460, #3FA460);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		display: inline-block;
	}

	.modern-card {
		position: relative;
		background: #fff;
		border-radius: 15px;
		overflow: hidden;
		transition: all 0.4s ease;
		border: 1px solid #e9ecef; /* Add a subtle border */
	}

	.card-decoration {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 6px;
		background: linear-gradient(90deg, #3FA460, #3FA460);
	}

	.card-content {
		position: relative;
	}

	/* 모던 폼 스타일 */
	.form-control-modern {
		height: 3rem;
		padding: 0.75rem 1.25rem;
		font-size: 0.9rem;
		border-radius: 8px;
		border: 1px solid #e9e9e9;
		background-color: #f9f9f9;
		transition: all 0.3s ease;
	}

	.form-control-modern:focus {
		border-color: #3FA460;
		background-color: #fff;
		box-shadow: 0 0 0 3px rgba(63,164,96,0.1);
	}

	select.form-control-modern {
		padding-right: 2.5rem;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 1rem center;
		background-size: 8px 10px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}

	/* 모던 버튼 스타일 */
	.btn-modern {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.75rem 1.75rem;
		background: linear-gradient(45deg, #3FA460, #3FA460);
		border: none;
		border-radius: 50px;
		color: #fff;
		font-weight: 600;
		font-size: 0.9rem;
		letter-spacing: 0.5px;
		overflow: hidden;
		transition: all 0.3s ease;
	}

	.btn-modern:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 20px rgba(63,164,96,0.2);
		color: #fff;
	}

	.btn-text {
		margin-right: 8px;
	}

	.btn-arrow {
		transition: transform 0.3s ease;
	}

	.btn-modern:hover .btn-arrow {
		transform: translateX(4px);
	}

	.btn-modern.btn-sm {
		padding: 0.4rem 1rem;
		font-size: 0.8rem;
	}

	.btn-modern.btn-lg {
		padding: 1rem 2.5rem;
		font-size: 1rem;
	}

	/* 정보 박스 */
	.bg-light-5 {
		background-color: rgba(63,164,96,0.05);
	}

	/* 카드 스타일 */
	.card {
		border: none;
		border-radius: 15px;
		overflow: hidden;
		margin-bottom: 2rem;
		box-shadow: 0 5px 15px rgba(0,0,0,0.03);
	}

	.card-header {
		background: none;
		border-bottom: none;
		padding: 0;
	}

	.card-admin .card-header .card-body {
		padding: 1.5rem;
		border-bottom: 1px solid rgba(0,0,0,0.05);
	}

	.card-body {
		padding: 1.5rem;
	}

	/* 프로세스 단계 스타일 */
	.process-step-circle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		position: relative;
		height: 60px;
		text-align: center;
		font-size: 16px;
		border-radius: 50px;
		padding: 0.5rem 1.5rem;
		transition: all 0.3s ease;
		background: rgba(63,164,96,0.1);
		border: 2px solid transparent;
	}

	.process-step-circle.active {
		background: #3FA460;
		color: #fff;
	}

	.process-step-circle-content {
		font-weight: 600;
	}

	.process-step.active .process-step-circle-content {
		color: #fff;
	}

	/* 애니메이션 최적화 */
	@media (prefers-reduced-motion: reduce) {
		.animated {
			transition-property: none !important;
			transform: none !important;
			animation: none !important;
		}
	}

	/* 반응형 조정 */
	@media (max-width: 767px) {
		.form-control-modern {
			height: 2.5rem;
			padding: 0.5rem 1rem;
		}
		.btn-modern {
			padding: 0.6rem 1.5rem;
		}
		.text-6 {
			font-size: 1.5rem !important;
		}
		.process-step-circle {
			height: 50px;
			font-size: 14px;
		}
	}

	/* 입력 그룹 스타일 개선 */
	.input-group {
		border-radius: 8px;
		overflow: hidden;
	}

	.input-group .form-control {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.input-group .btn {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}