@charset "utf-8";
.mo_table {display: none;}
.board_wrap {}
.layer_bg {display: none;}

.brd_cont {max-width: 1440px; width: 100%; margin: 0 auto; padding: 50px 20px 0; box-sizing: border-box;}
.brd_cont h3 {text-align: center; font-size: 30px; margin: 0 0 35px; font-weight: 800;}
.brd_cont h3 span {display: block; font-size: 16px; text-align: center; font-weight: 400; margin: 10px 0 0;}
.brd_cont h3 span.gray {color: #999;}

/* 검색필터 */
.filter_wrap {border: 1px solid #d8d8d8; border-radius: 17px; font-size: 0; margin: 0 0 45px;}
.filter_wrap .btn_filter {display: inline-block; vertical-align: middle; width: 193px; font-size: 16px; font-weight: 600; padding-top: 45px; background: url(../../img/ico/ico_filter.png) no-repeat center top; font-size: 0;}

.filter_wrap .filter_sort {display: inline-block; vertical-align: middle; width: calc(100% - 193px); background: #f7faff; padding: 30px 150px 30px 45px; box-sizing: border-box; position: relative; border-radius: 0 17px 17px 0; border-left: 1px solid #dbdbdb;}
.filter_wrap .filter_sort dl {display: table; font-size: 16px; margin-top: 17px;}
.filter_wrap .filter_sort dl:first-child {margin-top: 0;}
.filter_wrap .filter_sort dl dt,
.filter_wrap .filter_sort dl dd {display: table-cell; vertical-align: middle;}

.filter_wrap .filter_sort dl dt {font-weight: 600;}
.filter_wrap .filter_sort dl dd {padding: 0 0 0 54px;}
.filter_wrap .filter_sort dl dd ul {margin-top: -16px; font-size: 0;}
.filter_wrap .filter_sort dl dd ul li {display: inline-block; margin-right: 16px; cursor: pointer; margin-top: 16px;}
.filter_wrap .filter_sort dl dd ul li:last-child {margin-right: 0;}
.filter_wrap .filter_sort dl dd ul li span {display: block; border: 1px solid #d8d8d8; border-radius: 17px; background: #fff; padding: 0 20px; line-height: 35px; font-size: 16px;}
.filter_wrap .filter_sort dl dd ul li.on span {background: #3096d1; border: 1px solid #3096d1; color: #fff;}

.filter_wrap .btn_clear {border-radius: 35px; border: 1px solid #dbdbdb; width: 97px; height: 97px; background: #fff; box-sizing: border-box; position: absolute; right: 52px; top: 50%; transform: translateY(-50%);}
.filter_wrap .btn_clear span {display: inline-block; font-size: 14px; padding-top: 26px; background: #fff url(../../img/ico/ico_reset.png) no-repeat center top/20px 19px;}
.filter_wrap .btn_clear.vertical {height: auto; border-radius: 24px; padding: 20px 0;}
.filter_wrap .btn_clear.vertical span {padding: 0 0 0 28px; background: #fff url(../../img/ico/ico_reset.png) no-repeat left center/20px 19px; }

/* 검색 */
.search_wrap {max-width: 600px; width: 100%; margin: 0 auto 30px; padding: 0 15px; box-sizing: border-box;}
.search_wrap > div {border: 1px solid #dbdbdb; border-radius: 35px;}
.search_wrap > div strong {display: inline-block; vertical-align: middle; width: 150px; font-size: 16px; font-weight: 600; color: #3096d1; text-align: center; display: none;}
.search_wrap .input_wrap {display: inline-block; vertical-align: middle; width: 100%; position: relative; background: #f8f8f8; border-radius: 35px;}
.search_wrap .input_wrap input {border: 0; height: 68px; padding-left: 35px; background: transparent; font-size: 18px; width: calc(100% - 80px); box-sizing: border-box;}
.search_wrap .input_wrap .btn_search {position: absolute; top: 50%; right: 28px; transform: translateY(-50%); font-size: 0; background: url(../../img/ico/ico_search_blue.png) no-repeat center/31px; width: 32px; height: 32px;}
.search_wrap > p {font-size: 16px; color: #999; text-align: center; margin: 15px 0 0;}
/* 검색 clear 버튼 */
.search_wrap .input_wrap .btn_clear {
    position: absolute;
    top: 50%;
    right: 70px; /* Position it to the left of the search button */
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
    text-align: center;
    color: #999;
    background: none;
    border: none;
    cursor: pointer;
    display: none; /* Hidden by default */
    opacity: 0;
    transition: opacity 0.2s ease;
}
.search_wrap .input_wrap:hover .btn_clear.visible {opacity: 1;}
.search_wrap .input_wrap .btn_clear.visible {display: block; opacity: 0.6;}

.search_cate {border: 1px solid #dbdbdb; background: #f8f8f8; border-radius: 45px; padding: 10px; margin: 0 0 20px;}
.search_cate ul {display: flex; justify-content: space-between;}
.search_cate ul li {width: 14.28%;}
.search_cate ul li button {font-size: 16px; font-weight: 500; color: #333; background: none; border: 0; width: 100%; height: 50px;}
.search_cate ul li.on {}
.search_cate ul li.on button {color: #fff; background: #3096d1; border-radius: 35px;}
.no_data {padding: 30px 0; display: block; font-weight: 500; font-size: 15px; text-align: center;}

/* 기본형 테이블 */
.default_list {}
.default_list .list_cnt {text-align: right; font-size: 14px; margin: 0 0 8px;}
.default_list table {width: 100%; border-collapse: collapse; border-top: 3px solid #3096d1; table-layout: fixed;}
.default_list table th {font-size: 16px; font-weight: 600; border-bottom: 1px solid #d5d5d5; padding: 23px 10px; word-wrap: break-word;}
.default_list table td {font-size: 16px; border-bottom: 1px solid #d5d5d5; padding: 23px 10px; text-align: center; word-wrap: break-word;}
.default_list table td.ta_left {text-align: left;}
.default_list table td .btn_file {display: inline-block; vertical-align: middle; width: 23px; height: 20px; background: url(../../img/ico/ico_file.png) no-repeat center/23px 20px; font-size: 0; margin-left: 6px;}
.default_list table td .file {display: inline-block; vertical-align: middle; width: 23px; height: 20px; background: url(../../img/ico/ico_file.png) no-repeat center/23px 20px; font-size: 0; margin-left: 6px;}
.default_list table th.th_date,
.default_list table td.td_date {width: 12%;}
.default_list table td.td_date .time_box {color: #999; padding-left: 5px;}
.default_list.search table td {padding: 15px 0;}
.default_list table tr.notice {background: #f8f8f8;}
.default_list table td .ico_notice {display: block; background: url(../../img/ico/ico_alarm.png) no-repeat center/65px 27px; font-size: 0; width: 65px; height: 27px; margin: 0 auto;}
.default_list table td .ico_notice.org {background: url(../../img/ico/ico_notice.png) no-repeat center/17px 20px; width: 20px; height: 20px;}

.default_list table tbody tr.clickable-row {cursor: pointer; transition: background-color 0.2s ease;}
.default_list table tbody tr.clickable-row:hover {background-color: #f5f5f5;}

.default_list .answer_mod {display: inline-block; font-size: 16px; font-weight: 600; border-radius: 24px; width: 100%; min-width: 100px; max-width: 200px; line-height: 35px; text-align: center;}
/* 답변대기 */ .default_list .answer_mod.wait {color: #fff; background: #333; border: 3px solid #333;}
/* 답변중 */ .default_list .answer_mod.replying {color: #333; background: #fff; border: 3px solid #333;}
/* 답변종료 */ .default_list .answer_mod.end {color: #fff; background: #ccc; border: 3px solid #ccc;}

.default_list table th.th_num,
.default_list table td.td_num {width: 120px;}

.default_list table th.th_grade,
.default_list table td.td_grade {width: 100px;}

.default_list table th.th_type,
.default_list table td.td_type {width: 100px;}

.default_list table th.th_place,
.default_list table td.td_place {width: 150px;}

.default_list table th.th_reader,
.default_list table td.td_reader {width: 140px;}

.default_list.brd_right table th,
.default_list.brd_right table td {border-right: 1px solid #d5d5d5;}
.default_list.brd_right table th:last-child,
.default_list.brd_right table td:last-child {border-right: 0;}

/* 페이지네이션 */
.pagination {text-align: center; margin: 25px 0 0; font-size: 0;}
.pagination .page_prev,
.pagination .page_next {font-size: 0; width: 18px; height: 18px; display: inline-block; vertical-align: middle;}
.pagination .page_prev {background: url(../../img/ico/ico_paging_prev.png) no-repeat center/12px 18px;}
.pagination .page_next {background: url(../../img/ico/ico_paging_next.png) no-repeat center/12px 18px;}

.pagination ul {display: inline-block; vertical-align: middle; padding: 0 22px; margin: 0 15px; position: relative;}
.pagination ul:before,
.pagination ul:after {content: ''; width: 1px; height: 13px; background: #dadada; position: absolute; top: 50%; transform: translateY(-50%);}
.pagination ul:before {left: 0;}
.pagination ul:after {right: 0;}
.pagination ul li {display: inline-block; margin-right: 3px;}
.pagination ul li:last-child {margin-right: 0;}
.pagination ul li a {font-size: 16px; display: block; width: 31px; height: 31px; line-height: 29px; box-sizing: border-box; text-align: center;}
.pagination ul li.on a {color: #3096d1; border: 1px solid #3096d1; background: #f8f8f8;}

/* 게시판 상세페이지 */
.view_wrap {}
.view_wrap .view_top {border-top: 3px solid #3096d1;}
.view_wrap .view_top .view_tit {background: #f8f8f8; border-bottom: 1px solid #d5d5d5; position: relative;}
.view_wrap .view_top .view_tit h3 {font-size: 20px; padding: 15px 25px; text-align: left; margin: 0; padding-right: 160px;}
.view_wrap .view_top .view_tit .date {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 16px;}
.view_wrap .view_top .view_tit .date .time_box {color: #999; padding-left: 5px;}

.view_wrap .view_top .select_cate {position: relative; border-bottom: 1px solid #d5d5d5; padding: 20px 25px;}
.view_wrap .view_top .select_cate ul {font-size: 0;}
.view_wrap .view_top .select_cate ul li {display: inline-block; margin-right: 24px;}
.view_wrap .view_top .select_cate ul li:last-child {margin-right: 0;}
.view_wrap .view_top .select_cate ul li span {font-size: 16px; color: #fff; display: block; background: #3096d1; border-radius: 17px; padding: 0 20px; line-height: 35px;}

.view_wrap .view_top .select_cate ul.inline_block {display: inline-block;}
.view_wrap .view_top .select_cate .time_box {display: inline-block; font-size: 16px; margin-left: 20px;}
.view_wrap .view_top .select_cate .time_box > * {display: inline-block; vertical-align: middle;}
.view_wrap .view_top .select_cate .time_box span {margin-right: 70px;}
.view_wrap .view_top .select_cate .time_box dl {margin-right: 32px;}
.view_wrap .view_top .select_cate .time_box dl:last-child {margin-right: 0;}
.view_wrap .view_top .select_cate .time_box dt,
.view_wrap .view_top .select_cate .time_box dd {display: table-cell;}
.view_wrap .view_top .select_cate .time_box dt {font-weight: bold;}
.view_wrap .view_top .select_cate .time_box dd {color: #999; padding-left: 8px;}

.view_wrap .view_top .select_cate .answer_box {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.view_wrap .view_top .select_cate .answer_box > span {display: inline-block; font-size: 16px; font-weight: 600; border-radius: 24px; width: 140px; line-height: 38px; text-align: center;}
.view_wrap .view_top .select_cate .answer_box > span.wait {color: #fff; background: #333; border: 3px solid #333;}
.view_wrap .view_top .select_cate .answer_box > span.replying {color: #333; background: #fff; border: 3px solid #333;}
.view_wrap .view_top .select_cate .answer_box > span.end {color: #fff; background: #ccc; border: 3px solid #ccc;}

.view_wrap .view_top .my_list {border-bottom: 1px solid #d5d5d5; padding: 20px 25px; background: #fff8ea;}
.view_wrap .view_top .my_list ul {}
.view_wrap .view_top .my_list ul li {margin-bottom: 8px; font-size: 14px;}
.view_wrap .view_top .my_list ul li:last-child {margin-bottom: 0;}

.upload_file {padding: 20px 25px; border-bottom: 1px solid #d5d5d5;}
.upload_file > strong {display: inline-block; vertical-align: middle; font-size: 16px; font-weight: 600; background: url(../../img/ico/ico_file.png) no-repeat right center/23px 20px; padding-right: 40px;}
.upload_file .upload_list {display: inline-block; vertical-align: middle; position: relative; margin-left: 40px; display: none;}
.upload_file .upload_list .upload_open {border: 1px solid #d5d5d5; border-radius: 17px; padding: 0 12px; line-height: 35px; background: #f8f8f8;}
.upload_file .upload_list .upload_open span {font-size: 14px; display: block; padding-right: 14px; background: url(../../img/ico/ico_detail.png) no-repeat right center/8px 12px;}

.upload_file ul.download_list {padding: 10px 0;}
.upload_file ul.download_list li {padding: 3px 0; margin-bottom: 5px;}
.upload_file ul.download_list li:last-child {margin-bottom: 0;}
.upload_file ul.download_list li a {font-size: 16px; display: block; background: url(../../img/ico/ico_download.png) no-repeat right center/22px 21px; padding-right:28px;}

.upload_layer {background: #f8f8f8; border: 1px solid #d5d5d5; border-radius: 19px; padding: 0 26px; width: 330px; max-height: 210px; box-sizing: border-box; position: absolute; top: 42px; left: 0;}
.upload_layer h3 {font-size: 16px; border-bottom: 1px solid #d5d5d5; text-align: left; line-height: 53px; margin: 0;}
.upload_layer ul {padding: 10px 0;}
.upload_layer ul li {padding: 7px 0;}
.upload_layer ul li a {font-size: 16px; display: block; background: url(../../img/ico/ico_download.png) no-repeat right center/22px 21px; padding-right:28px;}
.upload_layer .btn_close {width: 12px; height: 12px; background: url(../../img/ico/ico_close_x.png) no-repeat center/12px; font-size: 0; position: absolute; right: 25px; top: 21px;}

.view_cont {min-height: 200px; border-bottom: 1px solid #d5d5d5; font-size: 15px; margin-top: 30px;}
.view_cont > div {padding: 20px 25px;}

@media screen and (max-width: 768px) {
    .view_cont {min-height: 200px; border-bottom: 1px solid #d5d5d5; font-size: 15px;}
    .view_cont > div {padding: 20px 25px;}
}
.reply-head {}
.view_body-reply .reply-head .view_tit {background: #3096d1; position: relative; border-bottom: 0;}
.view_body-reply .reply-head .view_tit h3 {font-size: 20px; padding: 18px 25px; text-align: left; margin: 0; padding-right: 180px; color: #fff;}
.view_body-reply .reply-head .view_tit h3:before {content: '💬'; margin-right: 8px;}
.view_body-reply .reply-head .view_tit .date {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 16px; color: #fff; opacity: 0.9;}
.view_body-reply .reply-head .view_tit .date .time_box {color: #fff; padding-left: 5px; opacity: 0.8;}
.view_body-reply .reply-head .upload_file {background: #fff; border-bottom: 1px solid #e8f2ff;}
.view_body-reply .reply-body {padding: 25px; font-size: 15px; line-height: 1.8; background: #fff; min-height: 150px;}

/* 시험 결과 - 성적 요약 */
.score_summary {padding: 30px 25px; border-bottom: 1px solid #d5d5d5; background: #eff5f9;}
.score_summary h4 {font-size: 19px; font-weight: 600; margin: 0 0 20px; color: #333;}
.score_box {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.score_item {display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px; background: #fff; border-radius: 8px; border: 1px solid #e0e0e0;}
.score_item .label {font-size: 15px; font-weight: 600; color: #666; margin-bottom: 8px;}
.score_item .value {font-size: 20px; font-weight: 700; color: #3096d1;}
.score_item .value.grade {font-size: 16px; padding: 3px 12px; border-radius: 6px; background: #f0f0f0; min-width: 60px; text-align: center; background: #fdeed5; color: #f57c00;}

/* 등급 정보 */
.level_cut_section {padding: 40px 25px; border-bottom: 1px solid #ececec; background: #fafafa;}
.level_cut_section h4 {font-size: 19px; font-weight: 700; margin: 0 0 20px; color: #222; letter-spacing: -0.5px;}
.level_cut_table {width: 100%; border-collapse: collapse; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);}
.level_cut_table thead {background: #f5f5f5;}
.level_cut_table th {padding: 14px 10px; text-align: center; font-weight: 600; font-size: 13px; color: #333; border-right: 1px solid #e8e8e8;}
.level_cut_table th:last-child {border-right: none;}
.level_cut_table td {padding: 16px 10px; text-align: center; border-right: 1px solid #e8e8e8; font-weight: 500; color: #444; font-size: 14px;}
.level_cut_table td:last-child {border-right: none;}
.level_cut_table tbody tr:hover {background: #f9f9f9;}

/* 문항별 결과 */
.question_results {padding: 40px 25px; border-bottom: 1px solid #ececec;}
.question_header {display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 20px;}
.question_header h4 {font-size: 19px; font-weight: 700; margin: 0 0 8px 0; color: #222; letter-spacing: -0.5px;}
.error_rate_note {margin: 0; font-size: 12px; color: #999; font-weight: 400;}
.question_table {width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e8e8e8;}
.question_table thead {background: #f8f8f8;}
.question_table th {padding: 15px; text-align: left; font-size: 13px; font-weight: 600; color: #555; border-bottom: 1px solid #e8e8e8; text-align: center;}
.question_table td {padding: 14px 15px; font-size: 13px; color: #333; border-bottom: 1px solid #f0f0f0;}
.question_table tbody tr:hover {background: #fafafa;}
.question_table tbody tr.correct .question_result {color: #4caf50; font-weight: 700;}
.question_table tbody tr.incorrect .question_result {color: #ef5350; font-weight: 700;}
.question_num {font-weight: 600; color: #666; text-align: center;}
.question_result {text-align: center; font-size: 14px;}
.question_student_answer {text-align: center;}
.category-cell {text-align: left; font-weight: 600; font-size: 12px;}
.category-th .mobile-text {display: inline;}
.category-th .desktop-text {display: none;}
.category-content {display: block; font-weight: 600; font-size: 12px; color: #333;}
.description-content {display: block; font-weight: 400; font-size: 11px; color: #666; margin-top: 4px;}
.description-cell {text-align: left; font-weight: 400; font-size: 11px; color: #666; display: none !important;}
.question_error {text-align: center; color: #999; font-size: 12px;}

/* 카테고리명 및 결과 */
.cat-name {display: block; font-size: 13px; color: #666; margin-bottom: 4px; font-weight: 500;}
.cat-breadcrumb {display: block; font-size: 12px; color: #666; margin-bottom: 4px; font-weight: 700;}
.cat-breadcrumb span:first-child,
.cat-breadcrumb span:last-child {display: inline;}
.cat-breadcrumb span:nth-child(2) {display: inline; margin: 0 2px;}
.cat-description {display: block; font-size: 11px; color: #999; margin-top: 2px; font-weight: 400;}
.cat-result {display: inline-block; font-size: 13px; font-weight: 700; margin-top: 2px;}


/* 카테고리 컬럼 반응형 */
.cat-column {display: table-cell;}
.cat2, .cat3 {display: none !important;} /* 기본적으로 CAT2, CAT3 숨김 (모바일) */

@media screen and (min-width: 768px) {
    .cat2, .cat3 {display: table-cell !important;} /* 768px 이상에서 표시 */
    .category-th .mobile-text {display: none;}
    .category-th .desktop-text {display: inline;}
    .description-cell {display: table-cell !important;} /* 768px 이상에서 유형 컬럼 표시 */
    .description-content {display: none;} /* 유형을 별도 컬럼으로 표시하므로 category-cell 내 description 숨김 */
    .cat-name {font-size: 12px;}
    .cat-result {font-size: 14px;}
}

/* 모바일 (550px 이하) 최적화 */
@media screen and (max-width: 550px) {
    .question_table th {padding: 12px 8px; font-size: 11px;}
    .question_table td {padding: 10px 8px; font-size: 11px;}
    .question_header h4 {font-size: 16px;}
    .cat-name {font-size: 10px; margin-bottom: 3px;}
    .cat-result {font-size: 12px;}
    .question_result {font-size: 13px;}
}

/* 카테고리별 분석 */
.category_analysis {padding: 30px 25px; border-bottom: 1px solid #d5d5d5;}
.category_analysis h4 {font-size: 18px; font-weight: 600; margin: 0 0 20px; color: #333;}

/* 트리 구조 - 깔끔한 버전 */
.category_tree {display: flex; flex-direction: column; gap: 0;}

.tree_parent {border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden;}
.tree_header {display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #fafafa; cursor: pointer; border-bottom: 1px solid #e5e5e5; transition: background 0.2s ease;}
.tree_header:hover {background: #f5f5f5;}
.tree_header.level-2 {padding-left: 40px; background: #fff; border-bottom: 1px solid #f0f0f0;}
.tree_toggle {background: none; border: none; padding: 0; cursor: pointer; font-size: 14px; color: #666; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.tree_toggle:hover {color: #3096d1;}
.toggle_icon {font-size: 12px; font-weight: bold; transition: color 0.2s ease;}
.header_content {display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0;}
.cat_name {font-size: 15px; font-weight: 600; color: #333; flex: 1; min-width: 0; word-break: break-word;}
.tree_header.level-2 .cat_name {font-size: 14px; font-weight: 500;}
.tree_item.level-3 .cat_name {font-size: 13px; font-weight: 500; color: #555;}
.cat_stats {display: flex; align-items: center; gap: 8px; white-space: nowrap; flex-shrink: 0;}
.score {font-size: 13px; font-weight: 600; color: #3096d1;}
.percent {font-size: 13px; color: #777;}
.level {padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; white-space: nowrap; flex-shrink: 0;}
.level.strong {background: #e8f5e9; color: #388e3c;}
.level.normal {background: #fff3e0; color: #f57c00;}
.level.weak {background: #ffebee; color: #d32f2f;}
.tree_children {display: flex; flex-direction: column; max-height: 2000px; overflow: hidden; transition: max-height 0.3s ease;}
.tree_children.collapsed {max-height: 0; transition: max-height 0.3s ease;}
.tree_child {flex: 1;}
.tree_child.leaf .tree_item {padding: 12px 16px 12px 40px; background: #fff; border-bottom: 1px solid #f0f0f0;}
.tree_item {display: flex; align-items: center; padding: 0;}
.tree_item.level-3 {padding-left: 80px;}
.tree_item.level-3 .header_content {gap: 12px;}
/* 틀린 답 요약 */
.wrong_answers_summary {padding: 12px 20px; background: #fff5f5; border-left: 3px solid #ff6b6b; margin: 8px 0;}
.wrong_cat2_list {display: flex; flex-wrap: wrap; gap: 12px;}
.wrong_cat2_item {display: inline-flex; align-items: center; gap: 8px; background: white; padding: 6px 12px; border-radius: 4px; border: 1px solid #ffcdd2; font-size: 13px;}
.cat2_name {font-weight: 600; color: #333; min-width: fit-content;}
.wrong_count {color: #d32f2f; font-weight: 600;}
.wrong_rate {color: #999; font-size: 12px;}

/* 반응형 */
@media screen and (max-width: 768px) {
    .header_content {gap: 8px;}
    .cat_stats {gap: 4px;}
    .score {font-size: 12px;}
    .percent {font-size: 12px;}
    .level {padding: 3px 6px; font-size: 10px;}
    
    .wrong_answers_summary {padding: 10px 15px;}
    .wrong_cat2_list {gap: 8px;}
    .wrong_cat2_item {padding: 4px 8px; font-size: 12px;}
    .wrong_count, .wrong_rate {font-size: 11px;}
}

/* 시험 정보 */
.exam_info {padding: 20px 25px; background: #f8f8f8; border-bottom: 1px solid #d5d5d5;}
.exam_info p {margin: 8px 0; font-size: 15px; color: #333;}
.exam_info p strong {font-weight: 600; color: #333; margin-right: 10px;}

.search_result {background: #f7faff; border-top: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; padding: 35px 0; margin: 0 0 33px;}
.search_result p {text-align: center; font-size: 24px; font-weight: 600;}
.search_go {width: 13%;}
.search_go a {font-size: 16px; background: #e6e6e6; border-radius: 22px; padding: 0 33px; line-height: 44px; display: inline-block;}

/* 달력 */
.month_wrap {}
.month_wrap .top {position: relative; margin: 0 0 15px;}
.month_wrap .top .month_ctrl {display: inline-block; vertical-align: middle; padding: 0 8px; font-size: 0;}
.month_wrap .top .month_ctrl button {background-repeat: no-repeat; background-position: center; background-size: 14px 21px; width: 14px; height: 21px; font-size: 0;}
.month_wrap .top .month_ctrl .btn_prev {background-image: url(../../img/ico/ico_month_prev.png);}
.month_wrap .top .month_ctrl .btn_next {background-image: url(../../img/ico/ico_month_next.png);}
.month_wrap .top .month_ctrl strong {display: inline-block; vertical-align: middle; font-size: 30px; font-weight: 800; margin: 0 30px;}

.month_wrap .top ul {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.month_wrap .top ul li {display: inline-block; margin-right: 44px;}
.month_wrap .top ul li:last-child {margin-right: 0;}
.month_wrap .top ul li span {font-size: 16px; font-weight: 500; position: relative; padding-left: 13px;}
.month_wrap .top ul li span:after {content: ''; width: 7px; height: 7px; border-radius: 50%; position: absolute; left: 0; top: 6px;}

.month_wrap .top ul li.color_sky span:after {background: #67b4e1;}
.month_wrap .top ul li.color_purple span:after {background: #6e00cc;}
.month_wrap .top ul li.color_green span:after {background: #33cc00;}
.month_wrap .top ul li.color_ocher span:after {background: #cca300;}
.month_wrap .top ul li.color_blue span:after {background: #304ed1;}
.month_wrap .top ul li.color_gray span:after {background: #7e7e7e;}
.month_wrap .top ul li.color_black span:after {background: #101010;}
.month_wrap .top ul li.color_dark_gray span:after {background: #4a4a4a;}
.month_wrap .top ul li.color_orange span:after {background: #ff7474;}
.month_wrap .top ul li.color_pink span:after {background: #d1309e;}

.default_list.month_cont {}
.default_list.month_cont table {width: 100%; table-layout: fixed;}
.default_list.month_cont th,
.default_list.month_cont td {width: 14.28%; font-weight: 600; padding: 20px 10px; box-sizing: border-box; text-align: left; vertical-align: top; word-break: break-word; position: relative;}
.default_list.month_cont td > div {position: relative; overflow: visible;}

.default_list.month_cont th {background: #f8f8f8; padding-left: 26px;}
.default_list.month_cont th strong.red {color: #cc0000; margin-left: 20px;}

.default_list.month_cont .date_gray {color: #999;}
.default_list.month_cont .date_gray .day {color: #999;}
.default_list.month_cont td > div {min-height: 200px; overflow: visible;}
.default_list.month_cont td .day {font-size: 16px; color: #000;  text-align: left;}
.default_list.month_cont td span {font-size: 12px; color: #fff; border-radius: 15px; margin: 0 0 5px; display: block; text-align: center; padding: 3px 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; cursor: default;}
.default_list.month_cont td span:last-child {margin: 0; }
.default_list.month_cont td span .link-icon {font-size: 10px; line-height: 1; vertical-align: middle; display: inline-block; margin-left: 3px;}
span[data-tooltip] {position: relative;}
span[data-tooltip]:hover {overflow: visible !important;}
span[data-tooltip]:hover::after {content: attr(data-tooltip) !important; position: absolute !important; bottom: calc(100% + 10px) !important; left: 50% !important; transform: translateX(-50%) !important; background: #333 !important; color: #fff !important; padding: 8px 14px !important; border-radius: 6px !important; white-space: pre-wrap !important; word-wrap: break-word !important; z-index: 999999 !important; font-size: 13px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.3) !important; pointer-events: none !important; max-width: 800px !important; min-width: 150px !important; display: block !important; line-height: 1.4 !important; width: auto !important;}
span[data-tooltip]:hover::before {content: '' !important; position: absolute !important; bottom: calc(100% + 4px) !important; left: 50% !important; transform: translateX(-50%) !important; border: 6px solid transparent !important; border-top-color: #333 !important; z-index: 999999 !important; pointer-events: none !important; display: block !important;}

.default_list.month_cont span.color_sky {background: #67b4e1;}
.default_list.month_cont span.color_purple {background: #6e00cc;}
.default_list.month_cont span.color_green {background: #33cc00;}
.default_list.month_cont span.color_ocher {background: #cca300;}
.default_list.month_cont span.color_blue {background: #304ed1;}
.default_list.month_cont span.color_gray {background: #7e7e7e;}
.default_list.month_cont span.color_black {background: #101010;}
.default_list.month_cont span.color_orange {background: #ff7474;}
.default_list.month_cont span.color_pink {background: #d1309e;}

/* 클릭 가능한 이벤트 스타일 */
.clickable-event { cursor: pointer; transition: opacity 0.2s ease;}
.clickable-event:hover { opacity: 0.8;}

/* 정기휴무 날짜 배경 스타일 */
.regular-holiday-bg {background-color: #f8f8f8 !important;}

/* 링크 아이콘 스타일 */
.link-icon { font-size: 0.8em; color: white; }

/* 클리닉/상담/수업 신청 팝업 */
.program_options label {display: block; font-size: 16px; font-weight: 500; line-height: 1.5; cursor: pointer; padding: 10px 0;}
.program_options label span {word-break: break-word;}
.program_options label span.deadline-text {font-size: 13px; color: #999; margin-left: 5px;}
.program_options input[type="checkbox"] {vertical-align: middle; width: 18px; height: 18px; cursor: pointer; margin-right: 10px;}
.program_options > div.is-ended label {color: #999; cursor: not-allowed;}
.program_options > div.is-ended label span {color: #999;}
.program_options > div.is-ended input[type="checkbox"] {cursor: not-allowed; opacity: 0.5;}

/* 설명회 신청 레이어 */
.layer_briefing .pop_wrap {max-width:605px;}
.layer_briefing .pop_wrap .pop_cover .tit span {background: url(../../img/ico/ico_briefing.png) no-repeat left center/21px 20px; padding-left: 33px;}
.layer_briefing .top {font-size: 16px;}
.layer_briefing .top > strong {font-weight: 800; display: block; margin: 0 0 8px;}
.layer_briefing .top > strong span {font-size: 19px; color: #ff9900; font-weight: 400; margin-right: 3px;}
.layer_briefing .top > p {font-size: 14px; color: #9b1200; }

.layer_briefing .briefing_chk {margin: 20px 0 0;}
.layer_briefing .briefing_chk ul {}
.layer_briefing .briefing_chk ul li {margin-bottom: 5px;}
.layer_briefing .briefing_chk ul li:last-child {margin-bottom: 0;}
.layer_briefing .briefing_chk label {font-size: 16px;}
.layer_briefing .briefing_chk label strong {}
.layer_briefing .briefing_chk label span.red {font-weight: 400; color: #cc0000; margin-left: 3px;}

.layer_briefing .briefing_chk label.disabled,
.layer_briefing .briefing_chk label.disabled strong {color: #999999;}

.layer_briefing .input_area {margin: 20px 0 0;}
.layer_briefing .input_area .input_wrap {margin-bottom: 20px;}
.layer_briefing .input_area .input_wrap:last-child {margin-bottom: 0;}
.layer_briefing .input_area .input_wrap label {display: block; font-size: 16px; font-weight: 800;}
.layer_briefing .input_area .input_wrap > label {margin: 0 0 8px;}
.layer_briefing .input_area .input_wrap label span {font-size: 19px; color: #ff9900; font-weight: 400; margin-right: 3px;}
.layer_briefing .input_area .input_wrap input {background: #f6f6f6; width: 100%; height: 45px; border: 1px solid #d5d5d5; border-radius: 16px; padding: 0 22px; box-sizing: border-box; font-size: 14px;}

.layer_briefing .input_area .input_wrap ul {}
.layer_briefing .input_area .input_wrap ul li {display: inline-block; margin-right: 20px;}
.layer_briefing .input_area .input_wrap ul li:last-child {margin-right: 0;}
.layer_briefing .input_area .input_wrap ul li label {font-weight: 400;}

.layer_briefing .input_area .input_wrap .agreement_info {margin: 0 0 8px;}
.layer_briefing .input_area .input_wrap .agreement_info > div {background: #f6f6f6; border: 1px solid #d5d5d5; border-radius: 16px; padding: 10px 15px; box-sizing: border-box; font-size: 14px; max-height: 170px; overflow-y: auto;}
.layer_briefing .input_area #inquiry_title .agreement_info > div {padding: 0; background: transparent; border: none; max-height: none; overflow-y: visible;}
.layer_briefing .input_area .input_wrap .inquiry_desc {font-size: 13px; margin: 5px 0 8px; padding: 0;}
.layer_briefing .input_area .input_wrap textarea {background: #fff; width: 100%; height: 120px; border: 1px solid #d5d5d5; border-radius: 16px; padding: 15px 22px; box-sizing: border-box; font-size: 14px; resize: none; font-family: inherit;}
.layer_briefing .input_area .input_wrap textarea::placeholder {color: #999; font-size: 13px;}

/* 갤러리 리스트 */
.gallery_list {margin-top: 85px;}
.gallery_list > ul {font-size: 0; margin: -100px 0 100px;}
.gallery_list > ul > li {display: inline-block; vertical-align: top; width: calc((100% - 50px)/3); margin-right: 25px; margin-top: 100px;}
.gallery_list > ul > li:nth-child(3n) {margin-right: 0;}
.gallery_list > ul > li .img_box {margin: 0 0 10px;}
.gallery_list > ul > li .img_box a {display: block; font-size: 0; overflow:hidden; position:relative; width:100%; height:0; padding-bottom:100%; line-height:0;}
.gallery_list > ul > li .img_box a img {border-radius: 16px; position:absolute;top:0;bottom:0;left:0;right:0;width:100%; height:100%; box-sizing:border-box;}

.gallery_list > ul > li .txt_box {font-size: 16px;}
.gallery_list > ul > li .txt_box strong {display: block;}
.gallery_list > ul > li .txt_box p {color: #666;}

/* OMR 제출 */
.omr_top {}
.omr_top .btn_omr_write {background: #93e4fb; border-radius: 38px; width: 330px; display: block; margin: 0 auto;}
.omr_top .btn_omr_write span {display: inline-block; background: url(../../img/ico/ico_omr_write.png) no-repeat left center/28px; padding-left: 48px; color: #fff; font-size: 24px; font-weight: 800; line-height: 77px;}

/* 질문 작성 버튼 */
.brd_cont {position: relative;}
.btn_question_write {background: #3096d1; border-radius: 20px; width: 150px; height: 40px; display: block; margin: 0 0 20px auto; text-align: center; text-decoration: none; border: 0;}
.btn_question_write span {display: inline-block; background: url(../../img/ico/ico_omr_write.png) no-repeat left center/18px; padding-left: 28px; color: #fff; font-size: 16px; font-weight: 700; line-height: 40px;}

.omr_filter {font-size: 0; background: #f7faff; border: 1px solid #d8d8d8; border-radius: 17px; position: relative; padding: 80px 0 35px; margin: 20px 0 70px;}
.omr_filter > div {width: 1250px; margin: 0 auto;}
.omr_filter .half {display: inline-block; vertical-align: top; width: 50%; padding: 0 40px 0 0; box-sizing: border-box;}
.omr_filter .half:last-child {padding: 0 0 0 40px;}
.omr_filter .half strong {font-size: 18px; font-weight: 800; display: block; padding-left: 8px;}
.omr_filter .half p {font-size: 16px; padding-left: 8px; margin-bottom: 15px;}
.omr_filter .half select {width: 100%; height: 62px; box-sizing: border-box; font-size: 18px; color: #999; padding: 0 23px; border-radius: 16px; border: 1px solid #d5d5d5; background: #f6f6f6 url(../../img/ico/ico_select_arrow.png) no-repeat right 18px center/13px 11px; appearance: none; cursor: pointer;}
.omr_filter .btn_reader {position: absolute; top: 18px; right: 95px;}

.btn_reader {background: #333; border-radius: 26px; width: 110px;}
.btn_reader span {display: inline-block; /* background: url(../../img/ico/ico_reader.png) no-repeat left center/26px 16px; padding-left: 40px; */ color: #fff; font-size: 16px; line-height: 40px;}
.btn_reader.on {background: #999; cursor: not-allowed; pointer-events: none;}
.btn_reader.on span {/* background: url(../../img/ico/ico_reader_on.png) no-repeat left center/26px 16px; */ opacity: 0.7;}

.omr_cont {border: 1px solid #d5d5d5; border-radius: 20px; padding: 0 20px 50px; text-align: center; overflow-x: auto; box-sizing: border-box;}
.omr_cont .omr_box > ul {margin: 0 auto 45px; font-size: 0; display: table; width: 1250px; max-width: 100%;}
.omr_cont .omr_box > ul > li {display: table-cell; vertical-align: top; width: 250px; white-space: nowrap;}
.omr_cont .omr_box > ul > li .omr_list {border: 1px solid #d5d5d5; border-left: 0;}
.omr_cont .omr_box > ul > li:first-child .omr_list {border-left: 1px solid #d5d5d5;}

/* Responsive OMR columns */
@media screen and (min-width: 1250px) {
    .omr_cont .omr_box > ul {width: 1250px;} /* 5 columns x 250px = 50 questions */
}

@media screen and (min-width: 1000px) and (max-width: 1249px) {
    .omr_cont .omr_box > ul {width: 1000px;} /* 4 columns x 250px = 40 questions */
}

@media screen and (min-width: 900px) and (max-width: 999px) {
    .omr_cont .omr_box > ul {width: 750px;} /* 3 columns x 250px = 30 questions */
}

@media screen and (min-width: 600px) and (max-width: 899px) {
    .omr_cont .omr_box > ul {width: 500px;} /* 2 columns x 250px = 20 questions */
}

@media screen and (max-width: 599px) {
    .omr_cont .omr_box > ul {width: 250px;} /* 1 column x 250px = 5 questions */
}

/* 바코드 */
.omr_cont .black_square {padding-left: 72px; margin-bottom: 40px; text-align: left;}
.omr_cont .black_square ul {font-size: 0;}
.omr_cont .black_square ul li {display: inline-block; vertical-align: top; margin-right: 30px;}
.omr_cont .black_square ul li:last-child {margin-right: 0;}
.omr_cont .black_square ul li span {width: 8px; height: 19px; background: #000; display: inline-block;}

.omr_cont .marking_num {border-bottom: 1px solid #d5d5d5;}
.omr_cont .marking_num ul {padding-left: 55px; position: relative; font-size: 0; background: #fff9f2;}
.omr_cont .marking_num ul li {display: inline-block; font-size: 16px; font-weight: bold; text-align: center; width: 20%;}
.omr_cont .marking_num ul li:first-child {width: 55px; box-sizing: border-box; background: #fff1df; border-right: 1px solid #d5d5d5; position: absolute; left: 0; top: 0;}

.omr_cont .test_num {}
.omr_cont .test_num ul {padding: 0 0 0 55px; position: relative; font-size: 0;}
.omr_cont .test_num ul:first-child {}
.omr_cont .test_num ul:first-child li:first-child {padding-top: 18px;}
.omr_cont .test_num ul:first-child li {padding-top: 14px;}

.omr_cont .test_num ul:last-child {border-bottom: 1px solid #d5d5d5;}
.omr_cont .test_num ul:last-child li:first-child {padding-bottom: 18px;}
.omr_cont .test_num ul:last-child li {padding-bottom: 14px;}

.omr_cont .test_num:last-child ul:last-child {border-bottom: 0;}
.omr_cont .test_num ul li {display: inline-block; font-size: 16px; font-weight: bold; text-align: center; width: 20%; padding: 7px 0;}
.omr_cont .test_num ul li:first-child {width: 55px; box-sizing: border-box; background: #fff9f2; border-right: 1px solid #d5d5d5; position: absolute; left: 0; top: 0; padding: 11px 0;}
.omr_cont .test_num ul li span {font-size: 14px; font-weight: 400; border: 1px solid #d5d5d5; display: inline-block; border-radius: 5px; width: 30px; line-height: 30px; text-align: center; box-sizing: border-box; cursor: pointer; transition: all 0.2s ease;}
.omr_cont .test_num ul li span:hover {background: #f0f0f0; border-color: #ffb97a;}
.omr_cont .test_num ul li.on span {background: #ffb97a; color: #fff; border: 0;}

/* Disabled/placeholder questions */
.omr_cont .test_num ul.disabled li:first-child {color: #ccc;}
.omr_cont .test_num ul.disabled li span {background: #f5f5f5; color: #ccc; border-color: #e5e5e5; cursor: not-allowed;}
.omr_cont .test_num ul.disabled li span:hover {background: #f5f5f5; border-color: #e5e5e5;}

.btn_submit.omr {border-radius: 38px; background: #ffb97a; width: 330px; text-align: center;}
.btn_submit.omr span {display: inline-block; background: url(../../img/ico/ico_submit.png) no-repeat left center/21px 24px; padding-left: 33px; font-size: 24px; font-weight: 800; line-height: 77px;}

/* 글쓰기 */
.qa_write_wrap {}
.qa_write_wrap.mt110 {margin-top: 110px;}
.qa_write_wrap .top {padding: 0 14px; position: relative; margin: 0 0 10px;}
.qa_write_wrap .top strong {font-size: 20px; font-weight: 800;}
.qa_write_wrap .top span {font-size: 16px; color: #999; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding-left: 10px;}
.qa_write_wrap .top span:after {content: ''; width: 4px; height: 4px; background: #ff9900; border-radius: 50%; position: absolute; left: 0; top: 7px;}
.qa_write_wrap table {width: 100%; border-collapse: collapse; border-top: 3px solid #3096d1;}
.qa_write_wrap th,
.qa_write_wrap td {border-bottom: 1px solid #d5d5d5; font-size: 16px;}
.qa_write_wrap th {background: #f8f8f8;  padding: 20px 23px; text-align: left; font-weight: 800; width: 210px;}
.qa_write_wrap th span {color: #999; font-weight: 400; display: block;}
.qa_write_wrap th span .inline {display: block;}
.qa_write_wrap th .important {color: #000; font-weight: 800; padding-right: 10px; display: inline-block; position: relative;}
.qa_write_wrap th .important:after {content: ''; width: 4px; height: 4px; background: #ff9900; border-radius: 50%; position: absolute; right: 0; top: 7px;}

.qa_write_wrap td {}
.qa_write_wrap td .td_box {padding: 20px 23px;}
.qa_write_wrap td input[type="text"],
.qa_write_wrap td input[type="password"] {width: 100%; height: 43px; border-radius: 21px; background: #f8f8f8; border: 0; font-size: 14px; padding: 0 20px; box-sizing: border-box;}
.qa_write_wrap td textarea {border: 0; background: #f8f8f8; width: 100%; height: 300px; border-radius: 21px; resize: none; padding: 20px; box-sizing: border-box; font-size: 16px;}
.qa_write_wrap td .td_box select {width: 416px; height: 43px; box-sizing: border-box; font-size: 16px; padding: 0 20px; border-radius: 21px; border: 0; background: #f6f6f6 url(../../img/ico/ico_select_arrow.png) no-repeat right 18px center/13px 11px; appearance: none; cursor: pointer;}
.qa_write_wrap td .td_box select option {padding: 10px; font-size: 16px; background: #fff; color: #333;}
.qa_write_wrap td .td_box select option:hover {background: #3096d1; color: #fff;}
.qa_write_wrap td .td_box select option:checked {background: #3096d1; color: #fff;}
.qa_write_wrap td .td_box .drop-down {width:100%; max-width: 416px;}
.qa_write_wrap td .td_box .drop-down .selected a {height: 40px; line-height: 43px; border-radius: 21px; padding: 0 20px; background: #f8f8f8 url(../../img/ico/ico_select_arrow.png) no-repeat right 18px center/13px 11px; border: 0; font-size: 14px;}
.qa_write_wrap td .td_box .drop-down .options ul li a {font-size: 14px;}
.qa_write_wrap td .td_box .drop-down .options ul li a:hover {background: #3096d1;}

/* 휴대폰 인증 박스 (테이블 내부) */
.qa_write_wrap td .td_box.auth_box {
    display: flex;
    flex-direction: column;
}

.qa_write_wrap td .td_box.auth_box .auth_input_wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group input[type="text"] {
    flex: 1;
    height: 43px;
    border-radius: 21px;
    border: 0;
    background: #f8f8f8;
    padding: 0 20px;
    font-size: 14px;
    box-sizing: border-box;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group input[type="text"]:focus {
    outline: none;
    border: 0;
    background: #f8f8f8;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_send,
.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify {
    height: 43px;
    padding: 0 20px;
    border-radius: 21px;
    border: 0;
    background: #3096d1;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    width: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_send:hover,
.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify:hover {
    background: #2678a8;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_send:disabled,
.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify:disabled {
    background: #adb5bd;
    cursor: not-allowed;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify.verified {
    background: #555;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify.verified:hover {
    background: #555;
}

.qa_write_wrap td .td_box.auth_box .auth_input_group .btn_auth_verify .auth_timer {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.temporary_id {}
.temporary_id span {font-size: 16px; color: #999; display: inline-block; margin-left: 60px;}
.qa_write_wrap td input[type="password"].guest_pw {width: 416px;}

.qa_write_wrap td .file_upload {}
.qa_write_wrap td .file_upload .insert {}
.qa_write_wrap td .file_upload .insert label {border: 1px solid #d5d5d5; background: #f8f8f8; border-radius: 17px; width: 100px; line-height: 35px; display: inline-block; text-align: center; cursor: pointer; margin-right: 15px;}
.qa_write_wrap td .file_upload .insert label span {display: inline-block; background: url(../../img/ico/ico_detail.png) no-repeat right center/8px 12px; padding-right: 20px; font-size: 14px;}
.qa_write_wrap td .file_upload input[type="file"] {display: none;}

.qa_write_wrap td .file_upload .td_box {padding: 23px;}
.qa_write_wrap td .file_upload .td_box > span,
.qa_write_wrap td .file_upload .td_box p {color: #999;}
.qa_write_wrap td .file_upload .td_box p {margin-top: 14px;}
.qa_write_wrap td .file_upload .td_box p:last-child {margin-top: 0;}
.qa_write_wrap > p {margin: 20px 0 0 40px; font-size: 16px; color: #999;}

.file-list {display: none; border-top: 1px solid #d5d5d5;}
.file-list.show {display: block;}
.file-list #fileList li {padding: 10px 32px; margin-bottom: 10px; display: block;}
.file-list #fileList li:first-child {padding-top: 20px;}
.file-list #fileList li:last-child {padding-bottom: 20px; margin-bottom: 0;}
.file-list #fileList .file-number {display: inline-block; vertical-align: middle; margin-left: 10px; width: calc(100% - 40px); text-overflow: ellipsis; overflow: hidden; font-size: 16px;}
.file-list #fileList .delete-file {display: inline-block; vertical-align: middle; font-size: 16px; color: #ff0000; cursor: pointer; font-weight: bold;}
.file-list .filebox {padding: 0 32px; margin-bottom: 10px; display: inline-block; width: 33.33%; box-sizing: border-box;}
.file-list .filebox:first-child {padding-top: 20px;}
.file-list .filebox:last-child {padding-bottom: 20px; margin-bottom: 0;}
.file-list .filebox .delete {display: inline-block; vertical-align: middle; font-size: 0; background: url(../../img/ico/upload_delete.png) no-repeat center/21px; width: 21px; height: 21px;}
.file-list .filebox .name {display: inline-block; vertical-align: middle; margin-left: 10px; width: calc(100% - 40px); text-overflow: ellipsis; overflow: hidden;}

.info_change {}
.info_change .td_box {}
.info_change .td_box input[type="password"] {width: 530px;}
.info_change .td_box .gray_box {display: inline-block; font-size: 16px; color: #999; vertical-align: middle; margin-left: 35px;}

/* 회원탈퇴 */
.hack_out {}
.hackout_txt {}
.hackout_txt p {font-size: 16px; color: #666; margin-bottom: 8px;}
.hackout_txt p:last-child {margin-bottom: 0;}

ul.hackout_chk {margin-top: -20px;}
ul.hackout_chk li {display: inline-block; vertical-align: top; width: 35%; font-size: 16px; color: #666; margin-top: 20px;}
ul.hackout_chk li:last-child {width: 100%;}
ul.hackout_chk li input[type="text"] {position: static; visibility: visible; width: calc(100% - 64px); margin-left: 10px;}
.hack_out .qa_write_wrap td textarea {height: 190px;}

/* 강사 채용 */
.brd_cont .hire_cont {}
.brd_cont .hire_cont .img_box {font-size: 0;}
.brd_cont .hire_cont .img_box img {width: 100%;}

.brd_cont .hire_cont .bt_txt {background: #f5f5f5; padding: 20px 15px;}
.brd_cont .hire_cont .bt_txt strong {font-size: 20px; font-weight: 700; display: block; padding: 0 0 8px;}
.brd_cont .hire_cont .bt_txt p {font-size: 18px; position: relative; padding-left: 20px; word-break: keep-all;}
.brd_cont .hire_cont .bt_txt p span {position: absolute; left: 0; top: 0;}

/* select custom */
.drop-down {position: relative;}
.drop-down-1 {z-index: 1;}
.drop-down .selected a {display: block; width: 100%; height: 45px; line-height: 45px; box-sizing: border-box; font-size: 14px; color: #999; padding: 0 23px; border-radius: 16px; border: 1px solid #d5d5d5; background: #f6f6f6 url(../../img/ico/ico_select_arrow.png) no-repeat right 18px center/13px 11px; appearance: none; cursor: pointer;}
.drop-down .selected a span {cursor: pointer; display: block; color: #999; transition: color 0.2s ease;}
.drop-down .selected a span.selected-text {color: #333;}
.drop-down .options ul {background: #fff; display: none; position: absolute; top: calc(100% + 1px); left: 0; width: 100%; box-sizing: border-box; border: 1px solid #d5d5d5; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); z-index: 10; flex-direction: column; margin: 0; padding: 0; list-style: none;}
.drop-down .options ul li {display: block !important; width: 100%; margin: 0; padding: 0;}
.drop-down .options ul li a {display: block; text-decoration: none; box-sizing: border-box; padding: 10px 18px; font-size: 14px; color: #333; border-bottom: 1px solid #f0f0f0; transition: background 0.2s ease; width: 100%;}
.drop-down .options ul li a:hover {background: #f8f8f8;}
.drop-down .options ul li:first-child a {border-radius: 10px 10px 0 0;}
.drop-down .options ul li:last-child a {border-radius: 0 0 10px 10px; border-bottom: none;}

/* 자녀 선택 드롭다운 - 위로 펼치기 */
.drop-down-student .options ul {
    top: auto;
    bottom: calc(100% + 1px);
}
.drop-down-student .options ul li:first-child a {border-radius: 0 0 10px 10px;}
.drop-down-student .options ul li:last-child a {border-radius: 10px 10px 0 0;}

/* 첨부파일 목록 */
.mobile-file {display: none;}

@media screen and (max-width: 1440px) {
    .brd_cont {padding: 40px 20px 0;}
    .brd_cont h3 {font-size: clamp(24px, 4vw, 30px);}
    .brd_cont h3 span {font-size: clamp(14px, 2vw, 16px);}

    .filter_wrap .filter_sort {padding: 20px 150px 20px 30px;}
    .filter_wrap .filter_sort dl {margin-top: 15px;}
    .filter_wrap .filter_sort dl dt {display: block; padding: 0 0 5px;}
    .filter_wrap .filter_sort dl dd {display: block; padding: 0;}

    .month_wrap .top .month_ctrl {display: block; margin: 0 auto 20px; text-align: center;}
    .month_wrap .top ul {position: static; transform: unset; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 8px; text-align: left; padding: 0 10px; margin-top: 15px;}
    .month_wrap .top ul li {display: block; margin: 0;}
    .month_wrap .top ul li span {font-size: 14px;}
    .month_wrap .top ul li.color_ocher {grid-column: span 2;}
    .default_list.month_cont th strong.red {display: block; margin: 0;}
    .default_list.month_cont td > div {min-height: 150px;}

    .omr_filter > div  {width: 100%; padding: 0 30px; box-sizing: border-box;}
    .omr_filter .half,
    .omr_filter .half:last-child {padding: 0 50px;}
    .info_change .td_box .gray_box {display: block; margin: 8px 0 0;}
    .omr_cont {padding: 0 20px 50px;}
    
    /* Responsive table */
    .default_list table th,
    .default_list table td {font-size: clamp(14px, 1.5vw, 16px); padding: clamp(15px, 2vw, 23px) 10px;}
}

/* Medium tablets and smaller */
@media screen and (max-width: 1100px) {
    .brd_cont {padding: 30px 15px 0;}

    .omr_filter .half {width: 100%; display: block; margin-bottom: 30px;}
    .omr_filter .half:last-child {margin-bottom: 0;}

    .gallery_list {margin-top: 40px;}
    .gallery_list > ul {margin-top: -50px}
    .gallery_list > ul > li {width: calc((100% - 20px)/2); margin-right: 20px; margin-top: 50px;}
    .gallery_list > ul > li:nth-child(2n) {margin-right: 0;}
    .gallery_list > ul > li:nth-child(3n) {margin-right: 20px;}

    .temporary_id span {display: block; margin: 0;}
    .qa_write_wrap th {width: 30%; padding: 0 20px;}
    .info_change .td_box input[type="password"] {width: 100%;}
    .qa_write_wrap.mt110 th {width: 25%;}

    .search_go {width: 17%;}

    .search_cate {border-radius: 20px; padding: 8px;}
    .search_cate ul {display: block; font-size: 0;}
    .search_cate ul li {width: 33.33%; display: inline-block; vertical-align: top;}
    .search_cate ul li button {height: 50px; font-size: clamp(14px, 1.8vw, 16px);}
    
    /* Responsive filter buttons */
    .filter_wrap .filter_sort dl dd ul li span {font-size: clamp(13px, 1.6vw, 16px); padding: 0 15px;}
}

/* Tablets and large phones */
@media screen and (max-width: 800px) {
    .brd_cont {padding: 25px 15px 0;}
    
    .mo_table {display: block;}
    .default_list .pc_table {display: none;}

    .mo_table {overflow: visible;}
    .mo_table > ul {border-top: 1px solid #d5d5d5;}
    .mo_table > ul > li {padding: 15px 0; border-bottom: 1px solid #d5d5d5; position: relative;}
    .mo_table > ul > li.notice {background: #f8f8f8;}
    .mo_table > ul > li ul {font-size: 0; margin: 0 0 6px;}
    .mo_table > ul > li ul li {display: inline-block; position: relative; font-size: 13px; margin-right: 5px; padding-right: 5px; vertical-align: middle;}
    .mo_table > ul > li ul li:last-child {margin-right: 0; padding-right: 0;}
    .mo_table > ul > li ul li:after {content: ''; width: 1px; height: 8px; background: #d5d5d5; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
    .mo_table > ul > li ul li:last-child:after {display: none;}
    .mo_table > ul > li ul li .ico_notice {display: block; background: url(../../img/ico/ico_alarm.png) no-repeat center / 65px 27px; font-size: 0; width: 65px; height: 27px; margin: 0 auto;}
    .mo_table > ul > li ul li .ico_notice.org {background: url(../../img/ico/ico_notice.png) no-repeat center/17px 20px; width: 20px; height: 20px;}
    .mo_table > ul > li .btn_file {display: inline-block; vertical-align: middle; width: 23px; height: 20px; background: url(../../img/ico/ico_file.png) no-repeat center/23px 20px; font-size: 0; margin-left: 6px;}
    .mo_table .btn_reader {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
    .mo_table.btn_tbl > ul > li {padding-right: 170px;}
    .mo_table.btn_tbl.sm > ul > li {padding-right: 80px;}

    /* 문의내역 리스트 - 답변 상태 버튼 */
    /* 답변대기 */ .default_list .answer_mod.wait {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
    /* 답변중 */ .default_list .answer_mod.replying {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
    /* 답변종료 */ .default_list .answer_mod.end {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}

    .mo_table > ul > li p {font-size: 13px;}
    .mo_table > ul > li .tbl_tit {font-weight: bold; font-size: 14px; padding: 2px 0;}
    .ban_learning ~ .brd_cont .mo_table > ul > li .tbl_tit {max-width: calc(100% - 70px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
    .mo_table > ul > li .tbl_tit .file {display: inline-block; vertical-align: middle; width: 23px; height: 20px; background: url(../../img/ico/ico_file.png) no-repeat center/23px 20px; font-size: 0; margin-left: 6px;}
    .mo_table > ul > li .date {}
    .mo_table > ul > li .date span {color: #999; padding-left: 3px;}

    /* 모바일 주단위 달력 스타일 */
    .mo_table .week-group {margin-bottom: 20px;}
    .mo_table .week-days {display: flex; flex-direction: column; gap: 8px; list-style: none; padding: 0; margin: 0;}
    .mo_table .week-days li {background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 12px 15px; display: flex; flex-direction: row; align-items: center; gap: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); overflow: visible;}
    .mo_table .week-days li .date-info {display: flex; flex-direction: column; align-items: center; min-width: 45px; flex-shrink: 0;}
    .mo_table .week-days li .date-info p {font-size: 13px; margin: 0; padding: 0; color: #666;}
    .mo_table .week-days li .date-info p.num {font-weight: bold; font-size: 22px; margin-bottom: 2px; color: #000;}
    .mo_table .week-days li .date-info p.num.date_gray {color: #999;}
    .mo_table .week-days li .date-info p strong.red {color: #cc0000;}
    .mo_table .week-days li .events {flex: 1; display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; align-content: flex-start; overflow: visible;}
    .mo_table .week-days li.regular-holiday-bg {background: #f5f5f5;}
    .mo_table .week-days li .events > span {font-size: 12px; color: #fff; padding: 6px 12px; border-radius: 15px; display: inline-block; text-align: center; line-height: 1.4; font-weight: 500; box-shadow: 0 1px 2px rgba(0,0,0,0.1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 70px; max-width: 180px; flex-shrink: 0; position: relative;}
    .mo_table .week-days li .events > span.clickable-event {cursor: pointer; transition: all 0.2s ease;}
    .mo_table .week-days li .events > span.clickable-event:active {transform: scale(0.98); box-shadow: 0 1px 1px rgba(0,0,0,0.15);}
    .mo_table .week-days li .events > span .link-icon {font-size: 10px; line-height: 1; vertical-align: middle; display: inline-block; margin-left: 3px; opacity: 0.9;}
    .mo_table .week-days li .events > span[data-tooltip].show-tooltip {overflow: visible !important;}
    .mo_table .week-days li .events > span[data-tooltip].show-tooltip::after {content: attr(data-tooltip) !important; position: absolute !important; bottom: calc(100% + 8px) !important; left: 50% !important; transform: translateX(-50%) !important; background: #333 !important; color: #fff !important; padding: 8px 12px !important; border-radius: 6px !important; white-space: pre-wrap !important; word-wrap: break-word !important; z-index: 999999 !important; font-size: 12px !important; box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important; pointer-events: none !important; max-width: 400px !important; min-width: 200px !important; line-height: 1.4 !important; display: block !important;}
    .mo_table .week-days li .events > span[data-tooltip].show-tooltip::before {content: '' !important; position: absolute !important; bottom: calc(100% + 2px) !important; left: 50% !important; transform: translateX(-50%) !important; border: 6px solid transparent !important; border-top-color: #333 !important; z-index: 999999 !important; pointer-events: none !important; display: block !important;}

    .default_list.month_cont .month_list li > span {font-size: 12px; color: #fff; padding: 0 2.5px; border-radius: 4px; display: inline-block; margin: 0 3px 3px 0; text-align: center; min-width: 70px;}
    
    .search_wrap {width: 100%;}

    .filter_wrap {margin: 0 0 30px;}
    .filter_wrap .btn_filter {display: block; margin: 10px auto 5px; padding-top: 30px; background-size: 20px auto;}
    .filter_wrap .filter_sort {display: block; margin: 0 auto; border: 0; width: 100%; padding: 20px 10px; border-radius: 0 0 17px 17px;}
    .filter_wrap .filter_sort dl {font-size: 14px;}
    .filter_wrap .filter_sort dl dd ul {margin-top: -10px;}
    .filter_wrap .filter_sort dl dd ul li {margin-right: 10px; margin-top: 10px;}
    .filter_wrap .filter_sort dl dd ul li span {padding: 0 15px; line-height: 30px; font-size: 12px;}

    .filter_wrap .btn_clear,
    .filter_wrap .btn_clear.vertical {position: static; transform: unset; display: block; margin: 20px auto 0; width: 150px; height: 35px; border-radius: 30px; padding: 0;}
    .filter_wrap .btn_clear span {font-size: 12px; padding: 0 0 0 25px; background: #fff url(../../img/ico/ico_reset.png) no-repeat left center/20px 19px;}

    .search_wrap {padding: 0 10px;}
    .search_wrap > div strong {font-size: 14px; width: 80px;}
    .search_wrap .input_wrap input {width: calc(100% - 48px); height: 50px; font-size: clamp(14px, 2vw, 16px); padding-left: 15px;}
    .search_wrap .input_wrap .btn_search {width: 26px; height: 26px; background-size: 25px; right: 15px;}
    .search_wrap .input_wrap .btn_clear {right: 50px;}

    .qa_write_wrap th {width: 30%;}
    .qa_write_wrap td .td_box select,
    .qa_write_wrap td input[type="password"].guest_pw {width: 100%;}
    .qa_write_wrap th span .inline {display: inline; word-break:keep-all;}

    .default_list .answer_mod {font-size: 13px; width: 60px; line-height: 25px; margin: 0 0 5px;}

    .view_wrap .view_top .select_cate .answer_box > span {font-size: 13px; width: 60px; line-height: 25px; margin: 0;}
    .search_go {width: 100%; margin: 5px 0 0;}
    .search_go a {padding: 0 15px; line-height: 30px; font-size: 14px;}

    .search_cate ul li button {height: 40px; font-size: 14px;}
}

/* Small tablets and large phones */
@media screen and (max-width: 700px) {
    .filter_wrap .filter_sort {padding: 15px 10px;}
    .filter_wrap .btn_clear {right: 10px; width: 80px; height: 80px;}
    
    .qa_write_wrap th {width: 100%; display: block; padding: 15px 0px 5px;}
    .qa_write_wrap td {display: block; width: 100%;}
    .qa_write_wrap td .td_box {padding: 10px;}
    
    .view_wrap .view_top .view_tit h3 {font-size: clamp(16px, 3vw, 18px);}
    
    .pagination ul {padding: 0 10px; margin: 0 5px;}
    .pagination ul li a {width: 28px; height: 28px; line-height: 26px; font-size: clamp(12px, 2.5vw, 14px);}
    
    /* 시험 결과 태블릿 반응형 */
    .score_box {grid-template-columns: repeat(2, 1fr);}
    .score_item .value.grade {font-size: 15px; padding: 2px 10px; min-width: 55px;}
    .question_grid {grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));}
    .category_list {grid-template-columns: repeat(2, 1fr);}
}

/* Mobile phones */
@media screen and (max-width: 550px) {
    .brd_cont {padding: 20px 10px 0;}
    .brd_cont h3 {font-size: clamp(20px, 5vw, 24px); margin: 0 0 20px;}
    .brd_cont h3 span {font-size: clamp(13px, 3vw, 14px); word-break: keep-all;}

    .view_wrap .view_top .view_tit {display: flex; flex-direction: column; padding: 12px 15px;}
    .view_wrap .view_top .view_tit h3 {line-height: 1.4; padding: 0; font-size: 16px; margin-bottom: 8px;}
    .view_wrap .view_top .view_tit .date {position: static; transform: none; font-size: 11px; line-height: 1.3; word-break: keep-all; text-align: right;}
    .view_wrap .view_top .select_cate {padding: 15px;}
    .view_wrap .view_top .select_cate ul li {margin-right: 10px;}
    .view_wrap .view_top .select_cate ul li span {font-size: 12px; padding: 0 15px; line-height: 26px;}

    .view_wrap .view_top .my_list {padding: 15px;}

    .upload_file {padding: 15px; position: relative;}
    .upload_file > strong {font-size: 13px; padding-right: 30px;}
    .upload_file .upload_list {margin: 5px 0 0; position: static; display: block;}
    .upload_file .upload_list .upload_open {line-height: 26px; padding: 0 8px;}
    .upload_file .upload_list .upload_open span {font-size: 12px;}
    .upload_layer {top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-height: 350px; overflow-y: auto;padding: 0 15px; border-radius: 12px; z-index: 1;}
    .upload_layer h3 {font-size: 14px; margin: 0; line-height: 35px;}
    .upload_layer ul {padding: 5px 0;}
    .upload_layer ul li {padding: 5px 0;}
    .upload_layer ul li a {font-size: 13px;}
    .upload_layer .btn_close {top: 10px; right: 15px;}
    .layer_bg {position: fixed; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, .4);}

    .pagination ul {padding: 0 15px; margin: 0 10px;}
    .pagination ul li {margin-right: 0;}
    .pagination ul li a {width: 24px; height: 24px; line-height: 22px; font-size: 13px;}

    .omr_cont {padding: 0 15px 30px;}
    .omr_top .btn_omr_write {width: clamp(180px, 40vw, 200px); }
    .omr_top .btn_omr_write span {font-size: clamp(18px, 3.5vw, 20px); line-height: 50px;}
    .btn_submit.omr {width: 100%; max-width: 400px; margin: 0 auto;}
    
    .default_list table td.td_omr .btn_omr_write {width: clamp(90px, 20vw, 100px); border-radius: 15px;}
    .default_list table td.td_omr .btn_omr_write span {font-size: clamp(11px, 2vw, 12px); line-height: 30px; padding-left: 18px; background-size: 10px;}

    /* 질문 작성 버튼 모바일 */
    .btn_question_write {position: static; width: 140px; height: 40px; font-size: 14px; margin: 0 0 15px auto; display: block;}
    .btn_question_write span {font-size: 14px; line-height: 40px; padding-left: 24px; background-size: 16px;}

    .inner_tab ul li a {font-size: 14px; line-height: 24px; padding: 0 10px; border-radius: 6px;}

    .omr_filter {margin: 20px 0 30px;}
    .omr_filter .half {padding: 0;}
    .omr_filter .half:last-child {padding: 0;}
    .omr_filter .half strong {font-size: 15px;}
    .omr_filter .half p {font-size: 13px;}
    .omr_filter .half select {height: 45px; font-size: clamp(14px, 2.5vw, 15px); padding: 0 15px; border-radius: 12px; background-size: 11px 9px;}
    .omr_filter .btn_reader {margin: 15px auto 0; width: clamp(120px, 30vw, 140px); right: 30px;}
    .btn_reader span {line-height: 40px; font-size: clamp(14px, 2.5vw, 16px);}
    .btn_submit.omr span {font-size: clamp(16px, 3.5vw, 18px); line-height: 50px; padding-left: clamp(25px, 5vw, 33px); background-size: clamp(18px, 3.5vw, 21px) clamp(20px, 4vw, 24px);}
    
    /* 시험 결과 모바일 반응형 */
    .score_box {grid-template-columns: 1fr;}
    .score_item {padding: 15px;}
    .score_item .label {font-size: 13px; margin-bottom: 6px;}
    .score_item .value {font-size: 18px;}
    .score_item .value.grade {font-size: 14px; padding: 2px 8px; min-width: 50px;}
    .omr_cont .omr_box > ul {padding-right: 15px; display: block; width: 100%;}
    .omr_cont .omr_box > ul > li {display: block; width: 100%; margin-bottom: 30px;}
    .omr_cont .omr_box > ul > li:last-child {margin-bottom: 0;}
    .omr_cont .omr_box > ul > li .omr_list {border: 1px solid #d5d5d5;}
    .omr_cont .black_square {padding-left: clamp(15px, 3vw, 20px); margin-bottom: 20px;}
    
    /* Mobile OMR span touch-friendly */
    .omr_cont .test_num ul li span {min-width: 30px; min-height: 30px; line-height: 30px; font-size: 16px;}
    .omr_cont .test_num ul li span:hover {background: #ffb97a; color: #fff; border-color: #ffb97a;}

    .gallery_list > ul {margin-top: -20px}
    .gallery_list > ul > li {width: 100%; margin-right: 0; margin-top: 20px;}
    .gallery_list > ul > li:nth-child(3n) {margin-right: 0;}

    .btn_reader {width: 120px; margin: 0 0 5px;}
    .btn_reader span {line-height: 30px;}

    .select_cate {}
    .view_wrap .view_top .select_cate ul.inline_block {display: block; margin: 0 0 5px;}
    .view_wrap .view_top .select_cate .time_box {font-size: 14px; margin: 0;}
    .view_wrap .view_top .select_cate .time_box span {display: block; margin: 0 0 5px;}
    .view_wrap .view_top .select_cate .time_box dl {margin-right: 4px;}
    .view_wrap .view_top .select_cate .time_box dd {padding-left: 4px;}

    .qa_write_wrap th, .qa_write_wrap td {display: block; width: 100%; font-size: 13px;}
    .qa_write_wrap th {padding: 15px 0 8px; background: none; border: 0;}
    .qa_write_wrap td .td_box {padding: 0 0 15px; border-bottom: 1px solid #d5d5d5;}
    .qa_write_wrap td input[type="text"], .qa_write_wrap td input[type="password"] {padding: 0 15px; height: 40px; font-size: 13px;}
    .qa_write_wrap td textarea {font-size: 13px; height: 150px; padding: 20px 15px;}
    
    .layer_briefing .input_area .input_wrap label {font-size: 14px;}
    .layer_briefing .input_area .input_wrap label span {font-size: 14px;}
    .layer_briefing .input_area .input_wrap input {height: 40px; font-size: 13px; padding: 0 15px;}
    .layer_briefing .input_area .input_wrap .inquiry_desc {font-size: 12px; margin: 4px 0 6px;}
    .layer_briefing .input_area .input_wrap textarea {height: 100px; font-size: 13px; padding: 12px 15px;}
    .layer_briefing .input_area .input_wrap textarea::placeholder {font-size: 12px;}
    .layer_briefing .input_area .input_wrap .agreement_info > div {font-size: 12px; padding: 10px 12px; max-height: 150px;}
    .layer_briefing .input_area #inquiry_title .agreement_info > div {padding: 0; background: transparent; border: none; max-height: none;}
    .layer_briefing .briefing_chk label {font-size: 14px;}
    .layer_briefing .top > strong {font-size: 15px;}
    .layer_briefing .top > p {font-size: 13px;}
    
    .qa_write_wrap td .file_upload .td_box {padding: 0 0 10px;}
    .file-list .filebox {width: 100%; padding: 0;}
    .qa_write_wrap td .file_upload .insert label {line-height: 28px; width: 80px;}
    .qa_write_wrap td .file_upload .insert label span {font-size: 12px;}
    .file-list .filebox .name {text-overflow: unset; overflow: visible; word-break: break-all;}
    .temporary_id span {font-size: 14px;}

    .qa_write_wrap .top {padding: 0;}
    .qa_write_wrap .top strong {font-size: 16px;}
    .qa_write_wrap .top span {font-size: 13px; right: 0;}
    .info_change .td_box .gray_box {font-size: 13px;}
    .qa_write_wrap > p {margin-left: 0; font-size: 13px;}
    .hackout_txt p {font-size: 13px; margin-bottom: 4px;}
    ul.hackout_chk {margin-top: -10px;}
    ul.hackout_chk li {font-size: 13px; margin-top: 10px;}
    .hack_out .qa_write_wrap td textarea {height: 150px;}

    .search_result {padding: 20px 0; margin: 0 0 20px;}
    .search_result p {font-size: 18px;}
    .search_wrap > p {font-size: 14px;}

    .mo_table.btn_tbl > ul > li {padding-right: 130px;}
    .search_cate ul li {width: 50%;}
    .search_cate ul li button {height: 30px;}

    .brd_cont .hire_cont .bt_txt strong {font-size: 15px;}
    .brd_cont .hire_cont .bt_txt p {font-size: 13px; padding-left: 15px;}

    .drop-down .selected a {height: 40px; line-height: 40px; font-size: 13px; border-radius: 16px; padding: 0 15px;}
    .drop-down .options ul li a {font-size: 13px; padding: 9px 15px;}
    .view_cont {font-size: 13px;}

    /* 답변 영역 모바일 */
    .view_body-reply {margin-top: 20px;}
    .view_body-reply .reply-box {border-radius: 15px; border-width: 2px;}
    .view_body-reply .reply-head .view_tit h3 {font-size: 17px; padding: 14px 130px 14px 15px;}
    .view_body-reply .reply-head .view_tit .date {font-size: 13px; right: 15px;}
    .view_body-reply .reply-body {padding: 18px 15px; font-size: 14px; line-height: 1.7;}

    /* 첨부파일 목록 */
    .pc-file {display: none;}
    .mobile-file.hidden {display: none;}
    .mobile-file.visible {display: block;}
    .mobile-file.hidden.visible {display: block;}
    
    /* 시험 결과 반응형 */
    .score_box {grid-template-columns: repeat(2, 1fr); gap: 12px;}
    .score_item {padding: 15px; font-size: 13px;}
    .score_item .label {font-size: 13px; margin-bottom: 6px;}
    .score_item .value {font-size: 18px;}
    
    /* 등급 반응형 */
    .level_cut_section {padding: 25px 15px;}
    .level_cut_section h4 {font-size: 15px; margin: 0 0 15px;}
    .level_cut_table {font-size: 12px;}
    .level_cut_table th {padding: 10px 5px; font-size: 11px;}
    .level_cut_table td {padding: 12px 5px; font-size: 13px;}
    
    .question_results {padding: 25px 15px;}
    .question_header {flex-direction: column; align-items: flex-start; gap: 10px;}
    .question_header h4 {font-size: 15px;}
    .question_table {font-size: 11px;}
    .question_table th {padding: 8px 6px; font-size: 10px;}
    .question_table td {padding: 8px 6px; font-size: 10px;}
    .question_result {font-size: 11px;}
    .question_student_answer {font-size: 11px;}
    .category-cell {font-size: 10px;}
    .question_num {font-size: 11px;}
    
    .cat1 {display: table-cell;}
    .cat2, .cat3 {display: none;}/* CAT2, CAT3 모바일에서 숨김 */
    
    .category_list {grid-template-columns: 1fr; gap: 15px;}
    .category_header {flex-wrap: wrap; gap: 5px;}
    .category_name {font-size: 14px; min-width: 100%;}
    .category_score, .category_percent {font-size: 12px;}
    
    .score_summary, .question_results, .category_analysis, .level_cut_section {padding: 20px 15px;}
    .score_summary h4, .question_results h4, .category_analysis h4, .level_cut_section h4 {font-size: 15px; margin: 0 0 15px;}
    .exam_info {padding: 15px;}
    .exam_info p {font-size: 13px; margin: 6px 0;}
}

/* Tablet size (768-1024px) */
@media screen and (max-width: 1024px) {
    .level_cut_table {font-size: 12px;}
    .level_cut_table th {padding: 12px 8px; font-size: 12px;}
    .level_cut_table td {padding: 14px 8px; font-size: 12px;}
    
    .question_table {font-size: 12px;}
    .question_table th {padding: 12px 10px; font-size: 12px;}
    .question_table td {padding: 12px 10px; font-size: 12px;}
    .category-cell {font-size: 11px;}
    
    .cat1, .cat2, .cat3 {display: table-cell;} /* 태블릿에서 모두 표시 */
}

/* Table sorting styles */
.question_table thead th.sortable {user-select: none; white-space: nowrap; position: relative; cursor: pointer;}
.question_table thead th.sortable:hover {background-color: #f5f5f5; transition: background-color 0.2s;}

.sort-arrow {display: inline-block; margin-left: 6px; font-size: 0.9em; opacity: 0.3; transition: opacity 0.2s, color 0.2s; font-weight: bold; min-width: 14px; color: #999;}
.sort-arrow::before {content: '↑';}
.sort-arrow::after {content: '↓'; margin-left: -4px;}
.question_table thead th.sortable:hover .sort-arrow {opacity: 0.6; color: #666;}

/* 오름차순 정렬 중 */
.question_table thead th.sorted-asc {background-color: #e8f4ff;}
.question_table thead th.sorted-asc .sort-arrow {opacity: 1; color: #0066cc;}
.question_table thead th.sorted-asc .sort-arrow::before {content: '↑';}
.question_table thead th.sorted-asc .sort-arrow::after {content: '';}

/* 내림차순 정렬 중 */
.question_table thead th.sorted-desc {background-color: #e8f4ff;}
.question_table thead th.sorted-desc .sort-arrow {opacity: 1; color: #0066cc;}
.question_table thead th.sorted-desc .sort-arrow::before {content: '';}
.question_table thead th.sorted-desc .sort-arrow::after {content: '↓'; margin-left: 0;}

/* 시험 자료 링크 스타일 */
.exam-resource-link {
    color: #0066cc;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
}

.exam-resource-link:hover {
    color: #0044aa;
    text-decoration: underline;
}

.exam-resource-link:active {
    color: #003399;
}

/* 1:1 문의 목록 제목 폰트 크기 조정 */
.default_list table td.ta_left {
    font-size: 14px;
}

/* 모바일: 입력폼 너비 통일 */
@media screen and (max-width: 768px) {
    .qa_write_wrap td input[type="text"],
    .qa_write_wrap td input[type="password"],
    .qa_write_wrap td .td_box select,
    .qa_write_wrap td input[type="password"].guest_pw,
    .qa_write_wrap td .td_box .drop-down {
        width: 100% !important;
        max-width: none !important;
    }
}

/* 초소형 모바일: 550px 이하 */
@media screen and (max-width: 550px) {
    .qa_write_wrap td input[type="text"],
    .qa_write_wrap td input[type="password"],
    .qa_write_wrap td .td_box select,
    .qa_write_wrap td input[type="password"].guest_pw,
    .qa_write_wrap td .td_box .drop-down,
    .qa_write_wrap td .td_box .drop-down .selected a {
        width: 100% !important;
        max-width: none !important;
        font-size: 13px;
    }
    .qa_write_wrap td .td_box .drop-down .options ul li a {font-size: 13px;}
}
