/* abc_meet - 일정 조율 스킨 (라공에디션 basic + gallery 베이스) */

@charset "utf-8";

/* 게시판 목록 - 현대화 */
#bo_list {
    position: relative;
    overflow: hidden;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 0;
}

#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list table {
    border-collapse: collapse;
    width: 100%;
    border: 0;
}
#bo_list thead {background:var(--bg-light);border-bottom:2px solid var(--card-border-color)}

#bo_list thead th {
    padding: var(--spacing-md) var(--spacing-sm);
    font-weight: 600;
    color: var(--content-font-color);
    background: var(--container-bg-color);
    border: 0;
    font-size: 0.9em;
    text-align: center;
}

#bo_list tbody td {
    padding: var(--spacing-md) var(--spacing-sm);
    border-bottom: 1px solid var(--card-border-color);
}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:40px;text-align:center}
#bo_list .td_date {width:90px;text-align:center;color:var(--text-muted);font-size:0.9em}
#bo_list .td_datetime {width:90px;text-align:center;color:var(--text-muted);font-size:0.9em}
#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:center;padding:var(--spacing-md) var(--spacing-sm)}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:60px;text-align:center;color:var(--text-muted);font-size:0.9em}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:var(--success-color)}
#bo_list .txt_expired {color:var(--text-muted)}
#bo_list tbody tr {transition:var(--transition-fast);border-left:3px solid transparent}
#bo_list tbody tr:hover {background:rgb(from var(--primary-color) r g b / 3%);border-left:3px solid var(--primary-color)}
#bo_list tbody tr:last-child td {border-bottom:none}

#bo_cate {margin:var(--spacing-lg) 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:var(--spacing-xs) var(--spacing-md);border-radius:30px;border:1px solid var(--card-border-color);color:var(--primary-color)}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:var(--primary-color);color:var(--white)}
#bo_cate #bo_cate_on {z-index:2;background:var(--primary-color);color:var(--white);font-weight:bold;border:1px solid var(--primary-color);
-webkit-box-shadow:inset 0 2px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow:inset 0 2px 5px rgba(0, 0, 0, 0.2);
box-shadow:inset 0 2px 5px rgba(0, 0, 0, 0.2)}
.td_subject img {margin-left:var(--spacing-xs)}

/* 게시판 목록 공통 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:var(--text-muted)}
.chk_box input[type="checkbox"] + label:hover {color:var(--primary-color)}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:var(--white);border:1px solid var(--input-border-color);border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:var(--white);border:1px solid var(--black);border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:var(--content-font-color)}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% var(--primary-color);border-color:var(--primary-color);border-radius:3px}


#bo_btn_top {margin:var(--spacing-sm) 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:var(--spacing-xs);float:right;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;line-height:34px;font-size:0.92em;color:var(--content-font-color)}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {
    float: left;
    width: 40px;
    text-align: center;
    margin-left: var(--spacing-xs);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: var(--btn-primary-radius);
}
.btn_bo_user li .btn {
    width: 100%;
}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:var(--spacing-xs)}
.btn_bo_adm input {padding:0 var(--spacing-xs);border:0;background:var(--bg-light);color:var(--text-muted);text-decoration:none;vertical-align:middle}
.bo_notice td {background:rgb(from var(--accent-color) r g b / 10%) !important;border-bottom:1px solid rgb(from var(--accent-color) r g b / 20%)}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:var(--accent-color)}

.more_opt {display:none;position:absolute;top:45px;right:0;background:var(--white);border:1px solid var(--card-border-color);z-index:999;border-radius:var(--card-border-radius)}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--card-border-color) transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--white) transparent}
.more_opt li {
    border-bottom: 1px solid var(--border-light);
    padding: var(--spacing-sm);
    float: inherit;
    width: 50px;
    margin: 0;
    color: var(--text-muted);
    text-align: left;
    background: var(--white);
}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
}
.more_opt li:hover a,
.more_opt li:hover button {color:var(--content-font-color)}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:var(--content-font-color)}
.td_subject {text-align:left !important;padding-left:var(--spacing-lg) !important}
.bo_cate_link {display:inline-block;margin-right:var(--spacing-xs);background:rgb(from var(--primary-color) r g b / 10%);color:var(--primary-color);font-weight:500;padding:3px 8px;border-radius:4px;font-size:0.8em;vertical-align:middle} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none;background:var(--primary-color);color:var(--white)}
.bo_tit a {
    display: inline;
    color: var(--content-font-color);
    font-weight: 500;
    font-size: 0.95em;
}
#bo_list .td_name .sv_member {
    color: var(--content-font-color);
}
.bo_tit:hover {color:var(--primary-color)}
.bo_current {color:var(--accent-color)}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {display:inline-flex;align-items:center;background:rgb(from var(--primary-color) r g b / 12%);color:var(--primary-color);font-size:0.85em;height:20px;line-height:1;padding:4px 7px;border-radius:10px;vertical-align:middle;margin-left:var(--spacing-xs);font-weight:500}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:var(--accent-color)}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:var(--info-color);background:rgb(from var(--info-color) r g b / 20%);text-align:center;border-radius:2px;font-size:12px;border:1px solid rgb(from var(--info-color) r g b / 20%);vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--success-color);background:rgb(from var(--success-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--accent-color);background:rgb(from var(--accent-color) r g b / 20%);text-align:center;border-radius:2px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right {color:var(--text-muted)}
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--warning-color);background:rgb(from var(--warning-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:var(--spacing-xs);vertical-align:middle}
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--secondary-color);background:rgb(from var(--secondary-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:var(--spacing-xs);vertical-align:middle}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {
    position: absolute;
    left: 50%;
    background: var(--white);
    text-align: left;
    width: 300px;
    max-height: 300px;
    translate: -50% 80px;
    overflow-y: auto;
    border-radius: var(--card-border-radius);
    -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border: 1px solid var(--card-border-color);
}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:var(--spacing-md);border-bottom:1px solid var(--border-light)}
.bo_sch legend {background:var(--accent-color)}
.bo_sch form {padding:var(--spacing-md);display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid var(--input-border-color);border-radius:var(--card-border-radius);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:var(--spacing-md);border:1px solid var(--input-border-color);border-radius:var(--card-border-radius);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:var(--text-muted);background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:var(--text-muted);border:0;padding:var(--spacing-sm) var(--spacing-md);font-size:16px;background:var(--white)}
.bo_sch_bg {background:rgba(0,0,0,0.3);width:100%;height:100%}

/* 게시판 쓰기 */
#bo_w {
    margin: 40px auto;
    max-width: 1000px;
}

label.form-label {
    font-size: 1.2em;
    font-weight: bold;
}

.form-group {
    margin: 1.2rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

#char_count_desc {display:block;margin:0 0 var(--spacing-xs);padding:0}
#char_count_wrap {margin:var(--spacing-xs) 0 0;text-align:right}
#char_count {font-weight:bold}

/* 게시판 읽기 - 현대화 */
.view_article {margin-bottom:var(--spacing-lg);background:var(--card-bg-color);border-radius:var(--card-border-radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.1)}

/* 제목 영역 */
.view_header {
    padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-md);
    background: linear-gradient(135deg, var(--card-bg-color) 60%, rgb(from var(--container-bg-color) r g b / 80%) 100%);
}

.view_header .bo_v_cate {display:inline-block;padding:5px 12px;background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:var(--white);border-radius:20px;font-size:0.8em;font-weight:600;margin-bottom:var(--spacing-sm);box-shadow:0 2px 8px rgb(from var(--primary-color) r g b / 25%)}
.view_header .bo_v_tit {font-size:1.95em;font-weight:700;color:var(--content-font-color);margin:0;word-break:break-all;line-height:1.35;letter-spacing:-0.02em}

/* 메타 정보 + 버튼 영역 */
.view_meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--container-bg-color);
    flex-wrap: wrap;
    gap: var(--spacing-md);
    position: relative;
    box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.05);
}

.meta_author {display:flex;align-items:center;gap:var(--spacing-md);flex:1}
.author_profile {width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid var(--card-border-color);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.author_profile img {width:100%;height:100%;object-fit:cover}
.author_info {display:flex;flex-direction:column;gap:4px}
.author_line {display:flex;align-items:center;gap:var(--spacing-xs)}
.author_name {font-size:1em;color:var(--content-font-color);font-weight:700}
.author_id {font-size:0.9em;color:var(--primary-color);font-weight:500}
.view_date {font-size:0.85em;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;margin-right:var(--spacing-md)}
.view_date i {font-size:1em}
.stat_item {font-size:0.9em;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}
.stat_item i {font-size:1.1em}
.stat_item a {color:var(--text-muted);text-decoration:none;transition:var(--transition-fast)}
.stat_item a:hover {color:var(--primary-color)}

/* 인라인 버튼 영역 */
.view_buttons_inline {display:flex;gap:var(--spacing-xs)}
.view_buttons_inline .btn_bo_user {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 3px;
}
.view_buttons_inline .btn_bo_user li {margin:0}

.view_buttons_inline .btn {
    padding: 8px 14px;
    font-size: 0.85em;
    border-radius: var(--btn-primary-radius);
    transition: var(--transition-fast);
    color: var(--btn-primary-text);
    background: var(--btn-primary-bg);
}

/* 본문 영역 */
.view_content_wrap {
    padding: 1rem 4rem;
}

/* 기존 스타일 호환성 */
#bo_v {
    margin-bottom: var(--spacing-lg);
    box-sizing: border-box;
    max-width: 1000px;
    margin: 50px auto;
}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 var(--spacing-xs);height:25px;background:var(--accent-color);color:var(--white);font-weight:bold;line-height:2.2em}
#bo_v_title {}
#bo_v_info {margin:0;color:var(--text-muted)}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:var(--spacing-lg) 0 var(--spacing-sm);display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:var(--spacing-sm)}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:var(--spacing-xs) 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 var(--spacing-sm) 0 0;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_info .profile_img {display:none}
#bo_v .view_meta .sv_member {color:var(--content-font-color)}
#bo_v_info .if_date {margin:0;color:var(--text-muted)}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:var(--spacing-md);position:relative;margin:var(--spacing-sm) 0;border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);
-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.05);
-moz-box-shadow:0 2px 8px rgba(0,0,0,0.05);
box-shadow:0 2px 8px rgba(0,0,0,0.05);
transition:var(--transition-fast)}
#bo_v_file li i {float:left;color:var(--text-muted);font-size:2.35em;margin-right:var(--spacing-lg)}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--content-font-color)}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:var(--primary-color)}
#bo_v_file img {float:left;margin:0 var(--spacing-sm) 0 0}
#bo_v_file .bo_v_file_cnt {color:var(--text-muted);font-size:0.92em}
#bo_v_file li:hover {border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
#bo_v_file li:hover i {color:var(--primary-color)}
#bo_v_file li:hover .bo_v_file_cnt {color:var(--primary-color)}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:var(--spacing-md);position:relative;margin:var(--spacing-sm) 0;border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);
-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.05);
-moz-box-shadow:0 2px 8px rgba(0,0,0,0.05);
box-shadow:0 2px 8px rgba(0,0,0,0.05);
transition:var(--transition-fast)}
#bo_v_link li i {float:left;color:var(--text-muted);font-size:2.35em;margin-right:var(--spacing-lg)}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--content-font-color)}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:var(--primary-color)}
#bo_v_link .bo_v_link_cnt {color:var(--text-muted);font-size:0.92em}
#bo_v_link li:hover {border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
#bo_v_link li:hover i {color:var(--primary-color)}
#bo_v_link li:hover .bo_v_link_cnt {color:var(--primary-color)}

#bo_v_top {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 {padding:0;list-style:none;word-break:break-all;}

#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 {padding:0;list-style:none}

.bo_v_com {margin:var(--spacing-lg) 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:var(--spacing-xs)}

.bo_v_nb {position:relative;margin:var(--spacing-lg) 0;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid var(--border-light);padding:var(--spacing-md);transition:var(--transition-fast)}
.bo_v_nb li:last-child {border-bottom:1px solid var(--border-light)}
.bo_v_nb li:hover {background:var(--bg-light)}
.bo_v_nb li i {font-size:13px;color:var(--text-muted)}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:var(--spacing-lg);color:var(--text-muted)}
.bo_v_nb li .nb_date {float:right;color:var(--text-muted)}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:var(--spacing-lg);max-width:100%;height:auto}

#bo_v_con {margin:var(--spacing-sm) 0 var(--spacing-xl);width:100%;line-height:1.7em;word-break:break-all;overflow:hidden}

#bo_v_act {margin-bottom:var(--spacing-xl);text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:var(--spacing-xs);vertical-align:middle;color:var(--content-font-color)}
#bo_v_act a:hover {background-color:var(--white);color:var(--accent-color);border-color:var(--accent-color)}
#bo_v_act i {font-size:1.4em;margin-right:var(--spacing-xs)}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:var(--spacing-sm) 0;width:165px;background:var(--accent-color);color:var(--white);text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid var(--card-border-color);width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid var(--card-border-color);width:70px;line-height:46px;border-radius:30px}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:var(--spacing-xs);text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:var(--card-border-radius);color:var(--white);font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:var(--spacing-xs)}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:var(--spacing-lg) 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 var(--spacing-sm);color:var(--text-muted);font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:var(--card-border-color);border-radius:var(--card-border-radius)}
#bo_v_share .btn:hover {background:var(--white)}
#bo_v_share .btn i {margin-right:var(--spacing-xs);color:var(--content-font-color);vertical-align:middle}

/* 게시판 댓글 */
.cmt_btn span.total {position:relative;display:inline-block;margin-right:var(--spacing-xs);font-size:1em;color:var(--primary-color)}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:var(--spacing-xs)}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:var(--content-font-color)}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:var(--primary-color);content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:var(--spacing-sm)}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:var(--spacing-md);left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:var(--text-muted)}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 var(--spacing-lg)}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:var(--accent-color)}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid var(--card-border-color);margin:0;list-style:none;background:var(--white);zoom:1;z-index:9999;border-radius:var(--card-border-radius)}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--card-border-color) transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--white) transparent}
.bo_vc_act li {border-bottom:1px solid var(--border-light)}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:var(--spacing-sm) var(--spacing-md)}
.bo_vc_act li a:hover {color:var(--primary-color)}

.bo_vc_w {position:relative;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 var(--spacing-xs)}
.bo_vc_w textarea {
    border: 1px solid var(--form-border-color);
    background: var(--form-bg-color);
    color: var(--form-text-color);
    vertical-align: middle;
    border-radius: var(--card-border-radius);
    padding: var(--spacing-xs);
    width: 100%;
    height: 120px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}
#wr_secret {}
.bo_vc_w_info {margin:var(--spacing-sm) 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:var(--spacing-xs)}
.bo_vc_w_info #captcha {padding-top:var(--spacing-sm);display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:var(--spacing-sm)}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:var(--spacing-sm);border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 var(--spacing-lg);border-radius:var(--card-border-radius);font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

/* ===== 댓글 영역 ===== */
/* 댓글 버튼 */
.cmt_btn {
    display: block;
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: 1em;
    font-weight: 600;
    color: var(--content-font-color);
    background: var(--container-bg-color);
    transition: var(--transition-fast);
    text-align: left;
    border: 0;
}
.cmt_btn:hover {
    background:linear-gradient(135deg, rgb(from var(--primary-color) r g b / 5%) 0%, rgb(from var(--primary-color) r g b / 10%) 100%);
    border-color:var(--primary-color);
}
.cmt_btn strong {
    color:var(--primary-color);
    margin-left:var(--spacing-xs);
}

/* 댓글 섹션 */
.comment_section {
}

/* 댓글 아이템 */
.comment_item {
    display: flex;
    gap: var(--spacing-sm);
    padding: var(--spacing-lg) var(--spacing-md);
    /* margin-bottom: var(--spacing-md); */
    background-color: var(--white);
    /* border: 1px solid var(--border-light); */
    /* border-radius: var(--card-border-radius); */
    transition: var(--transition-fast);
}
.comment_item:hover {
    box-shadow:0 2px 8px rgb(from var(--primary-color) r g b / 10%);
}

/* 댓글 프로필 */
.comment_profile {
    flex-shrink:0;
}
.comment_profile img {
    width:40px;
    height:40px;
    border-radius:50%;
    border:2px solid var(--border-light);
}

/* 댓글 본문 */
.comment_body {
    flex:1;
    min-width:0;
}
.comment_header {
    display:flex;
    align-items:center;
    gap:var(--spacing-xxs);
    margin-bottom:var(--spacing-xs);
    flex-wrap:wrap;
}
.comment_author {
    font-size:0.95em;
    font-weight:600;
    color:var(--content-font-color);
}
.comment_id {
    font-size:0.9em;
    color:var(--primary-color);
    font-weight:500;
}
.comment_date {
    font-size:0.85em;
    color:var(--text-muted);
    margin-left:auto;
}
.comment_content {
    line-height:1.6;
    color:var(--content-font-color);
    word-wrap:break-word;
}

/* 비밀글 뱃지 */
.badge_secret {
    display:inline-block;
    padding:var(--spacing-xs) var(--spacing-sm);
    background:linear-gradient(135deg, var(--warning-color), #ff9800);
    color:var(--white);
    border-radius:12px;
    font-size:0.85em;
    font-weight:600;
    margin-right:var(--spacing-sm);
    margin-bottom:var(--spacing-xs);
}

/* 댓글 옵션 */
.comment_options {
    position:relative;
    flex-shrink:0;
    margin-left:var(--spacing-sm);
}
.btn_cm_opt {
    padding:var(--spacing-xs) var(--spacing-sm);
    background-color:transparent;
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    color:var(--text-muted);
    cursor:pointer;
    transition:var(--transition-fast);
}
.btn_cm_opt:hover {
    background-color:var(--primary-color);
    border-color:var(--primary-color);
    color:var(--white);
}
.comment_actions_menu {
    display:none;
    position:absolute;
    right:0;
    margin-top:var(--spacing-xs);
    background-color:var(--white);
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    box-shadow:0 4px 12px rgb(from var(--text-color) r g b / 15%);
    z-index:100;
    min-width:120px;
}
.comment_actions_menu li {
    list-style:none;
}
.comment_actions_menu li a {
    display:block;
    padding:var(--spacing-sm) var(--spacing-md);
    color:var(--content-font-color);
    text-decoration:none;
    transition:var(--transition-fast);
}
.comment_actions_menu li a:hover {
    background-color:var(--primary-color);
    color:var(--white);
}
.comment_actions_menu li a i {
    margin-right:var(--spacing-xs);
}

/* 댓글 입력 폼 */
#bo_vc_w {
    padding:var(--spacing-lg);
}

.comment_form_container {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-md);
}

/* 게스트 정보 행 */
.guest_info_row {
    display:flex;
    gap:var(--spacing-sm);
}
.guest_info_row .frm_input {
    flex:1;
    padding:var(--spacing-sm) var(--spacing-md);
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    font-size:0.95em;
}

/* 댓글 입력 행 */
.comment_input_row {
    display:flex;
    gap:var(--spacing-md);
    align-items:flex-start;
}

.comment_input_column {
    display:flex;
    flex-direction:column;
    width: 100%;
}

.comment_input_row textarea {
    flex: 1;
    min-height: 80px;
    padding: var(--spacing-md);
    border: 1px solid var(--form-border-color);
    border-radius: var(--form-border-radius);
    font-size: 0.95em;
    resize: vertical;
    transition: var(--transition-fast);
    background: var(--form-bg-color);
    color: var(--form-text-color);
    vertical-align: middle;
}

.comment_input_row textarea:focus {
    border-color:var(--primary-color);
    outline:none;
    box-shadow:0 0 0 3px rgb(from var(--primary-color) r g b / 10%);
}

/* 댓글 액션 */
.comment_actions {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-sm);
    align-items:flex-end;
}
.char_counter {
    font-size:0.85em;
    color:var(--text-muted);
    white-space:nowrap;
}
.comment_actions .secret_cm {
    display:flex;
    align-items:center;
    gap:var(--spacing-xs);
}
.comment_actions .btn_submit {
    padding:var(--spacing-sm) var(--spacing-lg);
    background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border:none;
    border-radius:var(--card-border-radius);
    color:var(--white);
    font-weight:600;
    cursor:pointer;
    transition:var(--transition-fast);
    white-space:nowrap;
}
.comment_actions .btn_submit:hover {
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgb(from var(--primary-color) r g b / 30%);
}

/* 캡챠 행 */
.captcha_row {
    padding-top:var(--spacing-md);
    border-top:1px solid var(--border-light);
}

/* 빈 댓글 */
#bo_vc_empty {
    margin: 0;
    padding: 30px 0 20px !important;
    color: var(--text-muted);
    text-align: center;
}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 var(--spacing-xs) 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:var(--spacing-xs)}
#bo_w .write_div {margin:var(--spacing-sm) 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:var(--white)}
#bo_w .bo_w_tit {
    position: relative;
    margin: 1.2rem 0;
}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {top:var(--spacing-xs);right:var(--spacing-xs);line-height:30px;height:30px}
#bo_w .bo_w_select select {border:1px solid var(--input-border-color);width:100%;height:40px;border-radius:var(--card-border-radius)}
#bo_w .btn_submit {padding:0 var(--spacing-lg);font-size:1.167em}
#bo_w .btn_cancel {border-radius:var(--card-border-radius);font-size:1.167em}

/* 파일 업로드 현대화 */
.file_section_title {display:block;margin-bottom:var(--spacing-xs);font-weight:bold;font-size:1.1em}
.file_section_title .text_muted {color:var(--text-muted);font-size:0.85em;font-weight:normal}
.file_notice {margin:0 0 var(--spacing-md);padding:var(--spacing-sm);background:rgb(from var(--info-color) r g b / 10%);border-left:3px solid var(--info-color);color:var(--content-font-color);font-size:0.9em;line-height:1.6}
.file_notice code {padding:2px 6px;background:rgb(from var(--primary-color) r g b / 15%);color:var(--primary-color);border-radius:3px;font-family:monospace;font-size:0.95em}

#bo_w .bo_w_flie {margin-bottom:var(--spacing-sm)}
.file_hidden {display:none !important;position:absolute;width:0;height:0;opacity:0;visibility:hidden}

.file_upload_box {display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);background:var(--white)}
.file_label {display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-color);color:var(--white);border-radius:var(--card-border-radius);cursor:pointer;font-size:0.9em;font-weight:500;transition:var(--transition-fast);white-space:nowrap}
.file_label:hover {background:var(--secondary-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.file_label i {font-size:1.1em}
.file_name {flex:1;color:var(--text-muted);font-size:0.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.file_item_row {display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}
.file_item_row .file_upload_box {flex:1;min-width:300px}
.file_item_row .file_del {flex-shrink:0}

/* 모바일 반응형 */
@media (max-width: 768px) {
    /* 체크박스 영역 축소 */
    #bo_list .td_chk {
        width: 25px;
        padding: var(--spacing-xs);
    }
    #bo_list .chk_box input[type="checkbox"] + label span {
        width: 12px;
        height: 12px;
    }

    /* 번호 영역 축소/숨김 */
    #bo_list .td_num2 {
        display: none;
    }

    /* 날짜 영역 축소/숨김 */
    #bo_list .td_datetime {
        display: none;
    }

    /* 글쓴이 영역 축소 */
    #bo_list .td_name {
        width: 60px;
        font-size: 0.85em;
    }

    /* 제목 영역 패딩 조정 */
    .td_subject {
        padding-left: var(--spacing-sm) !important;
    }

    /* 테이블 헤더도 숨김 처리 */
    #bo_list thead th:nth-child(2),
    #bo_list thead th:last-child {
        display: none;
    }
}

/* ===== gallery 베이스 ===== */
@charset "utf-8";

/* ===== 갤러리 게시판 스타일 ===== */

/* 전체 컨테이너 */
#bo_gall {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    margin: 0 auto;
    padding: 50px 0;
    font-family: var(--content-font-family);
    font-size: var(--content-font-size);
}

/* 카테고리 */
#bo_cate {
    margin: var(--spacing-lg) 0;
}
#bo_cate h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}
#bo_cate ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    list-style: none;
    padding: 0;
    margin: 0;
}
#bo_cate li {
    display: inline-block;
}
#bo_cate a {
    display: block;
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--container-border-radius);
    border: 1px solid var(--container-border-color);
    color: var(--primary-color);
    transition: var(--transition-fast);
    text-decoration: none;
}
#bo_cate a:hover {
    background: var(--primary-color);
    color: var(--btn-primary-text);
    border-color: var(--primary-color);
}
#bo_cate #bo_cate_on {
    background: var(--primary-color);
    color: var(--btn-primary-text);
    border-color: var(--primary-color);
    font-weight: bold;
}

/* 상단 정보 및 버튼 */
.bo_gall_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
    gap: var(--spacing-md);
}

#bo_list_total {
    line-height: 40px;
    font-size: 0.95em;
    color: var(--content-font-color);
}

#bo_gall_act {
    flex-shrink: 0;
}

.btn_bo_user {
    display: flex;
    gap: var(--spacing-xs);
    list-style: none;
    padding: 0;
    margin: 0;
}

.btn_bo_user li {
    display: inline-block;
}

.btn_bo_user .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: var(--btn-primary-radius);
    border: 0;
    cursor: pointer;
    transition: var(--transition-fast);
}

.btn_bo_user .btn:hover {
    background: var(--btn-primary-hover-bg);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* 갤러리 그리드 */
#gall_ul {
    display: grid;
    grid-template-columns: repeat(var(--gallery-cols, 4), 1fr);
    gap: var(--spacing-lg);
    list-style: none;
    padding: 0;
    margin: var(--spacing-lg) 0;
}

/* 반응형 그리드 */
@media (max-width: 1200px) {
    #gall_ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    #gall_ul {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-md);
    }
}

@media (max-width: 480px) {
    #gall_ul {
        grid-template-columns: 1fr;
    }
}

/* 갤러리 아이템 */
.gall_li {
    position: relative;
    background: var(--card-bg-color);
    border-radius: var(--card-border-radius);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: var(--transition-fast);
}

.gall_li:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.gall_li.notice {
    border: 2px solid var(--accent-color);
}

/* 체크박스 */
.gall_chk {
    position: absolute;
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    z-index: 10;
}

.selec_chk {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    outline: 0;
    z-index: -1;
    overflow: hidden;
}

.gall_chk input[type="checkbox"] + label {
    display: block;
    cursor: pointer;
}

.gall_chk input[type="checkbox"] + label span {
    display: block;
    width: 20px;
    height: 20px;
    background: var(--container-bg-color);
    border: 2px solid var(--input-border-color);
    border-radius: var(--container-border-radius);
    transition: var(--transition-fast);
}

.gall_chk input[type="checkbox"]:checked + label span {
    background: var(--primary-color);
    border-color: var(--primary-color);
    position: relative;
}

.gall_chk input[type="checkbox"]:checked + label span:after {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--btn-primary-text);
    font-size: 14px;
    font-weight: bold;
}

/* 갤러리 박스 */
.gall_box {
    display: flex;
    flex-direction: column;
}

/* 이미지 링크 */
.gall_img_link {
    display: block;
    text-decoration: none;
}

/* 이미지 영역 */
.gall_img {
    position: relative;
    overflow: hidden;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    width: 100%;
}

.gall_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-fast);
}

.gall_li:hover .gall_img img {
    transform: scale(1.05);
}

/* 이미지 위 배지 */
.gall_cate_badge,
.gall_notice_badge,
.gall_secret_badge {
    position: absolute;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.75em;
    font-weight: 700;
    z-index: 5;
}

.gall_cate_badge {
    top: var(--spacing-sm);
    right: var(--spacing-sm);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    backdrop-filter: blur(4px);
}

.gall_notice_badge {
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    background: var(--accent-color);
    color: var(--btn-primary-text);
    box-shadow: 0 2px 8px rgba(255,107,107,0.4);
}

.gall_secret_badge {
    bottom: var(--spacing-sm);
    right: var(--spacing-sm);
    background: rgb(from var(--black) r g b / 70%);
    color: var(--white);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgb(from var(--black) r g b / 30%);
}

.gall_secret_badge i {
    font-size: 14px;
}

/* 제목 앞 새글 배지 */
.gall_new_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 6px;
    background: var(--success-color);
    color: var(--btn-primary-text);
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: 700;
    flex-shrink: 0;
}

/* 텍스트 영역 */
.gall_text_href {
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

/* 제목 행 */
.gall_title_row {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* 제목 */
.gall_subject {
    font-family: var(--content-font-family);
    font-size: 1em;
    font-weight: 600;
    color: var(--content-font-color);
    text-decoration: none;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: var(--transition-fast);
    flex: 1;
}

.gall_subject:hover {
    color: var(--primary-color);
}

/* 댓글 수 배지 */
.gall_comment_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: 10px;
    font-size: 0.8em;
    font-weight: 600;
    flex-shrink: 0;
    min-width: 24px;
    height: 20px;
}

/* 정보 */
.gall_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85em;
    color: var(--text-muted);
    margin-top: var(--spacing-xs);
}

.gall_name {
    font-weight: 500;
}

.gall_date {
    font-size: 0.9em;
}

/* 메타 정보 */
.gall_meta {
    display: flex;
    gap: var(--spacing-md);
    font-size: 0.85em;
    color: var(--text-muted);
    margin-top: var(--spacing-xs);
}

.gall_good {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--accent-color);
}

.gall_good i {
    font-size: 1em;
}

/* 빈 목록 */
.empty_list {
    grid-column: 1 / -1;
    text-align: center;
    padding: var(--spacing-xxl) var(--spacing-md);
    color: var(--text-muted);
}

.empty_list p {
    font-size: 1em;
    margin: 0;
}

/* 관리자 버튼 */
.bo_fx {
    clear: both;
    margin: var(--spacing-lg) 0;
    text-align: center;
}

.btn_bo_adm {
    display: inline-flex;
    gap: var(--spacing-xs);
}

.btn_bo_adm .btn {
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border: 0;
    border-radius: var(--btn-primary-radius);
    cursor: pointer;
    transition: var(--transition-fast);
}

.btn_bo_adm .btn:hover {
    background: var(--btn-primary-hover-bg);
}

/* 페이지네이션 */
.paginate_wrap {
    margin: var(--spacing-xl) 0;
    text-align: center;
}

/* 검색 */
.bo_sch_wrap {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}

.bo_sch {
    position: absolute;
    left: 50%;
    background: var(--white);
    text-align: left;
    width: 300px;
    max-height: 300px;
    translate: -50% 80px;
    overflow-y: auto;
    border-radius: var(--card-border-radius);
    -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border: 1px solid var(--card-border-color);
}

.bo_sch h3 {
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-light);
    margin: 0;
    font-family: var(--title-font-family);
    font-size: var(--sub-title-font-size);
}

.bo_sch form {
    padding: var(--spacing-lg);
}

.bo_sch select {
    width: 100%;
    height: 44px;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--input-border-color);
    border-radius: var(--container-border-radius);
    font-family: var(--content-font-family);
    font-size: var(--content-font-size);
    margin-bottom: var(--spacing-md);
}

.sch_bar {
    display: flex;
    border: 1px solid var(--input-border-color);
    border-radius: var(--container-border-radius);
    overflow: hidden;
}

.sch_input {
    flex: 1;
    height: 44px;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 0;
    font-family: var(--content-font-family);
    font-size: var(--content-font-size);
}

.sch_btn {
    width: 50px;
    height: 44px;
    background: var(--primary-color);
    color: var(--btn-primary-text);
    border: 0;
    cursor: pointer;
    transition: var(--transition-fast);
}

.sch_btn:hover {
    background: var(--secondary-color);
}

.bo_sch_cls {
    position: absolute;
    right: var(--spacing-md);
    top: var(--spacing-md);
    background: transparent;
    border: 0;
    color: var(--text-muted);
    font-size: 1.5em;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bo_sch_cls:hover {
    color: var(--content-font-color);
}

.bo_sch_bg {
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
}

/* 게시글 읽기 스타일 (view.skin.php용) */
.view_article {
    margin-bottom: var(--spacing-lg);
    background: var(--card-bg-color);
    border-radius: var(--card-border-radius);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.view_header {
    padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-md);
    background: linear-gradient(135deg, var(--container-bg-color) 0%, rgb(from var(--primary-color) r g b / 3%) 100%);
}

.view_header .bo_v_cate {
    display: inline-block;
    padding: 5px 12px;
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: var(--container-border-radius);
    font-size: 0.8em;
    font-weight: 600;
    margin-bottom: var(--spacing-sm);
}

.view_header .bo_v_tit {
    font-family: var(--title-font-family);
    font-size: var(--title-font-size);
    font-weight: 700;
    color: var(--content-font-color);
    margin: 0;
    line-height: 1.4;
}

.view_meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-xl);
    background: var(--container-bg-color);
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.meta_author {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.author_profile {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--card-border-color);
}

.author_profile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author_info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.author_line {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.author_name {
    font-family: var(--content-font-family);
    font-size: var(--content-font-size);
    color: var(--content-font-color);
    font-weight: 700;
}

.author_id {
    font-family: var(--content-font-family);
    font-size: 0.9em;
    color: var(--primary-color);
    font-weight: 500;
}

.view_date {
    font-family: var(--content-font-family);
    font-size: 0.85em;
    color: var(--text-muted);
}

.view_buttons_inline {
    display: flex;
    gap: var(--spacing-xs);
}

.view_content_wrap {
    padding: var(--spacing-xl);
}

#bo_v_con {
    margin: var(--spacing-lg) 0;
    font-family: var(--content-font-family);
    font-size: var(--content-font-size);
    color: var(--content-font-color);
    line-height: 1.8;
    word-break: break-all;
}

#bo_v_con img {
    max-width: 100%;
    height: auto;
}

/* 게시판 목록 공통 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:var(--text-muted)}
.chk_box input[type="checkbox"] + label:hover {color:var(--primary-color)}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:var(--container-bg-color);border:1px solid var(--input-border-color);border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:var(--white);border:1px solid var(--black);border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:var(--content-font-color)}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% var(--primary-color);border-color:var(--primary-color);border-radius:3px}


#bo_btn_top {margin:var(--spacing-sm) 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:var(--spacing-xs);float:right;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;line-height:34px;font-size:0.92em;color:var(--content-font-color)}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {
    float: left;
    width: 40px;
    text-align: center;
    margin-left: var(--spacing-xs);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: var(--btn-primary-radius);
}
.btn_bo_user li .btn {
    width: 100%;
}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:var(--spacing-xs)}
.btn_bo_adm input {padding:0 var(--spacing-xs);border:0;background:var(--bg-light);color:var(--text-muted);text-decoration:none;vertical-align:middle}
.bo_notice td {background:rgb(from var(--accent-color) r g b / 10%) !important;border-bottom:1px solid rgb(from var(--accent-color) r g b / 20%)}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:var(--accent-color)}

.more_opt {display:none;position:absolute;top:45px;right:0;background:var(--container-bg-color);border:1px solid var(--container-border-color);z-index:999;border-radius:var(--container-border-radius)}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--container-border-color) transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--container-bg-color) transparent}
.more_opt li {
    border-bottom: 1px solid var(--border-light);
    padding: var(--spacing-sm);
    float: inherit;
    width: 50px;
    margin: 0;
    color: var(--text-muted);
    text-align: left;
    background: var(--white);
}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
}
.more_opt li:hover a,
.more_opt li:hover button {color:var(--content-font-color)}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:var(--content-font-color)}
.td_subject {text-align:left !important;padding-left:var(--spacing-lg) !important}
.bo_cate_link {display:inline-block;margin-right:var(--spacing-xs);background:rgb(from var(--primary-color) r g b / 10%);color:var(--primary-color);font-weight:500;padding:3px 8px;border-radius:4px;font-size:0.8em;vertical-align:middle} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none;background:var(--btn-primary-bg);color:var(--btn-primary-text)}
.bo_tit {display:inline;color:var(--content-font-color);font-weight:500;font-size:0.95em}
.bo_tit:hover {color:var(--primary-color)}
.bo_current {color:var(--accent-color)}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {display:inline-flex;align-items:center;background:rgb(from var(--primary-color) r g b / 12%);color:var(--primary-color);font-size:0.85em;height:20px;line-height:1;padding:4px 7px;border-radius:10px;vertical-align:middle;margin-left:var(--spacing-xs);font-weight:500}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:var(--accent-color)}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:var(--info-color);background:rgb(from var(--info-color) r g b / 20%);text-align:center;border-radius:2px;font-size:12px;border:1px solid rgb(from var(--info-color) r g b / 20%);vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--success-color);background:rgb(from var(--success-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--accent-color);background:rgb(from var(--accent-color) r g b / 20%);text-align:center;border-radius:2px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right {color:var(--text-muted)}
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--warning-color);background:rgb(from var(--warning-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:var(--spacing-xs);vertical-align:middle}
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:var(--secondary-color);background:rgb(from var(--secondary-color) r g b / 20%);text-align:center;border-radius:2px;margin-left:var(--spacing-xs);vertical-align:middle}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:var(--container-bg-color);text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:var(--container-border-radius);-webkit-box-shadow:0 4px 20px rgba(0,0,0,0.15);-moz-box-shadow:0 4px 20px rgba(0,0,0,0.15);box-shadow:0 4px 20px rgba(0,0,0,0.15);border:1px solid var(--container-border-color)}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:var(--spacing-md);border-bottom:1px solid var(--border-light)}
.bo_sch legend {background:var(--accent-color)}
.bo_sch form {padding:var(--spacing-md);display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid var(--input-border-color);border-radius:var(--card-border-radius);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:var(--spacing-md);border:1px solid var(--input-border-color);border-radius:var(--card-border-radius);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, .05)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:var(--text-muted);background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:var(--text-muted);border:0;padding:var(--spacing-sm) var(--spacing-md);font-size:16px;background:var(--container-bg-color)}
.bo_sch_bg {background:rgba(0,0,0,0.3);width:100%;height:100%}

/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 var(--spacing-xs);padding:0}
#char_count_wrap {margin:var(--spacing-xs) 0 0;text-align:right}
#char_count {font-weight:bold}

/* 게시판 읽기 - 현대화 */
.view_article {margin-bottom:var(--spacing-lg);background:var(--card-bg-color);border-radius:var(--card-border-radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.1)}

/* 메타 정보 + 버튼 영역 */
.view_meta {display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--container-bg-color);flex-wrap:wrap;gap:var(--spacing-md)}
.meta_author {display:flex;align-items:center;gap:var(--spacing-md);flex:1}
.author_profile {width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid var(--card-border-color);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.author_profile img {width:100%;height:100%;object-fit:cover}
.author_info {display:flex;flex-direction:column;gap:4px}
.author_line {display:flex;align-items:center;gap:var(--spacing-xs)}
.author_name {font-size:1em;color:var(--content-font-color);font-weight:700}
.author_id {font-size:0.9em;color:var(--primary-color);font-weight:500}
.view_date {font-size:0.85em;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;margin-right:var(--spacing-md)}
.view_date i {font-size:1em}
.stat_item {font-size:0.9em;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}
.stat_item i {font-size:1.1em}
.stat_item a {color:var(--text-muted);text-decoration:none;transition:var(--transition-fast)}
.stat_item a:hover {color:var(--primary-color)}

/* 인라인 버튼 영역 */
.view_buttons_inline {display:flex;gap:var(--spacing-xs)}
.view_buttons_inline .btn_bo_user {margin:0;padding:0;list-style:none;display:flex;}
.view_buttons_inline .btn_bo_user li {margin:0}
.view_buttons_inline .btn {padding:8px 14px;font-size:0.85em;border-radius: var(--btn-primary-radius);transition:var(--transition-fast)}

/* 기존 스타일 호환성 */
#bo_v {
    margin-bottom: var(--spacing-lg);
    box-sizing: border-box;
    max-width: 800px;
    margin: 50px auto;
}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 var(--spacing-xs);height:25px;background:var(--accent-color);color:var(--btn-primary-text);font-weight:bold;line-height:2.2em}
#bo_v_title {}
#bo_v_info {margin:0;color:var(--text-muted)}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:var(--spacing-lg) 0 var(--spacing-sm);display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:var(--spacing-sm)}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:var(--spacing-xs) 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 var(--spacing-sm) 0 0;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_info .profile_img {display:none}
#bo_v .view_meta .sv_member {color:var(--content-font-color)}
#bo_v_info .if_date {margin:0;color:var(--text-muted)}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:var(--spacing-md);position:relative;margin:var(--spacing-sm) 0;border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);
-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.05);
-moz-box-shadow:0 2px 8px rgba(0,0,0,0.05);
box-shadow:0 2px 8px rgba(0,0,0,0.05);
transition:var(--transition-fast)}
#bo_v_file li i {float:left;color:var(--text-muted);font-size:2.35em;margin-right:var(--spacing-lg)}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--content-font-color)}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:var(--primary-color)}
#bo_v_file img {float:left;margin:0 var(--spacing-sm) 0 0}
#bo_v_file .bo_v_file_cnt {color:var(--text-muted);font-size:0.92em}
#bo_v_file li:hover {border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
#bo_v_file li:hover i {color:var(--primary-color)}
#bo_v_file li:hover .bo_v_file_cnt {color:var(--primary-color)}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:var(--spacing-md);position:relative;margin:var(--spacing-sm) 0;border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);
-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.05);
-moz-box-shadow:0 2px 8px rgba(0,0,0,0.05);
box-shadow:0 2px 8px rgba(0,0,0,0.05);
transition:var(--transition-fast)}
#bo_v_link li i {float:left;color:var(--text-muted);font-size:2.35em;margin-right:var(--spacing-lg)}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--content-font-color)}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:var(--primary-color)}
#bo_v_link .bo_v_link_cnt {color:var(--text-muted);font-size:0.92em}
#bo_v_link li:hover {border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
#bo_v_link li:hover i {color:var(--primary-color)}
#bo_v_link li:hover .bo_v_link_cnt {color:var(--primary-color)}

#bo_v_top {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 {padding:0;list-style:none;word-break:break-all;}

#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 {padding:0;list-style:none}

.bo_v_com {margin:var(--spacing-lg) 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:var(--spacing-xs)}

.bo_v_nb {position:relative;margin:0;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid var(--border-light);padding:var(--spacing-md);transition:var(--transition-fast)}
.bo_v_nb li:last-child {border-bottom:1px solid var(--border-light)}
.bo_v_nb li:hover {background:var(--bg-light)}
.bo_v_nb li i {font-size:13px;color:var(--text-muted)}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:var(--spacing-lg);color:var(--text-muted)}
.bo_v_nb li .nb_date {float:right;color:var(--text-muted)}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:var(--spacing-lg);max-width:100%;height:auto}

#bo_v_con {margin:var(--spacing-sm) 0 var(--spacing-xl);width:100%;line-height:1.7em;word-break:break-all;overflow:hidden}

#bo_v_act {margin-bottom:var(--spacing-xl);text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:var(--spacing-xs);vertical-align:middle;color:var(--content-font-color)}
#bo_v_act a:hover {background-color:var(--container-bg-color);color:var(--accent-color);border-color:var(--accent-color)}
#bo_v_act i {font-size:1.4em;margin-right:var(--spacing-xs)}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:var(--spacing-sm) 0;width:165px;background:var(--accent-color);color:var(--btn-primary-text);text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid var(--card-border-color);width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid var(--card-border-color);width:70px;line-height:46px;border-radius:30px}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:var(--spacing-xs);text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:var(--card-border-radius);color:var(--btn-primary-text);font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:var(--spacing-xs)}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:var(--spacing-lg) 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 var(--spacing-sm);color:var(--text-muted);font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:var(--card-border-color);border-radius:var(--card-border-radius)}
#bo_v_share .btn:hover {background:var(--container-bg-color)}
#bo_v_share .btn i {margin-right:var(--spacing-xs);color:var(--content-font-color);vertical-align:middle}

/* 게시판 댓글 */
.cmt_btn span.total {position:relative;display:inline-block;margin-right:var(--spacing-xs);font-size:1em;color:var(--primary-color)}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:var(--spacing-xs)}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:var(--content-font-color)}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:var(--primary-color);content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:var(--spacing-sm)}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:var(--spacing-md);left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:var(--text-muted)}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 var(--spacing-lg)}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:var(--accent-color)}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid var(--card-border-color);margin:0;list-style:none;background:var(--white);zoom:1;z-index:9999;border-radius:var(--card-border-radius)}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--card-border-color) transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent var(--white) transparent}
.bo_vc_act li {border-bottom:1px solid var(--border-light)}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:var(--spacing-sm) var(--spacing-md)}
.bo_vc_act li a:hover {color:var(--primary-color)}

.bo_vc_w {position:relative;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 var(--spacing-xs)}
.bo_vc_w textarea {
    border: 1px solid var(--form-border-color);
    background: var(--form-bg-color);
    color: var(--form-text-color);
    vertical-align: middle;
    border-radius: var(--card-border-radius);
    padding: var(--spacing-xs);
    width: 100%;
    height: 120px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}
#wr_secret {}
.bo_vc_w_info {margin:var(--spacing-sm) 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:var(--spacing-xs)}
.bo_vc_w_info #captcha {padding-top:var(--spacing-sm);display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:var(--spacing-sm)}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:var(--spacing-sm);border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 var(--spacing-lg);border-radius:var(--card-border-radius);font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

/* ===== 댓글 영역 ===== */
/* 댓글 버튼 */
.cmt_btn {
    display: block;
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: 1em;
    font-weight: 600;
    color: var(--content-font-color);
    background: var(--container-bg-color);
    transition: var(--transition-fast);
    text-align: left;
    border: 0;
}
.cmt_btn:hover {
    background:linear-gradient(135deg, rgb(from var(--primary-color) r g b / 5%) 0%, rgb(from var(--primary-color) r g b / 10%) 100%);
    border-color:var(--primary-color);
}
.cmt_btn strong {
    color:var(--primary-color);
    margin-left:var(--spacing-xs);
}

/* 댓글 섹션 */
.comment_section {
}

/* 댓글 아이템 */
.comment_item {
    display: flex;
    gap: var(--spacing-sm);
    padding: var(--spacing-lg) var(--spacing-md);
    /* margin-bottom: var(--spacing-md); */
    background-color: var(--white);
    /* border: 1px solid var(--border-light); */
    /* border-radius: var(--card-border-radius); */
    transition: var(--transition-fast);
}
.comment_item:hover {
    box-shadow:0 2px 8px rgb(from var(--primary-color) r g b / 10%);
}

/* 댓글 프로필 */
.comment_profile {
    flex-shrink:0;
}
.comment_profile img {
    width:40px;
    height:40px;
    border-radius:50%;
    border:2px solid var(--border-light);
}

/* 댓글 본문 */
.comment_body {
    flex:1;
    min-width:0;
}
.comment_header {
    display:flex;
    align-items:center;
    gap:var(--spacing-xxs);
    margin-bottom:var(--spacing-xs);
    flex-wrap:wrap;
}
.comment_author {
    font-size:0.95em;
    font-weight:600;
    color:var(--content-font-color);
}
.comment_id {
    font-size:0.9em;
    color:var(--primary-color);
    font-weight:500;
}
.comment_date {
    font-size:0.85em;
    color:var(--text-muted);
    margin-left:auto;
}
.comment_content {
    line-height:1.6;
    color:var(--content-font-color);
    word-wrap:break-word;
}

/* 비밀글 뱃지 */
.badge_secret {
    display:inline-block;
    padding:var(--spacing-xs) var(--spacing-sm);
    background:linear-gradient(135deg, var(--warning-color), #ff9800);
    color:var(--white);
    border-radius:12px;
    font-size:0.85em;
    font-weight:600;
    margin-right:var(--spacing-sm);
    margin-bottom:var(--spacing-xs);
}

/* 댓글 옵션 */
.comment_options {
    position:relative;
    flex-shrink:0;
    margin-left:var(--spacing-sm);
}
.btn_cm_opt {
    padding:var(--spacing-xs) var(--spacing-sm);
    background-color:transparent;
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    color:var(--text-muted);
    cursor:pointer;
    transition:var(--transition-fast);
}
.btn_cm_opt:hover {
    background-color:var(--primary-color);
    border-color:var(--primary-color);
    color:var(--white);
}
.comment_actions_menu {
    display:none;
    position:absolute;
    right:0;
    margin-top:var(--spacing-xs);
    background-color:var(--white);
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    box-shadow:0 4px 12px rgb(from var(--text-color) r g b / 15%);
    z-index:100;
    min-width:120px;
}
.comment_actions_menu li {
    list-style:none;
}
.comment_actions_menu li a {
    display:block;
    padding:var(--spacing-sm) var(--spacing-md);
    color:var(--content-font-color);
    text-decoration:none;
    transition:var(--transition-fast);
}
.comment_actions_menu li a:hover {
    background-color:var(--primary-color);
    color:var(--white);
}
.comment_actions_menu li a i {
    margin-right:var(--spacing-xs);
}

/* 댓글 입력 폼 */
#bo_vc_w {
    padding:var(--spacing-lg);
}

.comment_form_container {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-md);
}

/* 게스트 정보 행 */
.guest_info_row {
    display:flex;
    gap:var(--spacing-sm);
}
.guest_info_row .frm_input {
    flex:1;
    padding:var(--spacing-sm) var(--spacing-md);
    border:1px solid var(--border-light);
    border-radius:var(--card-border-radius);
    font-size:0.95em;
}

/* 댓글 입력 행 */
.comment_input_row {
    display:flex;
    gap:var(--spacing-md);
    align-items:flex-start;
}

.comment_input_column {
    display:flex;
    flex-direction:column;
    width: 100%;
}

.comment_input_row textarea {
    flex: 1;
    min-height: 80px;
    padding: var(--spacing-md);
    border: 1px solid var(--form-border-color);
    border-radius: var(--form-border-radius);
    font-size: 0.95em;
    resize: vertical;
    transition: var(--transition-fast);
    background: var(--form-bg-color);
    color: var(--form-text-color);
    vertical-align: middle;
}

.comment_input_row textarea:focus {
    border-color:var(--primary-color);
    outline:none;
    box-shadow:0 0 0 3px rgb(from var(--primary-color) r g b / 10%);
}

/* 댓글 액션 */
.comment_actions {
    display:flex;
    flex-direction:column;
    gap:var(--spacing-sm);
    align-items:flex-end;
}
.char_counter {
    font-size:0.85em;
    color:var(--text-muted);
    white-space:nowrap;
}
.comment_actions .secret_cm {
    display:flex;
    align-items:center;
    gap:var(--spacing-xs);
}
.comment_actions .btn_submit {
    padding:var(--spacing-sm) var(--spacing-lg);
    background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border:none;
    border-radius:var(--card-border-radius);
    color:var(--white);
    font-weight:600;
    cursor:pointer;
    transition:var(--transition-fast);
    white-space:nowrap;
}
.comment_actions .btn_submit:hover {
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgb(from var(--primary-color) r g b / 30%);
}

/* 캡챠 행 */
.captcha_row {
    padding-top:var(--spacing-md);
    border-top:1px solid var(--border-light);
}

/* 빈 댓글 */
#bo_vc_empty {
    margin: 0;
    padding: 30px 0 20px !important;
    color: var(--text-muted);
    text-align: center;
}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 var(--spacing-xs) 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:var(--spacing-xs)}
#bo_w .write_div {margin:var(--spacing-sm) 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:var(--white)}
#bo_w .bo_w_tit {
    position: relative;
    margin: 1.2rem 0;
}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {top:var(--spacing-xs);right:var(--spacing-xs);line-height:30px;height:30px}
#bo_w .bo_w_select select {border:1px solid var(--input-border-color);width:100%;height:40px;border-radius:var(--card-border-radius)}
#bo_w .btn_submit {padding:0 var(--spacing-lg);font-size:1.167em}
#bo_w .btn_cancel {border-radius:var(--card-border-radius);font-size:1.167em}

/* 파일 업로드 현대화 */
.file_section_title {display:block;margin-bottom:var(--spacing-xs);font-weight:bold;font-size:1.1em}
.file_section_title .text_muted {color:var(--text-muted);font-size:0.85em;font-weight:normal}
.file_notice {margin:0 0 var(--spacing-md);padding:var(--spacing-sm);background:rgb(from var(--info-color) r g b / 10%);border-left:3px solid var(--info-color);color:var(--content-font-color);font-size:0.9em;line-height:1.6}
.file_notice code {padding:2px 6px;background:rgb(from var(--primary-color) r g b / 15%);color:var(--primary-color);border-radius:3px;font-family:monospace;font-size:0.95em}

#bo_w .bo_w_flie {margin-bottom:var(--spacing-sm)}
.file_hidden {display:none !important;position:absolute;width:0;height:0;opacity:0;visibility:hidden}

.file_upload_box {display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);background:var(--white)}
.file_label {display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-color);color:var(--white);border-radius:var(--card-border-radius);cursor:pointer;font-size:0.9em;font-weight:500;transition:var(--transition-fast);white-space:nowrap}
.file_label:hover {background:var(--secondary-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.file_label i {font-size:1.1em}
.file_name {flex:1;color:var(--text-muted);font-size:0.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.file_item_row {display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}
.file_item_row .file_upload_box {flex:1;min-width:300px}
.file_item_row .file_del {flex-shrink:0}

/* ═══════════════════════════════════════════════════
   abc_meet — 일정 조율 전용 스타일
   ═══════════════════════════════════════════════════ */

.meet_view, .meet_write, .meet_list { margin: 0 auto; }

/* ── 목록 ── */
.meet_list .gall_ul { display: grid; grid-template-columns: repeat(var(--gallery-cols, 3), 1fr); gap: var(--spacing-lg, 20px); list-style: none; padding: 0; margin: 0; }
.meet_list .gall_li { list-style: none; }
.meet_list .gall_box { background: var(--card-bg-color, #fff); border: 1px solid var(--card-border-color, #e5e5e5); border-radius: var(--card-border-radius, 12px); overflow: hidden; height: 100%; transition: var(--transition-fast, .2s); }
.meet_list .gall_li:hover .gall_box { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.meet_list .gall_img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-light, #f4f5f7); }
.meet_list .gall_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.meet_list .gall_img.no_img { display: flex; align-items: center; justify-content: center; }
.meet_list .ph_ico { font-size: 2.4em; color: var(--text-muted, #b7bcc5); }
.meet_list .gall_text_href { padding: var(--spacing-md, 14px); }
.meet_list .gall_subject { font-weight: 600; color: var(--text-color, #222); text-decoration: none; }
.meet_list .meet_li_meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 6px; font-size: .85em; color: var(--text-muted, #7a8089); }
.meet_list .li_fixed { color: var(--success-color, #2e9e6b); font-weight: 600; }
.meet_list .gall_info { display: flex; justify-content: space-between; font-size: .8em; color: var(--text-muted, #8a9099); border-top: 1px dashed var(--border-light, #eee); padding-top: 8px; }
.meet_list .empty_list { grid-column: 1 / -1; text-align: center; padding: 60px 0; color: var(--text-muted, #999); }

.meet_badge { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; font-size: .75em; font-weight: 700; color: #fff; }
.meet_badge.b_open  { background: var(--primary-color, #5b8def); }
.meet_badge.b_fixed { background: var(--success-color, #2e9e6b); }

@media (max-width: 900px) { .meet_list .gall_ul { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .meet_list .gall_ul { grid-template-columns: 1fr; } }

/* ── 글쓰기 ── */
.meet_setup_box { border: 1px solid var(--card-border-color, #e5e5e5); border-radius: var(--card-border-radius, 12px); padding: var(--spacing-lg, 20px); background: var(--card-bg-color, #fff); margin: var(--spacing-lg, 20px) 0; }
.meet_setup_tit { margin: 0 0 16px; font-size: 1.05em; font-weight: 700; color: var(--primary-color, #5b8def); }
.meet_field { margin-bottom: 16px; }
.meet_field > label { display: block; font-weight: 600; font-size: .9em; margin-bottom: 6px; }
.meet_field .req { color: var(--warning-color, #e0603a); }
.meet_range { display: flex; align-items: center; gap: 8px; }
.meet_range input { flex: 1; min-width: 0; }
.meet_range .tilde { color: var(--text-muted, #999); }
.meet_help { font-size: .82em; color: var(--text-muted, #8a9099); margin: 6px 0 0; line-height: 1.5; }
.meet_chk { display: flex; align-items: flex-start; gap: 8px; font-size: .9em; cursor: pointer; }
.meet_chk input { margin-top: 3px; }
.meet_chk.big { font-size: 1em; font-weight: 600; padding: 12px; border: 1px solid var(--card-border-color, #e5e5e5); border-radius: 10px; margin-bottom: 14px; }
.meet_token_info { font-size: .82em; color: var(--text-muted, #8a9099); background: var(--bg-light, #f6f7f9); border-radius: 8px; padding: 10px 12px; }

/* ── 상세 헤더 ── */
.meet_state { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .78em; font-weight: 700; color: #fff; margin-bottom: 8px; }
.meet_state.is_open  { background: var(--primary-color, #5b8def); }
.meet_state.is_fixed { background: var(--success-color, #2e9e6b); }
.meet_host_badge { font-size: .72em; background: var(--bg-light, #eef1f6); color: var(--text-muted, #667); padding: 2px 8px; border-radius: 999px; margin-left: 6px; }

.meet_fixed_banner { display: flex; align-items: center; gap: 14px; background: linear-gradient(135deg, rgba(46,158,107,.12), rgba(46,158,107,.04)); border: 1px solid rgba(46,158,107,.35); border-radius: 12px; padding: 16px 18px; margin: 16px 0; }
.meet_fixed_banner i { font-size: 1.6em; color: var(--success-color, #2e9e6b); }
.meet_fixed_banner strong { display: block; font-size: .9em; }
.meet_fixed_banner span { font-size: 1.15em; font-weight: 700; color: var(--success-color, #2e9e6b); }

.meet_summary { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 16px 0; }
.meet_summary li { flex: 1 1 140px; background: var(--bg-light, #f6f7f9); border-radius: 10px; padding: 10px 14px; }
.meet_summary span { display: block; font-size: .75em; color: var(--text-muted, #8a9099); }
.meet_summary strong { font-size: .95em; }

/* ── 캘린더 ── */
.meet_app { border: 1px solid var(--card-border-color, #e5e5e5); border-radius: var(--card-border-radius, 12px); background: var(--card-bg-color, #fff); padding: var(--spacing-lg, 20px); margin: var(--spacing-lg, 20px) 0; }
.meet_toolbar { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 12px; }
.cal_title { font-size: 1.25em; font-weight: 700; min-width: 140px; text-align: center; }
.cal_nav { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--card-border-color, #ddd); background: var(--card-bg-color, #fff); cursor: pointer; color: var(--text-color, #333); }
.cal_nav:hover { background: var(--bg-light, #f0f2f5); }

.meet_legend { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; font-size: .78em; color: var(--text-muted, #7a8089); margin-bottom: 14px; }
.meet_legend .lg i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 4px; vertical-align: -1px; }
.lg_ok i    { background: #2e9e6b; }
.lg_part i  { background: #e0603a; }
.lg_holi i  { background: #e46a7b; }
.lg_mine i  { background: #5b8def; }

.cal_head { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-size: .82em; font-weight: 700; color: var(--text-muted, #7a8089); padding-bottom: 8px; border-bottom: 2px solid var(--border-light, #eee); }
.cal_head .sun { color: #e05a5a; }
.cal_head .sat { color: #4a7fd4; }

.cal_grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 6px; }
.cal_cell { position: relative; min-height: 88px; border: 1px solid var(--border-light, #eee); border-radius: 8px; padding: 6px; cursor: pointer; background: var(--card-bg-color, #fff); transition: var(--transition-fast, .15s); overflow: hidden; }
.cal_cell:hover { border-color: var(--primary-color, #5b8def); }
.cal_cell.blank { border: 0; background: transparent; cursor: default; min-height: 0; }
.cal_cell.off { background: repeating-linear-gradient(45deg, #fafafa, #fafafa 6px, #f3f3f3 6px, #f3f3f3 12px); color: #c3c6cb; cursor: default; }
.cal_cell.off:hover { border-color: var(--border-light, #eee); }
.cal_cell.sun .c_num, .cal_cell.holi .c_num { color: #e05a5a; }
.cal_cell.sat .c_num { color: #4a7fd4; }
.cal_cell.holi { background: rgba(228,106,123,.06); }
.cal_cell.perfect { background: rgba(46,158,107,.12); border-color: #2e9e6b; box-shadow: inset 0 0 0 1px rgba(46,158,107,.35); }
.cal_cell.mine::after { content: ""; position: absolute; right: 6px; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--primary-color, #5b8def); }

.c_head { display: flex; align-items: baseline; gap: 4px; }
.c_num { font-weight: 700; font-size: .92em; }
.c_holi { font-size: .62em; color: #e05a5a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c_ok { margin-top: 4px; font-size: .68em; line-height: 1.35; color: #227952; }
.c_ok b { display: block; font-size: 1.05em; }
.c_bad { margin-top: 4px; font-size: .68em; color: #d05a3a; }
.c_dots { position: absolute; left: 6px; bottom: 6px; display: flex; flex-wrap: wrap; gap: 3px; }
.c_dots .dot { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid transparent; display: inline-block; }
.c_dots .dot_x { background: transparent !important; position: relative; }
.c_dots .dot_x::before { content: "×"; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-52%); font-size: 9px; line-height: 1; color: #d05a3a; }
.c_dots .dot_t { border-radius: 2px; }

.meet_hint { text-align: center; font-size: .84em; color: var(--text-muted, #7a8089); margin: 14px 0 0; }

/* ── 참여자 ── */
.meet_people { margin-top: 20px; border-top: 1px dashed var(--border-light, #eee); padding-top: 16px; }
.meet_people h3 { font-size: .95em; margin: 0 0 10px; }
.meet_people h3 em { font-style: normal; color: var(--primary-color, #5b8def); }
.meet_people ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.person { display: flex; align-items: center; gap: 6px; background: var(--bg-light, #f6f7f9); border-radius: 999px; padding: 6px 12px; font-size: .85em; }
.person .p_color { width: 10px; height: 10px; border-radius: 50%; }
.person .p_tag { font-size: .78em; color: var(--text-muted, #8a9099); }
.person .p_memo { color: var(--text-muted, #8a9099); font-size: .85em; }
.person.empty { background: transparent; color: var(--text-muted, #9aa0a8); }

/* ── 버튼 / 액션 ── */
.mbtn { border: 1px solid var(--card-border-color, #ddd); background: var(--card-bg-color, #fff); color: var(--text-color, #333); border-radius: var(--btn-primary-radius, 8px); padding: 10px 18px; font-size: .9em; cursor: pointer; transition: var(--transition-fast, .15s); }
.mbtn:hover { background: var(--bg-light, #f0f2f5); }
.mbtn_primary { background: var(--btn-primary-bg, var(--primary-color, #5b8def)); border-color: transparent; color: var(--btn-primary-text, #fff); font-weight: 600; }
.mbtn_primary:hover { background: var(--btn-primary-hover-bg, #4a7ad8); }
.mbtn_ghost { font-size: .82em; padding: 7px 12px; }
.mbtn_danger { color: #d0432f; border-color: rgba(208,67,47,.4); }
.mbtn:disabled { opacity: .5; cursor: default; }

.meet_actions { margin-top: 20px; border-top: 1px dashed var(--border-light, #eee); padding-top: 16px; text-align: center; }
.meet_auth_guest { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 6px; }
.meet_auth_guest input { max-width: 180px; }
.meet_auth_btns, .meet_edit_btns { display: flex; gap: 8px; justify-content: center; margin-top: 12px; }
.meet_auth_me { font-size: .95em; margin: 0 0 8px; }
.meet_edit_bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; background: rgba(91,141,239,.08); border-radius: 10px; padding: 10px 14px; }
.meet_edit_me { font-size: .88em; }
.meet_memo { width: 100%; margin-top: 10px; resize: vertical; }

/* ── 모임장 ── */
.meet_owner { margin-top: 20px; border-top: 1px dashed var(--border-light, #eee); padding-top: 16px; }
.meet_owner h3 { font-size: .95em; margin: 0 0 10px; }
.meet_owner_row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meet_owner_row select { flex: 1 1 220px; }
.meet_owner_row input { flex: 1 1 160px; }

/* ── 모달 ── */
.meet_modal { position: fixed; inset: 0; z-index: 9999; display: none; }
.meet_modal.on { display: block; }
.meet_modal_bg { position: absolute; inset: 0; background: rgba(20,24,32,.5); }
.meet_modal_box { position: relative; max-width: 440px; width: calc(100% - 32px); margin: 8vh auto 0; background: var(--card-bg-color, #fff); border-radius: 16px; padding: 24px; max-height: 80vh; overflow-y: auto; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.meet_modal_box h3 { margin: 0 0 14px; font-size: 1.1em; }
.mt_holi { font-style: normal; font-size: .7em; color: #e05a5a; margin-left: 6px; }
.meet_modal_x { position: absolute; right: 14px; top: 12px; border: 0; background: none; font-size: 1.6em; line-height: 1; cursor: pointer; color: var(--text-muted, #999); }

.modal_ro { margin-bottom: 16px; }
.ro_sum { font-size: .88em; font-weight: 600; padding: 8px 12px; border-radius: 8px; background: var(--bg-light, #f4f5f7); margin-bottom: 10px; }
.ro_sum.is_ok { background: rgba(46,158,107,.14); color: #227952; }
.ro_list { list-style: none; padding: 0; margin: 0; }
.ro_list li { display: flex; align-items: center; gap: 8px; font-size: .86em; padding: 6px 0; border-bottom: 1px dashed var(--border-light, #f0f0f0); }
.ro_list li i { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.ro_list li em { font-style: normal; color: var(--text-muted, #9aa0a8); font-size: .9em; }
.ro_x    { margin-left: auto; color: #d0432f; font-weight: 600; }
.ro_t    { margin-left: auto; color: var(--primary-color, #5b8def); }
.ro_free { margin-left: auto; color: var(--text-muted, #9aa0a8); }

.md_row { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.md_row input[type=time] { flex: 1; padding: 8px; border: 1px solid var(--input-border-color, #ddd); border-radius: 8px; }
.md_del { border: 0; background: none; font-size: 1.3em; color: #d0432f; cursor: pointer; line-height: 1; }
#md_memo { width: 100%; margin-top: 10px; }
.meet_modal_btns { display: flex; gap: 8px; margin-top: 18px; }
.meet_modal_btns .mbtn { flex: 1; }

.import_list { list-style: none; padding: 0; margin: 0; }
.import_list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--border-light, #f0f0f0); }
.import_list li b { display: block; font-size: .92em; }
.import_list li span { font-size: .78em; color: var(--text-muted, #8a9099); }
.import_list li.empty { justify-content: center; color: var(--text-muted, #9aa0a8); font-size: .88em; }

/* ── 조율 메모(댓글) ── */
.meet_chat .comment_item { background: var(--bg-light, #f7f8fa); border-radius: 14px; padding: 12px 16px; margin-bottom: 10px; }
.meet_chat .comment_content { font-size: .92em; line-height: 1.6; }
.meet_chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.meet_chip { border: 1px dashed var(--card-border-color, #d6dae0); background: transparent; color: var(--text-muted, #6b727c); border-radius: 999px; padding: 5px 12px; font-size: .78em; cursor: pointer; }
.meet_chip:hover { border-style: solid; border-color: var(--primary-color, #5b8def); color: var(--primary-color, #5b8def); }

/* ── 모바일 ── */
@media (max-width: 640px) {
    .cal_cell { min-height: 64px; padding: 4px; }
    .c_ok, .c_bad { font-size: .6em; }
    .c_holi { display: none; }
    .cal_grid { gap: 3px; }
    .meet_summary li { flex: 1 1 45%; }
    .meet_edit_bar { flex-direction: column; align-items: stretch; }
}

/* ── 요일 일괄 불가 ── */
.meet_dow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.dow_label { font-size: .8em; color: var(--text-muted, #8a9099); margin-right: 4px; }
.dow_btn { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--card-border-color, #d6dae0); background: var(--card-bg-color, #fff); font-size: .85em; cursor: pointer; color: var(--text-color, #333); transition: var(--transition-fast, .15s); }
.dow_btn:hover { border-color: var(--primary-color, #5b8def); }
.dow_btn.dow_sun { color: #e05a5a; }
.dow_btn.dow_sat { color: #4a7fd4; }
.dow_btn.on { background: #d0432f; border-color: #d0432f; color: #fff !important; font-weight: 700; }
.dow_btn.on::after { content: ""; }

/* ── 기간 연장 ── */
.meet_extend { text-align: center; margin-top: 10px; }
.meet_extend .mbtn { border-style: dashed; color: var(--primary-color, #5b8def); border-color: var(--primary-color, #5b8def); }

/* ── 참여자 도트 오버플로 ── */
.c_more { font-size: .58em; color: var(--text-muted, #8a9099); font-weight: 700; line-height: 8px; }

/* ── 본문 카드 (테마 배경 위에서도 글씨가 읽히도록) ── */
.meet_view .view_content_wrap {
    position: relative;
    background: var(--card-bg-color, #fff);
    border: 1px solid var(--card-border-color, #e5e5e5);
    border-radius: var(--card-border-radius, 12px);
    padding: var(--spacing-lg, 20px);
    margin: var(--spacing-lg, 20px) 0;
}
.meet_view .view_content_wrap #bo_v_con {
    color: var(--content-font-color, var(--text-color, #222));
    line-height: 1.75;
    word-break: break-word;
}
.meet_view .view_content_wrap #bo_v_con img { max-width: 100%; height: auto; }

/* 접기 : 버튼을 본문 위에 두고, 접힌 상태에서는 본문을 완전히 감춘다 */
.meet_view .view_content_wrap.has_fold { padding-top: var(--spacing-md, 14px); }
.meet_view .view_content_wrap.has_fold #bo_v_con { margin-top: var(--spacing-md, 14px); }
.meet_view .view_content_wrap.is_folded { padding-bottom: var(--spacing-md, 14px); }
.meet_view .view_content_wrap.is_folded #bo_v_con { display: none !important; }

.meet_fold_btn {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 10px 0;
    border: 1px dashed var(--card-border-color, #d6dae0);
    border-radius: 8px; background: var(--bg-light, #f6f7f9);
    color: var(--text-muted, #6b727c); font-size: .88em; font-weight: 600; cursor: pointer;
}
.meet_fold_btn:hover { border-style: solid; border-color: var(--primary-color, #5b8def); color: var(--primary-color, #5b8def); }

/* ── 조율 메모 빠른 입력 칩 ── */
.meet_chips { align-items: center; }
.chips_label { font-size: .75em; color: var(--text-muted, #8a9099); margin-right: 2px; }

/* ── 드래그로 여러 날짜 선택 ── */
.cal_grid.dragging { user-select: none; -webkit-user-select: none; }
.cal_cell.sel { background: rgba(91,141,239,.22) !important; border-color: var(--primary-color, #5b8def) !important; box-shadow: inset 0 0 0 1px var(--primary-color, #5b8def); }
.mt_multi { font-style: normal; font-size: .68em; background: var(--primary-color, #5b8def); color: #fff; padding: 3px 9px; border-radius: 999px; margin-left: 6px; vertical-align: middle; }
.md_last { width: 100%; margin-top: 12px; }

/* ── 확정 회차 : 달력 도장 ── */
.cal_cell.fixed_day {
    background: rgba(46,158,107,.14);
    border-color: #2e9e6b;
    box-shadow: inset 0 0 0 2px rgba(46,158,107,.45);
}
.cal_cell.fixed_day .c_num { color: #1d6b48 !important; font-weight: 800; }
.c_stamp {
    position: absolute; left: 50%; top: 54%;
    transform: translate(-50%, -50%) rotate(-16deg);
    font-size: .82em; font-weight: 900; letter-spacing: 1px;
    color: #d0432f; border: 2.5px solid #d0432f; border-radius: 8px;
    padding: 2px 8px; opacity: .78; pointer-events: none;
    background: rgba(255,255,255,.55); white-space: nowrap;
}
@media (max-width: 640px) { .c_stamp { font-size: .62em; padding: 1px 5px; border-width: 2px; } }

.meet_fixed_banner ul { list-style: none; padding: 0; margin: 6px 0 0; }
.meet_fixed_banner ul li { font-size: .92em; font-weight: 600; color: var(--success-color, #2e9e6b); line-height: 1.7; }
.meet_fixed_banner ul li b { display: inline-block; min-width: 46px; font-size: .8em; color: var(--text-muted, #7a8089); font-weight: 700; }
.meet_fixed_banner em { font-style: normal; font-size: .8em; color: var(--text-muted, #7a8089); margin-left: 6px; }

.fix_list { list-style: none; padding: 0; margin: 10px 0; }
.fix_list li { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-light, #f6f7f9); border-radius: 8px; margin-bottom: 6px; font-size: .88em; }
.fix_list li b { font-size: .82em; color: var(--primary-color, #5b8def); min-width: 44px; }
.fix_list li span { flex: 1; }
.fix_del { margin-left: auto; border: 0; background: none; font-size: 1.2em; line-height: 1; color: #d0432f; cursor: pointer; }
.fix_empty { display: block !important; background: transparent !important; color: var(--text-muted, #9aa0a8); font-size: .82em; padding: 4px 0 !important; }
.meet_owner_row + .meet_owner_row { margin-top: 8px; }
#fix_date_any, #fix_repeat { flex: 0 1 160px; }

/* ── 편집 중 요일 헤더 : 클릭하면 그 요일 전체 선택 ── */
.cal_head.is_edit span {
    cursor: pointer; border-radius: 6px; padding: 4px 0;
    transition: var(--transition-fast, .15s);
}
.cal_head.is_edit span:hover {
    background: rgba(91,141,239,.16);
    color: var(--primary-color, #5b8def);
}
.cal_head.is_edit { position: relative; }
.cal_head.is_edit::after {
    content: "요일 클릭시 일괄등록 가능합니다";
    position: absolute; right: 0; top: -20px;
    font-size: .68em; font-weight: 400; color: var(--text-muted, #9aa0a8);
}
@media (max-width: 640px) { .cal_head.is_edit::after { display: none; } }

/* ── 확정 일정 카드 (본문·달력 아래 / 댓글 위) ── */
.meet_fixed_board {
    border: 2px solid var(--success-color, #2e9e6b);
    border-radius: var(--card-border-radius, 12px);
    background: var(--card-bg-color, #fff);
    padding: var(--spacing-lg, 20px);
    margin: var(--spacing-lg, 20px) 0;
}
.meet_fixed_board h3 {
    margin: 0 0 14px; font-size: 1em; font-weight: 700;
    color: var(--success-color, #2e9e6b);
}
.meet_fixed_board ul { list-style: none; padding: 0; margin: 0; }
.meet_fixed_board li {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 12px 14px; border-radius: 10px;
    background: rgba(46,158,107,.08);
    margin-bottom: 8px;
}
.meet_fixed_board li:last-child { margin-bottom: 0; }
.fb_no {
    flex: 0 0 auto; font-size: .74em; font-weight: 800; letter-spacing: .5px;
    background: var(--success-color, #2e9e6b); color: #fff;
    padding: 4px 10px; border-radius: 999px;
}
.fb_date { font-size: 1.1em; font-weight: 800; color: var(--text-color, #222); }
.fb_date em { font-style: normal; font-size: .78em; font-weight: 600; color: var(--text-muted, #7a8089); }
.fb_time { margin-left: auto; font-size: .9em; font-weight: 600; color: #1d6b48; }
@media (max-width: 560px) { .fb_time { margin-left: 0; width: 100%; } }

/* ── 새 글로 이어가기 (장기 캠페인) ── */
.meet_continue_box {
    margin-top: 16px; padding-top: 16px;
    border-top: 1px dashed var(--border-light, #eee);
}
.meet_continue_box h4 {
    margin: 0 0 8px; font-size: .92em; font-weight: 700;
    color: var(--primary-color, #5b8def);
}
.meet_continue_box .meet_owner_row { margin-bottom: 10px; }
.meet_continue_box .meet_chk { margin-bottom: 10px; }

/* ── 공유 링크 모달 ── */
.share_url_row { display: flex; gap: 8px; margin: 14px 0 6px; }
.share_url_row input { flex: 1; min-width: 0; font-size: .85em; }
.share_url_row .mbtn { flex: 0 0 auto; }

/* ── 잠정 가능일 (아직 전원이 입력하지 않음) ── */
.cal_cell.perfect.provi {
    background: rgba(46,158,107,.07);
    border-style: dashed;
    box-shadow: none;
}
.cal_cell.perfect.provi .c_ok { color: #6c8f7d; }

/* ── 표시 이름 · 색상 선택 ── */
.meet_identity {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-top: 10px; padding: 10px 12px;
    background: var(--bg-light, #f6f7f9); border-radius: 10px;
}
.meet_identity > label, .mi_color_label {
    font-size: .8em; font-weight: 600; color: var(--text-muted, #6b727c);
}
.meet_identity input[type=text] { flex: 1 1 150px; min-width: 0; }
.meet_identity input[readonly] { background: #eceef1; color: var(--text-muted, #8a9099); cursor: not-allowed; }
.meet_colors { display: flex; flex-wrap: wrap; gap: 5px; }
.color_dot {
    width: 22px; height: 22px; border-radius: 50%;
    border: 2px solid transparent; cursor: pointer; padding: 0;
    transition: var(--transition-fast, .15s);
}
.color_dot:hover { transform: scale(1.15); }
.color_dot.on { border-color: var(--text-color, #222); box-shadow: 0 0 0 2px #fff inset; }

/* ── 캘린더 내보내기 버튼 ── */
.meet_fixed_board h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fb_ics { margin-left: auto; font-size: .8em; }

/* ── 공유 안내문 ── */
.share_msg_wrap { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--border-light, #eee); }
.share_msg_wrap label { display: block; font-size: .8em; font-weight: 600; color: var(--text-muted, #6b727c); margin-bottom: 6px; }
#share_msg_box { width: 100%; font-size: .82em; line-height: 1.6; resize: vertical; margin-bottom: 8px; }
#share_msg_copy { width: 100%; }
.meet_list .li_waiting { color: #d0803a; font-weight: 600; }

/* ── 요일 줄에 통합된 편집 버튼 ── */
.dow_sep { flex: 1 1 auto; }
.meet_dow .mbtn_ghost { flex: 0 0 auto; }
@media (max-width: 560px) {
    .dow_sep { flex-basis: 100%; height: 0; }
}

/* ── 시간대 영역 : 항상 보이되 비활성 시 흐리게 ── */
#md_time_area.is_off { opacity: .4; }
#md_time_area.is_off input,
#md_time_area.is_off button { cursor: not-allowed; }

/* ── 프로필 이미지 ── */
.meet_identity .mi_img { flex: 1 1 100%; font-size: .82em; }
.person .p_avatar {
    width: 20px; height: 20px; border-radius: 50%;
    object-fit: cover; border: 2px solid transparent; flex: 0 0 auto;
}

/* ── 조율 메모 안의 외부 이미지 ── */
.comment_content .cmt_img {
    max-width: 100%; max-height: 320px; height: auto;
    border-radius: 10px; margin: 6px 0; display: block;
}

/* ── 압축된 URL 링크 ── */
a.meet_url {
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid var(--card-border-color, #d6dae0);
    border-radius: 999px;
    font-size: .82em;
    color: var(--primary-color, #5b8def);
    text-decoration: none;
    vertical-align: baseline;
}
a.meet_url:hover { background: var(--primary-color, #5b8def); color: #fff; border-color: transparent; }

/* ── 참여자 항목 : 입력 일수 · 삭제 ── */
.person .p_days { font-size: .78em; color: var(--text-muted, #8a9099); }
.person .p_del {
    border: 0; background: none; cursor: pointer; padding: 0 2px;
    font-size: 1.1em; line-height: 1; color: var(--text-muted, #b0b6bd);
}
.person .p_del:hover { color: #d0432f; }
.person .p_del:disabled { opacity: .4; cursor: default; }

/* ── 겹침 시간 제안 ── */
.meet_suggest {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px;
    margin-top: 12px; padding: 12px 14px;
    background: rgba(224,128,58,.1); border: 1px solid rgba(224,128,58,.35);
    border-radius: 10px; font-size: .85em; color: #a35a24;
}
.meet_suggest .mbtn { font-size: .95em; }

/* ── 모바일 : 터치로 편하게 ── */
@media (max-width: 640px) {
    .cal_cell { min-height: 58px; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
    .cal_cell .c_dots .dot { width: 7px; height: 7px; }
    .cal_cell.mine::after { width: 9px; height: 9px; right: 4px; top: 4px; }

    /* 탭 대상이 충분히 커지도록 여백 최소화 */
    .cal_grid { gap: 2px; }
    .c_head { line-height: 1.1; }

    /* 손가락으로 누르는 동안 눌림 표시 */
    .cal_cell:active { transform: scale(.96); background: rgba(91,141,239,.18); }

    /* 요일 버튼·모드 버튼을 손가락 크기로 */
    .dow_btn { width: 38px; height: 38px; }
    .meet_dow { gap: 5px; }

    /* 모달을 화면 아래에서 올라오는 시트로 */
    .meet_modal_box {
        margin: 0; width: 100%; max-width: none;
        position: absolute; left: 0; right: 0; bottom: 0;
        border-radius: 18px 18px 0 0; max-height: 88vh;
        padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px));
    }
    .md_row input[type=time] { padding: 12px 8px; font-size: 1em; }
    .meet_modal_btns .mbtn { padding: 14px 0; }
}

/* ═══ 시트형 디자인 (일정조율 시트 관행을 따름) ═══ */

/* 보기 전환 탭 */
.meet_viewtabs { display: flex; justify-content: center; gap: 0; margin: 0 0 12px; }
.vt_btn {
    padding: 7px 20px; font-size: .84em; font-weight: 600; cursor: pointer;
    border: 1px solid var(--card-border-color, #d6dae0);
    background: var(--card-bg-color, #fff); color: var(--text-muted, #7a8089);
}
.vt_btn:first-child { border-radius: 8px 0 0 8px; }
.vt_btn:last-child  { border-radius: 0 8px 8px 0; border-left: 0; }
.vt_btn.on { background: var(--primary-color, #5b8def); border-color: transparent; color: #fff; }

/* 표 */
.meet_gridwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 4px; }
.meet_grid { border-collapse: separate; border-spacing: 0; font-size: .8em; width: max-content; min-width: 100%; }
.meet_grid th, .meet_grid td {
    border-right: 1px solid var(--border-light, #e8eaee);
    border-bottom: 1px solid var(--border-light, #e8eaee);
    padding: 6px 4px; text-align: center; white-space: nowrap;
}
.meet_grid thead th { background: var(--bg-light, #f2f4f7); font-weight: 700; line-height: 1.2; }
.meet_grid thead th b { display: block; font-size: 1.05em; }
.meet_grid thead th em { font-style: normal; font-size: .78em; color: var(--text-muted, #8a9099); }
.meet_grid thead th.g_sun, .meet_grid thead th.g_holi { color: #e05a5a; }
.meet_grid thead th.g_sat { color: #4a7fd4; }

/* 참여자 이름 열 고정 */
.meet_grid .g_name {
    position: sticky; left: 0; z-index: 2;
    background: var(--card-bg-color, #fff);
    text-align: left; min-width: 92px; max-width: 150px;
    border-right: 2px solid var(--card-border-color, #d6dae0);
    font-weight: 600;
}
.meet_grid thead .g_name { background: var(--bg-light, #f2f4f7); z-index: 3; }
.meet_grid .g_name i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px; }
.meet_grid .g_name em {
    display: block; font-style: normal; font-size: .8em; color: var(--text-muted, #9aa0a8);
    overflow: hidden; text-overflow: ellipsis; max-width: 140px;
}

.meet_grid td.g_o { color: #9aa8b5; }
.meet_grid td.g_x { color: #d0432f; font-weight: 700; background: rgba(208,67,47,.07); }
.meet_grid td.g_t { color: var(--primary-color, #5b8def); font-weight: 700; cursor: help; }

/* 판정 행 */
.meet_grid tfoot th, .meet_grid tfoot td {
    border-top: 2px solid var(--card-border-color, #d6dae0);
    background: var(--bg-light, #f7f8fa); font-weight: 700;
}
.meet_grid tfoot td.g_ok { color: #227952; background: rgba(46,158,107,.18); font-size: 1.15em; }
.meet_grid tfoot td.g_ok.g_provi { background: rgba(46,158,107,.08); color: #6c8f7d; }
.meet_grid tfoot td.g_no { color: #c3c8ce; }
.meet_grid .g_empty { padding: 30px 10px; color: var(--text-muted, #9aa0a8); text-align: center; }

/* 낮 / 밤 / 새벽 프리셋 */
.md_presets { display: flex; gap: 6px; margin-bottom: 10px; }
.md_preset {
    flex: 1; padding: 9px 4px; font-size: .8em; font-weight: 600; cursor: pointer;
    border: 1px solid var(--card-border-color, #d6dae0); border-radius: 8px;
    background: var(--bg-light, #f6f7f9); color: var(--text-muted, #6b727c);
}
.md_preset:hover { border-color: var(--primary-color, #5b8def); color: var(--primary-color, #5b8def); }

@media (max-width: 640px) {
    .meet_grid { font-size: .74em; }
    .meet_grid .g_name { min-width: 74px; }
    .meet_grid th, .meet_grid td { padding: 5px 3px; }
}

/* ── CSV 버튼 ── */
.vt_csv {
    margin-left: 10px; padding: 7px 14px; font-size: .8em; font-weight: 600; cursor: pointer;
    border: 1px dashed var(--card-border-color, #d6dae0); border-radius: 8px;
    background: transparent; color: var(--text-muted, #7a8089);
}
.vt_csv:hover { border-style: solid; border-color: var(--success-color, #2e9e6b); color: var(--success-color, #2e9e6b); }

/* ── 드래그 방식 전환 ── */
.meet_dragmode { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.dm_label { font-size: .8em; color: var(--text-muted, #8a9099); margin-right: 2px; }
.dm_btn {
    padding: 7px 14px; font-size: .8em; font-weight: 600; cursor: pointer;
    border: 1px solid var(--card-border-color, #d6dae0); border-radius: 999px;
    background: var(--card-bg-color, #fff); color: var(--text-muted, #7a8089);
}
.dm_btn.on { background: var(--primary-color, #5b8def); border-color: transparent; color: #fff; }
