@charset "utf-8";



/* 게시판 버튼 */
/* 목록 버튼 */
#bo_list a.btn_b01 {}
#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {}
#bo_list a.btn_b02 {}
#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {}
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {}

/* 읽기 버튼 */
#bo_v a.btn_b01 {}
#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {}
#bo_v a.btn_b02 {}
#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {}
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}

/* 쓰기 버튼 */
#bo_w .btn_confirm {} /* 서식단계 진행 */
#bo_w .btn_submit {}
#bo_w button.btn_submit {}
#bo_w fieldset .btn_submit {}
#bo_w .btn_cancel {}
#bo_w button.btn_cancel {}
#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {}
#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */
#bo_w button.btn_frmline {}

/* 기본 테이블 */
/* 목록 테이블 */
#bo_list .tbl_head01 {}
#bo_list .tbl_head01 caption {}
#bo_list .tbl_head01 thead th {}
#bo_list .tbl_head01 thead a {}
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_list .tbl_head01 tfoot th {}
#bo_list .tbl_head01 tfoot td {}
#bo_list .tbl_head01 tbody th {}
#bo_list .tbl_head01 td {}
#bo_list .tbl_head01 a {}
#bo_list td.empty_table {}

/* 읽기 내 테이블 */
#bo_v .tbl_head01 {}
#bo_v .tbl_head01 caption {}
#bo_v .tbl_head01 thead th {}
#bo_v .tbl_head01 thead a {}
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_v .tbl_head01 tfoot th {}
#bo_v .tbl_head01 tfoot td {}
#bo_v .tbl_head01 tbody th {}
#bo_v .tbl_head01 td {}
#bo_v .tbl_head01 a {}
#bo_v td.empty_table {}

/* 쓰기 테이블 */
#bo_w table {}
#bo_w caption {}
#bo_w .frm_info {}
#bo_w .frm_address {}
#bo_w .frm_file {}

#bo_w .tbl_frm01 {}
#bo_w .tbl_frm01 th {}
#bo_w .tbl_frm01 td {}
#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {}
#bo_w .tbl_frm01 textarea {}
/*
#bo_w .tbl_frm01 #captcha {}
#bo_w .tbl_frm01 #captcha input {}
*/
#bo_w .tbl_frm01 a {}

/* 필수입력 */
#bo_w .required, #bo_w textarea.required {}

#bo_w .cke_sc {}
#bo_w button.btn_cke_sc{}
#bo_w .cke_sc_def {}
#bo_w .cke_sc_def dl {}
#bo_w .cke_sc_def dl:after {}
#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {}
#bo_w .cke_sc_def dt {}
#bo_w .cke_sc_def dd {}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* 게시판 목록 */
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center}
#bo_list .td_date {width:60px;text-align:center}
#bo_list .td_datetime {width:110px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:100px;text-align:left}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}

#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}

#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {margin-bottom:10px;padding-left:1px;zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {float:left;margin-bottom:-1px}
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:6px 0 5px;width:90px;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;letter-spacing:-0.1em;line-height:1.2em;cursor:pointer}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none}
#bo_cate #bo_cate_on {z-index:2;border:1px solid #565e60;background:#fff;color:#565e60;font-weight:bold}

.td_subject img {margin-left:3px}

/* 게시판 목록 공통 */
.rv-list-bottom{margin-top: 5px;}
.bo_fx {margin-bottom:5px;zoom:1;}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;padding-top:5px}
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;margin-left:5px}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:8px;border:0;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#f5f6fa}
.bo_notice td a {font-weight:bold}
.td_num strong {color:#000}
.bo_cate_link {display:inline-block;margin:0 3px 0 0;padding:0 6px 0 0;border-right:1px solid #e7f1ed;color:#999 !important;font-weight:bold;text-decoration:none} /* 글제목줄 분류스타일 */
.bo_current {color:#e8180c}
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}

#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}

/* 게시판 쓰기 */
.container_title{display: none}
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:right}
#autosave_pop button {margin:0;padding:0;border:0;background:transparent}
#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right}
.autosave_close {cursor:pointer}
.autosave_content {display:none}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;padding-bottom:20px}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {padding:10px 0;font-size:1.2em}

#bo_v_info {padding:0 0 10px;border-bottom:1px solid #ddd}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_info > span {word-break: keep-all;}
#bo_v_info strong {display:inline-block;margin:0 7px 0 2px;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}

#bo_v_file {}
#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;padding:0;list-style:none}
#bo_v_file li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa}
#bo_v_file a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word}
#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none}
#bo_v_file img {float:left;margin:0 10px 0 0}
.bo_v_file_cnt {display:inline-block;margin:0 0 3px 16px}

#bo_v_link {width: 100%;}
#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_link ul {margin:0;padding:0;list-style:none}
#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa}
#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word}
#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none}
.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px}

#bo_v_top {margin:0 0 10px;padding:10px 0;zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {margin:0;padding:0;list-style:none}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {margin:0;padding:0;list-style:none}

.bo_v_nb {float:left}
.bo_v_nb li {float:left;margin-right:5px}
.bo_v_com {float:right}
.bo_v_com li {float:left;margin-left:5px}

#bo_v_atc {min-height:200px;height:auto !important;width: 100%;padding: 0 30px;}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}

#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:5px;vertical-align:middle}
#bo_v_act strong {color:#ff3061}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}

#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;margin:0 5px 0 0}

/* 게시판 댓글 */
#bo_vc {margin:0 0 20px;padding:20px 20px 10px;border:1px solid #e5e8ec;background:#f5f8f9}
#bo_vc h2 {margin-bottom:10px}
#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc}
#bo_vc header {position:relative;padding:15px 0 5px}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .sv_wrap {margin-right:15px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc a {color:#000;text-decoration:none}
#bo_vc p {padding:0 0 5px;line-height:1.8em}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:none}
#bo_vc_empty {margin:0;padding:20px !important;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc footer {zoom:1}
#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""}

.bo_vc_act {float:right;margin:0;list-style:none;zoom:1}
.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_act li {float:left;margin-left:5px}

#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8}
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc_w #char_cnt {display:block;margin:0 0 5px}

#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 20px 0 0}
#bo_vc_sns input {margin:0 0 0 5px}

/*개인정보 처리방침 동의*/
.agree{ margin-bottom:40px; border:1px solid #eee; padding:25px;}

.agree h2{ font-size:1.7em; font-weight:600; color:#333; text-align:center;}
.agree .txt{ font-size:1em; color:#444; line-height:1.5em; padding:15px 0px;}
.agree .txt .bx{float:left; margin:3px; width:calc(33.333% - 6px); background:#FBFBFB; border-radius:8px; padding:15px; min-height:100px;}
.agree .txt .bx strong{display:block; margin-bottom:10px; font-size:1.15em;}
.agree .agree_ch{ font-size:1.2em; color:#555; border-top:1px dotted #ddd; padding-top:10px;}
.agree .agree_ch{ display:flex; font-size:1em;}
.agree .agree_ch label{font-weight: normal; display: inline-block;margin-bottom: 0;cursor: pointer}

@media screen and (max-width:768px){
.tbl_head01 .hidden-xs { display:none;}

/* 리스트 */
#bo_list .td_num{width:12%;}
#bo_list .td_chk{width:5%;}
#bo_list .td_name{width:60px;}
#bo_list .td_name .sv_guest{width:50px; display:inline-block; white-space: nowrap;overflow: hidden; text-overflow: ellipsis; vertical-align:middle;}

/*개인정보 처리방침 동의*/
.agree{ padding:15px;margin-top: 20px;}
.agree .txt .bx .con{min-height: unset !important}
.agree h2{ font-size:1.3em;}
.agree .txt{ font-size:0.9em; }
.agree .txt .bx{margin:0; width:calc(100% - 6px); background:#FBFBFB; border-radius:8px; padding:10px 0; min-height:auto;}
.agree .agree_ch{ font-size:1em;}



    .btn_bo_adm,
    .bo_fx ul{
        float: unset;
    }
    .btn_bo_adm li,
    .btn_bo_user li{
        float: unset;
        margin: 0;
        margin-bottom: 6px;
        width: 100%;
    }

}




/* 게시판쓰기 추가 */
#app.flex {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    }
.contactArea{overflow: hidden; width: 40%; position: sticky; top: 120px;}
.contactArea .tt{margin-bottom: 40px;}
.contactArea .tt h4{
    font-size: 50px;
    font-weight: 600;margin-bottom: 20px;}
.contactArea .tt p{line-height: 1.4;font-size: 17px;}
.contactArea ul{}
.contactArea ul li{display: flex;align-items: center;margin-bottom: 15px;font-size: 17px;}
.contactArea ul li i{margin-right: 10px;font-size: 2em;color: #c0c1cf}
.contactArea ul li:nth-child(2) i{font-size: 1.6em;}
.contactArea ul li:nth-child(3) i{font-size: 1.7em;}
.contactArea ul li span{font-size: 0.9em;}

/*#fwrite{width: 60%;}*/
.form_wrap .form{border-radius: 20px}
.form_wrap dl{border: 0 !important}
.form label, .form_wrap dt{font-weight: 600 !important;}
.form_wrap input{height: 48px !important;}
.form_wrap textarea{height: 150px;border-color: #E1E1E1 !important;margin-bottom: 0 !important;}

.form_wrap .agree{margin-top: 20px;background: #eeeeee56 !important;border: 0; border-radius: 20px}
.agree .txt .bx{background: #fff !important;}
.agree .txt .bx strong{font-weight: 600 !important;letter-spacing: -0.04em;}
.agree .txt .bx .con{color: #9D9D9D;min-height: 72px}
.cke_sc{display: none}

@media(max-width: 768px){
    #app.flex{display: block !important}
    .contactArea, #fwrite{width: 100%;}
    .contactArea{position: unset;width: 100%;padding: 0 15px;}
    .contactArea .tt h4{font-size: 28px;font-weight: 700;}
    .contactArea .tt p, .contactArea ul li p, .form_wrap dt, .form label, #app .form_wrap input, .form_wrap input[type="checkbox"] + label{font-size: 15px !important;}
    .contactArea .tt{margin-bottom: 20px;}
    .contactArea ul li{margin-bottom: 6px;}
    .contactArea ul li i{font-size: 1em !important;}
    .form_wrap{padding: 0; margin-top: 20px !important;}
    .form_wrap .form{border-radius: 20px;padding: 20px !important;}
    .form_wrap dt > span{font-size: 13px !important;}
    .form_wrap input[type="checkbox"] + label{margin-right: 0 !important;}
    }




     /* ===== 분석신청 폼 전체 ===== */
 :root {
     --primary: #00307C;
     --primary-deep: #00214f;
     --accent: #0099cc;
     --dark: #231916;
     --gray: #6b7280;
     --gray-light: #f5f6f8;
     --border: #e2e5ea;
     --white: #ffffff;
     --red: #e53935;
     }
#bo_w {
    max-width: 960px;
    margin: 0 auto;
    font-family: 'Noto Sans KR', sans-serif;
    }

/* ===== 페이지 타이틀 ===== */
.rv-form-header,
.rv-view-header{
    margin-bottom: 40px;
    padding-bottom: 24px;
    border-bottom: 2px solid var(--primary);
    }
.rv-form-header h2,
.rv-view-header h2{
    font-size: 28px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 8px;
    }
.rv-form-header p {
    font-size: 14px;
    color: var(--gray);
    }

/* ===== 약관 영역 ===== */
.rv-term-wrap {
    margin-bottom: 36px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    }
.rv-term-title {
    padding: 14px 20px;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    }
.rv-term-body {
    height: 200px;
    overflow-y: scroll;
    padding: 20px 24px;
    font-size: 13px;
    line-height: 1.8;
    color: #555;
    background: var(--gray-light);
    }
.rv-term-body h1 { font-size: 14px; font-weight: 700; color: var(--primary); margin: 16px 0 6px; }
.rv-term-body h2 { font-size: 13px; font-weight: 600; color: #333; margin: 12px 0 4px; }
.rv-term-agree {
    padding: 16px 20px;
    background: #fff;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 10px;
    }
.rv-term-agree input[type="checkbox"] {
    width: 17px; height: 17px;
    accent-color: var(--primary);
    cursor: pointer;
    flex-shrink: 0;
    }
.rv-term-agree label {
    font-size: 14px;
    color: #333;
    cursor: pointer;
    font-weight: 500;
    }

/* ===== 섹션 공통 ===== */
.rv-section {
    margin-bottom: 40px;
    }
.rv-section-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
    }
.rv-section-num {
    width: 40px; height: 40px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
    }
.rv-section-title h4 {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 3px;
    }
.rv-section-title p {
    font-size: 15px;
    color: var(--gray);
    margin-top: 5px;
    }

/* ===== 박스 ===== */
.rv-box {
    border: 1px solid var(--border);
    border-radius: 4px;
    /*overflow: hidden;*/
    margin-bottom: 16px;
    }
.rv-box-title {
    padding: 12px 20px;
    background: var(--gray-light);
    border-bottom: 1px solid var(--border);
    font-size: 17px;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: 0.3px;
    }

/* ===== 폼 줄 ===== */
.rv-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-bottom: 1px solid var(--border);
    }
.rv-row:last-child { border-bottom: none; }
.rv-row.full { grid-template-columns: 1fr; }

.rv-field {
    display: flex;
    align-items: flex-start;
    padding: 14px 20px;
    gap: 0;
    border-right: 1px solid var(--border);
    }
.rv-field:last-child { border-right: none; }

.rv-label {
    width: 130px;
    flex-shrink: 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    padding-top: 10px;
    line-height: 1.4;
    }
.rv-label.req::after {
    content: ' *';
    color: var(--red);
    }
.rv-input-wrap {
    flex: 1;width: 100%;
    }
.rv-input-wrap input[type="text"],
.rv-input-wrap input[type="email"],
.rv-input-wrap textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    font-family: inherit;
    color: #333;
    background: #fff;
    transition: border-color .2s;
    box-sizing: border-box;
    }
.rv-input-wrap input:focus,
.rv-input-wrap textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0,48,124,0.08);
    }
.rv-input-wrap textarea {
    height: 120px;
    resize: vertical;
    line-height: 1.7;
    }
.rv-input-wrap .memo {
    display: block;
    font-size: 14px;
    color: var(--red);
    margin-top: 5px;
    }

/* 라디오 */
.rv-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 8px;
    }
.rv-radio-group label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #444;
    cursor: pointer;
    }
.rv-radio-group input[type="radio"] {
    accent-color: var(--primary);
    width: 15px; height: 15px;
    }

/* 파일 업로드 */
.rv-filebox {
    display: flex;
    align-items: center;
    gap: 10px;
    }
.rv-filebox label.btn-file {
    padding: 8px 16px;
    background: var(--primary);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s;
    }
.rv-filebox label.btn-file:hover { background: var(--accent); }
.rv-filebox input[type="file"] { display: none; }
.rv-filebox .file-name {
    font-size: 12px;
    color: var(--gray);
    }

/* ===== 시료 정보 테이블 ===== */
.rv-sample-table {
    width: 100%;
    border-collapse: collapse;
    }
.rv-sample-table th {
    background: var(--gray-light);
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    border: 1px solid var(--border);
    white-space: nowrap;
    }
.rv-sample-table th.req::after { content: ' *'; color: var(--red); }
.rv-sample-table td {
    padding: 8px 10px;
    border: 1px solid var(--border);
    }
.rv-sample-table td input[type="text"] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    font-family: inherit;
    box-sizing: border-box;
    }
.rv-sample-table td input:focus {
    outline: none;
    border-color: var(--primary);
    }
.rv-sample-table td .del-btn {
    padding: 5px 12px;
    background: #fff;
    border: 1px solid var(--border);
    color: var(--gray);
    font-size: 12px;
    border-radius: 3px;
    cursor: pointer;
    transition: all .2s;
    }
.rv-sample-table td .del-btn:hover { border-color: var(--red); color: var(--red); }

.btn-add-sample {
    margin-top: 12px;
    padding: 10px 24px;
    border: 1px dashed var(--primary);
    background: rgba(0,48,124,0.03);
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    gap: 6px;
    }
.btn-add-sample:hover { background: rgba(0,48,124,0.08); }
.btn-add-sample::before { content: '+'; font-size: 16px; }

/* ===== 분석장비 드롭다운 ===== */
.rv-select-wrap {
    position: relative;
    }
.rv-select-btn {
    width: 100%;
    padding: 9px 36px 9px 12px;
    border: 1px solid var(--border);
    border-radius: 3px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;
    font-size: 13px;
    color: #888;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s;
    }
.rv-select-btn.selected { color: #333; }
.rv-select-btn:focus, .rv-select-btn.open { outline: none; border-color: var(--primary); }
.rv-select-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0; right: 0;
    background: #fff;
    border: 1px solid var(--primary);
    border-radius: 3px;
    box-shadow: 0 6px 20px rgba(0,0,0,.1);
    z-index: 50;
    max-height: 240px;
    overflow-y: auto;
    }
.rv-select-list.open { display: block; }
.rv-select-list li {
    padding: 10px 16px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background .15s;
    list-style: none;
    }
.rv-select-list li:last-child { border-bottom: none; }
.rv-select-list li:hover { background: var(--gray-light); color: var(--primary); }
.rv-select-list li.selected { color: var(--primary); font-weight: 600; background: rgba(0,48,124,0.05); }

/* ===== 분석 내용 textarea ===== */
.rv-memo-area textarea {
    width: 100%;
    height: 160px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    font-family: inherit;
    line-height: 1.7;
    resize: vertical;
    box-sizing: border-box;
    }
.rv-memo-area textarea:focus {
    outline: none;
    border-color: var(--primary);
    }

/* ===== 안내 문구 ===== */
.rv-info-box {
    margin-bottom: 32px;
    padding: 16px 20px;
    background: rgba(0,48,124,0.04);
    border-left: 4px solid var(--primary);
    border-radius: 0 4px 4px 0;
    }
.rv-info-box p {
    font-size: 13px;
    color: #555;
    line-height: 1.8;
    }
.rv-info-box p::before { content: '※ '; color: var(--primary); font-weight: 700; }

/* ===== 제출 버튼 ===== */
.rv-submit-wrap {
    text-align: center;
    padding-top: 32px;
    border-top: 1px solid var(--border);
    display: flex;
    gap: 12px;
    justify-content: center;
    }
.rv-btn-submit {
    padding: 15px 60px;
    background: var(--primary);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: background .2s;
    }
.rv-btn-submit:hover { background: var(--accent); }
.rv-btn-cancel {
    padding: 15px 40px;
    background: #fff;
    color: #666;
    font-size: 15px;
    font-weight: 500;
    border: 1px solid var(--border);
    border-radius: 3px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: border-color .2s, color .2s;
    }
.rv-btn-cancel:hover { border-color: var(--primary); color: var(--primary); }

/* =============================================
   view_skin.php 전용 CSS
   style.css 맨 끝에 추가하세요.
   board.css의 #bo_v_title, #bo_v_info 등과
   충돌하는 구버전 스타일을 여기서 덮어씁니다.
   ============================================= */

/* ── board.css 충돌 무력화 ── */
#bo_v { margin-bottom: 0; padding-bottom: 0; }
#bo_v_title { padding: 0; font-size: inherit; border: none; margin: 0; }
#bo_v_info  { padding: 0; border-bottom: none; }
#bo_v_info > span { display: none; }   /* 구버전 span 메타 숨김 */
#bo_v_info strong { display: inline; margin: 0; font-weight: 600; }
#bo_v_atc { padding: 0; }
#bo_v_con  { margin-bottom: 0; }
#bo_v_top  { margin: 0; padding: 0; }
#bo_v_top ul, #bo_v_bot ul { list-style: none; margin: 0; padding: 0; }
.bo_v_nb, .bo_v_com { float: none; }
.bo_v_nb li, .bo_v_com li { float: none; margin: 0; }
/* board.css의 btn_b01/btn_b02 → view_skin 버튼이 대체하므로 bo_v 내부만 초기화 */
#bo_v a.btn_b01,
#bo_v a.btn_b02 {
    all: unset;
    cursor: pointer;
    }

/* ── view_skin 전용 ── */
.rv-view-header {
    padding-bottom: 20px;
    border-bottom: 2px solid var(--primary);
    }
.rv-view-header .rv-category {
    display: inline-block;
    padding: 3px 10px;
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    }
#bo_v_title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #222 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.03em !important;
    padding: 10px 0 0 !important;
    }

/* 메타 테이블 */
.rv-meta-table {
    width: 100%;
    border-collapse: collapse;
    margin: -1px 0 20px;
    font-size: 13px;
    }
.rv-meta-table th {
    width: 110px;
    padding: 10px 14px;
    background: var(--gray-light);
    border: 1px solid var(--border);
    font-weight: 600;
    color: #444;
    text-align: left;
    white-space: nowrap;
    }
.rv-meta-table td {
    padding: 10px 16px;
    border: 1px solid var(--border);
    color: #555;
    background: #fff;
    }

/* 버튼 영역 */
.rv-view-btn-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    margin-bottom: 24px;
    gap: 8px;
    flex-wrap: wrap;
    }
.rv-view-btn-left,
.rv-view-btn-right {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    }
.rv-view-btn-wrap a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 18px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    font-weight: 500;
    color: var(--gray);
    background: #fff;
    text-decoration: none;
    transition: all .2s;
    white-space: nowrap;
    }
.rv-view-btn-wrap a:hover       { border-color: var(--primary); color: var(--primary); }
.rv-view-btn-wrap a.btn-list    { border-color: var(--primary); color: var(--primary); font-weight: 600; }
.rv-view-btn-wrap a.btn-list:hover { background: var(--primary); color: #fff; }
.rv-view-btn-wrap a.btn-write   { background: var(--primary); border-color: var(--primary); color: #fff; font-weight: 600; }
.rv-view-btn-wrap a.btn-write:hover { background: var(--accent); border-color: var(--accent); }
.rv-view-btn-wrap a.btn-del     { border-color: #f0c0c0; color: var(--red); }
.rv-view-btn-wrap a.btn-del:hover { background: var(--red); border-color: var(--red); color: #fff; }

/* 첨부파일 */
#bo_v_file {
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    }
#bo_v_file h2 {
    position: static !important;
    font-size: 13px !important;
    line-height: normal !important;
    overflow: visible !important;
    padding: 11px 18px;
    background: var(--gray-light);
    border-bottom: 1px solid var(--border);
    font-weight: 700;
    color: var(--primary);
    }
#bo_v_file ul { margin: 0; padding: 0; list-style: none; }
#bo_v_file li { padding: 0; border-bottom: 1px solid var(--border); background: #fff; }
#bo_v_file li:last-child { border-bottom: none; }
#bo_v_file a.view_file_download {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    width: auto;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    transition: background .15s;
    }
#bo_v_file a.view_file_download:hover { background: rgba(0,48,124,0.04); color: var(--primary); }
#bo_v_file img { float: none; margin: 0; }
.bo_v_file_cnt { display: block; font-size: 12px; color: var(--gray); padding: 0 18px 8px; margin: 0; }

/* 관련링크 */
#bo_v_link {
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    }
#bo_v_link h2 {
    position: static !important;
    font-size: 13px !important;
    line-height: normal !important;
    overflow: visible !important;
    padding: 11px 18px;
    background: var(--gray-light);
    border-bottom: 1px solid var(--border);
    font-weight: 700;
    color: var(--primary);
    }
#bo_v_link ul { margin: 0; padding: 0; list-style: none; }
#bo_v_link li { padding: 0; border-bottom: 1px solid var(--border); background: #fff; }
#bo_v_link li:last-child { border-bottom: none; }
#bo_v_link a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    width: auto;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    transition: background .15s;
    }
#bo_v_link a:hover { background: rgba(0,48,124,0.04); color: var(--primary); }

/* 본문 */
#bo_v_atc_title { position: absolute; font-size: 0; overflow: hidden; }
#bo_v_img { margin: 0 0 16px; overflow: hidden; }
#bo_v_img img { max-width: 100%; height: auto; margin-bottom: 10px; display: block; }
#bo_v_con {
    min-height: 200px;
    padding: 28px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.9;
    color: #333;
    word-break: break-all;
    overflow: hidden;
    width: 100%;
    }
#bo_v_con a { color: var(--primary); text-decoration: underline; }
#bo_v_con img { max-width: 100%; height: auto; }

/* 하단 버튼 */
.rv-view-btn-bottom { margin-top: 8px; }

/* 이전/다음글 */
.rv-prev-next {
    margin-top: 28px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    }
.rv-prev-next-item {
    display: flex;
    align-items: center;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    gap: 14px;
    background: #fff;
    transition: background .15s;
    }
.rv-prev-next-item:last-child { border-bottom: none; }
.rv-prev-next-item:hover { background: rgba(0,48,124,0.02); }
.rv-prev-next-label {
    flex-shrink: 0;
    width: 44px;
    font-size: 11px;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: 1px;
    }
.rv-prev-next-item a {
    color: #444;
    text-decoration: none;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .15s;
    }
.rv-prev-next-item a:hover { color: var(--primary); }
.rv-pn-none { color: var(--gray); font-size: 12px; }



/* ===== 반응형 ===== */
@media (max-width: 768px) {
    #bo_w { padding: 28px 16px 60px; }
    .rv-row { grid-template-columns: 1fr; }
    .rv-field { border-right: none; border-bottom: 1px solid var(--border); }
    .rv-field:last-child { border-bottom: none; }
    .rv-label { width: 100px; font-size: 12px; }
    .rv-sample-table { font-size: 12px; }
    .rv-section-header { gap: 12px; }
    .rv-section-title h4 { font-size: 15px; }

    .rv-meta-table th { width: 80px; padding: 8px 10px; font-size: 12px; }
    .rv-meta-table td { padding: 8px 12px; font-size: 12px; }
    .rv-view-btn-wrap { padding: 10px 0; }
    .rv-view-btn-wrap a { height: 34px; padding: 0 12px; font-size: 12px; }
    .rv-prev-next-item { padding: 10px 14px; }
    #bo_v_title { font-size: 18px !important; }
    }
@media (max-width: 500px) {
    .rv-row { grid-template-columns: 1fr; }
    .rv-field { flex-direction: column; gap: 8px; }
    .rv-label { width: 100%; padding-top: 0; }
    .rv-sample-table th, .rv-sample-table td { padding: 6px 8px; font-size: 11px; }

    .rv-meta-table,
    .rv-meta-table tbody,
    .rv-meta-table tr,
    .rv-meta-table th,
    .rv-meta-table td { display: block; width: 100%; }
    .rv-meta-table th { border-bottom: none; }
    .rv-view-btn-left,
    .rv-view-btn-right { width: 100%; }
    .rv-view-btn-wrap a { flex: 1; justify-content: center; }
    }
