/**
 * 리스트 페이지 모던 스타일
 * 기존 type_table_01, type_guide, type_bg 클래스 오버라이드
 */

/* 필터/검색 영역 컨테이너 */
.type_bg {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	margin: 0 0 20px 0;
}

/* 필터 가이드 영역 */
.type_guide {
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.type_guide .fl {
	display: flex;
	align-items: center;
	gap: 12px;
}

.type_guide .fr {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* 타이틀/총원 배지 */
.type_guide .title p {
	background: linear-gradient(135deg, #4a6785 0%, #5a7795 100%);
	color: #fff;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

/* 셀렉트 박스 스타일 */
.type_bg .select_01,
.type_guide select {
	padding: 8px 32px 8px 12px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	font-size: 14px;
	color: #333;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 10px center;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	height: auto;
}

.type_bg .select_01:hover,
.type_guide select:hover {
	border-color: #4a6785;
}

.type_bg .select_01:focus,
.type_guide select:focus {
	outline: none;
	border-color: #4a6785;
	box-shadow: 0 0 0 3px rgba(74,103,133,0.15);
}

/* 검색 박스 */
.type_bg .search {
	display: flex;
	align-items: center;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	height: auto;
}

.type_bg .search select {
	border: none;
	padding: 8px 12px;
	font-size: 13px;
	color: #666;
	background: #f9f9f9;
	border-right: 1px solid #e0e0e0;
	border-radius: 0;
	height: auto;
}

.type_bg .search .in {
	position: relative;
	background: #fff;
}

.type_bg .search .in input {
	border: none;
	padding: 8px 35px 8px 12px;
	font-size: 13px;
	width: 280px;
	height: auto;
}

.type_bg .search .in input:focus {
	outline: none;
}

.type_bg .search .in i {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #4a6785;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s;
}

.type_bg .search .in i:hover {
	background: #3a5775;
}

/* 라디오 버튼 탭 스타일 */
.type_bg .search .radio,
.search_left {
	display: flex;
	background: #f5f5f5;
	border-radius: 6px;
	padding: 3px;
	border: none;
}

.type_bg .search .radio label,
.search_left label {
	padding: 6px 14px;
	font-size: 13px;
	color: #666;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.2s;
	white-space: nowrap;
	display: flex;
	align-items: center;
	margin: 0;
}

.type_bg .search .radio label:hover,
.search_left label:hover {
	color: #333;
}

.type_bg .search .radio label input,
.search_left label input {
	display: none;
}

.type_bg .search .radio label input:checked + p,
.search_left label input[type="radio"]:checked ~ *:last-child {
	background: #fff;
	color: #4a6785;
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	padding: 6px 14px;
	border-radius: 4px;
	margin: -6px -14px;
}

/* 버튼 스타일 */
.type_bg .btn_01 {
	padding: 8px 14px;
	border: none;
	border-radius: 6px;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.2s;
	white-space: nowrap;
	height: auto;
	display: inline-flex;
	align-items: center;
}

.type_bgc_01 {
	background: #fff;
	border: 1px solid #e0e0e0;
	color: #333;
}

.type_bgc_01:hover {
	background: #f5f5f5;
	border-color: #ccc;
}

.type_bgc_02 {
	background: #4a6785;
	border: 1px solid #4a6785;
	color: #fff;
}

.type_bgc_02:hover {
	background: #3a5775;
	border-color: #3a5775;
}

.type_bgc_03 {
	background: #217346;
	border: 1px solid #217346;
	color: #fff;
}

.type_bgc_03:hover {
	background: #1a5c38;
	border-color: #1a5c38;
}

.type_bgc_04 {
	background: #fff;
	border: 1px solid #dc3545;
	color: #dc3545;
}

.type_bgc_04:hover {
	background: #dc3545;
	border-color: #dc3545;
	color: #fff;
}

/* 버튼 색상 구분 (value 기준) */
input[value="선택삭제"].btn_01,
button[value="선택삭제"].btn_01 {
	background: #fff !important;
	border: 1px solid #dc3545 !important;
	color: #dc3545 !important;
}

input[value="선택삭제"].btn_01:hover,
button[value="선택삭제"].btn_01:hover {
	background: #dc3545 !important;
	color: #fff !important;
}

input[value="신규등록"].btn_01,
button[value="신규등록"].btn_01 {
	background: #4a6785 !important;
	border: 1px solid #4a6785 !important;
	color: #fff !important;
}

input[value="신규등록"].btn_01:hover,
button[value="신규등록"].btn_01:hover {
	background: #3a5775 !important;
	border-color: #3a5775 !important;
}

input[value="엑셀다운로드"].btn_01,
button[value="엑셀다운로드"].btn_01 {
	background: #217346 !important;
	border: 1px solid #217346 !important;
	color: #fff !important;
}

input[value="엑셀다운로드"].btn_01:hover,
button[value="엑셀다운로드"].btn_01:hover {
	background: #1a5c38 !important;
	border-color: #1a5c38 !important;
}

/* 테이블 영역 */
.type_table_01 {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	overflow: hidden;
}

.type_table_01 table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.type_table_01 table thead tr {
	background: #4a6785;
}

.type_table_01 table thead tr td,
.type_table_01 table thead tr th {
	color: #fff;
	font-weight: 600;
	padding: 12px 10px;
	text-align: center;
	font-size: 13px;
	border: none;
	border-right: 1px solid rgba(255,255,255,0.3);
	background: transparent;
}

.type_table_01 table thead tr td:last-child,
.type_table_01 table thead tr th:last-child {
	border-right: none;
}

.type_table_01 table thead tr td span {
	color: rgba(255,255,255,0.8);
}

.type_table_01 table tbody tr {
	border-bottom: 1px solid #d0d0d0;
	transition: background 0.15s;
	background: #fff;
}

.type_table_01 table tbody tr:nth-of-type(odd) {
	background: #fafafa;
}

.type_table_01 table tbody tr:hover {
	background: #f0f5fa;
}

.type_table_01 table tbody tr:last-child {
	border-bottom: 1px solid #d0d0d0;
}

.type_table_01 table tbody tr td {
	padding: 12px 10px;
	text-align: center;
	font-size: 13px;
	color: #333;
	border-bottom: none;
	border-right: 1px solid #e0e0e0;
}

.type_table_01 table tbody tr td:last-child {
	border-right: none;
}

.type_table_01 table tbody tr td p {
	margin: 0;
	font-size: 13px;
}

.type_table_01 table tbody tr td a {
	color: #4a6785;
}

.type_table_01 table tbody tr td a:hover {
	color: #3a5775;
	text-decoration: underline;
}

/* 테이블 내 버튼 */
.type_table_01 table tbody tr td button,
.type_table_01 table tbody tr td .btn_01 {
	padding: 5px 10px;
	font-size: 12px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	margin: 0 2px;
	background: #5a7795;
	color: #fff;
}

.type_table_01 table tbody tr td button:hover,
.type_table_01 table tbody tr td .btn_01:hover {
	background: #4a6785;
}

/* 페이지네이션 */
.type_page {
	background: #fff;
	border-radius: 0 0 8px 8px;
	padding: 15px 20px;
	text-align: center;
	border-top: 1px solid #eee;
	margin-top: -8px;
}

.type_page ul {
	display: flex;
	justify-content: center;
	gap: 2px;
}

.type_page ul li .btn,
.type_page ul li span {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 35px;
	height: 35px;
	padding: 0 10px;
	border: 1px solid #e0e0e0;
	background: #fff;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.2s;
	border-radius: 4px;
	margin: 0;
}

.type_page ul li .btn:hover,
.type_page ul li span:hover {
	background: #f5f5f5;
	border-color: #ccc;
}

.type_page ul li.on span {
	background: #4a6785;
	border-color: #4a6785;
	color: #fff;
}

.type_page ul li:first-child .btn {
	border-radius: 4px;
}

.type_page ul li:last-child .btn {
	border-radius: 4px;
}

/* 고정 컬럼 스타일 */
.type_table_01 table thead tr td.fixed_column,
.type_table_01 table thead tr th.fixed_column,
.contact_table th.fixed_column,
.contact_table thead td.fixed_column {
	background-color: #3d5a80 !important;
	color: #fff;
}

.type_table_01 table tbody tr td.fixed_column,
.contact_table td.fixed_column {
	background-color: #e8edf2 !important;
	position: sticky;
	z-index: 2;
}

.type_table_01 table tbody tr:nth-of-type(odd) td.fixed_column,
.contact_table tbody tr:nth-of-type(odd) td.fixed_column {
	background-color: #dce3eb !important;
}

.type_table_01 table tbody tr:hover td.fixed_column,
.contact_table tbody tr:hover td.fixed_column {
	background-color: #d0dbe6 !important;
}

/* 반응형 */
@media (max-width: 768px) {
	.type_guide {
		flex-direction: column;
		align-items: stretch;
	}

	.type_guide .fl,
	.type_guide .fr {
		justify-content: center;
	}

	.type_bg .search .in input {
		width: 100px;
	}
}
