@charset "utf-8";
/**
 * /page/ 서브(마이페이지) 목업·신규 디자인
 * - sub_design.php 및 패턴 확정 후 전 페이지 반영 시 사용
 * - style.css 뒤에 로드 (덮어쓰기 가능)
 */

/* 서브 레이아웃: nav_wrap을 헤더 바로 아래에 붙임 */
#container.kp-sub-layout {
	padding-top: 110px;
	background: #eff3fb;
}

@media all and (max-width: 1100px) {
	#container.kp-sub-layout {
		padding-top: 88px;
	}
}

@media all and (max-width: 768px) {
	#container.kp-sub-layout {
		padding-top: 78px;
	}
}

/* --------------------------------------------------------------------------
   nav_wrap — 상단 배경 + 기관명 + 카드탭 + 서브탭
   -------------------------------------------------------------------------- */
.nav_wrap {
	box-sizing: border-box;
	width: 100%;
	min-height: 288px;
	margin: 0;
	padding: 0;
	background: url(/images/sub/nav_bg.png) repeat-x center top;
	 
}

.nav_wrap .inner {
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1200px;
	min-height: 287px;
	margin: 0 auto;
	padding: 28px 0 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}

/* 기관명 + 기관정보 */
.nav_wrap .sub_nav_head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin: 0 0 22px;
}

.nav_wrap .sub_nav_head h1 {
	margin: 0;
	padding: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
	color: #1e2a3a;
	letter-spacing: -0.03em;
}

.nav_wrap .sub_nav_head h1 small {
	font-weight: 500;
}

.nav_wrap .btn_org_info {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: 500;
	color: #4a5568;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.nav_wrap .btn_org_info:hover {
	border-color: #003eb8;
	box-shadow: 0 2px 6px rgba(0, 62, 184, 0.12);
}

.nav_wrap .btn_org_info img {
	display: block;
	flex-shrink: 0;
}

/* 4열 카드 메뉴 */
.nav_wrap .sub_nav_cards {
	width: 100%;
	margin: 0;
}

.nav_wrap .sub_nav_cards ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav_wrap .sub_nav_cards ul li {
	width: auto;
	height: auto;
	min-width: 0;
}

.nav_wrap .sub_nav_cards ul li a {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 118px;
	padding: 18px 12px 16px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: #2c3e50;
	text-align: center;
	text-decoration: none;
	background: #fff;
	border: 2px solid transparent;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(30, 50, 90, 0.08);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

.nav_wrap .sub_nav_cards ul li a:hover,
.nav_wrap .sub_nav_cards ul li a.on {
	color: #003eb8;
	border-color: #003eb8;
	box-shadow: 0 4px 14px rgba(0, 62, 184, 0.12);
}

.nav_wrap .sub_nav_card_ico {
	display: block;
	width: 56px;
	height: 48px;
	margin: 0 auto 10px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

/* 카드 아이콘: 기본 nav_btnN.png / .on·:hover nav_btnNon.png */
.nav_wrap .sub_nav_cards > ul > li:nth-child(1) .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn1.png);
}
.nav_wrap .sub_nav_cards > ul > li:nth-child(1) > a:hover .sub_nav_card_ico,
.nav_wrap .sub_nav_cards > ul > li:nth-child(1) > a.on .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn1on.png);
}

.nav_wrap .sub_nav_cards > ul > li:nth-child(2) .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn2.png);
}
.nav_wrap .sub_nav_cards > ul > li:nth-child(2) > a:hover .sub_nav_card_ico,
.nav_wrap .sub_nav_cards > ul > li:nth-child(2) > a.on .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn2on.png);
}

.nav_wrap .sub_nav_cards > ul > li:nth-child(3) .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn3.png);
}
.nav_wrap .sub_nav_cards > ul > li:nth-child(3) > a:hover .sub_nav_card_ico,
.nav_wrap .sub_nav_cards > ul > li:nth-child(3) > a.on .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn3on.png);
}

.nav_wrap .sub_nav_cards > ul > li:nth-child(4) .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn4.png);
}
.nav_wrap .sub_nav_cards > ul > li:nth-child(4) > a:hover .sub_nav_card_ico,
.nav_wrap .sub_nav_cards > ul > li:nth-child(4) > a.on .sub_nav_card_ico {
	background-image: url(../images/sub/nav_btn4on.png);
}

.nav_wrap .sub_nav_card_txt {
	display: block;
	word-break: keep-all;
}

/* 하위 텍스트 탭 — 하단 정렬, 가운데 배치, on 밑줄 = nav_wrap 하단 */
.nav_wrap .sub_nav_subtabs {
	width: 100%;
	margin: auto 0 0;
	flex-shrink: 0;
}

.nav_wrap .sub_nav_subtabs ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 0 32px;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav_wrap .sub_nav_subtabs ul li {
	width: auto;
	height: auto;
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
}

.nav_wrap .sub_nav_subtabs ul li a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 4px 0;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: #6b7280;
	text-decoration: none;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.nav_wrap .sub_nav_subtabs ul li a:hover,
.nav_wrap .sub_nav_subtabs ul li a.on {
	color: #003eb8;
	border-bottom-color: #003eb8;
}

/* contents 상단 사용 안내 (페이지별 DB 연동 예정) */
#container.kp-sub-layout .contents .page_notice {
	margin: 0 0 24px;
	padding: 0;
}

#container.kp-sub-layout .contents .page_notice p {
	display: block;
	height: auto;
	min-height: 0;
	margin: 0 0 6px;
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	color: #707070;
	letter-spacing: -0.02em;
	align-items: initial;
}

#container.kp-sub-layout .contents .page_notice p:last-child {
	margin-bottom: 0;
}

#container.kp-sub-layout .contents .page_notice p span {
	display: inline;
	width: auto;
	float: none;
	line-height: inherit;
	color: inherit;
}

#container.kp-sub-layout .contents .page_notice .page_notice_em {
	color: #3162a5;
	font-weight: 400;
}

#container.kp-sub-layout .contents .page_notice .page_notice_link {
	float: none;
	color: #3162a5;
	font-size: 13px;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#container.kp-sub-layout .contents .page_notice .page_notice_link:hover,
#container.kp-sub-layout .contents .page_notice .page_notice_link:focus {
	color: #003eb8;
}

/* 검색 필터 패널 */
#container.kp-sub-layout .contents .sub_search_area {
	margin: 0 0 24px;
}

#container.kp-sub-layout .contents .sub_search_panel {
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	overflow: hidden;
	padding: 0 32px;
}

#container.kp-sub-layout .contents .sub_search_row {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 52px;
	padding: 10px 0;
	border-bottom: 1px solid #e8ecf2;
}

#container.kp-sub-layout .contents .sub_search_row_split {
	align-items: center;
}

#container.kp-sub-layout .contents .sub_search_label {
	flex: 0 0 72px;
	font-size: 15px;
	font-weight: 600;
	color: #2f2f2f;
	line-height: 1.3;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .sub_search_fields {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	min-width: 0;
	flex: 1 1 auto;
}

#container.kp-sub-layout .contents .sub_search_fields_date {
	flex-wrap: nowrap;
}

#container.kp-sub-layout .contents .sub_search_date_wrap {
	position: relative;
	display: inline-block;
	flex: 0 0 auto;
	cursor: pointer;
}

#container.kp-sub-layout .contents .sub_search_area .sub_search_input,
#container.kp-sub-layout .contents .sub_search_area .sub_search_select,
#container.kp-sub-layout .contents .board_box .sub_search_input,
#container.kp-sub-layout .contents .board_box .board_search_input {
	box-sizing: border-box;
	border: 1px solid #e0dfdf;
	background-color: #f7f7f7;
	font-size: 14px;
	color: #686868;
}

#container.kp-sub-layout .contents .sub_search_input,
#container.kp-sub-layout .contents .board_search_input {
	height: 42px;
	margin: 0;
	padding: 0 14px;
	border-radius: 8px;
}

#container.kp-sub-layout .contents .sub_search_area .sub_search_input {
	padding-right: 40px;
}

#container.kp-sub-layout .contents .sub_search_input::placeholder,
#container.kp-sub-layout .contents .board_search_input::placeholder {
	color: #9a9a9a;
}

#container.kp-sub-layout .contents .sub_search_input_date {
	width: 150px;
}

#container.kp-sub-layout .contents .sub_search_input_grow {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	height: 42px;
	padding: 0 14px;
}

#container.kp-sub-layout .contents .sub_search_fields .sub_search_input_grow,
#container.kp-sub-layout .contents .sub_search_fields .sub_search_select_grow {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

#container.kp-sub-layout .contents .sub_search_date_ico {
	position: absolute;
	right: 10px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: url(../images/sub/ico_cal.png) no-repeat center center;
	background-size: contain;
	pointer-events: none;
}

#container.kp-sub-layout .contents .sub_search_dash {
	flex: 0 0 auto;
	font-size: 15px;
	color: #8a93a3;
}

#container.kp-sub-layout .contents .sub_search_quick {
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	overflow: hidden;
	background: #f7f7f7;
}

#container.kp-sub-layout .contents .sub_search_quick_btn {
	flex: 0 0 58px;
	width: 58px;
	min-width: 58px;
	max-width: 58px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-right: 1px solid #e0dfdf;
	border-radius: 0;
	background: #f7f7f7;
	font-size: 14px;
	color: #686868;
	text-align: center;
	line-height: 40px;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: pointer;
}

#container.kp-sub-layout .contents .sub_search_quick_btn:last-child {
	border-right: 0;
}

#container.kp-sub-layout .contents .sub_search_quick_btn.on,
#container.kp-sub-layout .contents .sub_search_quick_btn:hover {
	background: #f5f8fc;
	color: #003eb8;
}

#container.kp-sub-layout .contents .sub_search_fields_radio {
	gap: 18px;
}

#container.kp-sub-layout .contents .sub_search_radio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	color: #4a5568;
	cursor: pointer;
}

#container.kp-sub-layout .contents .sub_search_radio input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #1e6fd9;
}

#container.kp-sub-layout .contents .sub_search_row_split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 28px;
}

#container.kp-sub-layout .contents .sub_search_split_item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

#container.kp-sub-layout .contents .sub_search_split_item > .sub_search_select_grow {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

#container.kp-sub-layout .contents .sub_search_split_item .sub_search_fields_radio {
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: wrap;
	gap: 10px 14px;
}

#container.kp-sub-layout .contents .sub_search_fields_name {
	flex: 1 1 auto;
	flex-wrap: nowrap;
}

#container.kp-sub-layout .contents .sub_search_area .sub_search_select {
	height: 42px;
	min-width: 200px;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 14px;
	padding-right: 32px;
	border-radius: 8px;
	line-height: 40px;
	text-indent: 0;
	-webkit-padding-start: 14px;
	-moz-padding-start: 14px;
	background-color: #f7f7f7;
	background-image: url(../images/sub/ico_arr_down.png);
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

#container.kp-sub-layout .contents .sub_search_select_grow {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	width: auto;
}

#container.kp-sub-layout .contents .sub_search_select_sm {
	min-width: 110px;
	flex: 0 0 110px;
	padding-left: 14px;
	padding-right: 28px;
}

#container.kp-sub-layout .contents .sub_search_link_btn {
	flex: 0 0 auto;
	height: 42px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #d5dbe5;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	color: #4a5568;
	cursor: pointer;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .sub_search_link_btn:hover {
	border-color: #b8c4d8;
	color: #003eb8;
}

#container.kp-sub-layout .contents .sub_search_actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 30px 0 24px;
	border-bottom: 0;
}

#container.kp-sub-layout .contents .sub_search_btn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	box-sizing: border-box;
	width: 167px;
	min-width: 167px;
	height: 57px;
	margin: 0;
	padding: 6px 12px 0 30px;
	border: 0;
	border-radius: 4px;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0em;
	cursor: pointer;
}

#container.kp-sub-layout .contents .sub_search_btn img {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: auto;
	max-width: none;
	margin-top: -3px;
}

#container.kp-sub-layout .contents .sub_search_btn_reset {
	background: #ebebeb;
	color: #7e7e7e;
}

#container.kp-sub-layout .contents .sub_search_btn_reset:hover {
	background: #e0e0e0;
	color: #6a6a6a;
}

#container.kp-sub-layout .contents .sub_search_btn_submit {
	background: #3f93ec;
	color: #ffffff;
}

#container.kp-sub-layout .contents .sub_search_btn_submit:hover {
	background: #3585db;
}

#container.kp-sub-layout .contents .sub_search_btn_submit img {
	filter: brightness(0) invert(1);
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents .sub_search_panel {
		padding: 0 20px;
	}

	#container.kp-sub-layout .contents .sub_search_row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		min-height: 0;
		padding: 10px 0;
	}

	#container.kp-sub-layout .contents .sub_search_label {
		flex: 0 0 auto;
		width: 100%;
	}

	#container.kp-sub-layout .contents .sub_search_fields {
		width: 100%;
	}

	#container.kp-sub-layout .contents .sub_search_fields_date {
		flex-wrap: wrap;
		width: 100%;
	}

	#container.kp-sub-layout .contents .sub_search_row_split {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 12px;
		padding: 10px 0;
	}

	#container.kp-sub-layout .contents .sub_search_split_item {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		width: 100%;
		min-width: 0;
	}

	#container.kp-sub-layout .contents .sub_search_split_item .sub_search_label {
		flex: 0 0 auto;
		width: auto;
	}

	#container.kp-sub-layout .contents .sub_search_split_item .sub_search_fields_radio,
	#container.kp-sub-layout .contents .sub_search_split_item > .sub_search_select_grow {
		flex: none;
		width: 100%;
		max-width: 100%;
	}

	#container.kp-sub-layout .contents .sub_search_area .sub_search_select {
		min-width: 0;
		max-width: 100%;
	}

	#container.kp-sub-layout .contents .sub_search_actions {
		flex-wrap: wrap;
		gap: 8px;
		padding: 18px 0 14px;
	}

	#container.kp-sub-layout .contents .sub_search_btn {
		flex: 1 1 calc(50% - 4px);
		width: auto;
		min-width: 0;
		max-width: 180px;
		height: 46px;
		padding: 0 14px;
		justify-content: center;
		gap: 8px;
		font-size: 18px;
	}

	#container.kp-sub-layout .contents .sub_search_btn img {
		width: 17px;
		height: 17px;
		margin-top: 0;
	}
}

/* 온라인코드 보유현황 — code_list 카드 */
#container.kp-sub-layout .contents .list_area h3 {
	margin: 28px 0 18px;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.3;
}

#container.kp-sub-layout .contents .code_list {
	width: 100%;
}

#container.kp-sub-layout .contents .code_list .code_item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	margin: 0 0 14px;
	padding: 22px 26px;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 12px;
	box-shadow: none;
}

#container.kp-sub-layout .contents .code_list .code_item_left {
	flex: 1 1 auto;
	min-width: 0;
	margin-right: 28px;
}

#container.kp-sub-layout .contents .code_list .code_item_title_row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 12px;
	min-height: 44px;
	margin: 0 0 18px;
	padding: 10px 0 12px;
	box-sizing: border-box;
}

#container.kp-sub-layout .contents .code_list .code_item_name {
	margin: 0;
	padding: 0 0 0 4px;
	font-size: 20px;
	font-weight: 500;
	color: #000;
	line-height: 1.5;
}

#container.kp-sub-layout .contents .code_list .code_item_spec {
	flex: 0 0 auto;
	font-size: 15px;
	font-weight: 300;
	color: #d0d0d0;
	user-select: none;
}

#container.kp-sub-layout .contents .code_list .code_item_spec_txt {
	font-size: 14px;
	font-weight: 400;
	color: #888;
}

#container.kp-sub-layout .contents .code_list .code_item_meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 8px;
	column-gap: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 12px 20px;
	background: #f2f2f2;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
	color: #555;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_item {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 6px;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_item:not(:first-child) {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #d5d5d5;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_item_label {
	font-weight: 400;
	color: #555;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_item_value {
	font-weight: 700;
	color: #333;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_item_value img {
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: middle;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_refresh {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin: 0 0 0 2px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	vertical-align: middle;
}

#container.kp-sub-layout .contents .code_list .code_item_meta_refresh img {
	display: block;
	width: 18px;
	height: 18px;
}

#container.kp-sub-layout .contents .code_list .code_item_actions {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

#container.kp-sub-layout .contents .code_list .code_item_actions_single {
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

#container.kp-sub-layout .contents .code_list .code_item_actions_single .btn_send_outline {
	width: 100%;
	min-width: 200px;
}

#container.kp-sub-layout .contents .code_list .btn_send_outline,
#container.kp-sub-layout .contents .board_area--test .btn_send_outline,
#container.kp-sub-layout .contents .board_area--applicant_info .btn_send_outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 48px;
	margin: 0;
	padding: 12px 22px;
	border: 1px solid #c5d0de;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	font-size: 15px;
	font-weight: 600;
	color: #1a4a7c;
	line-height: 1.3;
	white-space: nowrap;
	cursor: pointer;
}

#container.kp-sub-layout .contents .code_list .btn_send_outline:hover,
#container.kp-sub-layout .contents .board_area--test .btn_send_outline:hover,
#container.kp-sub-layout .contents .board_area--applicant_info .btn_send_outline:hover {
	border-color: #003eb8;
	color: #003eb8;
	background: #f8fbff;
}

#container.kp-sub-layout .contents .code_list .btn_send_outline img,
#container.kp-sub-layout .contents .board_area--test .btn_send_outline img {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: auto;
	max-width: none;
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents .code_list .code_item {
		flex-direction: column;
		align-items: stretch;
		padding: 18px 20px;
	}

	#container.kp-sub-layout .contents .code_list .code_item_left {
		margin: 0 0 16px;
	}

	#container.kp-sub-layout .contents .code_list .code_item_actions {
		justify-content: center;
	}

	#container.kp-sub-layout .contents .code_list .btn_send_outline {
		width: 100%;
		white-space: normal;
	}
}

@media all and (max-width: 640px) {
	#container.kp-sub-layout .contents .code_list .code_item_meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 12px 14px;
	}

	#container.kp-sub-layout .contents .code_list .code_item_meta_item:not(:first-child) {
		margin: 0;
		padding: 0;
		border-left: 0;
	}
}

/* 응시자 실시 현황 — applicant_code_list (mypage_code 카드 톤) */
#container.kp-sub-layout .contents .code_list.applicant_code_list {
	--applicant-check-size: 18px;
	--applicant-check-gap: 16px;
	--applicant-card-pad-x: 24px;
	box-sizing: border-box;
	margin-top: 4px;
	padding: 18px 20px 24px;
	background: #f4f7fc;
	border-radius: 12px;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_list_toolbar {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	margin: 0 0 16px;
	padding: 0 var(--applicant-card-pad-x);
	border: 0;
	background: transparent;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_toolbar_check {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	user-select: none;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_toolbar_check_lbl {
	font-size: 13px;
	font-weight: 600;
	color: #6b7a8f;
	line-height: 1.2;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_list_toolbar .applicant_check,
#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_item_card .applicant_check {
	flex: 0 0 var(--applicant-check-size);
	width: var(--applicant-check-size);
	height: var(--applicant-check-size);
	margin: 0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_item_card .applicant_check {
	margin-top: 0;
}

/* 일괄 작업 툴바 (박스 없음 — 버튼만 우측 정렬) */
#container.kp-sub-layout .contents .applicant_bulk_bar {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

#container.kp-sub-layout .contents .applicant_bulk_bar--compact {
	padding: 0;
}

/* 응시자 실시 현황 — 줄바꿈·우측 정렬 (버튼 단위, 그룹 단위 줄바꿈 방지) */
#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_bar {
	width: 100%;
	overflow: visible;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_actions {
	display: flex;
	flex: 1 1 100%;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 6px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: 0;
	padding: 0;
	overflow: visible;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_group {
	display: contents;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_group + .applicant_bulk_group {
	border-left: 0;
	margin-left: 0;
}

#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_actions {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 0;
	min-width: 0;
	max-width: 100%;
	margin-left: auto;
	padding: 0;
	overflow: visible;
}

/* 응시자 정보 — 좁은 영역: 줄바꿈 + 우측 정렬 (버튼 잘림 방지) */
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_bar {
	width: 100%;
	overflow: visible;
}

#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_actions {
	display: flex;
	flex: 1 1 100%;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px 8px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: 0;
	padding: 0;
	overflow: visible;
}

#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_group {
	display: contents;
}

#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_group + .applicant_bulk_group {
	border-left: 0;
	margin-left: 0;
}

#container.kp-sub-layout .contents .applicant_bulk_group {
	display: inline-flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 5px;
	padding: 0 10px;
}

#container.kp-sub-layout .contents .applicant_bulk_group:first-child {
	padding-left: 0;
}

#container.kp-sub-layout .contents .applicant_bulk_group + .applicant_bulk_group {
	border-left: 1px solid #e8edf3;
	margin-left: 2px;
}

#container.kp-sub-layout .contents .applicant_bulk_group--tail {
	padding-right: 0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn,
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	flex: 0 0 auto;
	min-height: 40px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #d4dce8;
	border-radius: 8px;
	box-shadow: none;
	font-size: 15px;
	font-weight: 600;
	color: #3d4d63;
	line-height: 1.3;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

/* 응시자 실시 현황 — 연한 배경(#f4f7fc) 위 버튼 흰색 */
#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn {
	background: #fff;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn:hover {
	border-color: #b8c8de;
	color: #003eb8;
	background: #f8fbff;
}

/* 응시자 정보 등 — 기존 연회색 버튼 유지 */
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn {
	background: #f6f8fb;
}

#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn:hover,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn:hover {
	border-color: #b8c8de;
	color: #003eb8;
	background: #eef3fa;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn--warn,
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn--warn,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn--warn {
	border-color: #e8ddd4;
	background: #fff;
	color: #7a5c4a;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn--warn:hover,
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn--warn:hover,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn--warn:hover {
	border-color: #d4b8a8;
	color: #6b4a38;
	background: #fdf9f6;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn--excel,
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn--excel,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn--excel {
	border-color: #003eb8;
	background: #fff;
	color: #003eb8;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_btn--excel:hover,
#container.kp-sub-layout .contents .board_box--applicant_info .applicant_bulk_btn--excel:hover,
#container.kp-sub-layout .contents .board_box--test_list .applicant_bulk_btn--excel:hover {
	border-color: #00358d;
	background: #f0f5fc;
	color: #00358d;
}

#container.kp-sub-layout .contents .applicant_bulk_ico {
	display: inline-block;
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	background-color: currentColor;
	opacity: 0.72;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

#container.kp-sub-layout .contents .applicant_bulk_ico--undo {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 10h10a5 5 0 0 1 0 10H9'/%3E%3Cpath d='M7 6L3 10l4 4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 10h10a5 5 0 0 1 0 10H9'/%3E%3Cpath d='M7 6L3 10l4 4'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .applicant_bulk_ico--sms {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .applicant_bulk_ico--email {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .applicant_bulk_ico--calendar {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 11h16'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 11h16'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .applicant_bulk_ico--group {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 19c0-3 3-5 6-5s6 2 6 5'/%3E%3Cpath d='M14 19c0-2 2-3.5 4-3.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 19c0-3 3-5 6-5s6 2 6 5'/%3E%3Cpath d='M14 19c0-2 2-3.5 4-3.5'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .applicant_bulk_ico--excel {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M9 13h6M9 17h4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M9 13h6M9 17h4'/%3E%3C/svg%3E");
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_item_card {
	display: flex;
	align-items: center;
	gap: var(--applicant-check-gap);
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 12px;
	padding: 20px var(--applicant-card-pad-x);
	border: 1px solid #e3e8f0;
	border-bottom: 1px solid #e3e8f0;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_item_card:last-child {
	margin-bottom: 0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_main {
	flex: 1 1 auto;
	min-width: 0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0 0 10px;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_name {
	font-size: 20px;
	font-weight: 500;
	color: #000;
	line-height: 1.45;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_info_icon {
	width: 20px;
	height: 20px;
	font-size: 12px;
	background: #eef2f7;
	color: #666;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_status_badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	min-width: 52px;
	margin: 0;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_status_badge.is_pending {
	color: #c62828;
	background: #ffebee;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_status_badge.is_done {
	color: #003eb8;
	background: #e8f0fc;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_status_badge.is_progress {
	color: #e65100;
	background: #fff3e0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_exam_line {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	line-height: 1.45;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_exam_meta {
	font-weight: 400;
	color: #888;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_meta_line {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	color: #555;
	line-height: 1.45;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_sep {
	margin: 0 8px;
	color: #d0d0d0;
	font-weight: 300;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_actions {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	min-width: 0;
}

#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_actions .btn_send_outline {
	width: 100%;
	min-width: 220px;
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents .code_list.applicant_code_list {
		--applicant-card-pad-x: 16px;
		padding: 14px 12px 18px;
	}

	#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_list_toolbar {
		padding-left: 12px;
		padding-right: 12px;
	}

	#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_bulk_actions {
		flex-wrap: wrap;
		gap: 6px 8px;
	}

	#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_item_card {
		flex-direction: column;
		align-items: stretch;
		padding: 18px var(--applicant-card-pad-x);
	}

	#container.kp-sub-layout .contents .code_list.applicant_code_list .applicant_actions {
		width: 100%;
	}
}

/* 마이페이지 메인 — mp_main_* (sub_search 패널 박스 + 대시보드 배치) */
#container.kp-sub-layout .contents .mp_main_area {
	margin: 28px 0 24px;
	--mp-chart-a-plus: #7ec8e3;
	--mp-chart-a: #5ba3d4;
	--mp-chart-b-plus: #4a88c7;
	--mp-chart-b: #5b72c4;
	--mp-chart-b-minus: #7a6bb5;
	--mp-chart-c: #9b67a8;
	--mp-chart-d: #c671d6;
	--mp-chart-f: #d9629a;
	--mp-chart-done: var(--mp-chart-d);
	--mp-chart-wait: #ebe6ef;
}

#container.kp-sub-layout .contents .mp_main_panel {
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	overflow: hidden;
}

#container.kp-sub-layout .contents .mp_main_panel_top {
	margin-bottom: 16px;
	padding: 0;
}

#container.kp-sub-layout .contents .mp_main_slide_unit {
	position: relative;
}

#container.kp-sub-layout .contents .mp_main_slide_viewport {
	overflow: hidden;
	width: 100%;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

#container.kp-sub-layout .contents .mp_main_slide_viewport.is-dragging {
	cursor: grabbing;
}

#container.kp-sub-layout .contents .mp_main_slide_viewport.is-dragging * {
	user-select: none;
}

#container.kp-sub-layout .contents .mp_main_slide_track {
	display: flex;
	align-items: stretch;
	transition: transform 0.35s ease;
	will-change: transform;
}

#container.kp-sub-layout .contents .mp_main_slide_item {
	flex: 0 0 100%;
	box-sizing: border-box;
	flex-shrink: 0;
}

#container.kp-sub-layout .contents .mp_main_cols {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 0;
}

#container.kp-sub-layout .contents .mp_main_col {
	box-sizing: border-box;
	padding: 14px 18px 16px;
	border-right: 1px solid #e8ecf2;
}

#container.kp-sub-layout .contents .mp_main_col:last-child {
	border-right: 0;
}

#container.kp-sub-layout .contents .mp_main_col_exam {
	display: flex;
	flex: 2.1 1 0;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

#container.kp-sub-layout .contents .mp_main_col_chart {
	flex: 1 1 0;
	min-width: 200px;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

#container.kp-sub-layout .contents .mp_main_bottom {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: stretch;
}

#container.kp-sub-layout .contents .mp_main_panel_board {
	padding: 22px 26px 16px;
}

#container.kp-sub-layout .contents .mp_main_dots {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 12px 18px 6px;
}

#container.kp-sub-layout .contents .mp_main_dot {
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #b8c0cc;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
}

#container.kp-sub-layout .contents .mp_main_dot.is_on {
	background: #1e6fd9;
	border-color: #1e6fd9;
}

#container.kp-sub-layout .contents .mp_main_title_row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
	margin: 0 0 8px;
}

#container.kp-sub-layout .contents .mp_main_title {
	margin: 0;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

#container.kp-sub-layout .contents .mp_main_spec {
	margin: 2px 0 0;
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	color: #9a9a9a;
	line-height: 1.2;
}

#container.kp-sub-layout .contents .mp_main_stats_bar {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	box-sizing: border-box;
	width: 100%;
	min-height: 34px;
	margin-bottom: 0;
	padding: 7px 12px;
	background: #f2f2f2;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.3;
	color: #555;
}

#container.kp-sub-layout .contents .mp_main_stats_item {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	flex-shrink: 0;
	gap: 3px 4px;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .mp_main_stats_item:not(:first-child) {
	margin-left: 12px;
	padding-left: 12px;
	border-left: 1px solid #d5d5d5;
}

#container.kp-sub-layout .contents .mp_main_stats_item_label {
	font-weight: 400;
	color: #555;
}

#container.kp-sub-layout .contents .mp_main_stats_item_value {
	font-weight: 700;
	color: #333;
}

#container.kp-sub-layout .contents .mp_main_stats_item_value img {
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: middle;
}

#container.kp-sub-layout .contents .mp_main_stats_refresh {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0 0 0 1px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	vertical-align: middle;
}

#container.kp-sub-layout .contents .mp_main_stats_refresh img {
	display: block;
	width: 14px;
	height: 14px;
}

#container.kp-sub-layout .contents .mp_main_btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 18px 14px;
	border-top: 1px solid #e8ecf2;
}

#container.kp-sub-layout .contents .mp_main_btn_send {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid #c8c8c8;
	border-radius: 6px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	color: #3a3a3a;
	cursor: pointer;
}

#container.kp-sub-layout .contents .mp_main_btn_send:hover {
	border-color: #003eb8;
	color: #003eb8;
}

#container.kp-sub-layout .contents .mp_main_btn_send img {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: auto;
	max-width: none;
}

#container.kp-sub-layout .contents .mp_main_btn_result {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 22px;
	border: 0;
	border-radius: 6px;
	background: #3f93ec;
	font-size: 15px;
	font-weight: 700;
	color: #ffffff;
	cursor: pointer;
}

#container.kp-sub-layout .contents .mp_main_btn_result:hover {
	background: #3585db;
}

#container.kp-sub-layout .contents .mp_main_chart_title,
#container.kp-sub-layout .contents .mp_main_chart_title_rate {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: #222;
}

#container.kp-sub-layout .contents .mp_main_donut_wrap {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
}

#container.kp-sub-layout .contents .mp_main_donut {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: conic-gradient(
		var(--mp-chart-done) 0 calc(var(--mp-main-pct, 0) * 3.6deg),
		var(--mp-chart-wait) calc(var(--mp-main-pct, 0) * 3.6deg) 360deg
	);
}

#container.kp-sub-layout .contents .mp_main_donut::after {
	content: "";
	position: absolute;
	inset: 18%;
	background: #fff;
	border-radius: 50%;
}

#container.kp-sub-layout .contents .mp_main_donut_pct {
	position: relative;
	z-index: 1;
	font-size: 22px;
	font-weight: 800;
	color: #1a1a1a;
	letter-spacing: -0.5px;
}

#container.kp-sub-layout .contents .mp_main_donut_legend {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	font-size: 13px;
	color: #555;
}

#container.kp-sub-layout .contents .mp_main_donut_legend li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

#container.kp-sub-layout .contents .mp_main_leg_sw {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
}

#container.kp-sub-layout .contents .mp_main_leg_done {
	background: var(--mp-chart-done);
}

#container.kp-sub-layout .contents .mp_main_leg_wait {
	background: var(--mp-chart-wait);
}

#container.kp-sub-layout .contents .mp_main_bars {
	flex: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	min-height: 180px;
	padding-top: 8px;
}

#container.kp-sub-layout .contents .mp_main_bar_col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}

#container.kp-sub-layout .contents .mp_main_bar_val {
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #333;
}

#container.kp-sub-layout .contents .mp_main_bar_track {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	max-width: 48px;
	height: 120px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 4px 4px 0 0;
	background-color: #fafafa;
	background-image: repeating-linear-gradient(
		to bottom,
		transparent,
		transparent 23px,
		#ececec 23px,
		#ececec 24px
	);
}

#container.kp-sub-layout .contents .mp_main_bar_fill {
	display: block;
	width: 70%;
	min-height: 4px;
	border-radius: 3px 3px 0 0;
}

#container.kp-sub-layout .contents .mp_main_bar_total {
	background: var(--mp-chart-a-plus);
}

#container.kp-sub-layout .contents .mp_main_bar_prog {
	background: var(--mp-chart-a);
}

#container.kp-sub-layout .contents .mp_main_bar_done {
	background: var(--mp-chart-b);
}

#container.kp-sub-layout .contents .mp_main_bar_nt {
	background: var(--mp-chart-f);
}

#container.kp-sub-layout .contents .mp_main_bar_lbl {
	margin-top: 10px;
	font-size: 12px;
	color: #666;
	text-align: center;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .mp_main_board_hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
	padding-bottom: 14px;
	border-bottom: 1px solid #ececec;
}

#container.kp-sub-layout .contents .mp_main_board_ttl {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	letter-spacing: -0.3px;
}

#container.kp-sub-layout .contents .mp_main_board_more {
	font-size: 13px;
	color: #888;
	text-decoration: none;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .mp_main_board_more:hover {
	color: #003eb8;
}

#container.kp-sub-layout .contents .mp_main_notice_list,
#container.kp-sub-layout .contents .mp_main_point_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

#container.kp-sub-layout .contents .mp_main_notice_item {
	border-bottom: 1px solid #ececec;
}

#container.kp-sub-layout .contents .mp_main_notice_item:last-child {
	border-bottom: 0;
}

#container.kp-sub-layout .contents .mp_main_notice_link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 4px;
	text-decoration: none;
	color: inherit;
}

#container.kp-sub-layout .contents .mp_main_notice_link:hover .mp_main_notice_subj {
	color: #003eb8;
	text-decoration: underline;
}

#container.kp-sub-layout .contents .mp_main_notice_subj {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	font-size: 14px;
	color: #222;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .mp_main_notice_date {
	flex-shrink: 0;
	font-size: 13px;
	color: #888;
}

#container.kp-sub-layout .contents .mp_main_point_item {
	padding: 18px 4px;
	border-bottom: 1px solid #ececec;
}

#container.kp-sub-layout .contents .mp_main_point_item:last-child {
	border-bottom: 0;
}

#container.kp-sub-layout .contents .mp_main_point_top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin-bottom: 10px;
}

#container.kp-sub-layout .contents .mp_main_pt_badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

#container.kp-sub-layout .contents .mp_main_pt_badge.is_add {
	color: #003eb8;
	background: #e8f0fc;
}

#container.kp-sub-layout .contents .mp_main_pt_badge.is_use {
	color: #c62828;
	background: #ffebee;
}

#container.kp-sub-layout .contents .mp_main_pt_badge.is_refund {
	color: #e65100;
	background: #fff3e0;
}

#container.kp-sub-layout .contents .mp_main_point_meta {
	font-size: 13px;
	color: #888;
}

#container.kp-sub-layout .contents .mp_main_point_mid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

#container.kp-sub-layout .contents .mp_main_point_title {
	flex: 1;
	min-width: 0;
	font-size: 15px;
	font-weight: 700;
	color: #222;
}

#container.kp-sub-layout .contents .mp_main_point_amt {
	flex-shrink: 0;
	font-size: 16px;
	font-weight: 800;
}

#container.kp-sub-layout .contents .mp_main_point_amt.is_add {
	color: #003eb8;
}

#container.kp-sub-layout .contents .mp_main_point_amt.is_use {
	color: #c62828;
}

#container.kp-sub-layout .contents .mp_main_point_ref {
	margin-top: 8px;
	font-size: 12px;
	color: #aaa;
}

#container.kp-sub-layout .contents .mp_main_notice_empty,
#container.kp-sub-layout .contents .mp_main_point_empty {
	display: block;
	height: auto;
	margin: 0;
	padding: 16px 0;
	font-size: 14px;
	line-height: 1.5;
	color: #888;
	text-align: center;
}

/* 로그인 전용 페이지 — 세로·가로 중앙 (헤더·푸터 사이), 패널 가로 50% (모바일 전체 너비) */
#container.kp-sub-layout:has(.kp-login-contents) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 0;
	padding-bottom: 48px;
	box-sizing: border-box;
}

#container.kp-sub-layout .contents.kp-login-contents {
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	background: #eff3fb;
}

#container.kp-sub-layout .contents.kp-login-contents .login_area {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: calc((100% - 20px) / 2);
	margin: 0 auto;
}

#container.kp-sub-layout .contents.kp-login-contents .login_panel {
	max-width: 100%;
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents.kp-login-contents .login_area {
		max-width: 100%;
	}
}

@media all and (max-width: 768px) {
	#container.kp-sub-layout:has(.kp-login-contents) {
		padding-bottom: 32px;
	}

	#container.kp-sub-layout .contents.kp-login-contents {
		width: calc(100% - 24px);
		padding: 20px 16px;
	}

	#container.kp-sub-layout .contents.kp-login-contents .login_area {
		max-width: 100%;
		margin: 0 auto;
	}
}

/* 로그인 — 패널 박스 (mp_main_panel_board / 공지사항 칸 너비·톤) */
#container.kp-sub-layout .contents .login_area {
	display: flex;
	justify-content: center;
	margin: 28px 0 24px;
}

#container.kp-sub-layout .contents .login_panel {
	box-sizing: border-box;
	width: 100%;
	max-width: calc((100% - 20px) / 2);
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	overflow: hidden;
}

#container.kp-sub-layout .contents .login_panel_inner {
	box-sizing: border-box;
	padding: 44px 40px 40px;
}

#container.kp-sub-layout .contents .login_form {
	width: 100%;
	margin: 0;
	text-align: center;
}

#container.kp-sub-layout .contents .login_form_ttl {
	margin: 0 0 28px;
	padding: 0;
	font-size: 28px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

#container.kp-sub-layout .contents .login_form_fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 14px;
}

#container.kp-sub-layout .contents .login_form_input {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	background: #fff;
	font-size: 15px;
	font-weight: 400;
	color: #333;
}

#container.kp-sub-layout .contents .login_form_input::placeholder {
	color: #9a9a9a;
}

#container.kp-sub-layout .contents .login_form_input:focus {
	outline: none;
	border-color: #3f93ec;
}

#container.kp-sub-layout .contents .login_form_submit {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #3f93ec;
	color: #fff;
	font-family: 'GmarketSansMedium', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background 0.15s ease;
}

#container.kp-sub-layout .contents .login_form_submit .login_form_submit_txt {
	display: block;
	line-height: 1;
	padding-top: 2px;
}

#container.kp-sub-layout .contents .login_form_submit:hover {
	background: #3585db;
}

#container.kp-sub-layout .contents a.login_form_submit {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	color: #fff;
}

/* style.css #container .contents p (flex·span 250px·a float) 충돌 방지 */
#container.kp-sub-layout .contents .login_form_links,
#container.kp-sub-layout .contents .login_form_signup {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 6px;
	height: auto;
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #888;
	text-align: center;
}

#container.kp-sub-layout .contents .login_form_links {
	margin-top: 18px;
}

#container.kp-sub-layout .contents .login_form_signup {
	margin-top: 28px;
	font-size: 13px;
}

#container.kp-sub-layout .contents .login_form_links a,
#container.kp-sub-layout .contents .login_form_signup a {
	float: none;
	display: inline;
	color: #666;
	text-decoration: none;
}

#container.kp-sub-layout .contents .login_form_signup a {
	color: #555;
	font-weight: 700;
}

#container.kp-sub-layout .contents .login_form_links a:hover,
#container.kp-sub-layout .contents .login_form_signup a:hover {
	color: #003eb8;
}

#container.kp-sub-layout .contents .login_form_links_sep {
	display: inline;
	width: auto;
	float: none;
	margin: 0 8px;
	line-height: inherit;
	color: #ccc;
}

/* 아이디 찾기 (find_id.php) */
#container.kp-sub-layout .contents .login_form_msg {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #555;
	text-align: center;
}

#container.kp-sub-layout .contents .login_form_msg--warn {
	margin-top: 8px;
	color: #c0392b;
}

#container.kp-sub-layout .contents .login_panel--find_id_result .login_form_ttl {
	margin-bottom: 4px;
}

#container.kp-sub-layout .contents .find_id_action_block {
	margin: 0;
}

#container.kp-sub-layout .contents .find_id_auto_form {
	display: none;
}

#container.kp-sub-layout .contents .find_id_result_only {
	margin: 16px 0 0;
	padding: 20px 24px;
	background: #f4f7fc;
	border: 1px solid #d0ddee;
	border-radius: 8px;
	text-align: center;
}

/* style.css #container .contents p (flex·height 50px) 충돌 방지 */
#container.kp-sub-layout .contents .find_id_result_only p,
#container.kp-sub-layout .contents .find_id_result_label,
#container.kp-sub-layout .contents .find_id_result_ids,
#container.kp-sub-layout .contents .find_id_result_again {
	display: block;
	align-items: unset;
	justify-content: center;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	line-height: 1.4;
	text-align: center;
	float: none;
}

#container.kp-sub-layout .contents .find_id_result_label {
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 700;
	color: #555;
}

#container.kp-sub-layout .contents .find_id_result_ids {
	margin: 2px 0;
	font-size: 22px;
	font-weight: 700;
	color: #003eb8;
	letter-spacing: 0.02em;
	word-break: break-all;
}

#container.kp-sub-layout .contents .find_id_result_again {
	margin-top: 12px;
	font-size: 14px;
}

/* 회원가입 약관 (member_agree.php) */
#container.kp-sub-layout .contents .login_panel--agree {
	max-width: 560px;
}

#container.kp-sub-layout .contents .member_agree_form {
	--member-agree-cb: 18px;
	--member-agree-cb-gap: 10px;
	--member-agree-badge-col: 44px;
	--member-agree-pad-x: 16px;
	--member-agree-sub-indent: 24px;
	--member-agree-view-col: 40px;
	width: 100%;
	margin: 0;
	text-align: left;
}

#container.kp-sub-layout .contents .member_agree_lead {
	margin: 0 0 20px;
	padding: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #666;
	text-align: center;
}

#container.kp-sub-layout .contents .member_agree_all {
	margin: 0 0 16px;
	padding: 14px var(--member-agree-pad-x);
	background: #f4f7fc;
	border: 1px solid #d6e4f5;
	border-radius: 8px;
}

#container.kp-sub-layout .contents .member_agree_all_label {
	display: grid;
	grid-template-columns: var(--member-agree-cb) minmax(0, 1fr);
	column-gap: var(--member-agree-cb-gap);
	align-items: center;
	margin: 0;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	color: #222;
}

#container.kp-sub-layout .contents .member_agree_list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	border-top: 1px solid #ececec;
}

#container.kp-sub-layout .contents .member_agree_item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px var(--member-agree-pad-x);
	border-bottom: 1px solid #ececec;
}

#container.kp-sub-layout .contents .member_agree_item--sub {
	padding-left: var(--member-agree-pad-x);
}

#container.kp-sub-layout .contents .member_agree_item_label {
	display: grid;
	grid-template-columns: var(--member-agree-cb) var(--member-agree-badge-col) minmax(0, 1fr);
	column-gap: var(--member-agree-cb-gap);
	align-items: center;
	flex: 1;
	min-width: 0;
	margin: 0;
	cursor: pointer;
	font-size: 14px;
	color: #333;
}

#container.kp-sub-layout .contents .member_agree_item--sub .member_agree_item_txt {
	padding-left: var(--member-agree-sub-indent);
}

#container.kp-sub-layout .contents .member_agree_check {
	box-sizing: border-box;
	width: var(--member-agree-cb);
	height: var(--member-agree-cb);
	margin: 0;
	padding: 0;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	align-self: center;
}

#container.kp-sub-layout .contents .member_agree_all_txt {
	grid-column: 2;
	grid-row: 1;
}

#container.kp-sub-layout .contents .member_agree_badge {
	grid-column: 2;
	grid-row: 1;
	box-sizing: border-box;
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 4px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .member_agree_badge--req {
	color: #003eb8;
	background: #e8f0fc;
}

#container.kp-sub-layout .contents .member_agree_badge--opt {
	color: #888;
	background: #f0f0f0;
}

#container.kp-sub-layout .contents .member_agree_item_txt {
	grid-column: 3;
	grid-row: 1;
	min-width: 0;
	line-height: 1.4;
}

#container.kp-sub-layout .contents .member_agree_view {
	flex: 0 0 var(--member-agree-view-col);
	width: var(--member-agree-view-col);
	text-align: right;
	font-size: 13px;
	color: #888;
	text-decoration: underline;
	cursor: pointer;
}

#container.kp-sub-layout .contents .member_agree_item--sub::after {
	content: "";
	flex: 0 0 var(--member-agree-view-col);
	width: var(--member-agree-view-col);
}

#container.kp-sub-layout .contents .member_agree_view:hover {
	color: #003eb8;
}

#container.kp-sub-layout .contents .member_agree_actions {
	margin: 0;
}

/* 회원가입 폼 (member_join.php) */
#container.kp-sub-layout .contents.kp-member-join-contents .login_area {
	width: 100%;
	max-width: 100%;
}

#container.kp-sub-layout .contents .login_panel--join {
	max-width: 720px;
}

#container.kp-sub-layout .contents .login_panel--join .login_panel_inner {
	padding: 36px 32px 32px;
}

#container.kp-sub-layout .contents .member_join_form {
	width: 100%;
	margin: 0;
	text-align: left;
}

#container.kp-sub-layout .contents .member_join_hero {
	margin: 0 0 28px;
	padding: 24px 20px 22px;
	background: linear-gradient(180deg, #f4f8ff 0%, #f8fafc 100%);
	border: 1px solid #d6e4f5;
	border-radius: 12px;
	text-align: center;
}

#container.kp-sub-layout .contents .member_join_steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

#container.kp-sub-layout .contents .member_join_step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: #6b7a8f;
	background: #fff;
	border: 1px solid #d8dee8;
}

#container.kp-sub-layout .contents .member_join_step--done {
	color: #3f93ec;
	border-color: #b8d4f5;
	background: #fff;
}

#container.kp-sub-layout .contents .member_join_step--done::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%233f93ec' d='M6.2 11.4 3.4 8.6l1-1 1.8 1.8 4.4-4.4 1 1z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#container.kp-sub-layout .contents .member_join_step--active {
	color: #fff;
	background: #3f93ec;
	border-color: #3f93ec;
	box-shadow: 0 4px 12px rgba(63, 147, 236, 0.28);
}

#container.kp-sub-layout .contents .member_join_hero_ttl {
	margin: 0 0 10px;
	padding: 0;
	font-size: 26px;
	font-weight: 700;
	color: #1a2a3a;
	line-height: 1.25;
	letter-spacing: -0.4px;
}

#container.kp-sub-layout .contents .member_join_hero_lead {
	margin: 0 0 14px;
	padding: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.55;
	color: #555;
}

/* style.css #container .contents p (height 50px·flex) 충돌 방지 */
#container.kp-sub-layout .contents .member_join_hero_notice {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 48px;
	margin: 0;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.5;
	color: #2f4a66;
	text-align: center;
	float: none;
	background: #fff;
	border: 1px solid #e2ecf8;
	border-radius: 8px;
}

#container.kp-sub-layout .contents .member_join_hero_notice_txt {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

#container.kp-sub-layout .contents .member_join_hero_notice strong {
	display: inline;
	width: auto;
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 700;
	line-height: inherit;
	color: #3f93ec;
}

#container.kp-sub-layout .contents .member_join_hero_notice_badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 24px;
	padding: 0 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	background: #3f93ec;
	line-height: 1;
}

#container.kp-sub-layout .contents .member_join_section {
	margin: 0 0 28px;
	padding: 0 0 8px;
	border-bottom: 1px solid #ececec;
}

#container.kp-sub-layout .contents .member_join_section:last-of-type {
	border-bottom: 0;
}

#container.kp-sub-layout .contents .member_join_section_ttl {
	margin: 0 0 16px;
	padding: 0;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
}

#container.kp-sub-layout .contents .member_join_row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 10px 16px;
	margin: 0 0 16px;
}

#container.kp-sub-layout .contents .member_join_row--check {
	margin-bottom: 12px;
}

#container.kp-sub-layout .contents .member_join_label {
	flex: 0 0 140px;
	min-width: 120px;
	margin: 10px 0 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	color: #2f2f2f;
	line-height: 1.4;
}

#container.kp-sub-layout .contents .member_join_req {
	color: #e85c3a;
	font-weight: 700;
}

#container.kp-sub-layout .contents .member_join_field {
	flex: 1 1 280px;
	min-width: 0;
}

#container.kp-sub-layout .contents .member_join_field .login_form_input {
	text-align: left;
}

/* style.css #container .contents p 충돌 방지 */
#container.kp-sub-layout .contents .member_join_hint {
	display: block;
	align-items: unset;
	justify-content: flex-start;
	width: 100%;
	height: auto !important;
	margin: 8px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.45;
	color: #888;
	float: none;
}

#container.kp-sub-layout .contents .member_join_select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: 48px;
	padding: 0 12px;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	color: #333;
}

#container.kp-sub-layout .contents .member_join_file {
	width: 100%;
	font-size: 14px;
}

#container.kp-sub-layout .contents .member_join_input--readonly {
	background: #f5f5f5 !important;
	color: #555;
}

#container.kp-sub-layout .contents .member_join_inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

#container.kp-sub-layout .contents .member_join_input--zip {
	flex: 1 1 160px;
	min-width: 120px;
}

#container.kp-sub-layout .contents .member_join_btn_outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid #3f93ec;
	border-radius: 8px;
	background: #fff;
	color: #3f93ec;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

#container.kp-sub-layout .contents .member_join_btn_outline:hover {
	background: #f0f6ff;
	color: #003eb8;
}

#container.kp-sub-layout .contents .member_join_auth {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

#container.kp-sub-layout .contents .member_join_auth_status {
	font-size: 14px;
	font-weight: 700;
	color: #3f93ec;
}

#container.kp-sub-layout .contents .member_join_email {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

#container.kp-sub-layout .contents .member_join_input--email {
	flex: 1 1 120px;
	min-width: 100px;
}

#container.kp-sub-layout .contents .member_join_email_at {
	flex: 0 0 auto;
	font-size: 15px;
	color: #666;
}

#container.kp-sub-layout .contents .member_join_input--domain {
	flex: 1 1 140px;
	min-width: 120px;
}

#container.kp-sub-layout .contents .member_join_select--domain {
	flex: 1 1 140px;
	min-width: 120px;
	max-width: 200px;
}

#container.kp-sub-layout .contents .member_join_check_label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	cursor: pointer;
}

#container.kp-sub-layout .contents .member_join_actions {
	margin: 8px 0 0;
}

@media all and (max-width: 768px) {
	#container.kp-sub-layout .contents.kp-member-join-contents .login_area {
		max-width: 100%;
		width: 100%;
	}

	#container.kp-sub-layout .contents .login_panel--join {
		max-width: 100%;
		width: 100%;
	}

	#container.kp-sub-layout .contents .login_panel--join .login_panel_inner {
		padding: 24px 16px 20px;
	}

	#container.kp-sub-layout .contents .member_join_hero {
		margin-bottom: 20px;
		padding: 18px 14px 16px;
	}

	#container.kp-sub-layout .contents .member_join_hero_ttl {
		font-size: 22px;
	}

	#container.kp-sub-layout .contents .member_join_hero_notice {
		min-height: 44px;
		padding: 12px 14px;
		font-size: 13px;
	}

	#container.kp-sub-layout .contents .member_join_row {
		flex-direction: column;
		gap: 6px;
	}

	#container.kp-sub-layout .contents .member_join_label {
		flex: none;
		width: 100%;
		margin-top: 0;
	}

	#container.kp-sub-layout .contents .member_join_field {
		width: 100%;
		flex: 1 1 100%;
	}
}

#container.kp-sub-layout .contents .find_id_result_again a {
	float: none;
	display: inline;
	color: #666;
	text-decoration: underline;
}

/* 비밀번호 찾기 (find_pw.php) */
#container.kp-sub-layout .contents .find_pw_reset_block {
	margin: 0;
	width: 100%;
}

#container.kp-sub-layout .contents .find_pw_reset_form {
	width: 100%;
	margin: 0;
}

#container.kp-sub-layout .contents .find_pw_reset_form .login_form_fields {
	margin-bottom: 14px;
}

#container.kp-sub-layout .contents .find_pw_form_err {
	margin: 12px 0 0;
}

/* 게시판 목록 — 공지사항 (notice.php 레이아웃 + sub 톤) */
#container.kp-sub-layout .contents .board_area {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 48px;
}

#container.kp-sub-layout .contents .board_ttl {
	margin: 0 0 18px;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

#container.kp-sub-layout .contents .board_box {
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	overflow: hidden;
	padding: 24px 32px 28px;
}

/* 약관 보기 (agree.php — /page) */
#container.kp-sub-layout .contents.agree_contents .board_area--agree {
	padding: 50px 24px 0;
}

#container.kp-sub-layout .contents.agree_contents .board_ttl {
	margin: 0 0 20px;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

#container.kp-sub-layout .contents.agree_contents .board_box {
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	overflow: hidden;
	padding: 32px 48px 36px;
}

#container.kp-sub-layout .contents.agree_contents .agree_view_contents {
	line-height: 1.7;
	color: #333;
	font-size: 15px;
	overflow-wrap: break-word;
	white-space: pre-wrap;
}

#container.kp-sub-layout .contents.agree_contents .agree_view_empty {
	color: #888;
	text-align: center;
	padding: 40px 0;
}

@media all and (max-width: 768px) {
	#container.kp-sub-layout .contents.agree_contents .board_area--agree {
		padding: 50px 20px 0;
	}

	#container.kp-sub-layout .contents.agree_contents .board_box {
		padding: 28px 28px 32px;
	}
}

#container.kp-sub-layout .contents .board_search {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin: 0 0 18px;
	padding: 0;
}

#container.kp-sub-layout .contents .board_search_label {
	flex: 0 0 auto;
	font-size: 16px;
	font-weight: 700;
	color: #3f93ec;
	line-height: 40px;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_search_field {
	flex: 1 1 280px;
	min-width: 0;
	max-width: none;
}

#container.kp-sub-layout .contents .board_search_input {
	width: 100%;
}

#container.kp-sub-layout .contents .board_search_input:focus {
	outline: none;
	border-color: #c8c8c8;
	background-color: #fff;
}

#container.kp-sub-layout .contents .board_search_btn {
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 100px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #3f93ec;
	color: #fff;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease;
}

#container.kp-sub-layout .contents .board_search_btn:hover {
	background: #3585db;
}

/* style.css #container .contents p / p span(250px·block·float) 충돌 방지 */
#container.kp-sub-layout .contents .board_count {
	display: block;
	align-items: unset;
	height: auto;
	margin: 0 0 14px;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: #333;
	text-align: left;
}

#container.kp-sub-layout .contents .board_count span,
#container.kp-sub-layout .contents .board_count_num {
	display: inline;
	width: auto;
	float: none;
	line-height: inherit;
	color: inherit;
}

#container.kp-sub-layout .contents .board_count_num {
	color: #f14713;
	font-weight: 700;
}

#container.kp-sub-layout .contents .board_table_wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

#container.kp-sub-layout .contents .board_table_wrap--wide {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

#container.kp-sub-layout .contents .board_table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
}

#container.kp-sub-layout .contents .board_table_caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#container.kp-sub-layout .contents .board_col_no {
	width: 10%;
}

#container.kp-sub-layout .contents .board_col_author {
	width: 14%;
}

#container.kp-sub-layout .contents .board_col_date {
	width: 18%;
}

#container.kp-sub-layout .contents .board_td_date {
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_table thead tr {
	border-top: 2px solid #3f93ec;
	background: #f7f7f7;
}

#container.kp-sub-layout .contents .board_table tbody tr {
	background: #fff;
}

#container.kp-sub-layout .contents .board_table th {
	height: 48px;
	padding: 0 12px;
	font-size: 16px;
	font-weight: 700;
	color: #343434;
	text-align: center;
	vertical-align: middle;
	background: transparent;
	border-bottom: 1px solid #ececec;
	border-right: 1px solid #ececec;
}

#container.kp-sub-layout .contents .board_table th:last-child {
	border-right: 0;
}

#container.kp-sub-layout .contents .board_table td {
	height: 48px;
	padding: 0 12px;
	font-size: 15px;
	font-weight: 400;
	color: #343434;
	text-align: center;
	vertical-align: middle;
	background: transparent;
	border-bottom: 1px solid #ececec;
	border-right: 1px solid #ececec;
}

#container.kp-sub-layout .contents .board_table td:last-child {
	border-right: 0;
}

#container.kp-sub-layout .contents .board_table tbody tr:hover {
	background: #f7f9fc;
	cursor: pointer;
}

#container.kp-sub-layout .contents .board_td_subj {
	padding-left: 16px;
	text-align: left;
}

#container.kp-sub-layout .contents .board_td_subj a {
	color: #343434;
	text-decoration: none;
}

#container.kp-sub-layout .contents .board_table tbody tr:hover .board_td_subj a {
	color: #003eb8;
}

#container.kp-sub-layout .contents .board_paging {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0 0;
	padding: 0;
}

#container.kp-sub-layout .contents .board_paging a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 32px;
	height: 32px;
	padding: 0 10px;
	border: 1px solid #e4e4e4;
	border-radius: 4px;
	background: #fff;
	color: #4b4b4b;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

#container.kp-sub-layout .contents .board_paging a:hover {
	border-color: #3f93ec;
	color: #3f93ec;
}

#container.kp-sub-layout .contents .board_paging a.on {
	border-color: #3f93ec;
	color: #3f93ec;
	font-weight: 600;
}

#container.kp-sub-layout .contents .board_paging a.is_disabled {
	opacity: 0.45;
	cursor: default;
	pointer-events: none;
}

#container.kp-sub-layout .contents .board_paging a.is_disabled:hover {
	border-color: #e4e4e4;
	color: #4b4b4b;
}

/* SMS/Email 발송 이력 (sms_info, email_info) */
#container.kp-sub-layout .contents .board_area--message_info {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_ttl_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin: 0 0 18px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_ttl_row .board_ttl {
	margin: 0;
}

#container.kp-sub-layout .contents .board_area--message_info .board_ttl_action_btn {
	flex: 0 0 auto;
	min-height: 36px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 600;
	color: #3f93ec;
	background: #fff;
	border: 1px solid #3f93ec;
	border-radius: 8px;
	cursor: pointer;
	line-height: 1.2;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--message_info .board_ttl_action_btn:hover {
	background: #f0f7ff;
}

#container.kp-sub-layout .contents .board_area--message_info .board_help {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: #555;
}

#container.kp-sub-layout .contents .board_area--message_info .board_help strong {
	font-weight: 700;
}

#container.kp-sub-layout .contents .board_area--message_info .search_hl {
	background: #fff29a;
	color: #111;
	padding: 0 1px;
	border-radius: 2px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_table {
	min-width: 960px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_no {
	width: 8%;
	min-width: 56px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_job {
	width: 12%;
	min-width: 100px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_subj {
	width: auto;
	min-width: 160px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_date {
	width: 14%;
	min-width: 130px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_num {
	width: 9%;
	min-width: 72px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_col_status {
	width: 10%;
	min-width: 80px;
}

#container.kp-sub-layout .contents .board_area--message_info .board_td_job {
	word-break: break-all;
}

#container.kp-sub-layout .contents .board_area--message_info .board_td_empty {
	text-align: center;
	padding: 24px 12px !important;
	color: #666;
}

#container.kp-sub-layout .contents .board_area--message_info tr.sms_info_row,
#container.kp-sub-layout .contents .board_area--message_info tr.email_info_row {
	cursor: pointer;
}

/* 공지사항 (notice) */
#container.kp-sub-layout .contents .board_area--notice {
	margin-bottom: 32px;
}

/* 문의 내역 (cs_list) */
#container.kp-sub-layout .contents .board_area--cs {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_area--cs .board_col_status {
	width: 12%;
	min-width: 72px;
}

#container.kp-sub-layout .contents .board_area--cs .board_td_empty {
	text-align: center;
	padding: 24px 12px !important;
	color: #666;
}

#container.kp-sub-layout .contents .board_area--cs .cs_reply_badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

#container.kp-sub-layout .contents .board_area--cs .cs_reply_badge.is_done {
	color: #003eb8;
	background: #e8f0fc;
}

#container.kp-sub-layout .contents .board_area--cs .cs_reply_badge.is_wait {
	color: #c62828;
	background: #ffebee;
}

#container.kp-sub-layout .contents .board_area--notice .board_td_empty {
	text-align: center;
	padding: 24px 12px !important;
	color: #666;
}

/* 포인트 충전 (payment_point) */
#container.kp-sub-layout .contents .board_area--payment_point {
	margin-bottom: 32px;
}

/* style.css #container .contents p (height 50px·flex) 충돌 방지 — 안내 문구 */
#container.kp-sub-layout .contents .board_help {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 0;
	margin: 0 0 20px;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #555;
	text-align: left;
	align-items: unset;
	float: none;
}

#container.kp-sub-layout .contents .board_help p {
	display: block;
	width: 100%;
	height: auto !important;
	min-height: 0;
	margin: 0 0 8px;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.6;
	color: inherit;
	align-items: unset;
	float: none;
}

#container.kp-sub-layout .contents .board_help p:last-child {
	margin-bottom: 0;
}

#container.kp-sub-layout .contents .board_help span {
	display: inline;
	width: auto;
	float: none;
	line-height: inherit;
}

#container.kp-sub-layout .contents .board_area--payment_point .board_help--alert {
	color: #c62828;
}

#container.kp-sub-layout .contents .board_area--payment_point .board_help--post_settle {
	margin-bottom: 0;
	padding: 16px 18px;
	background: #fff5f5;
	border: 1px solid #ffcdd2;
	border-radius: 10px;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#container.kp-sub-layout .contents .board_area--payment_point .board_box:has(.board_help--post_settle) {
	overflow: visible;
	min-height: 0;
	padding-bottom: 24px;
}

/* :has() 미지원 브라우저 — 후정산 전용 */
#container.kp-sub-layout .contents .board_area--payment_point .board_box.board_box--post_settle_alert {
	overflow: visible;
	min-height: 0;
	padding-bottom: 24px;
}

#container.kp-sub-layout .contents .board_area--payment_point .payment_point_code_list {
	margin-bottom: 28px;
}

#container.kp-sub-layout .contents .board_area--payment_point .payment_point_code_item .code_item_actions {
	flex: 0 0 300px;
	width: 300px;
	max-width: 300px;
	min-width: 300px;
	align-items: stretch;
	justify-content: flex-start;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_form {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	width: 100%;
	max-width: none;
	text-align: left;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_goods_meta {
	margin: 0 0 12px;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_goods_meta strong {
	color: #222;
	font-weight: 700;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_row {
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 14px;
	row-gap: 10px;
	margin-bottom: 14px;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_row .code_item_charge_label {
	grid-column: 1;
	grid-row: 1;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_row .code_item_charge_qty {
	grid-column: 2;
	grid-row: 1;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_row .code_item_charge_sum {
	grid-column: 1 / -1;
	grid-row: 2;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_label {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: #2f2f2f;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_qty {
	box-sizing: border-box;
	width: 100px;
	height: 42px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	background: #f7f7f7;
	font-size: 14px;
	color: #343434;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_qty:focus {
	outline: none;
	border-color: #c8c8c8;
	background: #fff;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_sum {
	font-size: 14px;
	color: #555;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_sum strong {
	font-weight: 700;
	color: #3f93ec;
}

#container.kp-sub-layout .contents .board_area--payment_point .btn_point_charge_by_product,
#container.kp-sub-layout .contents .board_area--payment_point .point_charge_btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	height: 48px;
	padding: 0 24px;
}

#container.kp-sub-layout .contents .board_area--payment_point .code_item_charge_disabled {
	margin: 0;
	padding: 12px 14px;
	font-size: 13px;
	line-height: 1.5;
	color: #888;
	background: #f7f7f7;
	border: 1px solid #e3e8f0;
	border-radius: 8px;
}

#container.kp-sub-layout .contents .board_area--payment_point .board_section_ttl {
	margin: 8px 0 18px;
	padding: 0;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_list > li {
	margin: 0;
	padding: 0;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 150px;
	height: 100%;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 10px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_card:hover {
	border-color: #c5d4e8;
	box-shadow: 0 2px 8px rgba(63, 147, 236, 0.08);
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_amt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 18px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_amt img {
	width: 18px;
	height: 18px;
	vertical-align: middle;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_goods {
	margin: 10px 0 0;
	padding: 0;
	font-size: 13px;
	color: #888;
	line-height: 1.4;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_bonus {
	color: #1f56e0;
	font-weight: 600;
}

#container.kp-sub-layout .contents .board_area--payment_point .point_charge_foot {
	margin-top: auto;
	padding-top: 16px;
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 992px) {
	#container.kp-sub-layout .contents .board_area--payment_point .payment_point_code_item .code_item_actions {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

@media (max-width: 768px) {
	#container.kp-sub-layout .contents .board_area--payment_point .point_charge_list {
		grid-template-columns: 1fr;
	}
}

/* 좁은 본문(~400px, 사이드·작은 창) — 포인트 충전 안내 */
@media (max-width: 520px) {
	#container.kp-sub-layout .contents .board_area--payment_point .board_ttl {
		font-size: 20px;
		margin-bottom: 14px;
	}

	#container.kp-sub-layout .contents .board_area--payment_point .board_box,
	#container.kp-sub-layout .contents .board_area--payment_point .board_box.board_box--post_settle_alert {
		padding: 18px 16px 20px;
	}

	#container.kp-sub-layout .contents .board_area--payment_point .board_help--post_settle {
		padding: 14px 14px;
		font-size: 13px;
		line-height: 1.65;
	}
}

/* 포인트 충전 결제 확인 (payment_point_ing) */
#container.kp-sub-layout .contents .board_area--payment_point_ing {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_area--payment_point_ing .board_box--payment_point_ing {
	padding: 48px 32px 56px;
}

#container.kp-sub-layout .contents .payment_point_ing_confirm {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_body {
	box-sizing: border-box;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

#container.kp-sub-layout .contents .payment_point_ing_title {
	margin: 0 0 24px;
	padding: 0;
	font-size: 26px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.35;
	letter-spacing: -0.4px;
	text-align: center;
}

#container.kp-sub-layout .contents .payment_point_ing_alert {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 0;
	margin: 0 0 18px;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	color: #555;
	text-align: center;
	background: #f0f6ff;
	border: 1px solid #c5daf8;
	border-radius: 8px;
	float: none;
}

#container.kp-sub-layout .contents .payment_point_ing_alert--error {
	color: #b71c1c;
	background: #fff5f5;
	border-color: #ffcdd2;
}

.payment_point_ing_pg_overlay {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.88);
}

.payment_point_ing_pg_overlay.is-hidden {
	display: none;
}

.payment_point_ing_pg_overlay_inner {
	text-align: center;
	padding: 24px;
}

.payment_point_ing_pg_overlay_txt {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: #2c2c2c;
}

.payment_point_ing_pg_overlay_sub {
	margin: 0;
	font-size: 14px;
	color: #888;
}

#container.kp-sub-layout .contents .payment_point_ing_summary {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	background: #f7f9fc;
	border: 1px solid #e3e8f0;
	border-radius: 12px;
	overflow: hidden;
}

#container.kp-sub-layout .contents .payment_point_ing_dl {
	margin: 0;
	padding: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	margin: 0;
	padding: 20px 28px;
	min-height: 60px;
	border-bottom: 1px solid #e8edf3;
	box-sizing: border-box;
}

#container.kp-sub-layout .contents .payment_point_ing_row--last {
	border-bottom: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_dt,
#container.kp-sub-layout .contents .payment_point_ing_dd {
	display: block;
	box-sizing: border-box;
	height: auto !important;
	min-height: 0;
	margin: 0;
	padding: 0;
	float: none;
	text-align: left;
	align-items: unset;
}

#container.kp-sub-layout .contents .payment_point_ing_dt {
	flex: 0 0 100px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: #666;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .payment_point_ing_dd {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: #2c2c2c;
	text-align: right;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--goods {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}

#container.kp-sub-layout .contents .payment_point_ing_goods_name {
	font-size: 16px;
	font-weight: 700;
	color: #2c2c2c;
}

#container.kp-sub-layout .contents .payment_point_ing_goods_meta {
	font-size: 13px;
	font-weight: 400;
	color: #888;
	line-height: 1.45;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--point {
	font-size: 16px;
	color: #3f93ec;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--point strong {
	font-weight: 700;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--amount {
	font-size: 17px;
	color: #2c2c2c;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--amount strong {
	font-size: 22px;
	font-weight: 700;
	color: #3f93ec;
	letter-spacing: -0.3px;
}

#container.kp-sub-layout .contents .payment_point_ing_method_pick {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 4px 0 18px;
}

#container.kp-sub-layout .contents .payment_point_ing_method_opt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid #d7dde6;
	border-radius: 8px;
	background: #fff;
	color: #444;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

#container.kp-sub-layout .contents .payment_point_ing_method_opt input {
	margin: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_guide {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 0;
	margin: 0 0 32px;
	padding: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	color: #888;
	text-align: center;
	background: none;
	border: none;
	border-radius: 0;
	float: none;
	align-items: unset;
}

#container.kp-sub-layout .contents .payment_point_ing_actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_form {
	display: block;
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 24px;
	border-radius: 10px;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#container.kp-sub-layout .contents .payment_point_ing_btn--pay.board_write_submit {
	min-width: 0;
	width: 100%;
	height: 52px;
	min-height: 52px;
	border: 1px solid #3f93ec;
	background: #3f93ec;
	color: #fff;
}

#container.kp-sub-layout .contents .payment_point_ing_btn--pay.board_write_submit:hover {
	background: #3585db;
	border-color: #3585db;
}

#container.kp-sub-layout .contents .payment_point_ing_btn--cancel,
#container.kp-sub-layout .contents a.payment_point_ing_btn--cancel {
	min-width: 0;
	width: 100%;
	height: 52px;
	min-height: 52px;
	border: 1px solid #d5d5d5;
	background: #fff;
	color: #545454;
	text-decoration: none;
}

#container.kp-sub-layout .contents .payment_point_ing_btn--cancel:hover,
#container.kp-sub-layout .contents a.payment_point_ing_btn--cancel:hover {
	border-color: #bfbfbf;
	background: #fafafa;
	color: #333;
}

@media (max-width: 520px) {
	#container.kp-sub-layout .contents .board_area--payment_point_ing .board_box--payment_point_ing {
		padding: 32px 16px 40px;
	}

	#container.kp-sub-layout .contents .payment_point_ing_title {
		margin-bottom: 22px;
		font-size: 22px;
	}

	#container.kp-sub-layout .contents .payment_point_ing_body {
		max-width: 100%;
	}

	#container.kp-sub-layout .contents .payment_point_ing_row {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
		min-height: 0;
		padding: 16px;
	}

	#container.kp-sub-layout .contents .payment_point_ing_dt {
		flex: 0 0 auto;
	}

	#container.kp-sub-layout .contents .payment_point_ing_dd,
	#container.kp-sub-layout .contents .payment_point_ing_dd--goods {
		align-items: flex-start;
		text-align: left;
	}

	#container.kp-sub-layout .contents .payment_point_ing_method_pick {
		margin: 6px 0 12px;
	}

	#container.kp-sub-layout .contents .payment_point_ing_dd--amount strong {
		font-size: 20px;
	}

	#container.kp-sub-layout .contents .payment_point_ing_actions {
		grid-template-columns: 1fr;
	}

	#container.kp-sub-layout .contents .payment_point_ing_guide {
		margin-bottom: 24px;
	}
}

/* 포인트 충전 결제 완료 (payment_point_result) */
#container.kp-sub-layout .contents .board_area--payment_point_result .payment_point_result_confirm .payment_point_ing_body {
	text-align: center;
}

#container.kp-sub-layout .contents .payment_point_result_success {
	display: block;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #555;
	line-height: 1.5;
	text-align: center;
}

#container.kp-sub-layout .contents .board_area--payment_point_result .payment_point_ing_summary {
	text-align: left;
	margin-top: 0;
}

#container.kp-sub-layout .contents .payment_point_ing_row--order .payment_point_ing_dt {
	color: #1f56e0;
	font-weight: 600;
}

#container.kp-sub-layout .contents .payment_point_ing_dd--order {
	color: #1f56e0;
	font-weight: 600;
}

#container.kp-sub-layout .contents .payment_point_result_order_no {
	font-weight: 700;
	letter-spacing: -0.2px;
}

#container.kp-sub-layout .contents .payment_point_result_bonus {
	font-size: 14px;
	font-weight: 600;
	color: #1f56e0;
}

#container.kp-sub-layout .contents .payment_point_result_actions {
	display: flex;
	justify-content: center;
	grid-template-columns: 1fr;
	max-width: 280px;
	margin: 28px auto 0;
}

#container.kp-sub-layout .contents .payment_point_result_actions .payment_point_ing_btn--pay {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	max-width: 280px;
	margin: 0 auto;
	text-decoration: none;
}

/* 구매 및 사용내역 (payment_list) */
#container.kp-sub-layout .contents .board_area--payment {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_area--payment .search_hl {
	background: #fff29a;
	color: #111;
	padding: 0 1px;
	border-radius: 2px;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_list {
	border: 1px solid #e3e8f0;
	border-radius: 8px;
	overflow: hidden;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_item {
	padding: 18px 20px;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_item--detail:hover {
	background: #f7f9fc;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_mid--has_detail .mp_main_point_mid_lead {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_mid_lead {
	flex: 1;
	min-width: 0;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_mid--has_detail .mp_main_point_title {
	flex: 0 0 auto;
	max-width: 100%;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_detail_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #b8cff5;
	border-radius: 8px;
	background: #eef4ff;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	color: #003eb8;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_detail_btn::after {
	content: " ›";
	font-weight: 700;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_detail_btn:hover,
#container.kp-sub-layout .contents .board_area--payment .payment_point_detail_btn:focus {
	background: #dce9ff;
	border-color: #003eb8;
	color: #002a80;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_ref--has_detail {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_ref--has_detail .payment_point_ref_plain {
	flex: 0 0 auto;
}

#container.kp-sub-layout .contents .board_area--payment .payment_point_ref_plain {
	display: inline-block;
	font-size: 12px;
	color: #aaa;
	line-height: 1.4;
}

#container.kp-sub-layout .contents .board_area--payment .mp_main_point_amt.is_refund {
	color: #e65100;
}

/* 포인트 상세 내역 팝업 (payment_list) */
#kp_point_detail_layer.kp_point_detail_on {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

#kp_point_detail_layer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10050;
	font-size: 15px;
	line-height: 1.45;
	color: #343434;
}

body.is_kp_point_detail_open {
	overflow: hidden;
}

.kp_point_detail_dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	cursor: pointer;
}

.kp_point_detail_panel {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: min(92vw, 560px);
	max-height: min(88vh, 640px);
	height: auto;
	margin: 12px;
	padding: 0;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	overflow: hidden;
}

.kp_point_detail_title {
	flex-shrink: 0;
	margin: 0;
	padding: 28px 32px 20px;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: #222;
	text-align: center;
	letter-spacing: -0.4px;
}

.kp_point_detail_body {
	flex: 0 1 auto;
	min-height: 0;
	padding: 0 28px 12px;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.kp_point_detail_box {
	margin: 0 0 4px;
	padding: 18px 22px;
	background: #f7f9fc;
	border: 1px solid #e3e8f0;
	border-radius: 10px;
}

.kp_point_detail_list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
}

.kp_point_detail_row {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 8px 14px;
	align-items: start;
	padding: 11px 0;
	border-bottom: 1px solid #e8eef5;
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
}

.kp_point_detail_row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.kp_point_detail_row:first-child {
	padding-top: 0;
}

.kp_point_detail_lbl {
	font-weight: 600;
	color: #333;
	letter-spacing: -0.02em;
}

.kp_point_detail_val {
	flex: 1 1 0;
	min-width: 0;
	color: #444;
	word-break: break-all;
}

.kp_point_detail_val--amount {
	font-weight: 700;
	color: #003eb8;
	letter-spacing: -0.02em;
}

.kp_point_detail_loading,
.kp_point_detail_msg,
.kp_point_detail_empty,
.kp_point_detail_err {
	margin: 0;
	padding: 24px 0 32px;
	text-align: center;
	font-size: 14px;
	color: #666;
}

.kp_point_detail_err {
	color: #c62828;
}

.kp_point_detail_foot {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px 28px;
	border-top: 0;
}

.kp_point_detail_close_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	min-width: 140px;
	height: 48px;
	margin: 0;
	padding: 0 28px;
	border: 1px solid #d5d5d5;
	border-radius: 8px;
	background: #ebebeb;
	color: #666;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.kp_point_detail_close_btn:hover,
.kp_point_detail_close_btn:focus {
	background: #e0e0e0;
	border-color: #c8c8c8;
	color: #555;
}

.kp_point_detail_close_ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
}

@media (max-width: 520px) {
	.kp_point_detail_title {
		padding: 22px 20px 16px;
		font-size: 18px;
	}

	.kp_point_detail_body {
		padding: 4px 22px 8px;
	}

	.kp_point_detail_foot {
		padding: 14px 20px 22px;
	}

	.kp_point_detail_row {
		font-size: 14px;
	}
}

/* 발송 상세 팝업 (Report_Detail) — sms_info / email_info */
#kp_msg_detail_layer.kp_msg_detail_on {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

#kp_msg_detail_layer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10050;
	font-size: 15px;
	line-height: 1.45;
	color: #343434;
}

.kp_msg_detail_dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	cursor: pointer;
}

.kp_msg_detail_panel {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(96vw, 1100px);
	max-height: 88vh;
	margin: 12px;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.kp_msg_detail_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-shrink: 0;
	padding: 18px 24px;
	border-bottom: 1px solid #ececec;
}

.kp_msg_detail_title {
	margin: 0;
	padding: 0;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #222;
	letter-spacing: -0.3px;
}

.kp_msg_detail_close {
	flex: 0 0 auto;
	box-sizing: border-box;
	min-width: 72px;
	height: 36px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	background: #fff;
	color: #343434;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.kp_msg_detail_close:hover {
	background: #f7f9fc;
	border-color: #b8c0cc;
}

.kp_msg_detail_body {
	flex: 1;
	min-height: 120px;
	overflow: auto;
	padding: 16px 24px 24px;
}

.kp_msg_detail_meta {
	margin: 0 0 14px;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: #555;
	word-break: break-all;
}

.kp_msg_detail_tbl_wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #e3e8f0;
	border-radius: 8px;
}

.kp_msg_detail_tbl {
	width: 100%;
	min-width: 880px;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
}

.kp_msg_detail_tbl_caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.kp_msg_detail_tbl thead tr {
	border-top: 2px solid #3f93ec;
	background: #f7f7f7;
}

.kp_msg_detail_tbl th {
	height: 44px;
	padding: 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: #343434;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	border-bottom: 1px solid #ececec;
	border-right: 1px solid #ececec;
}

.kp_msg_detail_tbl th:last-child {
	border-right: 0;
}

.kp_msg_detail_tbl td {
	height: 44px;
	padding: 8px 10px;
	font-size: 14px;
	font-weight: 400;
	color: #343434;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid #ececec;
	border-right: 1px solid #ececec;
}

.kp_msg_detail_tbl td:last-child {
	border-right: 0;
}

.kp_msg_detail_tbl tbody tr:last-child td {
	border-bottom: 0;
}

.kp_msg_detail_tbl tbody tr:hover {
	background: #f7f9fc;
}

.kp_msg_detail_tbl .kp_msg_td_no {
	width: 48px;
}

.kp_msg_detail_tbl .kp_msg_td_company,
.kp_msg_detail_tbl .kp_msg_td_email {
	text-align: left;
	word-break: break-word;
}

.kp_msg_detail_tbl .kp_msg_td_email {
	word-break: break-all;
}

.kp_msg_detail_tbl .kp_msg_td_done {
	white-space: nowrap;
}

.kp_msg_detail_loading {
	padding: 32px 16px;
	text-align: center;
	color: #666;
	font-size: 14px;
}

.kp_msg_detail_err,
.kp_msg_detail_empty {
	margin: 0;
	padding: 16px 0;
	font-size: 14px;
	line-height: 1.5;
}

.kp_msg_detail_err {
	color: #b00;
}

.kp_msg_detail_empty {
	color: #666;
}

tr.sms_info_row,
tr.email_info_row,
tr.message_report_admin_row {
	cursor: pointer;
}

@media (max-width: 768px) {
	.kp_msg_detail_head {
		padding: 14px 16px;
	}

	.kp_msg_detail_body {
		padding: 12px 16px 18px;
	}

	.kp_msg_detail_title {
		font-size: 16px;
	}
}

/* 검사 결과 목록 (mypage_test) */
#container.kp-sub-layout .contents .board_area--test {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_box--test_list {
	padding-top: 20px;
}

#container.kp-sub-layout .contents .board_list_toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0 0 12px;
	padding: 0;
}

#container.kp-sub-layout .contents .board_box--test_list .board_count {
	margin-bottom: 14px;
}

#container.kp-sub-layout .contents .board_col_chk {
	width: 48px;
}

#container.kp-sub-layout .contents .board_col_group {
	width: 10%;
}

#container.kp-sub-layout .contents .board_area--test .board_col_examno {
	width: 10%;
	min-width: 96px;
}

#container.kp-sub-layout .contents .board_area--test .board_col_paper {
	width: 8%;
	min-width: 64px;
}

#container.kp-sub-layout .contents .board_area--test .board_col_date {
	min-width: 128px;
}

#container.kp-sub-layout .contents .board_area--test .board_col_subj {
	min-width: 240px;
}

#container.kp-sub-layout .contents .board_area--test .board_col_name {
	width: 14%;
	min-width: 108px;
}

#container.kp-sub-layout .contents .board_col_result {
	width: 18%;
	min-width: 168px;
}

/* 넓은 목록 테이블 — 가로 스크롤 (검사결과·응시자정보·발송이력) */
#container.kp-sub-layout .contents .board_area--test .board_table_wrap,
#container.kp-sub-layout .contents .board_area--applicant_info .board_table_wrap,
#container.kp-sub-layout .contents .board_area--message_info .board_table_wrap {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	max-width: 100%;
}

#container.kp-sub-layout .contents .board_area--test .board_table,
#container.kp-sub-layout .contents .board_area--applicant_info .board_table,
#container.kp-sub-layout .contents .board_area--message_info .board_table {
	width: auto;
	min-width: 1080px;
	max-width: none;
}

#container.kp-sub-layout .contents .board_area--test .board_table {
	min-width: 1120px;
}

#container.kp-sub-layout .contents .board_area--test .board_th_group,
#container.kp-sub-layout .contents .board_area--test .board_td_group,
#container.kp-sub-layout .contents .board_area--test .board_th_examno,
#container.kp-sub-layout .contents .board_area--test .board_td_examno,
#container.kp-sub-layout .contents .board_area--test .board_th_paper,
#container.kp-sub-layout .contents .board_area--test .board_td_paper,
#container.kp-sub-layout .contents .board_area--test .board_th_date,
#container.kp-sub-layout .contents .board_area--test .board_td_date,
#container.kp-sub-layout .contents .board_area--test .board_td_result {
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_td_name,
#container.kp-sub-layout .contents .board_td_subj {
	text-align: left;
	padding-left: 14px;
	padding-right: 10px;
}

#container.kp-sub-layout .contents .board_area--test .board_td_name {
	line-height: 1.45;
}

#container.kp-sub-layout .contents .board_area--test .board_td_mobile_sub {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: #666;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--test .board_td_subj {
	line-height: 1.45;
	min-width: 240px;
	width: 240px;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#container.kp-sub-layout .contents .board_area--test .board_th_subj {
	min-width: 240px;
	width: 240px;
	word-break: keep-all;
}

#container.kp-sub-layout .contents .board_area--test .board_td_paper_sub {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 400;
	color: #666;
	line-height: 1.35;
}

#container.kp-sub-layout .contents .board_td_result {
	white-space: nowrap;
	cursor: default;
}

#container.kp-sub-layout .contents .board_area--test .board_td_result .board_result_btn {
	min-height: 36px;
	margin: 2px 6px 2px 0;
	padding: 8px 14px;
	font-size: 14px;
	pointer-events: auto;
}

@media all and (max-width: 768px) {
	#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print_out {
		display: none !important;
	}
}

#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .applicant_bulk_actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 8px;
	margin-left: auto;
}

#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print,
#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print_out,
#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_excel {
	min-height: 40px;
	min-width: 132px;
	padding: 0 14px;
	pointer-events: auto;
}

#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print_out {
	min-width: 148px;
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .applicant_bulk_actions {
		width: 100%;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 8px;
		margin-left: 0;
	}

	#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print,
	#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_print_out,
	#container.kp-sub-layout .contents .board_box--test_list .board_list_toolbar .mypage_test_bulk_excel {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
		max-width: 180px;
	}
}

#container.kp-sub-layout .contents .board_box--test_list .mypage_test_bulk_print:disabled,
#container.kp-sub-layout .contents .board_box--test_list .mypage_test_bulk_print_out:disabled,
#container.kp-sub-layout .contents .board_box--test_list .mypage_test_bulk_excel:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: none;
}

#container.kp-sub-layout .contents .board_table tbody tr.test_data_row {
	cursor: default;
}

#container.kp-sub-layout .contents .board_table tbody tr.test_data_row:hover {
	cursor: default;
}

#container.kp-sub-layout .contents .board_td_empty {
	height: auto;
	min-height: 120px;
	padding: 32px 16px !important;
	text-align: center;
	color: #888;
	font-size: 15px;
}

/* 응시자 정보 목록 (applicant_info) */
#container.kp-sub-layout .contents .board_area--applicant_info {
	margin-top: 8px;
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_box--applicant_info {
	padding-top: 20px;
}

#container.kp-sub-layout .contents .board_box--applicant_info .board_list_toolbar {
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	width: 100%;
	margin: 0 0 12px;
	padding: 0;
}

#container.kp-sub-layout .contents .board_box--applicant_info .board_list_toolbar {
	overflow: visible;
}

#container.kp-sub-layout .contents .board_box--applicant_info .board_list_toolbar .applicant_bulk_bar {
	width: 100%;
	overflow: visible;
}

#container.kp-sub-layout .contents .board_box--applicant_info .board_count {
	margin-bottom: 14px;
}


#container.kp-sub-layout .contents .board_area--applicant_info .board_col_chk {
	width: 48px;
	min-width: 48px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_group {
	width: auto;
	min-width: 80px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_examno {
	width: auto;
	min-width: 100px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_th_group,
#container.kp-sub-layout .contents .board_area--applicant_info .board_td_group,
#container.kp-sub-layout .contents .board_area--applicant_info .board_th_examno,
#container.kp-sub-layout .contents .board_area--applicant_info .board_td_examno {
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_mobile {
	width: 12%;
	min-width: 128px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_name {
	width: 9%;
	min-width: 72px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_email {
	width: 14%;
	min-width: 140px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_period {
	width: 22%;
	min-width: 280px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_col_edit {
	width: 8%;
	min-width: 92px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_td_name,
#container.kp-sub-layout .contents .board_area--applicant_info .board_td_mobile,
#container.kp-sub-layout .contents .board_area--applicant_info .board_td_email,
#container.kp-sub-layout .contents .board_area--applicant_info .board_td_period {
	text-align: left;
	padding-left: 14px;
	padding-right: 10px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_td_mobile {
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_td_period {
	font-size: 14px;
	line-height: 1.45;
	white-space: nowrap;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_td_edit {
	white-space: nowrap;
	cursor: default;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_td_edit .btn_send_outline {
	min-height: 36px;
	padding: 8px 14px;
	font-size: 14px;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_table tbody tr.applicant_info_row {
	cursor: default;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_table tbody tr.applicant_info_row:hover {
	background: #f7f9fc;
	cursor: default;
}

#container.kp-sub-layout .contents .board_area--applicant_info .board_table tbody tr.applicant_info_row--exam_done .applicant_row_check:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

#container.kp-sub-layout .contents #applicantInfoBoardTable tbody td mark {
	background: #fff0a6;
	color: #111;
	padding: 0 1px;
	border-radius: 2px;
}

/* 응시자 정보 — 공통 레이어 팝업 (footer) */
.div_public_popup_panel:has(.kp_applicant_popup) .div_public_popup_title {
	display: none;
}

/* 일괄수정: group_layer(pop_group) 스타일 보조 */
.div_public_popup_inner .pop_group.kp_applicant_period_bulk .pop_ttl,
.div_public_popup_inner .pop_group.kp_applicant_group_bulk .pop_ttl {
	margin-bottom: 18px;
}

.div_public_popup_inner .pop_group_form_box--selected {
	margin-bottom: 20px;
}

.div_public_popup_inner .pop_group_selected_count {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #111;
	line-height: 1.4;
}

.div_public_popup_inner .pop_group_selected_names {
	margin: 8px 0 0;
	font-size: 14px;
	color: #444;
	line-height: 1.6;
	word-break: keep-all;
}

.div_public_popup_inner .pop_group_field--period .pop_group_label {
	display: block;
	margin-bottom: 10px;
}

.div_public_popup_inner .pop_group_period_row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0 0 10px;
}

.div_public_popup_inner .pop_group_period_row:last-child {
	margin-bottom: 0;
}

.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .pop_group_input {
	width: auto;
	flex: 0 0 auto;
	max-width: none;
}

.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .kp_date_wrap {
	flex: 0 0 auto;
}

.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .kp_date_wrap .kp_input_date {
	box-sizing: border-box;
	width: 148px;
	min-width: 148px;
	max-width: 148px;
	padding-right: 34px;
}

.div_public_popup_inner .kp_applicant_period_bulk .kp_date_wrap .calendar_ico,
.div_public_popup_inner .kp_applicant_period_bulk .kp_date_wrap .pop_code_ico.pop_code_ico--cal {
	pointer-events: auto;
	cursor: pointer;
}

.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .pop_group_input--time {
	box-sizing: border-box;
	flex: 0 0 auto;
	min-width: 180px;
	width: 180px;
	max-width: 180px;
}

.div_public_popup_inner .pop_group_period_unit {
	font-size: 14px;
	color: #555;
	white-space: nowrap;
}

.div_public_popup_inner .kp_applicant_group_bulk .pop_group_field--group_pick .pop_group_label {
	display: block;
	margin-bottom: 10px;
}

.div_public_popup_inner .kp_applicant_group_bulk .pop_code_field--group {
	width: 100%;
}

/* 정보 수정: 컴팩트 단일 폼 (group_layer 타이틀 + pop_code 폼) */
.div_public_popup_panel:has(.pop_applicant_edit),
.div_public_popup_panel:has(.pop_product_info_edit) {
	width: 640px;
	max-width: calc(100vw - 32px);
	height: auto;
	max-height: min(85vh, 720px);
	min-height: 0;
}

.div_public_popup_inner:has(.pop_applicant_edit),
.div_public_popup_inner:has(.pop_product_info_edit) {
	flex: 1 1 auto;
	min-height: 0;
	max-height: none;
	padding: 20px 24px 24px;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.div_public_popup_inner .pop_applicant_edit,
.div_public_popup_inner .pop_product_info_edit {
	display: block;
}

.div_public_popup_inner .pop_applicant_edit .pop_ttl,
.div_public_popup_inner .pop_product_info_edit .pop_ttl {
	margin: 0 0 14px;
	padding: 0 36px 0 0;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	color: #2c2c2c;
	text-align: center;
	letter-spacing: -0.3px;
	line-height: 1.3;
}

.div_public_popup_inner .pop_product_info_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.div_public_popup_inner .pop_product_info_name {
	font-size: 18px;
	font-weight: 700;
	color: #2c2c2c;
	line-height: 1.35;
	word-break: keep-all;
}

.div_public_popup_inner .pop_product_info_sub {
	font-size: 14px;
	font-weight: 500;
	color: #666;
	line-height: 1.3;
}

.div_public_popup_inner .pop_product_info_edit .pop_code_row--checks {
	min-height: 36px;
}

.div_public_popup_inner .pop_product_info_edit .pop_code_row--checks .pop_code_label {
	padding-top: 0;
}

.div_public_popup_inner .pop_product_info_edit .pop_code_check_lbl {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	color: #333;
	cursor: pointer;
}

.div_public_popup_inner .pop_product_info_edit .pop_code_check_lbl input {
	width: 16px;
	height: 16px;
	margin: 0;
	cursor: pointer;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_main--single,
.div_public_popup_inner .pop_product_info_edit .pop_code_main--single {
	display: block;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_col_form,
.div_public_popup_inner .pop_product_info_edit .pop_code_col_form {
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_sec_ttl {
	margin: 0 0 12px;
	padding: 0 0 8px;
	font-size: 15px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_form,
.div_public_popup_inner .pop_product_info_edit .pop_code_form {
	gap: 0;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_row,
.div_public_popup_inner .pop_product_info_edit .pop_code_row {
	margin-bottom: 12px;
	gap: 8px 10px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_row--toggle {
	min-height: 36px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_label,
.div_public_popup_inner .pop_product_info_edit .pop_code_label {
	flex: 0 0 96px;
	max-width: 96px;
	padding-top: 8px;
	font-size: 13px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_input,
.div_public_popup_inner .pop_product_info_edit .pop_code_input {
	height: 38px;
	font-size: 14px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_field--group .pop_code_select--group,
.div_public_popup_inner .pop_applicant_edit .pop_code_field--group .pop_code_btn_group {
	height: 38px;
	font-size: 14px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_toggle_txt {
	font-size: 13px;
	line-height: 1.4;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_field--period {
	gap: 8px;
	padding-top: 0;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_period_line {
	gap: 4px 6px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_time_wrap .pop_code_input--time {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 132px;
	min-width: 132px;
	max-width: 132px;
	padding-right: 34px;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_time_wrap .pop_code_ico--clock {
	pointer-events: auto;
	cursor: pointer;
}

.div_public_popup_inner .pop_applicant_edit .pop_code_time_wrap input[type="time"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 34px;
	height: 100%;
	cursor: pointer;
}

.div_public_popup_inner .kp_applicant_popup .pop_group_foot {
	margin-top: 20px;
	padding: 20px 0 0;
	border-top: 1px solid #eee;
}

/* 응시자 팝업 — 좁은 화면(~400px) */
@media all and (max-width: 520px) {
	.div_public_popup_panel:has(.kp_applicant_popup),
	.div_public_popup_panel:has(.pop_applicant_edit),
	.div_public_popup_panel:has(.pop_product_info_edit) {
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		max-height: min(90vh, 720px);
	}

	.div_public_popup_inner:has(.pop_group.kp_applicant_popup),
	.div_public_popup_inner:has(.pop_applicant_edit),
	.div_public_popup_inner:has(.pop_product_info_edit) {
		padding: 16px 14px 18px;
	}

	/* 검사기간 일괄수정 — 날짜/시간 세로 배치 */
	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row {
		flex-wrap: wrap;
		align-items: stretch;
	}

	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .kp_date_wrap,
	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .pop_group_input--time {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .kp_date_wrap .kp_input_date {
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_row .pop_group_input--time {
		min-width: 0;
		width: 100%;
		max-width: none;
	}

	.div_public_popup_inner .kp_applicant_period_bulk .pop_group_period_unit {
		flex: 0 0 100%;
		padding-left: 2px;
	}

	/* 그룹 일괄수정 — 셀렉트·버튼 세로 배치 */
	.div_public_popup_inner .kp_applicant_group_bulk .pop_code_field--group {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		gap: 8px;
	}

	.div_public_popup_inner .kp_applicant_group_bulk .pop_code_field--group .pop_code_select--group,
	.div_public_popup_inner .kp_applicant_group_bulk .pop_code_field--group .pop_code_btn_group {
		width: 100%;
		max-width: none;
	}

	/* 정보 수정 — 그룹·검사기간·토글 */
	.div_public_popup_inner .pop_applicant_edit .pop_code_row,
	.div_public_popup_inner .pop_product_info_edit .pop_code_row {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_label,
	.div_public_popup_inner .pop_product_info_edit .pop_code_label {
		flex: none;
		max-width: none;
		width: 100%;
		padding-top: 0;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_field,
	.div_public_popup_inner .pop_applicant_edit .pop_code_field--group,
	.div_public_popup_inner .pop_applicant_edit .pop_code_field--period,
	.div_public_popup_inner .pop_applicant_edit .pop_code_field--toggle,
	.div_public_popup_inner .pop_product_info_edit .pop_code_field,
	.div_public_popup_inner .pop_product_info_edit .pop_code_field--checks {
		width: 100%;
		max-width: none;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_field--group {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		gap: 8px;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_field--group .pop_code_select--group,
	.div_public_popup_inner .pop_applicant_edit .pop_code_field--group .pop_code_btn_group {
		width: 100%;
		max-width: none;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_period_line {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_date_wrap,
	.div_public_popup_inner .pop_applicant_edit .pop_code_time_wrap {
		width: 100%;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_code_input--date,
	.div_public_popup_inner .pop_applicant_edit .pop_code_time_wrap .pop_code_input--time {
		width: 100%;
		max-width: none;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_group_foot,
	.div_public_popup_inner .pop_product_info_edit .pop_group_foot {
		flex-wrap: wrap;
		gap: 8px;
	}

	.div_public_popup_inner .pop_applicant_edit .pop_group_foot .pop_group_btn,
	.div_public_popup_inner .pop_product_info_edit .pop_group_foot .pop_group_btn {
		flex: 1 1 calc(50% - 4px);
		min-width: 120px;
	}
}

/* 게시판 — 글쓰기(1:1 문의, cs_write) */
#container.kp-sub-layout .contents .board_area--cs_write {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_write_form {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

#container.kp-sub-layout .contents .board_write_row {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 0 26px;
}

#container.kp-sub-layout .contents .board_write_row:last-of-type {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_write_label {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	color: #2f2f2f;
	line-height: 1.3;
}

#container.kp-sub-layout .contents .board_write_req {
	color: #e85c3a;
	font-weight: 700;
}

#container.kp-sub-layout .contents .board_write_input {
	width: 100%;
}

#container.kp-sub-layout .contents .board_box .board_write_textarea {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 220px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	background-color: #f7f7f7;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: #686868;
	resize: vertical;
}

#container.kp-sub-layout .contents .board_write_textarea::placeholder {
	color: #9a9a9a;
}

#container.kp-sub-layout .contents .board_write_input:focus,
#container.kp-sub-layout .contents .board_write_textarea:focus {
	outline: none;
	border-color: #c8c8c8;
	background-color: #fff;
}

#container.kp-sub-layout .contents .board_write_actions {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 8px 0 0;
}

#container.kp-sub-layout .contents .board_write_submit {
	box-sizing: border-box;
	min-width: 140px;
	height: 48px;
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: 8px;
	background: #3f93ec;
	color: #fff;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease;
}

#container.kp-sub-layout .contents .board_write_submit:hover {
	background: #3585db;
}

#container.kp-sub-layout .contents .board_write_cancel {
	box-sizing: border-box;
	min-width: 120px;
	height: 48px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid #d5d5d5;
	border-radius: 8px;
	background: #ebebeb;
	color: #666;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

#container.kp-sub-layout .contents .board_write_cancel:hover {
	background: #e0e0e0;
	border-color: #c8c8c8;
	color: #555;
}

/* 게시판 — 글보기(notice_view, cs_view) */
#container.kp-sub-layout .contents .board_area--notice_view,
#container.kp-sub-layout .contents .board_area--cs_view {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_view {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

#container.kp-sub-layout .contents .board_view_subject {
	margin: 0 0 12px;
	padding: 0 0 14px;
	border-bottom: 1px solid #ececec;
	font-family: 'GmarketSansMedium', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #222;
	letter-spacing: -0.3px;
	word-break: break-word;
}

#container.kp-sub-layout .contents .board_view_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 24px;
	font-size: 14px;
	color: #888;
	line-height: 1.5;
}

#container.kp-sub-layout .contents .board_view_meta_sep {
	color: #d0d0d0;
}

#container.kp-sub-layout .contents .board_view_meta .cs_reply_badge {
	vertical-align: middle;
	margin-left: 4px;
}

#container.kp-sub-layout .contents .board_view_row {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 0 26px;
}

#container.kp-sub-layout .contents .board_view_row--reply {
	margin-bottom: 32px;
}

#container.kp-sub-layout .contents .board_view_body {
	box-sizing: border-box;
	width: 100%;
	min-height: 160px;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid #e0dfdf;
	border-radius: 8px;
	background-color: #f7f7f7;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
	color: #343434;
	word-break: break-word;
}

#container.kp-sub-layout .contents .board_view_attach {
	font-size: 14px;
	line-height: 1.5;
}

#container.kp-sub-layout .contents .board_view_attach a {
	color: #003eb8;
	text-decoration: underline;
}

#container.kp-sub-layout .contents .board_view_attach a:hover {
	color: #002a80;
}

#container.kp-sub-layout .contents .board_view_reply_box.is_done {
	background-color: #f7f9fc;
	border-color: #d6e4f5;
}

#container.kp-sub-layout .contents .board_view_reply_box.is_wait {
	background-color: #fafafa;
	border-color: #e8e8e8;
}

#container.kp-sub-layout .contents .board_view_reply_pending {
	margin: 0;
	color: #767676;
}

#container.kp-sub-layout .contents .board_view_reply_date {
	margin: 14px 0 0;
	padding: 0;
	font-size: 13px;
	color: #888;
	line-height: 1.4;
}

#container.kp-sub-layout .contents .board_area--cs_view .cs_reply_badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

#container.kp-sub-layout .contents .board_area--cs_view .cs_reply_badge.is_done {
	color: #003eb8;
	background: #e8f0fc;
}

#container.kp-sub-layout .contents .board_area--cs_view .cs_reply_badge.is_wait {
	color: #c62828;
	background: #ffebee;
}

@media all and (max-width: 992px) {
	#container.kp-sub-layout .contents .mp_main_stats_bar {
		flex-wrap: wrap;
		row-gap: 8px;
		column-gap: 10px;
		align-items: flex-start;
	}

	#container.kp-sub-layout .contents .mp_main_stats_item {
		flex: 1 1 calc(50% - 10px);
		min-width: 0;
		white-space: normal;
	}

	#container.kp-sub-layout .contents .mp_main_stats_item:not(:first-child) {
		margin-left: 0;
		padding-left: 0;
		border-left: 0;
	}

	#container.kp-sub-layout .contents .mp_main_stats_item_label,
	#container.kp-sub-layout .contents .mp_main_stats_item_value {
		word-break: keep-all;
	}

	#container.kp-sub-layout .contents .mp_main_bars {
		gap: 8px;
	}

	#container.kp-sub-layout .contents .board_box {
		padding: 20px 20px 24px;
	}

	#container.kp-sub-layout .contents .board_view_subject {
		font-size: 18px;
	}

	#container.kp-sub-layout .contents .board_write_actions {
		flex-direction: column;
	}

	#container.kp-sub-layout .contents .board_write_submit,
	#container.kp-sub-layout .contents .board_write_cancel {
		width: 100%;
	}

	#container.kp-sub-layout .contents .board_search_field {
		flex: 1 1 100%;
		max-width: none;
	}

	#container.kp-sub-layout .contents .board_search_btn {
		width: 100%;
	}

	#container.kp-sub-layout .contents .login_panel {
		max-width: 100%;
	}

	#container.kp-sub-layout .contents .login_panel_inner {
		padding: 22px 20px 24px;
	}

	#container.kp-sub-layout .contents .mp_main_cols {
		flex-direction: column;
		min-height: 0;
	}

	#container.kp-sub-layout .contents .mp_main_col {
		max-width: none;
		border-right: 0;
		border-bottom: 1px solid #e8ecf2;
	}

	#container.kp-sub-layout .contents .mp_main_col:last-child {
		border-bottom: 0;
	}

	#container.kp-sub-layout .contents .mp_main_col_chart {
		max-width: none;
	}

	#container.kp-sub-layout .contents .mp_main_bottom {
		grid-template-columns: 1fr;
	}
}

@media all and (max-width: 560px) {
	#container.kp-sub-layout .contents .mp_main_stats_bar {
		padding: 8px 10px;
	}

	#container.kp-sub-layout .contents .mp_main_stats_item {
		flex: 1 1 100%;
	}

	#container.kp-sub-layout .contents .mp_main_bar_track {
		max-width: 42px;
	}
}

/* 본문 — nav_wrap 다음 .contents */
#container.kp-sub-layout > .contents {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0;
	box-sizing: border-box;
	background: #eff3fb;
}

/* 본문 (서브 레이아웃 목업) */
#container.kp-sub-layout .contents.sub_contents {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 0 48px;
	background: #eff3fb;
}

@media all and (max-width: 992px) {
	.nav_wrap {
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
	}

	.nav_wrap .sub_nav_cards ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media all and (max-width: 768px) {
	.nav_wrap .inner {
		width: calc(100% - 24px);
		padding: 20px 0 18px;
	}

	.nav_wrap .sub_nav_head h1 {
		font-size: 22px;
	}

	.nav_wrap .sub_nav_cards ul {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nav_wrap .sub_nav_cards ul li a {
		flex-direction: row;
		justify-content: flex-start;
		min-height: 0;
		padding: 14px 16px;
		text-align: left;
	}

	.nav_wrap .sub_nav_card_ico {
		flex-shrink: 0;
		width: 44px;
		height: 40px;
		margin: 0 14px 0 0;
	}

	.nav_wrap .sub_nav_subtabs ul {
		justify-content: center;
		gap: 0 18px;
	}

	#container.kp-sub-layout .contents.sub_contents {
		width: calc(100% - 24px);
	}

	/* 게시판 목록 — 모바일: 공지/문의 등 단순 목록은 가로 스크롤 없음 */
	#container.kp-sub-layout .contents .board_table_wrap {
		overflow-x: visible;
	}

	/* 열이 많은 목록 — 가로 스크롤 유지 (검사결과·응시자정보·SMS/Email 이력) */
	#container.kp-sub-layout .contents .board_table_wrap--wide,
	#container.kp-sub-layout .contents .board_area--test .board_table_wrap,
	#container.kp-sub-layout .contents .board_area--applicant_info .board_table_wrap,
	#container.kp-sub-layout .contents .board_area--message_info .board_table_wrap {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		max-width: 100%;
	}

	#container.kp-sub-layout .contents .board_area--test .board_table,
	#container.kp-sub-layout .contents .board_area--applicant_info .board_table,
	#container.kp-sub-layout .contents .board_area--message_info .board_table {
		width: auto;
		max-width: none;
	}

	#container.kp-sub-layout .contents .board_col_no,
	#container.kp-sub-layout .contents .board_col_author,
	#container.kp-sub-layout .contents .board_th_no,
	#container.kp-sub-layout .contents .board_th_author,
	#container.kp-sub-layout .contents .board_td_no,
	#container.kp-sub-layout .contents .board_td_author {
		display: none;
	}

	#container.kp-sub-layout .contents .board_col_date {
		width: 30%;
	}

	#container.kp-sub-layout .contents .board_th_date,
	#container.kp-sub-layout .contents .board_td_date {
		font-size: 14px;
		padding-left: 10px;
		padding-right: 10px;
	}

	#container.kp-sub-layout .contents .board_td_subj {
		padding-left: 12px;
		padding-right: 8px;
	}
}

/* 마이페이지 table_form_stack — 폭만 (KP_adpage input 통일 규칙과 분리) */
#container.kp-sub-layout .table_content.table_form_stack .input_text_full {
	width: 100%;
	max-width: 900px;
}
