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

.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-prompt {
	margin-top: 1rem;
	margin-bottom: 0.25rem;
	padding: 0 0.5rem;
	text-align: center;
	font-size: 0.95rem;
	font-weight: 500;
	color: #334155;
	line-height: 1.55;
}

.register-page .agree-prompt p {
	margin: 0;
}

.register-page .agree-prompt p + p {
	margin-top: 0.35rem;
}

.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 .register-submit-wrap--nav .btn-modern.btn-outline-subtle {
	background: #fff;
	border: 1px solid #cfd6df;
	color: #4b5563;
}

.register-page .register-submit-wrap--nav .btn-modern.btn-outline-subtle:hover {
	background: #f3f5f7;
	border-color: #b0b8c4;
	color: #1f2937;
}

@media (max-width: 575.98px) {
	.register-page .register-submit-wrap--nav {
		flex-direction: column;
	}

	.register-page .register-submit-wrap--nav .btn {
		width: 100%;
	}
}

.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-error-summary {
	margin-bottom: 1.25rem;
	padding: 1rem 1.25rem;
	border: 1px solid #f1aeb5;
	border-radius: 10px;
	background: #fff5f5;
	color: #842029;
}

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

.register-error-summary:focus {
	outline: 3px solid rgba(220, 53, 69, 0.3);
	outline-offset: 2px;
}

.register-error-summary__title {
	margin: 0 0 0.5rem;
	color: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.register-error-summary__list {
	margin: 0;
	padding-left: 1.25rem;
}

.register-error-summary__list li + li {
	margin-top: 0.35rem;
}

.register-error-summary__list a {
	color: inherit;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* ── 레거시 모던 폼 컨트롤 ── */
.register-page .form-control-modern {
	height: 3rem;
	padding: 0.75rem 1.25rem;
	font-size: 0.9rem;
	line-height: 1.25;
	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;
}

/* 이메일 도메인 등 readonly 비활성 입력 — 선택 도메인일 때 회색 배경 */
.register-page .form-control-modern[readonly] {
	background-color: #f3f4f6 !important;
	border-color: #d1d5db !important;
	color: #6b7280 !important;
	cursor: default;
	opacity: 1;
	box-shadow: none !important;
}

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

/* 카카오 우편번호 — 페이지 내 모달(레이어) */
.register-postcode-layer {
	position: fixed;
	inset: 0;
	z-index: 1080;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.register-postcode-layer[hidden] {
	display: none !important;
}

.register-postcode-layer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
}

.register-postcode-layer__dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(100%, 500px);
	height: min(85vh, 580px);
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.28);
	overflow: hidden;
}

.register-postcode-layer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex: 0 0 auto;
	padding: 0.65rem 0.75rem 0.65rem 1rem;
	border-bottom: 1px solid #e5e7eb;
	background: #fff;
}

.register-postcode-layer__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #1f2937;
	line-height: 1.2;
}

.register-postcode-layer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #e5e7eb;
	color: #374151;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	flex: 0 0 auto;
}

.register-postcode-layer__close:hover {
	background: #d1d5db;
	color: #111827;
}

.register-postcode-layer__close:focus-visible {
	outline: 3px solid rgba(0, 136, 204, 0.35);
	outline-offset: 2px;
}

.register-postcode-layer__embed {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
}

.register-postcode-layer__embed iframe {
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}

body.register-postcode-open {
	overflow: hidden;
}

.register-page select.form-control-modern:disabled {
	color: #9ca3af !important;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.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;
}

/*
 * select: 테마 .form-control line-height(1.85) + appearance 미지정 시
 * Mac Safari/Chrome에서 텍스트·화살표가 어긋나 보인다.
 */
.register-page select.form-control.form-control-modern,
.register-page select.form-control-modern {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 3rem;
	padding: 0 2.5rem 0 1.25rem;
	line-height: 1.25;
	color: #222;
	cursor: pointer;
	background-color: #fff;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 12px 12px;
}

.register-page select.form-control-modern::-ms-expand {
	display: none;
}

.register-page select.form-control-modern:focus {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230088cc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

/* Safari: .body overflow-x:hidden 이 네이티브 select 메뉴 좌표를 틀어뜨리는 경우 */
html.safari .body:has(.register-page) {
	overflow-x: visible;
}

.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.75rem;
		min-height: 2.75rem;
		padding: 0.625rem 1rem;
		font-size: 1rem;
	}

	.register-page select.form-control.form-control-modern,
	.register-page select.form-control-modern {
		height: 2.75rem;
		min-height: 2.75rem;
		padding: 0 2.25rem 0 1rem;
		background-position: right 0.75rem center;
		background-size: 11px 11px;
	}

	.register-page textarea.form-control-modern {
		height: auto;
		min-height: 6.5rem;
		padding: 0.75rem 1rem;
	}

	.register-page .form-check-input[type="radio"],
	.register-page .form-check-input[type="checkbox"] {
		width: 1.25rem;
		height: 1.25rem;
	}

	.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"]),
	.register-page .info-section label.form-check:has(.form-check-input[type="radio"]),
	.register-page .info-section label.form-check:has(.form-check-input[type="checkbox"]),
	.register-page .agree-inline-radios .form-check,
	.register-page .all-agree-wrapper {
		min-height: 2.75rem;
	}

	.register-page .agree-inline-radios {
		gap: 0.5rem;
	}

	.register-page .btn.btn-modern,
	.register-page .input-group > .btn,
	.register-page .btn-remove-member,
	.register-page .register-work-file-item__delete,
	.register-page .register-group-template-download,
	.register-postcode-layer__close,
	.register-toast__close {
		min-height: 2.75rem;
	}

	.register-postcode-layer__close,
	.register-toast__close {
		width: 2.75rem;
		height: 2.75rem;
	}
}

@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 .member-guardian-block {
	margin-top: 0.25rem;
}

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

.register-page .member-guardian-block__divider {
	margin: 1.25rem 0 1.25rem;
	border: 0;
	border-top: 1px solid #e2e8f0;
	opacity: 1;
}

.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-category-description {
	white-space: pre-line;
}

.register-page .register-category-description + .register-category-description {
	margin-top: 0.15rem;
}

.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;
}

.register-final-review-modal .modal-dialog {
	max-width: min(1040px, calc(100vw - 2rem));
}

.register-final-review-modal .site-modal__body {
	padding: 1.75rem 2rem 1.25rem;
	text-align: left;
}

.register-final-review__header {
	margin-bottom: 1.5rem;
	text-align: center;
}

.register-final-review__header .site-modal__title {
	margin-bottom: 0.4rem;
	font-weight: 700;
}

.register-final-review__header .site-modal__message {
	color: #667085;
	font-size: 1rem;
}

.register-final-review {
	display: grid;
	gap: 1rem;
}

.register-final-review [data-review-live-sections] {
	display: grid;
	gap: 1rem;
}

.register-final-review__section {
	padding: 1.15rem 1.25rem;
	border: 1px solid #dce6ec;
	border-radius: 12px;
	background: #f8fafc;
}

.register-final-review__section-title {
	margin: 0 0 0.85rem;
	color: var(--primary, #0088cc);
	font-size: 1rem;
	font-weight: 700;
	text-align: left;
}

.register-final-review__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
}

.register-final-review__item {
	display: grid;
	grid-template-columns: minmax(7rem, 0.75fr) minmax(0, 1.25fr);
	gap: 0.75rem;
	margin: 0;
	padding: 0.75rem;
	border-top: 1px solid #e7edf1;
	text-align: left;
}

.register-final-review__item:nth-child(-n + 2) {
	border-top: 0;
}

.register-final-review__item--wide {
	grid-column: 1 / -1;
}

.register-final-review__item--wide:nth-child(2) {
	border-top: 1px solid #e7edf1;
}

.register-final-review__item dt {
	color: #52606d;
	font-size: 0.9rem;
	font-weight: 600;
}

.register-final-review__item dd {
	min-width: 0;
	margin: 0;
	color: #17212b;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.55;
	overflow-wrap: anywhere;
	white-space: pre-line;
}

.register-final-review__files {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.register-final-review__files li {
	padding: 0.7rem 0.8rem;
	border-radius: 8px;
	background: #fff;
	color: #344054;
	font-size: 0.95rem;
	overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
	.register-final-review-modal .modal-dialog {
		max-width: none;
		margin: 0.75rem;
	}

	.register-final-review-modal .site-modal__body {
		padding: 1.25rem 1rem 1rem;
	}

	.register-final-review__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.register-final-review__item,
	.register-final-review__item--wide {
		grid-column: auto;
		grid-template-columns: minmax(6.5rem, 0.8fr) minmax(0, 1.2fr);
		padding: 0.7rem 0.25rem;
	}

	.register-final-review__item:nth-child(2) {
		border-top: 1px solid #e7edf1;
	}
}

/* ── 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--detail .register-field-panel__title .btn-remove-member,
.register-page--detail .register-team-member-head .btn-remove-member {
	background-image: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	-webkit-text-fill-color: var(--bs-danger, #dc3545);
	color: var(--bs-danger, #dc3545);
}

.register-page--detail .register-field-panel__title .btn-remove-member:hover,
.register-page--detail .register-field-panel__title .btn-remove-member:focus,
.register-page--detail .register-team-member-head .btn-remove-member:hover,
.register-page--detail .register-team-member-head .btn-remove-member:focus {
	-webkit-text-fill-color: #fff;
	color: #fff;
}

.register-page--detail .team-member-item--divider,
.register-page--result .team-member-item--divider,
.register-page--confirm-show .team-member-item--divider {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, #e9ecef);
}

.register-page--detail .register-team-name-section {
	margin-bottom: 0;
}

.register-page--detail .register-team-name-field {
	margin-bottom: 0;
}

.register-page--detail .register-team-name-section .register-team-members-divider {
	margin: 1rem 0 1.5rem;
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--primary, #0088cc) 18%, #e9ecef);
	opacity: 1;
}

.register-page--detail .register-team-member-head__title,
.register-page--result .register-team-member-head__title,
.register-page--confirm-show .register-team-member-head__title {
	font-size: 1.05rem;
}

.register-page--detail .register-team-member-head__title .lucide-icon,
.register-page--detail .register-team-member-head__title svg.lucide-icon,
.register-page--result .register-team-member-head__title .lucide-icon,
.register-page--result .register-team-member-head__title svg.lucide-icon,
.register-page--confirm-show .register-team-member-head__title .lucide-icon,
.register-page--confirm-show .register-team-member-head__title svg.lucide-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

.register-page--detail .register-team-add-wrap {
	text-align: center;
	padding-top: 0.25rem;
}

.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);
}

/* 세트 래퍼의 마지막 카드가 :last-child가 되어 다음 항목과 붙지 않게 한다. */
.register-page--detail #ai_usage_panel:not(:last-child) > .info-item:last-child {
	margin-bottom: 1rem;
}

.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;
	min-width: 0;
	text-align: left;
}

.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-hint__link,
.register-page--detail .register-field-hint__link {
	color: var(--primary, #0088cc);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.register-page--basic .register-field-hint__link:hover,
.register-page--detail .register-field-hint__link:hover {
	color: color-mix(in srgb, var(--primary, #0088cc) 85%, #000);
}

.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 select.form-control-modern--compact {
	padding: 0 2rem 0 0.75rem;
	line-height: 1.25;
	background-position: right 0.65rem center;
	background-size: 11px 11px;
}

.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%;
		align-self: flex-start;
		text-align: left;
		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: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--primary, #0088cc);
}

@media (max-width: 767px) {
	.register-page--survey .survey-section__title,
	.register-page--aitool .survey-section__title {
		font-size: 0.9375rem;
		line-height: 1.45;
		margin-bottom: 0.65rem;
	}

	.register-page--survey .register-survey-page-title,
	.register-page--aitool .register-survey-page-title {
		font-size: 1.15rem;
	}

	.register-survey-form .survey-section__body .form-check-label,
	.register-aitool-form .survey-section__body .form-check-label {
		font-size: 0.9375rem;
	}

	.survey-group-label {
		font-size: 0.875rem;
	}
}

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

.register-page--aitool .survey-section.is-aitool-disabled {
	opacity: 0.45;
	pointer-events: none;
}

.register-page--aitool .survey-section.is-aitool-disabled .survey-section__title {
	color: #94a3b8;
}

.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;
	}
}

.register-receipt-members-print {
	display: none;
}

@media print {
	@page {
		size: A4;
		margin: 8mm;
	}

	html,
	body,
	.body,
	.main {
		background: #fff !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	body * {
		visibility: hidden;
	}

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

	/* visibility:hidden 은 자리를 남긴다. 헤더·히어로를 접어야 1쪽이 비지 않는다. */
	#header,
	#footer,
	.hero-legacy,
	.sub-hero,
	.sub-page-head,
	.sub-page-bar,
	.register-steps,
	.no-print,
	.site-private-banner,
	.site-chatbot,
	.site-chatbot__toggle,
	html .scroll-to-top,
	html .scroll-to-top.hidden-mobile,
	html .scroll-to-top.visible,
	.register-ok-actions {
		display: none !important;
	}

	.register-page--result {
		position: static !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin: 0 !important;
	}

	#printSection {
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		background: #fff !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: 10px 12px !important;
		margin-bottom: 8px !important;
		page-break-inside: auto;
	}

	.register-page--result .register-field-panel__title {
		font-size: 1rem !important;
		margin-bottom: 0.4rem !important;
	}

	.register-receipt-members-print {
		display: table !important;
		width: 100%;
		border-collapse: collapse;
		margin: 0.35rem 0 0.5rem;
		font-size: 0.85rem;
	}

	.register-receipt-members-print th,
	.register-receipt-members-print td {
		border: 1px solid #d0d5dd;
		padding: 0.28rem 0.4rem;
		text-align: left;
		vertical-align: top;
	}

	.register-receipt-members-print th {
		background: #f3f6f9 !important;
		font-weight: 600;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	.register-page--result .team-member-item > .register-team-member-head,
	.register-page--result .team-member-item > .info-item {
		display: none !important;
	}

	.register-page--result .team-member-item {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.register-page--result .info-item,
	.register-page--result .info-item.info-item--stack {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		margin-bottom: 6px !important;
		padding: 0.45rem 0.85rem !important;
	}

	.register-page--result .info-label,
	.register-page--result .info-item.info-item--stack .info-label {
		flex: 0 0 8.5rem !important;
		max-width: 8.5rem !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		align-self: center !important;
		white-space: nowrap !important;
	}

	.register-page--result .info-value,
	.register-page--result .info-item.info-item--stack .info-value {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		align-self: center !important;
	}

	.register-page--result .register-receipt-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.register-page--result .register-receipt-field {
		grid-template-columns: minmax(7.5rem, max-content) minmax(0, 1fr) !important;
		align-items: center !important;
		padding: 0.45rem 0.85rem !important;
		gap: 0.25rem 0.75rem !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;
	}
}

/* ── 작품파일 드롭존 · 안내 박스 ── */
.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-exif {
	margin-top: 0.75rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	background: #f8fafc;
	font-size: 0.875rem;
	color: #334155;
}

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

.register-work-file-exif__title {
	font-weight: 600;
	color: #0f172a;
}

.register-work-file-exif__list {
	padding-left: 1.1rem;
	margin: 0;
}

.register-work-file-exif__list li + li {
	margin-top: 0.2rem;
}

.register-work-file-exif__missing {
	color: #dc3545;
	font-weight: 600;
	margin: 0;
}

.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.register-work-file-dropzone--disabled,
.register-work-file-upload--disabled .register-work-file-dropzone {
	opacity: 0.65;
	cursor: not-allowed;
	background: #f3f4f6;
}

.register-work-file-dropzone.register-work-file-dropzone--disabled:hover,
.register-work-file-upload--disabled .register-work-file-dropzone:hover {
	border-color: #d0d5dd;
	background: #f3f4f6;
}

.register-work-file-dropzone.register-work-file-dropzone--disabled,
.register-work-file-upload--disabled .register-work-file-dropzone {
	opacity: 0.65;
	cursor: not-allowed;
	background: #f3f4f6;
}

.register-work-file-dropzone.register-work-file-dropzone--disabled:hover,
.register-work-file-upload--disabled .register-work-file-dropzone:hover {
	border-color: #d0d5dd;
	background: #f3f4f6;
}

.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__body {
	font-size: 0.88rem;
	color: #344054;
	line-height: 1.65;
}

.register-page .callout-box__body p {
	margin: 0 0 0.35rem;
}

.register-page .callout-box__body p:last-child {
	margin-bottom: 0;
}

.register-page .callout-box__body ul,
.register-page .callout-box__body ol {
	margin: 0;
	padding-left: 1.1rem;
}

.register-page .callout-box__body li > p {
	margin: 0;
}

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

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

.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-page .callout-box__actions {
	margin-top: 0.85rem;
}

.register-page .register-group-template-download {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.9rem;
	border-radius: 999px;
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1;
	color: var(--primary, #0088cc);
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--primary, #0088cc) 28%, #d0d5dd);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.register-page .register-group-template-download .lucide-icon,
.register-page .register-group-template-download svg.lucide-icon {
	width: 0.95rem;
	height: 0.95rem;
	flex-shrink: 0;
}

.register-page .register-group-template-download:hover {
	color: var(--primary, #0088cc);
	background: color-mix(in srgb, var(--primary, #0088cc) 8%, #fff);
	border-color: var(--primary, #0088cc);
}

.register-page .register-group-template-download.disabled,
.register-page .register-group-template-download[aria-busy="true"] {
	opacity: 0.65;
	pointer-events: none;
}

/* ── 접수 플래시 토스트 ── */
.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 .register-search-select {
	position: relative;
	width: 100%;
}

.register-page .register-search-select__native {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	appearance: none;
	pointer-events: none;
}

.register-page .register-search-select__control {
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 12px 12px;
}

.register-page .register-search-select.is-open .register-search-select__control,
.register-page .register-search-select__control:focus {
	border-color: var(--primary, #0088cc) !important;
	box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.1) !important;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230088cc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.register-page .register-search-select.is-disabled .register-search-select__control,
.register-page .register-search-select__control:disabled {
	background-color: #f3f4f6 !important;
	border-color: #d1d5db !important;
	color: #9ca3af !important;
	cursor: not-allowed;
	box-shadow: none !important;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.register-page .register-search-select__value {
	display: block;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #222;
}

.register-page .register-search-select__value.is-placeholder {
	color: #98a2b3;
}

.register-page .register-search-select.is-disabled .register-search-select__value {
	color: #9ca3af;
}

.register-page .register-search-select__panel {
	z-index: 1085;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16);
}

.register-page .register-search-select__panel[hidden] {
	display: none !important;
}

.register-page .register-search-select__search-wrap {
	flex: 0 0 auto;
	padding: 0.55rem 0.65rem 0.45rem;
	border-bottom: 1px solid #eef0f3;
	background: #fff;
}

.register-page .register-search-select__search {
	width: 100%;
	height: 2.25rem;
	padding: 0.4rem 0.75rem;
	border: 1px solid #e9e9e9;
	border-radius: 8px;
	font-size: 0.875rem;
	line-height: 1.25;
	color: #222;
	background: #fff;
}

.register-page .register-search-select__search:focus {
	outline: none;
	border-color: var(--primary, #0088cc);
	box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.1);
}

.register-page .register-search-select__list {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 0.25rem;
}

.register-page .register-search-select__option {
	display: block;
	width: 100%;
	padding: 0.55rem 0.75rem;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #222;
	font-size: 0.9rem;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.register-page .register-search-select__option:hover,
.register-page .register-search-select__option:focus {
	background: rgba(0, 136, 204, 0.08);
	color: #0f172a;
	outline: none;
}

.register-page .register-search-select__option.is-selected {
	background: rgba(0, 136, 204, 0.12);
	color: var(--primary, #0088cc);
	font-weight: 600;
}

.register-page .register-search-select__option.is-placeholder {
	color: #98a2b3;
}

.register-page .register-search-select__empty {
	margin: 0;
	padding: 0.85rem 0.9rem 1rem;
	color: #6b7280;
	font-size: 0.85rem;
	text-align: center;
}

.register-page .email-input-group {
	flex-wrap: nowrap !important;
	align-items: stretch;
}

.register-page .email-input-group > .form-control-modern {
	min-width: 0;
}

.register-page .email-input-group .register-search-select {
	width: 10rem;
	max-width: 10rem;
	flex: 0 0 10rem;
}

.register-page .email-input-group .register-search-select__control {
	max-width: 100%;
}

@media (max-width: 767px) {
	.register-page .register-search-select__control {
		padding-right: 2.25rem;
		background-position: right 0.75rem center;
		background-size: 11px 11px;
	}

	.register-page .email-input-group .register-search-select {
		width: 8rem;
		max-width: 8rem;
		flex-basis: 8rem;
	}
}

