/**
 * 접수하기 — 약관동의 및 접수 폼 공통
 */

.register-page {
	padding-bottom: 3.5rem;
	--register-box-radius: 15px; /* 접수 단계(.register-steps) 기준 */
}

.register-card {
	background: #fff;
	border-radius: var(--register-box-radius);
}

.register-card__body {
	position: relative;
	padding: 1.5rem;
}

/* 기본정보 · 상세정보: register-card 래퍼 여백 제거 — 섹션 박스만 사용 */
.register-page--basic .register-card,
.register-page--detail .register-card {
	background: transparent;
	border-radius: 0;
}

.register-page--basic .register-card__body,
.register-page--detail .register-card__body {
	padding: 0;
}

/* 약관동의: 외부 register-card 박스 유지 */
.register-page--agree .register-card {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: var(--register-box-radius);
}

@media (min-width: 768px) {
	.register-card__body {
		padding: 2.5rem 2.5rem;
	}
}

.register-divider {
	border: 0;
	border-top: 1px solid #eee;
	margin: 1.5rem 0;
}

.register-agreement-block {
	margin-bottom: 0.75rem;
}

.register-agreement-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 0.75rem;
}

.register-agreement-title .lucide-icon {
	width: 1.1rem;
	height: 1.1rem;
	flex-shrink: 0;
}

/* 약관 본문 스크롤 박스 */
.register-page .regal-cont.agree-box {
	height: 220px;
	overflow-y: auto;
	padding: 1rem 1.25rem;
	background: #f8f9fa;
	border-radius: 8px;
	font-size: 14px !important;
	line-height: 24px;
	word-break: keep-all;
}

.register-page .regal-cont.agree-box p,
.register-page .regal-cont.agree-box li,
.register-page .regal-cont.agree-box td,
.register-page .regal-cont.agree-box th,
.register-page .regal-cont.agree-box span,
.register-page .regal-cont.agree-box div {
	font-size: inherit !important;
	line-height: inherit;
}

.register-page .regal-cont.agree-box h3,
.register-page .regal-cont.agree-box h4 {
	font-size: inherit !important;
	font-weight: 700 !important;
	color: #333 !important;
	line-height: 1.4;
	margin: 0.85em 0 0.35em !important;
}

.register-page .regal-cont.agree-box h3:first-child,
.register-page .regal-cont.agree-box h4:first-child {
	margin-top: 0 !important;
}

.register-page .regal-cont.agree-box p {
	margin-bottom: 0 !important;
	font-weight: 400 !important;
}

.register-page .regal-cont.agree-box ul,
.register-page .regal-cont.agree-box ol {
	padding-left: 1.25rem;
	margin-bottom: 0;
}

.register-page .regal-cont.agree-box table {
	width: 100%;
	border-collapse: collapse;
	margin: 0.5em 0;
}

.register-page .regal-cont.agree-box table td,
.register-page .regal-cont.agree-box table th {
	border: 1px solid #ccc;
	padding: 6px 8px;
	vertical-align: middle;
	text-align: left;
}

.register-page .regal-cont.agree-box table th {
	background: #f1f3f5;
	font-weight: 600;
}

.register-page .regal-cont.agree-box table p {
	margin: 0 !important;
}

/* 동의 라디오 */
.register-page .agree-inline-group {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.register-page .agree-inline-row {
	display: flex;
	align-items: center;
	padding: 0.75rem 1.2rem;
	gap: 1rem;
}

.register-page .agree-inline-label {
	font-weight: 600;
	font-size: 0.92rem;
	flex-shrink: 0;
}

.register-page .agree-inline-label--required {
	color: var(--primary, #0088cc);
}

.register-page .agree-inline-label--optional {
	color: #888;
}

.register-page .agree-inline-radios {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	margin-left: auto;
	flex-wrap: wrap;
}

.register-page .agree-inline-radios .form-check {
	display: inline-flex;
	align-items: center;
	padding-left: 0;
	margin-bottom: 0;
	min-height: auto;
}

.register-page .agree-inline-radios .form-check .form-check-input {
	float: none;
	margin-left: 0 !important;
	margin-right: 0.35rem;
}

.register-page .agree-inline-radios .form-check-label {
	padding-left: 0;
}

.register-page .agree-inline-radios .form-check-label {
	margin-top: 0;
	font-size: 0.9rem;
	line-height: 1.35;
}

.register-page .agree-inline-group .agree-error-box {
	display: none;
	align-items: center;
	gap: 0.35rem;
	border-top: 1px solid #e2e8f0;
	background: rgba(0, 136, 204, 0.06);
	margin: 0;
	padding: 0.45rem 1.2rem;
	font-size: 0.82rem;
	color: #c0392b;
}

.register-page .agree-inline-group .agree-error-box .lucide-icon {
	width: 0.95rem;
	height: 0.95rem;
	flex-shrink: 0;
}

/* 커스텀 라디오·체크박스 */
.register-page .form-check-input[type="radio"],
.register-page .form-check-input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 0;
	margin-right: 0.5rem;
	cursor: pointer;
	appearance: none;
	background-color: #fff;
	border: 2px solid #ddd;
	transition: all 0.2s ease;
	position: relative;
	flex-shrink: 0;
}

.register-page .form-check-input[type="radio"] {
	border-radius: 50%;
}

.register-page .form-check-input[type="checkbox"] {
	border-radius: 4px;
}

.register-page .form-check-input[type="checkbox"]:checked {
	background-color: var(--primary, #0088cc) !important;
	border-color: var(--primary, #0088cc) !important;
}

.register-page .form-check-input[type="radio"]:checked {
	background-color: #fff !important;
	border-color: var(--primary, #0088cc) !important;
	box-shadow: 0 0 0 4px rgba(0, 136, 204, 0.18);
}

.register-page .form-check-input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background-color: var(--primary, #0088cc);
	border-radius: 50%;
}

.register-page .form-check-input[type="checkbox"]:checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 12px;
	color: #fff;
	line-height: 1;
}

.register-page .form-check-label {
	cursor: pointer;
	font-weight: 500;
	color: #555;
}

.register-page .form-check-input[type="radio"]:checked + .form-check-label,
.register-page .form-check-label:has(.form-check-input[type="radio"]:checked) {
	color: var(--primary, #0088cc) !important;
	font-weight: 600;
}

.register-page .form-check-input[type="checkbox"]:checked + .form-check-label,
.register-page .form-check-label:has(.form-check-input[type="checkbox"]:checked) {
	color: var(--primary, #0088cc) !important;
	font-weight: 600;
}

.register-page .form-check-input[type="checkbox"]:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.25);
}

.register-page .form-check-input[type="radio"]:focus {
	outline: none;
}

.register-page .form-check-input[type="radio"]:focus-visible {
	box-shadow: 0 0 0 4px rgba(0, 136, 204, 0.18);
}

.register-page .form-check:hover .form-check-input {
	border-color: var(--primary, #0088cc) !important;
}

.register-page .form-check:hover .form-check-label {
	color: var(--primary, #0088cc) !important;
}

/* 전체 동의 */
.register-page .register-all-agree-wrap {
	margin: 1.5rem 0 1rem;
	display: flex;
	justify-content: center;
}

.register-page .all-agree-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background-color: rgba(0, 136, 204, 0.05) !important;
	padding: 0.75rem 1.25rem !important;
	border-radius: 8px;
	transition: background-color 0.2s ease;
	min-height: auto;
	margin-bottom: 0;
}

.register-page .all-agree-wrapper .form-check-input {
	float: none;
	margin-left: 0 !important;
	margin-right: 0;
	margin-top: 0;
	flex-shrink: 0;
}

.register-page .all-agree-wrapper .form-check-label {
	padding-left: 0;
	margin-left: 0;
	margin-bottom: 0;
	display: inline-flex;
	align-items: center;
}

.register-page .all-agree-wrapper:hover {
	background-color: rgba(0, 136, 204, 0.1) !important;
}

.register-page .all-agree-wrapper:hover .form-check-input {
	border-color: var(--primary, #0088cc) !important;
}

.register-page .all-agree-wrapper:hover .form-check-label {
	color: var(--primary, #0088cc) !important;
}

.register-page #all_agree {
	width: 20px;
	height: 20px;
}

.register-page #all_agree + .form-check-label {
	font-size: 0.95rem;
	font-weight: 600;
}

.register-page #all_agree:checked + .form-check-label {
	color: var(--primary, #0088cc) !important;
}

.register-page .register-submit-wrap {
	padding: 1.5rem 0 0.5rem;
}

.register-page .btn.btn-modern {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0.35rem;
	width: auto;
	max-width: 100%;
	text-transform: none;
	white-space: nowrap;
}

.register-page .btn.btn-modern .btn-text,
.register-page .btn.btn-modern .btn-arrow {
	display: inline-flex;
	align-items: center;
	line-height: 1.35;
}

.register-page .btn.btn-modern .btn-arrow .lucide-icon,
.register-page .btn.btn-modern .btn-arrow svg.lucide-icon {
	flex-shrink: 0;
}

/* ── 레거시 모던 폼 컨트롤 ── */
.register-page .form-control-modern {
	height: 3rem;
	padding: 0.75rem 1.25rem;
	font-size: 0.9rem;
	border-radius: 8px;
	border: 1px solid #e9e9e9;
	background-color: #fff;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.register-page textarea.form-control-modern {
	height: auto;
	min-height: 6.5rem;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	line-height: 1.6;
	resize: vertical;
}

.register-page input[type="file"].form-control-modern {
	height: auto;
	padding: 0.6rem 1rem;
}

.register-page .form-control-modern:focus,
.register-page .form-control.form-control-modern:focus {
	border-color: var(--primary, #0088cc) !important;
	box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.1) !important;
	background-color: #fff;
}

.register-page .form-control-modern:disabled {
	background-color: #f3f4f6 !important;
	border-color: #d1d5db !important;
	color: #9ca3af !important;
	cursor: not-allowed;
	opacity: 1;
	box-shadow: none !important;
}

.register-page .form-control-modern:disabled:focus {
	border-color: #d1d5db !important;
	box-shadow: none !important;
	background-color: #f3f4f6 !important;
}

.register-page select.form-control-modern:disabled {
	color: #9ca3af !important;
}

.register-page--detail #school_fields:has(#school_stitle:disabled) .register-field-hint,
.register-page--detail #school_fields.register-school-fields--disabled .register-field-hint {
	color: #98a2b3;
}

.register-page--detail #school_fields.register-school-fields--disabled .form-control-modern:disabled {
	background-color: #eceff3 !important;
	border-color: #cfd6df !important;
	color: #a0a8b3 !important;
}

.register-page 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;
	appearance: none;
}

.register-page .info-section .form-check.form-check-inline {
	display: inline-flex;
	align-items: center;
	margin-right: 1.25rem;
	margin-bottom: 0.35rem;
	padding-left: 0;
}

.register-page .info-section .form-check-label:has(.form-check-input[type="radio"]),
.register-page .info-section .form-check-label:has(.form-check-input[type="checkbox"]) {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0;
	cursor: pointer;
}

.register-page .info-section .form-check-label .form-check-input[type="radio"],
.register-page .info-section .form-check-label .form-check-input[type="checkbox"] {
	margin: 0;
	flex-shrink: 0;
	position: relative;
	top: 0;
	float: none;
}

@media (max-width: 767px) {
	.register-page .form-control-modern {
		height: 2.5rem;
		padding: 0.5rem 1rem;
	}
}

.register-page .register-placeholder {
	text-align: center;
	color: #666;
	margin: 2rem 0 0;
}

/* ── 접수 게이트 (개인 / 단체) ── */
.register-page--gate {
	padding-bottom: 4rem;
}

.register-gate-panel {
	border: 1px solid #e3eaf2;
	overflow: hidden;
}

.register-gate-panel .register-card__body {
	padding-top: 2rem;
	padding-bottom: 2.25rem;
}

.register-gate-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 1.75rem;
}

.register-gate-head__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: rgba(0, 136, 204, 0.08);
	border: 1px solid rgba(0, 136, 204, 0.14);
	color: var(--primary, #0088cc);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.register-gate-head__title {
	margin: 0.85rem 0 0.55rem;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-weight: 700;
	line-height: 1.35;
	color: #1a2130;
	letter-spacing: -0.03em;
}

.register-gate-head__lead {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #667085;
	word-break: keep-all;
}

.register-gate-content {
	max-width: 920px;
	margin: 0 auto;
}

.register-gate-notice {
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid #b8dce8;
	border-radius: 0.625rem;
	background: linear-gradient(180deg, #edf8fc 0%, #e4f4fa 100%);
	box-shadow: 0 1px 2px rgba(0, 72, 108, 0.04);
}

.register-gate-notice__lead {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.55;
	color: #1a4a5c;
	word-break: keep-all;
}

.register-gate-notice__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.15rem;
	color: var(--primary, #0088cc);
	font-size: 1.1rem;
	line-height: 1;
}

.register-gate-notice__lead-text {
	flex: 1;
	min-width: 0;
}

.register-gate-notice__item {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0;
    padding-left: 1.5rem;
    font-size: 1rem;
    line-height: 1.65;
    color: #3d5560;
    word-break: keep-all;
}

.register-gate-notice__item + .register-gate-notice__item {
	margin-top: 0.2rem;
}

.register-gate-notice__bullet {
	flex-shrink: 0;
	font-weight: 700;
	color: #5a7a8a;
}

.register-gate-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.register-gate-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.15rem;
	min-height: 280px;
	padding: 2.1rem 1.75rem 1.65rem;
	border: 1px solid #dfe6ef;
	border-radius: 20px;
	background: #fff;
	color: #1a2130;
	text-decoration: none;
	overflow: hidden;
	isolation: isolate;
	transition:
		border-color 0.35s ease,
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.35s ease;
}

.register-gate-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, var(--gate-accent, var(--primary, #0088cc)) 0%, color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 82%, #003d5c) 100%);
	transform: scaleY(0);
	transform-origin: bottom center;
	transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 0;
}

.register-gate-card--personal {
	--gate-accent: #0088cc;
}

.register-gate-card--group {
	--gate-accent: #0d9488;
}

.register-gate-card:hover,
.register-gate-card:focus-visible {
	border-color: var(--gate-accent, var(--primary, #0088cc));
	box-shadow:
		0 18px 40px color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 18%, transparent),
		0 4px 12px rgba(15, 35, 55, 0.06);
	color: #fff;
	text-decoration: none;
	transform: translateY(-5px);
	outline: none;
}

.register-gate-card:hover::before,
.register-gate-card:focus-visible::before {
	transform: scaleY(1);
}

.register-gate-card__visual {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10.5rem;
	height: 10.5rem;
}

.register-gate-card__ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 22%, transparent);
	box-shadow:
		0 0 0 8px color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 6%, transparent),
		0 10px 28px color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 12%, transparent);
	transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.register-gate-card__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 7.75rem;
	height: 7.75rem;
	border-radius: 50%;
	background: linear-gradient(145deg, color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 10%, #fff) 0%, #fff 100%);
	border: 2px solid color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 18%, #e8eef5);
	color: var(--gate-accent, var(--primary, #0088cc));
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

.register-gate-card__icon svg.lucide-icon,
.register-gate-card__icon svg.lucide,
.register-gate-card__icon .lucide-icon svg.lucide {
	width: 3.75rem;
	height: 3.75rem;
	stroke-width: 1.75;
}

.register-gate-card:hover .register-gate-card__icon,
.register-gate-card:focus-visible .register-gate-card__icon {
	transform: scale(1.06);
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
}

.register-gate-card:hover .register-gate-card__ring,
.register-gate-card:focus-visible .register-gate-card__ring {
	border-color: rgba(255, 255, 255, 0.35);
	box-shadow:
		0 0 0 8px rgba(255, 255, 255, 0.08),
		0 10px 28px rgba(255, 255, 255, 0.12);
}

.register-gate-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	text-align: center;
}

.register-gate-card__title {
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.03em;
	transition: color 0.3s ease;
}

.register-gate-card__desc {
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.5;
	color: #667085;
	transition: color 0.3s ease;
}

.register-gate-card__desc::before {
	content: "(";
}

.register-gate-card__desc::after {
	content: ")";
}

.register-gate-card:hover .register-gate-card__desc,
.register-gate-card:focus-visible .register-gate-card__desc {
	color: rgba(255, 255, 255, 0.88);
}

.register-gate-card__action {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.15rem;
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--gate-accent, var(--primary, #0088cc)) 16%, transparent);
	color: var(--gate-accent, var(--primary, #0088cc));
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.register-gate-card__action svg.lucide-icon,
.register-gate-card__action svg.lucide,
.register-gate-card__action .lucide-icon svg.lucide {
	width: 0.95rem;
	height: 0.95rem;
	stroke-width: 2.4;
	transition: transform 0.3s ease;
}

.register-gate-card:hover .register-gate-card__action,
.register-gate-card:focus-visible .register-gate-card__action {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
}

.register-gate-card:hover .register-gate-card__action svg.lucide-icon,
.register-gate-card:hover .register-gate-card__action svg.lucide,
.register-gate-card:focus-visible .register-gate-card__action svg.lucide-icon,
.register-gate-card:focus-visible .register-gate-card__action svg.lucide {
	transform: translateX(3px);
}

@media (min-width: 768px) {
	.register-gate-panel .register-card__body {
		padding-top: 2.5rem;
		padding-bottom: 2.75rem;
	}

	.register-gate-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.35rem;
	}

	.register-gate-card {
		min-height: 320px;
		padding: 2.35rem 2rem 1.85rem;
	}
}

@media (max-width: 767px) {
	.register-gate-head {
		margin-bottom: 1.35rem;
	}

	.register-gate-card {
		min-height: 250px;
		padding: 1.75rem 1.25rem 1.35rem;
	}

	.register-gate-card__visual {
		width: 8.75rem;
		height: 8.75rem;
	}

	.register-gate-card__icon {
		width: 6.5rem;
		height: 6.5rem;
	}

	.register-gate-card__icon svg.lucide-icon,
	.register-gate-card__icon svg.lucide,
	.register-gate-card__icon .lucide-icon svg.lucide {
		width: 3.15rem;
		height: 3.15rem;
	}

	.register-gate-card__title {
		font-size: 1.28rem;
	}
}

@media (max-width: 768px) {
	.register-page .agree-inline-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		padding: 0.7rem 1rem;
	}

	.register-page .agree-inline-radios {
		margin-left: 0;
	}

	.register-card__body {
		padding: 1.25rem;
	}

	.register-page--basic .register-card__body,
	.register-page--detail .register-card__body {
		padding: 0;
	}
}

/* ── 접수 단계 표시 ── */
.register-steps {
	margin-bottom: 1.5rem;
	padding: 1.35rem 1.5rem 1.15rem;
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: var(--register-box-radius);
}

.register-steps__list {
	display: flex;
	align-items: flex-start;
	list-style: none;
	padding: 0;
	margin: 0;
}

.register-steps__item {
	position: relative;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
	text-align: center;
}

.register-steps__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 1.125rem;
	left: calc(50% + 1.125rem);
	right: calc(-50% + 1.125rem);
	height: 2px;
	background: #e4e7ec;
	z-index: 0;
}

.register-steps__item--done:not(:last-child)::after {
	background: var(--primary, #0088cc);
}

.register-steps__marker {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #d0d5dd;
	color: #98a2b3;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

.register-steps__num {
	display: block;
}

.register-steps__check {
	width: 1rem;
	height: 1rem;
}

.register-steps__item--done .register-steps__marker {
	background: var(--primary, #0088cc);
	border-color: var(--primary, #0088cc);
	color: #fff;
}

.register-steps__item--current .register-steps__marker {
	background: #fff;
	border-color: var(--primary, #0088cc);
	color: var(--primary, #0088cc);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary, #0088cc) 12%, transparent);
}

.register-steps__label {
	display: block;
	max-width: 100%;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.35;
	color: #98a2b3;
	word-break: keep-all;
}

.register-steps__item--done .register-steps__label {
	color: #475467;
}

.register-steps__item--current .register-steps__label {
	color: var(--primary, #0088cc);
	font-weight: 700;
}

.register-steps__link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.register-steps__item--done .register-steps__link:hover {
	color: var(--primary, #0088cc);
}

.register-steps__status {
	display: none;
	margin: 0;
}

@media (max-width: 768px) {
	.register-steps {
		padding: 1rem 0.85rem 0.9rem;
	}

	.register-steps__list {
		gap: 0;
	}

	.register-steps__item {
		gap: 0;
	}

	.register-steps__item:not(:last-child)::after {
		top: 0.8rem;
		left: calc(50% + 0.8rem);
		right: calc(-50% + 0.8rem);
	}

	.register-steps__marker {
		width: 1.6rem;
		height: 1.6rem;
		font-size: 0.68rem;
	}

	.register-steps__item--current .register-steps__marker {
		box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #0088cc) 12%, transparent);
	}

	.register-steps__check {
		width: 0.75rem;
		height: 0.75rem;
	}

	.register-steps__label {
		display: none;
	}

	.register-steps__status {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.4rem 0.55rem;
		margin-top: 0.75rem;
		padding-top: 0.75rem;
		border-top: 1px solid #f0f2f5;
	}

	.register-steps__status-count {
		display: inline-flex;
		align-items: center;
		padding: 0.15rem 0.5rem;
		border-radius: 999px;
		background: color-mix(in srgb, var(--primary, #0088cc) 10%, #fff);
		border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, transparent);
		font-size: 0.72rem;
		font-weight: 700;
		line-height: 1.4;
		color: var(--primary, #0088cc);
	}

	.register-steps__status-label {
		font-size: 0.88rem;
		font-weight: 700;
		line-height: 1.35;
		color: var(--primary, #0088cc);
	}
}

.register-page .register-guardian-panel--compact {
	margin-top: 0.25rem;
	padding: 1rem;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 0.75rem;
	background: #fff;
}

.register-page .register-guardian-panel--compact .register-field-hint {
	font-size: 0.875rem;
}

.register-page--detail-group .register-guardian-panel--compact .info-label,
.register-page--detail-group .register-guardian-panel--compact .register-group-field__label {
	font-size: 0.9375rem;
}

.register-page .register-guardian-panel--hidden {
	display: none !important;
}

.register-page .register-guardian-agree-box {
	padding: 1rem 1.25rem;
	background: #f8f9fa;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #344054;
	word-break: keep-all;
	max-height: 280px;
	overflow-y: auto;
}

.register-page .register-guardian-agree-box__guide + .register-guardian-agree-box__pledge,
.register-page .register-guardian-agree-box__content + .register-guardian-agree-box__pledge {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e2e8f0;
}

.register-page .register-guardian-agree-box__content,
.register-page .register-guardian-agree-box__pledge {
	font-weight: 500;
}

.register-page .register-guardian-agree-action {
	display: flex;
	justify-content: flex-end;
	margin-top: 0.75rem;
}

.register-page .register-guardian-agree-action .form-check-label {
	font-size: 0.95rem;
}

/* ── 접수 폼 info-section ── */
.register-page .info-section {
	margin-bottom: 1.25rem;
}

/* theme.css .rounded { 5px !important } 보다 우선 */
.register-page .info-section.bg-light-5,
.register-page--basic .register-field-panel,
.register-page--detail .register-field-panel,
.register-page--result .register-field-panel,
.register-page--result .register-category-summary,
.register-page--confirm .register-field-panel {
	border-radius: var(--register-box-radius) !important;
}

.register-page .info-item {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid #eef2f6;
}

.register-page .info-item:last-child {
	border-bottom: 0;
}

.register-page .info-label {
	flex: 0 0 100%;
	max-width: 100%;
	font-weight: 600;
	color: #344054;
}

@media (min-width: 768px) {
	.register-page .info-label {
		flex: 0 0 180px;
		max-width: 180px;
		padding-top: 0.55rem;
	}

	.register-page .info-value {
		flex: 1 1 0;
		min-width: 0;
	}
}

.register-page .register-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
}

.register-page .register-radio-group--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.5rem;
}

.register-page .register-field-hint {
	font-size: 0.82rem;
	color: #667085;
}

.register-page .register-field-hint .lucide-icon,
.register-page .register-field-hint svg.lucide-icon {
	width: 0.95rem;
	height: 0.95rem;
	vertical-align: -0.15em;
}

/* ── register2 레거시: 섹션 배경 (그림자 없음) ── */
.register-page .bg-light-5 {
	background-color: color-mix(in srgb, var(--primary, #0088cc) 4%, #fff);
}

/* ── 기본정보 · 상세정보 · 접수완료 (공통 필드 UI) ── */
.register-page--basic .register-field-panel,
.register-page--detail .register-field-panel,
.register-page--detail .register-category-summary,
.register-page--result .register-field-panel,
.register-page--result .register-category-summary,
.register-page--confirm .register-confirm-results,
.register-page--confirm .register-confirm-edit,
.register-page--confirm-edit .register-field-panel,
.register-page--confirm-edit .register-category-summary {
	margin-bottom: 1.5rem;
	padding: 1.25rem 1rem;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 20%, #dde3ea);
	background: color-mix(in srgb, var(--primary, #0088cc) 4%, #fff);
	box-shadow: none;
}

@media (min-width: 768px) {
	.register-page--basic .register-field-panel,
	.register-page--detail .register-field-panel,
	.register-page--detail .register-category-summary,
	.register-page--result .register-field-panel,
	.register-page--result .register-category-summary,
	.register-page--confirm .register-confirm-results,
	.register-page--confirm .register-confirm-edit,
	.register-page--confirm-edit .register-field-panel,
	.register-page--confirm-edit .register-category-summary {
		padding: 2rem 2.5rem;
	}
}

@media (max-width: 767px) {
	.register-page--basic .register-field-panel,
	.register-page--detail .register-field-panel,
	.register-page--detail .register-category-summary,
	.register-page--result .register-field-panel,
	.register-page--result .register-category-summary,
	.register-page--confirm .register-confirm-results,
	.register-page--confirm .register-confirm-edit,
	.register-page--confirm-edit .register-field-panel,
	.register-page--confirm-edit .register-category-summary {
		padding: 1.2rem 0.85rem;
	}
}

.register-page--basic .register-submit-wrap,
.register-page--detail .register-submit-wrap,
.register-page--result .register-submit-wrap,
.register-page--result .register-ok-actions {
	padding-top: 1.5rem;
	padding-bottom: 0;
}

.register-page--basic .register-field-panel__title,
.register-page--detail .register-field-panel__title,
.register-page--result .register-field-panel__title,
.register-page--confirm .register-field-panel__title,
.register-page--confirm-edit .register-field-panel__title {
	margin-bottom: 1.5rem;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 1.35rem;
}

.register-page--basic .register-field-panel__title .lucide-icon,
.register-page--basic .register-field-panel__title svg.lucide-icon,
.register-page--detail .register-field-panel__title .lucide-icon,
.register-page--detail .register-field-panel__title svg.lucide-icon,
.register-page--result .register-field-panel__title .lucide-icon,
.register-page--result .register-field-panel__title svg.lucide-icon,
.register-page--confirm .register-field-panel__title .lucide-icon,
.register-page--confirm .register-field-panel__title svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

.register-page--basic .info-item,
.register-page--detail .info-item,
.register-page--result .info-item,
.register-page--confirm-edit .info-item {
	align-items: center;
	margin-bottom: 1rem;
	padding: 1rem 1.35rem;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, #e9ecef);
	border-radius: var(--register-box-radius) !important;
	background: #fff;
}

.register-page--basic .info-item:last-child,
.register-page--detail .info-item:last-child,
.register-page--result .info-item:last-child,
.register-page--confirm-edit .info-item:last-child {
	margin-bottom: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, #e9ecef);
}

.register-page--basic .info-item.info-item--stack,
.register-page--detail .info-item.info-item--stack,
.register-page--result .info-item.info-item--stack {
	align-items: flex-start;
}

.register-page--basic .info-label,
.register-page--detail .info-label,
.register-page--result .info-label {
	align-self: center;
	padding-top: 0;
	color: var(--primary, #0088cc);
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.register-page--detail .info-item.info-item--stack .info-label,
.register-page--result .info-item.info-item--stack .info-label {
	align-self: flex-start;
	padding-top: 0.55rem;
}

.register-page--basic .info-value,
.register-page--detail .info-value,
.register-page--result .info-value {
	align-self: center;
	font-size: 1rem;
	font-weight: 500;
	color: #222;
	line-height: 1.5;
}

.register-page--result .info-value--serial {
	color: var(--primary, #0088cc);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.register-page--result .register-field-panel__title .register-field-panel__count {
	margin-left: 0.5rem;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--primary, #0088cc) 10%, #fff);
	color: var(--primary, #0088cc);
	-webkit-text-fill-color: var(--primary, #0088cc);
	background-clip: border-box;
	-webkit-background-clip: border-box;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
}

.register-page--basic .register-team-type {
	font-weight: 600;
}

.register-page--detail .info-item.info-item--stack .info-value,
.register-page--result .info-item.info-item--stack .info-value {
	align-self: stretch;
	width: 100%;
}

.register-page--basic .register-radio-group,
.register-page--detail .register-radio-group {
	align-items: center;
}

.register-page--basic .info-value .form-check,
.register-page--detail .info-value .form-check {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 0;
	padding-left: 0;
}

.register-page--basic .info-value .form-check .form-check-input,
.register-page--detail .info-value .form-check .form-check-input {
	float: none;
	margin: 0;
	flex-shrink: 0;
	align-self: center;
	position: relative;
	top: 0;
}

.register-page--basic .info-value .form-check .form-check-label,
.register-page--detail .info-value .form-check .form-check-label {
	display: inline-flex;
	align-items: center;
	margin-bottom: 0;
	padding-left: 0;
}

.register-page--basic .info-value .form-check-label,
.register-page--basic .info-value .form-check-label span,
.register-page--detail .info-value .form-check-label,
.register-page--detail .info-value .form-check-label span {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
	color: #444;
}

.register-page--basic .info-value .form-check-label:has(.form-check-input:checked),
.register-page--basic .info-value .form-check-input:checked + .form-check-label,
.register-page--detail .info-value .form-check-label:has(.form-check-input:checked),
.register-page--detail .info-value .form-check-input:checked + .form-check-label {
	color: var(--primary, #0088cc) !important;
	font-weight: 500 !important;
}

.register-page--basic .info-value .form-check:hover .form-check-label,
.register-page--basic .info-value .form-check:hover .form-check-label span,
.register-page--detail .info-value .form-check:hover .form-check-label,
.register-page--detail .info-value .form-check:hover .form-check-label span {
	color: #444;
}

.register-page--basic .info-value .form-check:hover .form-check-label:has(.form-check-input:checked),
.register-page--basic .info-value .form-check:hover .form-check-input:checked + .form-check-label,
.register-page--detail .info-value .form-check:hover .form-check-label:has(.form-check-input:checked),
.register-page--detail .info-value .form-check:hover .form-check-input:checked + .form-check-label {
	color: var(--primary, #0088cc) !important;
}

.register-page--basic .info-section .form-check.form-check-inline,
.register-page--detail .info-section .form-check.form-check-inline {
	margin-bottom: 0;
}

.register-page--detail .register-school-fields-row,
.register-page--detail-group .register-school-fields-row {
	flex-wrap: nowrap;
}

.register-page--detail .register-school-fields-row > [class*="col-"] {
	min-width: 0;
}

.register-school-class-wrap {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	min-width: 0;
	max-width: 50%;
}

.register-school-class-wrap .form-control {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

.register-school-class-suffix {
	flex-shrink: 0;
	color: #344054;
	font-size: 0.95rem;
	line-height: 1;
}

.register-school-fields-line {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	width: 100%;
}

.register-school-fields-line > .register-school-type {
	flex: 0 0 auto;
	width: auto;
	min-width: 7.5rem;
	max-width: 10.5rem;
}

.register-school-fields-line > .register-school-detail-fields {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.register-school-fields-line .register-school-stitle {
	flex: 1 1 auto;
	min-width: 0;
}

.register-school-fields-line .register-school-grade-class-wrap {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
}

.register-school-fields-line .register-school-grade {
	width: auto;
	min-width: 5.5rem;
	flex: 0 0 auto;
}

.register-school-fields-line .register-school-class-wrap {
	flex: 0 0 auto;
	min-width: 4.5rem;
}

.register-page--detail-group .register-school-fields-root--compact .register-school-fields-line {
	gap: 0.45rem;
}

.register-page--detail-group .register-school-fields-root--compact .register-school-fields-line > .register-school-type {
	min-width: 6.75rem;
	max-width: 9rem;
}

.register-page--detail-group .register-school-fields-root--compact .register-school-fields-line .register-school-grade {
	min-width: 4.75rem;
}

.register-page--detail-group .register-school-class-suffix {
	font-size: 0.875rem;
}

.register-page--basic .register-option-disabled {
	opacity: 1;
}

.register-page--basic .register-option-disabled .form-check-label,
.register-page--basic .register-option-disabled .form-check-label span {
	cursor: not-allowed;
	color: #b8bcc4 !important;
	font-weight: 500 !important;
}

.register-page--basic .register-option-disabled .form-check-input:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	border-color: #d1d5db !important;
	background-color: #f3f4f6;
}

.register-page--basic .register-option-disabled:hover .form-check-input {
	border-color: #d1d5db !important;
}

.register-page--basic .register-option-disabled:hover .form-check-label,
.register-page--basic .register-option-disabled:hover .form-check-label span {
	color: #b8bcc4 !important;
}

@media (min-width: 768px) {
	.register-page--basic .info-label,
	.register-page--detail .info-label,
	.register-page--result .info-label,
	.register-page--confirm-edit .info-label {
		flex: 0 0 230px;
		max-width: 230px;
		padding-top: 0;
		white-space: nowrap;
	}

	.register-page--detail .info-item.info-item--stack .info-label,
.register-page--result .info-item.info-item--stack .info-label {
		padding-top: 0.55rem;
	}

	.register-page--basic .info-value,
	.register-page--detail .info-value,
	.register-page--result .info-value {
		margin-left: 0.35rem;
	}

	.register-page--detail .info-item.info-item--stack .info-value,
.register-page--result .info-item.info-item--stack .info-value {
		margin-left: 0.35rem;
	}
}

.register-page--basic .register-field-hint,
.register-page--detail .register-field-hint {
	font-size: 0.9rem;
	line-height: 1.55;
	margin-top: 0.35rem;
}

.register-page--basic .info-value .register-field-hint,
.register-page--detail .info-value .register-field-hint {
	display: flex;
	align-items: flex-start;
	gap: 0.35rem;
	color: #667085;
	font-weight: 400;
}

.register-page--basic .info-value > .register-field-hint,
.register-page--detail .info-value > .register-field-hint {
	align-items: center;
}

.register-page--basic .register-field-hint .text-success,
.register-page--basic .register-field-hint .text-danger,
.register-page--detail .register-field-hint .text-success,
.register-page--detail .register-field-hint .text-danger {
	font-size: inherit;
}

.register-page--basic .register-field-note,
.register-page--detail .register-field-note {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin-top: 0.65rem;
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #555;
}

.register-page--basic .register-field-note__icon,
.register-page--basic .register-field-note__icon svg.lucide-icon,
.register-page--detail .register-field-note__icon,
.register-page--detail .register-field-note__icon svg.lucide-icon {
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.12rem;
	color: #d4845a;
}

.register-page--basic .register-group-intro {
	padding: 0;
	border: none;
	background: transparent;
}

.register-page--basic .register-group-intro__box.callout-box {
	margin-bottom: 0;
}

.register-page--basic .register-group-intro__body p {
	margin-bottom: 0.65rem;
	font-size: 0.88rem;
	line-height: 1.65;
	color: #344054;
}

.register-page--basic .register-group-intro__body p:last-child {
	margin-bottom: 0;
}

.register-page--basic .register-group-intro__examples {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.65rem;
	background: color-mix(in srgb, #fff 82%, var(--primary, #0088cc));
	border: 1px dashed color-mix(in srgb, var(--primary, #0088cc) 28%, #d0d5dd);
}

.register-page--basic .register-group-intro__examples-title {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--primary, #0088cc);
	margin-bottom: 0.55rem;
}

.register-page--basic .register-group-intro__examples-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.register-page--basic .register-group-intro__examples-list li {
	font-size: 0.84rem;
	line-height: 1.6;
	color: #475467;
}

.register-page--basic .register-group-intro__examples-list li + li {
	margin-top: 0.4rem;
}

.register-page--detail-group .register-field-panel--group-entries {
	padding: 1.25rem 1.35rem 1.35rem;
}

@media (min-width: 768px) {
	.register-page--detail-group .register-field-panel--group-entries {
		padding: 1.5rem 1.75rem 1.65rem;
	}
}

.register-page--detail-group .register-field-panel--group-entries .register-field-panel__title {
	margin-bottom: 0;
	font-size: 1.15rem;
}

.register-page--detail-group .register-group-entries-intro__note {
	font-size: 0.82rem;
	color: #667085;
	line-height: 1.5;
}

.register-page--detail-group .register-group-entries-intro__note .lucide-icon,
.register-page--detail-group .register-group-entries-intro__note svg.lucide-icon {
	width: 0.95rem;
	height: 0.95rem;
	vertical-align: -0.15em;
}

.register-page--detail-group .register-group-entry {
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 16%, #dde3ea);
	border-radius: 0.65rem;
	padding: 1rem 1.35rem 1.15rem;
	margin-bottom: 0.75rem;
	background: #fff;
}

.register-page--detail-group .register-group-entry:last-child {
	margin-bottom: 0;
}

.register-page--detail-group .register-group-entry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid #eef2f6;
}

.register-page--detail-group .register-group-entry__title {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.95rem;
	color: #344054;
}

.register-page--detail-group .register-group-entry__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 1.5rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	background: var(--primary, #0088cc);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

.register-page--detail-group .register-group-entry__remove {
	flex-shrink: 0;
	padding: 0.2rem 0.55rem;
	font-size: 0.78rem;
}

.register-page--detail-group .register-group-entry__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
}

@media (min-width: 768px) {
	.register-page--detail-group .register-group-entry__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.register-page--detail-group .register-group-field--full {
		grid-column: 1 / -1;
	}

	.register-page--detail-group .register-group-field--md-6 {
		grid-column: span 1;
	}
}

.register-page--detail-group .register-group-field__label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #475467;
	line-height: 1.3;
}

.register-page--detail-group .register-group-field__label-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
	margin-bottom: 0.3rem;
}

.register-page--detail-group .register-group-field__meta {
	font-size: 0.75rem;
	font-weight: 500;
	color: #98a2b3;
}

.register-page--detail-group .register-group-field__check {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 0;
	margin: 0;
	padding-left: 0;
}

.register-page--detail-group .register-group-field__check .form-check-input {
	float: none;
	margin: 0;
}

.register-page--detail-group .register-group-field__check .form-check-label {
	font-size: 0.8rem;
	color: #667085;
}

.register-page--detail-group .register-group-field__static {
	display: flex;
	align-items: center;
	min-height: 2.35rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	background: #f8fafc;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--primary, #0088cc);
}

.register-page--detail-group .register-group-field__inline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.45rem;
}

.register-page--detail-group .register-group-field__inline--school {
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr) minmax(0, 0.7fr);
}

.register-page--detail-group .form-control-modern--compact {
	height: 2.35rem;
	padding: 0.4rem 0.75rem;
	font-size: 0.875rem;
}

.register-page--detail-group textarea.form-control-modern--compact {
	min-height: 4.5rem;
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
	line-height: 1.45;
}

.register-page--detail-group .register-entry-school-fields.register-school-fields--disabled {
	opacity: 0.72;
}

.register-page--detail-group .register-group-entry-add-wrap {
	border-top: 1px dashed #dde3ea;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-dropzone {
	padding: 0.85rem 0.75rem;
	border-radius: 8px;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-dropzone__icon {
	width: 1.35rem;
	height: 1.35rem;
	margin-bottom: 0.25rem;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-dropzone__title {
	margin-bottom: 0.15rem !important;
	font-size: 0.84rem;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-dropzone__sub {
	font-size: 0.74rem;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-list {
	margin-top: 0.5rem !important;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-item {
	padding: 0.45rem 0.65rem;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-item__name {
	font-size: 0.84rem;
}

.register-page--detail-group .register-work-file-upload--compact .register-work-file-item__delete {
	padding: 0.15rem 0.45rem;
	font-size: 0.78rem;
}

.register-page--detail-group .register-submit-wrap {
	padding-top: 1rem;
}

.register-page--detail-group .register-entry-cate1-label {
	color: inherit;
}

.register-page--detail-group .register-group-field__radios {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.85rem;
	min-height: 2.35rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	background: #fff;
}

.register-page--detail-group .register-group-field__radios .form-check-inline {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding-left: 0;
	min-height: 0;
}

.register-page--detail-group .register-group-field__radios .form-check-input {
	float: none;
	margin: 0;
}

.register-page--detail-group .register-group-field__radios .form-check-label {
	font-size: 0.84rem;
	color: #344054;
	white-space: nowrap;
}

.register-page--result .register-field-panel--work-receipt {
	padding: 1.25rem 1.35rem 1.35rem;
}

@media (min-width: 768px) {
	.register-page--result .register-field-panel--work-receipt {
		padding: 1.5rem 1.75rem 1.65rem;
	}
}

.register-page--result .register-field-panel--work-receipt .register-field-panel__title {
	margin-bottom: 1rem;
	font-size: 1.15rem;
}

.register-page--result .register-group-receipt-entry {
	padding: 1rem 1.35rem 1.15rem;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 16%, #dde3ea);
	border-radius: 0.65rem;
	background: #fff;
}

.register-page--result .register-group-receipt-entry + .register-group-receipt-entry {
	margin-top: 0.75rem;
}

.register-page--result .register-group-receipt-entry__title {
	margin: 0 0 0.7rem;
	font-size: 0.98rem;
	line-height: 1.35;
}

.register-page--result .register-group-receipt-entry__title .lucide-icon,
.register-page--result .register-group-receipt-entry__title svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

.register-page--result .register-receipt-work-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.55rem;
}

@media (min-width: 768px) {
	.register-page--result .register-receipt-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.register-page--result .register-receipt-field {
	display: grid;
	grid-template-columns: minmax(9.25rem, max-content) minmax(0, 1fr);
	gap: 0.35rem 0.75rem;
	align-items: center;
	padding: 1rem 1.35rem;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 12%, #e9ecef);
	border-radius: 0.55rem;
	background: color-mix(in srgb, var(--primary, #0088cc) 2%, #fff);
}

.register-page--result .register-receipt-field--full {
	grid-column: 1 / -1;
}

.register-page--result .register-receipt-field--stack {
	align-items: start;
}

.register-page--result .register-receipt-field__label {
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--primary, #0088cc);
	white-space: nowrap;
}

.register-page--result .register-receipt-field__value {
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.45;
	color: #222;
	word-break: break-word;
}

.register-page--result .register-receipt-field--stack .register-receipt-field__value {
	white-space: pre-wrap;
}

.register-page--result .register-receipt-guardian-section {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px dashed color-mix(in srgb, var(--primary, #0088cc) 18%, #dde3ea);
}

.register-page--result .register-receipt-guardian-section__title {
	margin: 0 0 0.65rem;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--primary, #0088cc);
}

.register-page--result .register-receipt-guardian-section__title .lucide-icon,
.register-page--result .register-receipt-guardian-section__title svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.register-page--result .register-receipt-field {
		grid-template-columns: 1fr;
		gap: 0.2rem;
		align-items: start;
	}
}

@media (max-width: 767px) {
	.register-page--basic .info-item,
	.register-page--detail .info-item,
	.register-page--result .info-item {
		flex-direction: column;
		align-items: flex-start;
		padding: 1rem 1rem;
	}

	.register-page--basic .info-label,
	.register-page--detail .info-label,
	.register-page--result .info-label {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 0.35rem;
		padding-top: 0;
		font-size: 0.95rem;
	}

	.register-page--basic .info-value,
	.register-page--detail .info-value,
	.register-page--result .info-value {
		width: 100%;
		margin-left: 0;
	}
}

/* ── 설문조사 ── */
.register-survey-page-title {
	font-size: 1.35rem;
	line-height: 1.4;
}

.register-survey-page-title .lucide-icon,
.register-survey-page-title svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.register-survey-page-title {
		font-size: 1.5rem;
	}
}

/* 설문 — 그림자·왼쪽 굵은 선 금지 */
.register-page--survey .register-survey-intro,
.register-page--survey .register-survey-form .register-survey-panel,
.register-page--survey .register-survey-form .survey-section__desc {
	box-shadow: none !important;
}

.register-survey-intro {
	margin-bottom: 1.5rem;
	padding: 1.25rem 1.35rem;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 28%, #d0dbe8);
	border-radius: var(--register-box-radius);
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--primary, #0088cc) 10%, #fff) 0%,
		color-mix(in srgb, var(--primary, #0088cc) 4%, #f8fafc) 100%
	);
}

.register-survey-intro__content {
	font-size: 1.06rem;
	font-weight: 400;
	line-height: 1.8;
	color: #344054;
}

.register-survey-intro__content p:last-child {
	margin-bottom: 0;
}

.register-survey-intro__content b,
.register-survey-intro__content strong {
	color: var(--primary, #0088cc);
	font-weight: 600;
}

.register-survey-note {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.88rem;
	color: #667085;
	line-height: 1.55;
}

.register-survey-note .lucide-icon,
.register-survey-note svg.lucide-icon {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.register-survey-form .register-survey-panel {
	margin-bottom: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.register-survey-form .register-submit-wrap {
	padding-top: 1.75rem;
	padding-bottom: 0.25rem;
}

.survey-section {
	margin-bottom: 0;
}

.survey-section__title {
	margin: 0 0 0.85rem;
	font-size: 1.08rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--primary, #0088cc);
}

.survey-section__optional {
	font-weight: 500;
}

.survey-section__error {
	margin-top: 0.65rem;
	font-size: 0.88rem;
	color: #dc3545;
}

.register-survey-form .survey-section__desc {
	margin-bottom: 1rem;
	padding: 0 0 0 0.85rem;
	border-radius: 0;
	border: none;
	border-left: 3px solid #e2e8f0;
	background: transparent;
	word-break: keep-all;
}

.register-survey-form .survey-section__desc-text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	color: #667085;
}

.register-survey-form .survey-section__desc-text b,
.register-survey-form .survey-section__desc-text strong {
	color: inherit;
	font-weight: 600;
}

.register-survey-form .survey-section__body .form-check {
	margin-bottom: 0.6rem;
}

.register-survey-form .survey-section__body .form-check:has(input[type="checkbox"]) {
	display: block !important;
	margin-right: 0;
}

.register-survey-form .survey-layout-vertical .form-check {
	display: block !important;
	margin-right: 0;
}

.register-survey-form .survey-section__body .form-check-label {
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0;
	line-height: 1.45;
	color: #444;
}

.register-survey-form .survey-section__body .form-check-label span {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

.register-survey-form .survey-section__body .form-check-label:has(.form-check-input:checked),
.register-survey-form .survey-section__body .form-check-input:checked + .form-check-label {
	color: var(--primary, #0088cc) !important;
	font-weight: 500 !important;
}

.register-survey-form .survey-section__body .form-check:hover .form-check-label {
	color: #444;
}

.register-survey-form .survey-section__body .form-check:hover .form-check-label:has(.form-check-input:checked) {
	color: var(--primary, #0088cc) !important;
}

.register-survey-form .survey-section__body .form-check-label .form-check-input {
	margin: 0;
	flex-shrink: 0;
	align-self: center;
	position: relative;
	top: 0;
	float: none;
}

.register-survey-form .survey-checkbox-stack .form-check-inline {
	display: block !important;
	margin-right: 0;
	margin-bottom: 0.4rem;
}

.survey-other-wrap {
	margin-top: 0.5rem;
	max-width: 28rem;
}

.survey-followup-wrap {
	margin-top: 0.5rem;
	max-width: 28rem;
}

.survey-followup-label {
	margin-bottom: 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #555;
}

.survey-group-label {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 0.5rem;
	padding-left: 2px;
	font-size: 0.95rem;
	font-weight: 600;
	color: #555;
}

.survey-group-label .lucide-icon,
.survey-group-label svg.lucide-icon {
	width: 0.95rem;
	height: 0.95rem;
	color: var(--primary, #0088cc);
	flex-shrink: 0;
}

.survey-number-inline {
	gap: 0.55rem 0.65rem;
	margin-bottom: 0;
}

.survey-number-inline__text {
	font-size: 1rem;
	font-weight: 500;
	color: #444;
	margin-bottom: 0;
}

.survey-number-inline__input {
	max-width: 5.5rem;
	text-align: center;
}

.survey-number-input {
	max-width: 12rem;
}

.survey-textarea-none__field {
	min-height: 8.5rem;
}

.register-survey-form .survey-section__body .form-control-modern {
	border-radius: 8px;
}

/* ── 접수 확인 팝업 (관리자·접수확인) ── */
body.register-receipt-popup {
	margin: 0;
	background: #f4f7fa;
}

.register-receipt-popup .register-page--result {
	max-width: 960px;
	margin-inline: auto;
}

/* ── 접수 확인증 (register_ok.php) ── */
.register-page--result .receipt-card {
	background: linear-gradient(135deg, var(--primary, #0088cc) 0%, color-mix(in srgb, var(--primary, #0088cc) 82%, #005580) 100%);
	border-radius: var(--register-box-radius);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--primary, #0088cc) 15%, transparent), 0 5px 15px rgba(0, 0, 0, 0.07);
	position: relative;
	overflow: hidden;
	border: none;
	margin-bottom: 2rem;
}

.register-page--result .receipt-card::before {
	content: "";
	position: absolute;
	top: -50px;
	right: -50px;
	width: 150px;
	height: 150px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
}

.register-page--result .receipt-card::after {
	content: "";
	position: absolute;
	bottom: -80px;
	left: -60px;
	width: 200px;
	height: 200px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.register-page--result .receipt-body {
	position: relative;
	z-index: 1;
	padding: 2.5rem 1.5rem;
}

.register-page--result .receipt-title {
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	margin-bottom: 0.5rem;
}

.register-page--result .receipt-subtitle {
	font-size: 1.1rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 0.85rem;
}

.register-page--result .receipt-icon {
	width: 2.5rem;
	height: 2.5rem;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 1rem;
	display: inline-block;
	animation: register-receipt-pulse 2s infinite;
}

.register-page--result .receipt-number {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border-radius: 30px;
	padding: 0.5rem 1.25rem;
	font-weight: 600;
	display: inline-block;
	margin-top: 1rem;
}

@keyframes register-receipt-pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); }
	100% { transform: scale(1); }
}

.register-page--result .info-item.info-item--stack .info-value {
	white-space: pre-wrap;
	word-break: break-word;
}

.register-page--result .register-receipt-file {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	max-width: 100%;
	word-break: break-all;
}

.register-page--result a.register-receipt-file {
	color: var(--primary, #0088cc);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.register-page--result a.register-receipt-file:hover {
	color: color-mix(in srgb, var(--primary, #0088cc) 75%, #000);
}

.register-page--result .register-receipt-file .lucide-icon,
.register-page--result .register-receipt-file svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

.register-page--result .register-ok-actions .btn + .btn {
	margin-left: 0.75rem;
}

.register-page--result .register-ok-actions .btn-modern.btn-outline-subtle,
.register-page--confirm-edit .register-confirm-edit__actions .btn-modern.btn-outline-subtle,
.register-receipt-popup .register-view-actions .btn-modern.btn-outline-subtle {
	background: #fff;
	color: var(--primary, #0088cc);
	border: 2px solid var(--primary, #0088cc);
	box-shadow: none;
}

.register-page--result .register-ok-actions .btn-modern.btn-outline-subtle:hover,
.register-page--confirm-edit .register-confirm-edit__actions .btn-modern.btn-outline-subtle:hover,
.register-receipt-popup .register-view-actions .btn-modern.btn-outline-subtle:hover {
	background: color-mix(in srgb, var(--primary, #0088cc) 8%, #fff);
	color: var(--primary, #0088cc);
	transform: translateY(-3px);
}

@media (max-width: 575px) {
	.register-page--result .register-ok-actions {
		flex-direction: column;
	}

	.register-page--result .register-ok-actions .btn + .btn {
		margin-left: 0;
		margin-top: 0.75rem;
	}
}

@media print {
	body * {
		visibility: hidden;
	}

	#printSection,
	#printSection * {
		visibility: visible;
	}

	#printSection {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		background: #fff !important;
	}

	.no-print,
	.register-page--result .register-steps,
	.register-page--result .sub-page-bar,
	.register-page--result .sub-hero {
		display: none !important;
	}

	.register-page--result .receipt-card {
		box-shadow: none !important;
		margin-bottom: 15px !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	.register-page--result .receipt-body {
		padding: 15px !important;
	}

	.register-page--result .receipt-icon {
		width: 1.8rem !important;
		height: 1.8rem !important;
		margin-bottom: 0.5rem !important;
		animation: none !important;
	}

	.register-page--result .receipt-title {
		font-size: 1.6rem !important;
		margin-bottom: 0.3rem !important;
	}

	.register-page--result .receipt-subtitle {
		font-size: 1rem !important;
		margin-bottom: 0.5rem !important;
	}

	.register-page--result .register-field-panel,
	.register-page--result .register-category-summary {
		padding: 15px !important;
		margin-bottom: 10px !important;
		page-break-inside: avoid;
	}

	.register-page--result .info-item {
		margin-bottom: 5px !important;
		padding-bottom: 5px !important;
	}

	.register-page--result .bg-light-5 {
		background-color: color-mix(in srgb, var(--primary, #0088cc) 4%, #fff) !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	@page {
		size: A4;
		margin: 1cm;
	}
}

/* ── 작품파일 드롭존 · 안내 박스 ── */
.register-work-file-dropzone {
	border: 2px dashed #d0d5dd;
	border-radius: 12px;
	padding: 2rem 1.5rem;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.3s ease, background-color 0.3s ease;
	background: #fafbfc;
}

.register-work-file-dropzone:hover,
.register-work-file-dropzone.register-work-file-dropzone--dragover {
	border-color: var(--primary, #0088cc);
	background: color-mix(in srgb, var(--primary, #0088cc) 5%, #fff);
}

.register-work-file-dropzone.register-work-file-dropzone--uploading {
	opacity: 0.65;
	pointer-events: none;
}

.register-work-file-error {
	display: block;
	width: 100%;
	margin-top: 0.75rem;
	font-size: 0.875rem;
	color: #dc3545;
}

.register-work-file-error[hidden] {
	display: none !important;
}

.register-work-file-dropzone.register-work-file-dropzone--invalid {
	border-color: #dc3545;
	background: #fff5f5;
}

.register-work-file-dropzone__icon {
	width: 2rem;
	height: 2rem;
	margin-bottom: 0.5rem;
}

.register-work-file-dropzone__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #344054;
}

.register-work-file-dropzone__sub {
	font-size: 0.85rem;
	color: #667085;
}

.register-work-file-list .register-work-file-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}

.register-work-file-item__info {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
	flex: 1 1 auto;
}

.register-work-file-item__info .lucide-icon,
.register-work-file-item__info svg.lucide-icon {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
}

.register-work-file-item__name {
	font-size: 0.95rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.register-work-file-item__size {
	font-size: 0.8rem;
	color: #868e96;
	flex-shrink: 0;
}

.register-work-file-item__delete {
	display: inline-flex;
	align-items: center;
	background: none;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	color: #868e96;
	cursor: pointer;
	padding: 0.25rem 0.65rem;
	font-size: 0.85rem;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
	flex-shrink: 0;
}

.register-work-file-item__delete:hover {
	color: #dc3545;
	border-color: #dc3545;
	background: #fff5f5;
}

.register-page .callout-box {
	display: flex;
	gap: 1rem;
	border-radius: 12px;
	padding: 1.2rem 1.4rem;
	align-items: flex-start;
}

.register-page .callout-box--info {
	background: linear-gradient(135deg, color-mix(in srgb, var(--primary, #0088cc) 6%, #fff) 0%, color-mix(in srgb, var(--primary, #0088cc) 3%, #fff) 100%);
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, #e9ecef);
}

.register-page .callout-box__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: var(--primary, #0088cc);
	color: #fff;
}

.register-page .callout-box__icon .lucide-icon,
.register-page .callout-box__icon svg.lucide-icon {
	width: 1.15rem;
	height: 1.15rem;
	color: #fff;
	stroke: #fff;
}

.register-page .callout-box__content {
	flex: 1 1 auto;
	min-width: 0;
}

.register-page .callout-box__title {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--primary, #0088cc);
	margin-bottom: 0.5rem;
}

.register-page .callout-box__list {
	font-size: 0.88rem;
	color: #344054;
	line-height: 1.65;
	margin: 0;
	padding-left: 1.1rem;
}

.register-page .callout-box__list li {
	margin-bottom: 0.35rem;
}

.register-page .callout-box__list li:last-child {
	margin-bottom: 0;
}

/* ── 접수 플래시 토스트 ── */
.register-toast {
	position: fixed;
	bottom: 2rem;
	left: 50%;
	z-index: 1050;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 1rem 0.875rem 1.25rem;
	background: #fff;
	border: 1px solid rgba(0, 136, 204, 0.2);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
	font-size: 0.9375rem;
	color: #1e293b;
	max-width: min(92vw, 420px);
	transform: translateX(-50%);
	animation: register-toast-in 0.35s ease-out;
}

.register-toast--error {
	border-color: rgba(220, 53, 69, 0.35);
	background: #fff5f5;
	color: #991b1b;
}

.register-toast--success {
	border-color: rgba(25, 135, 84, 0.35);
	background: #f0fdf4;
	color: #166534;
}

.register-toast--hiding {
	animation: register-toast-out 0.3s ease-in forwards;
}

.register-toast__icon {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--primary, #0088cc);
}

.register-toast--error .register-toast__icon {
	color: #dc3545;
}

.register-toast--success .register-toast__icon {
	color: #198754;
}

.register-toast__icon .lucide-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.register-toast__message {
	flex: 1;
	line-height: 1.4;
	font-weight: 500;
	white-space: pre-line;
}

.register-toast__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #64748b;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.register-toast__close:hover {
	background: rgba(0, 0, 0, 0.06);
	color: #334155;
}

.register-toast__close .lucide-icon {
	width: 1rem;
	height: 1rem;
}

@keyframes register-toast-in {
	from {
		opacity: 0;
		transform: translateX(-50%) translateY(1rem);
	}

	to {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

@keyframes register-toast-out {
	from {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}

	to {
		opacity: 0;
		transform: translateX(-50%) translateY(0.5rem);
	}
}

/* ── 접수 마감 / 접수 대기 ── */
.register-page--closed {
	padding-bottom: 4rem;
}

.register-closed-card {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: var(--register-box-radius);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.register-closed-card__body {
	padding: 3rem 1.5rem;
}

.register-closed-card__eyebrow {
	margin-bottom: 0.5rem;
	font-size: 0.95rem;
	color: #6c757d;
}

.register-closed-card__title {
	margin-bottom: 1rem;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	color: #212529;
}

.register-closed-card__message {
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #495057;
}

.register-closed-card__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 2rem;
}

@media (min-width: 768px) {
	.register-closed-card__body {
		padding: 3.5rem 2.5rem;
	}
}
