

/*
############################################################
    Basic Style
############################################################
*/

:root {
    /* 포커스 컬러만 바꾸고 싶으면 여기 값만 변경 */
    --accent-color: #ff8754;
    --accent-color-association: #FF120A;
    --accent-color-society: #ff8000;
    --accent-color-exhibition: #ff0daa;
    --accent-color-paper: #d829ff;
    --accent-color-conference: #9251ff;

    /* border */
    --border-color-gray10: #e4e4e4;
    --border-color-gray20: #c1c1c1;
    --border-color-gray60: #919191;
    --border-color-gray80: #595959;
    --border-color-gray100: #000000;
}

body>.section {}

.no_img {background: #eee;}


a {text-decoration: none; cursor: pointer;
    color: #555555;}
a:hover {color: #222222;}


/* UIKIT */
.uk-form-stacked .uk-form-label { margin-bottom: 0; }
.uk-button-primary {background-color: #2d6398;}
.uk-button-primary:focus,
.uk-modal-dialog .uk-button:focus {
    outline: none;
    box-shadow: none;
}
.uk-label {font-size: 1.3rem;}
.uk-label.cmmn {background: #686973;}
.uk-label.ko {background: #6972b7;}
.uk-label.en {background: #9072c4;}

.uk-label.perm {background: #869372;}
.uk-label.deny {background: #676767;}

.uk-input {font-size: 1.5rem; font-weight: 300;}
.uk-textarea {font-size: 1.5rem; font-weight: 300;}
.uk-button {font-size: 1.5rem; font-weight: 500; margin-right: 5px;}
.uk-button:last-child {margin-right: 0px;}
.uk-button-large {font-size: 1.5rem; font-weight: 500;}

.uk-alert-primary {font-size: 1.5rem; line-height: 2rem;}
form .uk-text-meta {font-size: 1.3rem; display: inline-block; margin-top: 10px;}
.uk-form-label {color: #222; font-size: 1.2rem; line-height: 180%;}
.uk-select:not([multiple]):not([size]) {font-size: 14px;}

.chk_agree {display: flex; align-items: center; justify-content: flex-start; column-gap: 10px;}
.chk_agree label {font-size: 1.3rem; line-height: normal; height: 100%;}
.uk-checkbox {margin-top: 0;}

.uk-placeholder {}

.uk-button-primary, .uk-background-primary {background-color: #E60012; color: #FFF;}
.uk-button-primary:hover, .uk-background-primary:hover {background-color: #a1000d;}
.uk-button-secondary, .uk-background-secondary {background-color: #F08300; color: #FFF;}
.uk-button-secondary:hover, .uk-background-secondary:hover {background-color: #ba6600;}

.uk-breadcrumb>:nth-child(n+2):not(.uk-first-column)::before {
    content: ">";
    display: inline-block;
    margin: 0 10px 0 calc(10px - 4px);
    font-size: 1.2rem;
    color: #ccc;
}

.uk-form-width-medium {width: 200px;}
@media (max-width: 768px){
    .uk-form-width-medium {width: 100%;}
}


.uk-button-large {min-width: 130px;}
.btn_divide {width: 100%; height: 1px; background: #eee; margin-top: 50px; margin-bottom: 30px;}
.uk-button.normal {background: #777; color: #fff; border: 1px solid #777;}


.mt_1 {margin-top: 1px;}
.mt_2 {margin-top: 2px;}
.mt_3 {margin-top: 3px;}
.mt_4 {margin-top: 4px;}
.mt_5 {margin-top: 5px;}
.mt_6 {margin-top: 6px;}
.mt_7 {margin-top: 7px;}
.mt_8 {margin-top: 8px;}
.mt_9 {margin-top: 9px;}
.mt_10 {margin-top: 10px;}


.item {width: 100%;}

.flx {display: flex;}
div.flx.fdr {flex-direction: row; column-gap: 40px;}
div.flx.fdc {flex-direction: column; row-gap: 40px;}

ol {list-style: decimal; margin: 10px 0; padding: 0 0 0 30px;}
ol>li {line-height: 160%; margin-bottom: 10px; font-weight: 300; color: #666;}
ol>li>ol {list-style: lower-alpha; margin: 10px 0; padding: 0 0 0 30px;}
ol>li>ol>li {font-size: 14px; line-height: 140%; color: #999;}
ul {list-style: none; margin: 10px 0; padding: 0 0 0 20px;}
ul>li {line-height: 160%;}
ul.lst_style {list-style: disc; margin: 10px 0; padding: 0 0 0 20px;}
@media (max-width: 640px) {
    ul {list-style: none; margin: 0;}
}


.rule {}
.rule p {font-size: 15px; padding: 5px 10px;}
.rule h5 {margin-top: 20px; font-weight: 700;}

.cmmt {font-size: 1.4rem; color: #9f7070;}

.grd {display: grid;}
.grd.gtc_1_1 {grid-template-columns: 1fr 1fr;}
.cg_40 {column-gap: 40px;}

.brdr_t_light {border-top: 1px solid var(--border-color-gray10);}
.brdr_b_light {border-bottom: 1px solid var(--border-color-gray10);}

.pd_t_10 {padding-top: 10px;}
.pd_t_20 {padding-top: 20px;}
.pd_t_30 {padding-top: 30px;}
.pd_t_40 {padding-top: 40px;}
.pd_t_50 {padding-top: 50px;}

/*
############################################################
    Element
############################################################
*/

body.sub {background: #ECECEC;}



/*
############################################################
    UNIT
############################################################
*/


/*
===== button */
.bttn {border: 1px solid #999; border-radius: 5px; background: #fff; color: #333;}
/*
---------- button basic */
.bttn.bttn_bsc {
    color: #fff; font-size: 14px; font-weight: 500;
    background: #333; padding: 6px 30px; border-radius: 999px;}
/*
---------- button basic_line */
.bttn.bttn_bsc_line {
    color: #383838; font-size: 18px; font-weight: 500;
    background: #FFF; width: 165px; height: 44px; border-radius: 10px;}
/*
---------- button basic_more */
.bttn.bttn_bsc_more {
    color: #FFF; font-size: 11px; font-weight: 300;
    background: #777; padding: 1px 10px; border-radius: 5px;}
/*
---------- button dwnld */
.bttn.bttn_dwnld {
    color: #fff; font-size: 14px; font-weight: 500;
    width: 100%; background: #333; padding: 6px 30px; border: 0; border-radius: 5px;}
/*
---------- button pay */
.bttn.bttn_pay {
    color: #fff; font-size: 18px; font-weight: 500;
    background: #333; padding: 8px 20px; border: 0; border-radius: 5px;}
.cont_box .bttn.bttn_pay {width: 100%;}

/* ===== side_menu */
ul.side_menu { text-align: right; }
ul.side_menu > li {
    border: 0;
    padding: 10px 0;
    border-bottom: 1px solid transparent;
    border-image: linear-gradient(to right, rgba(228,228,228,0) 0%, #eee 100%) 1;
}
ul.side_menu > li > a {
    display: block;
    font-size: 17px;
    font-weight: 400;
    color: #575757;
    white-space: nowrap;
}

/* ✅ 포커스(현재 페이지) 컬러만 변경 */
ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color);}
.association ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color-association);}
.society ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color-society);}
.exhibition ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color-exhibition);}
.paper ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color-paper);}
.conference ul.side_menu > li > a.focus, ul.side_menu > li > a[aria-current="page"] {color: var(--accent-color-conference);}
.mypage ul.side_menu > li > a.focus, .mypage ul.side_menu > li > a[aria-current="page"] {color: #333;}


/* ----- side_submenu */
ul.side_submenu { text-align: right; margin-top: 5px; }
ul.side_submenu > li { }
ul.side_submenu > li > a {
    display: inline-block;
    font-size: 13px;
    font-weight: 300;
    color: #343434;
    line-height: 160%;
    /*padding-right: 7px;
    margin-right: 3px;
    border-right: 1px solid #ddd;*/
}

/* ✅ 서브메뉴 포커스(현재 페이지) 컬러만 변경 */
ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color); font-weight: 400;}
.association ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color-association); font-weight: 400;}
.society ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color-society); font-weight: 400;}
.exhibition ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color-exhibition); font-weight: 400;}
.paper ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color-paper); font-weight: 400;}
.conference ul.side_submenu > li > a.focus, ul.side_submenu > li > a[aria-current="page"] { color: var(--accent-color-conference); font-weight: 400;}


/*
----- cont_box */
.cont_box {font-size: 14px;}
.cont_box li {display: flex; column-gap: 20px; line-height: 160%;}
.cont_box li .box_subj {display: inline-block; flex: 0 0 60px; width: 60px; font-weight: 500;}
.cont_box li .box_cont {display: inline-block; flex: 1 1 auto; min-width: 0; font-size: 14px;}



/*
----- list_box */
ul.list_box {font-size: 14px; line-height: 140%;}
ul.list_box li {display: flex; align-items: flex-start; justify-content: flex-start; column-gap: 20px; font-size: 13px; line-height: 180%;}
ul.list_box li .subj {flex: 0 0 40px; width: 40px; text-align: right;}
ul.list_box li .exp {flex: 1 1 auto; min-width: 0; text-align: left; color: #343434;}

ul.list_box.dnload {font-size: 16px; line-height: 120%; width: 100%; border-top: 2px solid var(--border-color-gray80);}
ul.list_box.dnload li {display: flex; align-items: flex-start; justify-content: flex-start; column-gap: 20px; font-size: 16px; line-height: 180%; border-bottom: 1px solid var(--border-color-gray20);}
ul.list_box.dnload li>span {display: flex; align-items: center; padding: 7px 20px; height: 100%;}
ul.list_box.dnload li .no {flex: 0 0 60px; width: 60px; text-align: center;}
ul.list_box.dnload li .subj {flex: 1 1 auto; min-width: 0; text-align: left;}
ul.list_box.dnload li .dnload {flex: 0 0 160px; width: 160px; align-items: center; text-align: center;}
ul.list_box.dnload li .dnload .bttn {
    color: #fff; font-size: 14px; font-weight: 500;
    width: 100%; background: #333; padding: 2px 20px; border: 0; border-radius: 5px;}
@media (max-width: 640px) {
    ul.list_box.dnload {padding-left: 0;}
    ul.list_box.dnload li {column-gap: 0;}
    ul.list_box.dnload li>span {padding: 7px 0;}
    ul.list_box.dnload li .no {flex: 0 0 30px; width: 30px; a}
    ul.list_box.dnload li .dnload {flex: 0 0 100px; width: 100px;}
}

/*
----- latest_notice */
.latest_ntc {
    display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; row-gap: 15px;
    font-size: 12px; font-weight: 300; color: #000; padding: 17px 40px;}
.latest_ntc .ttl {font-size: 24px; font-weight: 500; line-height: 120%;}
.latest_ntc .cntxt {width: 100%;}
.latest_ntc .cntxt .lst_box .pst_lst {padding: 0; margin: 0;}
.latest_ntc .cntxt .lst_box .pst_lst .pst_itm {line-height: 140%;}

/*
----- latest_basic */
.latest_view {
    display: flex; align-items: flex-start; justify-content: flex-start; column-gap: 25px;
    font-size: 14px; font-weight: 300; color: #000;}
.latest_view>img {width: 200px; height: auto; flex-shrink: 0; border-radius: 4px; object-fit: cover;}
.latest_view>.cntxt {display: flex; align-items: flex-start; justify-content: space-between; flex-direction: column; row-gap: 15px; margin-right: 40px; height: 100%;}
.latest_view>.cntxt>div {display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; row-gap: 15px;}
.latest_view>.cntxt .ttl {font-size: 24px; font-weight: 500; line-height: 120%;}
.latest_view>.cntxt .cont_box {font-size: 14px; margin: 0; padding: 0;}
.latest_view>.cntxt .cont_box li {line-height: 160%;}
.latest_view>.cntxt .cont_box .box_subj {display: inline-block; min-width: 60px; font-weight: 500;}
.latest_view>.cntxt .cont_box .box_cont {font-size: 14px; line-height: 140%;}


/*
----- list */
.lst_box {font-size: 12.5px; font-weight: 300; color: #000;}
.lst_box>.pst_lst {display: flex; align-items: flex-start; justify-content: space-between; flex-direction: column; row-gap: 5px;}
.lst_box>.pst_lst>.pst_itm {width: 100%;}
.lst_box>.pst_lst>.pst_itm>.pst_lnk {display: flex; align-items: center; justify-content: space-between; width: 100%; column-gap: 20px;}
.lst_box>.pst_lst>.pst_itm>.pst_lnk>.pst_ttl {display: inline-block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; flex: 1; min-width: 0;}
.lst_box>.pst_lst>.pst_itm>.pst_lnk>.pst_date {display: inline-block; white-space: nowrap; flex-shrink: 0;}
@media (max-width: 640px) {
    .lst_box>.pst_lst>.pst_itm>.pst_lnk {column-gap: 20px;}
    .lst_box>.pst_lst>.pst_itm>.pst_lnk>.pst_ttl {white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
    .lst_box>.pst_lst>.pst_itm>.pst_lnk>.pst_date {white-space: nowrap; text-align: right;}
}

/*
----- table */
.table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid #e5e7eb; border-top: 2px solid var(--border-color-gray80); width: 100%;}
.tbl {width: 100%; border-collapse: collapse; font-size: clamp(1.4rem, 0.4vw + 0.8rem, 1rem); min-width: 28rem;}
.tbl th, .tbl td {padding: 0.8rem 1rem; border-bottom: 1px solid var(--border-color-gray20); text-align: left; vertical-align: middle; white-space: nowrap;}
.tbl thead th {background: #fff; position: sticky; top: 0; z-index: 1;}
.tbl .col-no {width: 5rem; }
.tbl .col-dl {width: 8rem; }
.tbl a {text-decoration: underline; }

/* 모바일: 카드처럼 접기 */
@media (max-width: 640px) {
    .tbl {border-collapse: separate; border-spacing: 0 0.75rem; min-width: 0; }
    .tbl th, .tbl td {padding: 0.2rem 1rem;}
    .tbl thead {display: none; }
    .tbl tr {display: grid; grid-template-columns: 1fr; gap: 0.5rem; padding: 0.9rem 1rem; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; margin-bottom: 10px;}
    .tbl td {border: 0; display: grid; grid-template-columns: 5ch 1fr; gap: 0.25rem 0.75rem; white-space: normal;}
    .tbl td::before {content: attr(data-label); font-weight: 600; color: #475569;}
    .tbl .col-no, .tbl .col-dl {width: auto; }
}

/*
----- tab */
.tab-wrap {display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; flex-direction: row; gap: 8px; width: 100%; padding: 10px; background: #f5f5f5; border-radius: 8px;}
.tab {display: flex; align-items: center; justify-content: center; white-space: nowrap; font-size: 16px; padding: 10px 18px; background: #fff; border: 1px solid #ddd; border-radius: 6px; color: #555; transition: all 0.2s;}
.tab:hover {background: #e8e8e8; border-color: #ccc;}
.tab.focus {background: #333; border-color: #333; color: #fff;}


/* ---------- breadcrumb */
.breadcrumb {display: flex; align-items: center; justify-content: flex-end; padding: 18px 40px 12px;}
@media (max-width: 640px) {
    .breadcrumb {padding-right: 20px;}
}

/* ---------- tit_block */


/* ---------- pg_cont  */







/*
############################################################
    Layout Structure
############################################################
*/




/*
===== layout_pg_sub */
.layout_pg_sub {
    display: flex; align-items: flex-start; gap: 60px;
    background: #fff; padding: 0 40px 60px;}
@media (max-width: 640px) {
    .layout_pg_sub {padding: 0 20px 40px; flex-direction: column; gap: 0;}
}


/*
---------- pg_sub_side */
.layout_pg_sub .pg_sub_side {flex: 0 0 200px; width: 200px; align-items: flex-start;}
.layout_pg_sub .pg_sub_side .sub_ttl_box {
    display: flex; align-items: flex-start; justify-content: flex-end; padding-top: 25px;
    width: 200px; height: 200px;
    background: url("/static/images/left_bg_default.png") center/cover no-repeat;}
.layout_pg_sub .pg_sub_side .sub_ttl_box .sub_ttl {
    border: 0; border-bottom: 1px solid transparent; width: 100%;
    border-image: linear-gradient(to right, rgba(250,250,250,0) 0%, rgba(250,250,250,.5) 100%) 1;}
.layout_pg_sub .pg_sub_side .sub_ttl_box .sub_ttl .ttl_txt {
    display: block; padding: 0 10px 5px 20px;
    color: #FFF; text-align: right; font-size: 24px; font-weight: 500; line-height: normal;}
@media (max-width: 640px) {
    .layout_pg_sub .pg_sub_side {flex: 0 0 auto; width: auto; align-items: flex-start;}
    .layout_pg_sub .pg_sub_side .sub_ttl_box { padding-top: 0; width: auto; height: unset; background: transparent;}
    .layout_pg_sub .pg_sub_side .sub_ttl_box .sub_ttl {border-bottom: 0; border-image: unset;}
    .layout_pg_sub .pg_sub_side .sub_ttl_box .sub_ttl .ttl_txt {padding: 10px 10px 5px 0; color: #222; text-align: left; font-size: 28px; font-weight: 500; line-height: normal;}
}


/*
---------- pg_sub_cont */
.layout_pg_sub .pg_sub_cont {
    flex: 1 1 auto; min-width: 0; align-items: flex-start;
    border-top: 1px solid var(--border-color-gray10);}


/*
===== layout_cont_sub */
.layout_cont_sub {
    display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; row-gap: 20px;}
.layout_cont_sub.fdr {
    flex-direction: row; column-gap: 40px; border-bottom: 1px solid var(--border-color-gray10); padding-bottom: 22px;
}
.layout_cont_sub.fdr .col {
    flex: 1 1 auto; min-width: 0;
}
.layout_cont_sub.fdr .col.side {
    flex: 0 0 180px; width: 180px;
}
@media (max-width: 640px) {
    .layout_cont_sub.fdr {flex-direction: column !important; align-items: center;}
    .layout_cont_sub.fdr .col.side {flex: 0 0 250px; width: 250px;}
    .layout_cont_sub.fdr .col.side img {width: 100%;}
}


/*
---------- cont_head */
.layout_cont_sub .cont_head {}
/*
---------- cont_body */
.layout_cont_sub .cont_body {
    display: flex; align-items: flex-start; column-gap: 40px;}
.layout_cont_sub .cont_body .item {flex: 1 1 auto; min-width: 0;}
.layout_cont_sub .cont_body .item.side {flex: 0 0 170px; width: 170px;}
.layout_cont_sub .cont_body .item.side img {width: 100%;}
.layout_cont_sub .side img {border: 1px solid var(--border-color-gray10);}

/* exhibition_list */
.exhb_empty {min-height: 300px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #ddd;}
.exhb_empty p {margin: 0;}
.exhb_btn_wrap {margin-top: 15px;}
.bttn_catalog {display: inline-block; padding: 8px 10px; color: #fff; font-weight: 500; background: #333; border: 1px solid #ccc; border-radius: 5px; text-decoration: none;}
.bttn_catalog.disabled {color: #999; background: #f5f5f5; border: 1px solid #ddd; cursor: not-allowed;}
.exhb_catalog_wrap {margin-top: 15px; text-align: center;}
.exhb_catalog_wrap .bttn_catalog {width: 100%; box-sizing: border-box; text-align: center;}
@media (max-width: 640px) {
    .layout_cont_sub .cont_body {flex-direction: column; row-gap: 20px;}
    .layout_cont_sub .cont_body .item {flex: 1 1 auto; min-width: 0; order: 0; grid-template-columns: none !important;}
    .layout_cont_sub .cont_body .item.side {flex: 0 0 170px; width: 170px; order: -1;}
}


/*
--------------- cont_box */
.layout_cont_sub .cont_body .cont_box {margin-top: 30px; line-height: 160%; min-width: 80%;}
.layout_cont_sub .cont_body .cont_box .box_subj {text-align: right;}
.layout_cont_sub .cont_body .cont_box .box_cont {}
.layout_cont_sub .cont_body .cont_box .cont_box_action {margin-top: 20px;}
@media (max-width: 640px) {
    .layout_cont_sub .cont_body .cont_box {min-width: 100%; margin-top: 0;}
}
/*
--------------- cont_box */
.layout_cont_sub .cont_body .item .cont_subj {font-weight: 500; margin-bottom: 12px; color: #222;}
.layout_cont_sub .cont_body .item h3.cont_subj {font-size: 24px;}
.layout_cont_sub .cont_body .item h4.cont_subj {font-size: 18px; margin-top: 20px; margin-bottom: 5px;}
.layout_cont_sub .cont_body .item p {font-size: 14px; font-weight: 300; color: #999;}

.layout_cont_sub .cont_body.flx.fdc>.item


/*
===== layout_history */
.layout_history {
    display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; row-gap: 20px;}
/*
---------- item */
.layout_history .item {
    display: flex; align-items: flex-start; justify-content: flex-start; column-gap: 20px; padding: 10px 0;}
.layout_history .item .year {flex: 0 0 90px; width: 90px; font-size: 40px; font-weight: 500; line-height: 120%; letter-spacing: -1px; color: #818181;}
.layout_history .item .year span {font-weight: 100; color: #bcbcbc;}
.layout_history .item ul {flex: 1 1 auto; min-width: 0; padding-left: 10px; border-left: 1px solid #e3e3e3;}
@media (max-width: 640px) {
    .layout_history .item {flex-direction: column; row-gap: 10px; padding: 10px 0;}
    .layout_history .item .year {flex: 0 0 30px;}
}



/*
----- content guide */
.header>.container .nav>.container .section>.container,
.wrap>.container,
.footer>.container {width: 1200px; height: 100%; /*border-left: 1px solid red; border-right: 1px solid red;*/}
@media (max-width: 640px) {
    .header>.container .nav>.container .section>.container,
    .wrap>.container,
    .footer>.container {width: 96%;}
}

/*
----- .header */
.header {height: 105px; background: #fff;}
.header>.container {width: 100%;}


/*
---------- .nav */
.nav .container>.item.bi {width: 25%; justify-content: flex-start;}
.nav .container>.item.menu {width: auto;}
.nav .container>.item.func {width: 25%; justify-content: flex-end;}
.nav .container>.item.auth ul li a {font-size: 1.4rem;}
@media (max-width: 640px) {
    .nav .container>.item.menu {display: none;}
}

/*
--------------- nav_glbl */
.nav_glbl {height: 45px;}
.nav_glbl>.container {}


/*
--------------- nav_web */
.nav_web {
    height: 60px;
    background: linear-gradient(90deg, #EB1B1B 6.84%, #FF6200 36.34%, #C60091 64.18%, #ED2226 93.26%);}
.nav_web>.container {}


.nav .nav_web .end ul {display: none;}
@media (max-width: 1140px) {
    .nav .nav_web .end ul {display: flex;}
}



.sub_menu_bg {
    overflow: hidden;
    top: 105px;
    height: 0;
    max-height: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease;
    opacity: 0;
    background-color: #FFF;}
.sub_menu_bg.active {
    position: absolute; top: 105px; left: 0; right: 0; width: 100%;
    height: 200px; 
    max-height: 200px;
    opacity: 1;}
@media (max-width: 1140px) {
    .sub_menu_bg {display: none;}
}
/* .nav .sub_menu */
/*#HD .nav .sub_menu {position: absolute; top: 100%; left: 0; right: 0; z-index: 1; padding-top: 10px;
    opacity: 0; visibility: hidden; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;}*/

/*#HD .sub_menu_tray {opacity: .8; visibility: visible; transform: translateY(0);}
.home #HD .sub_menu_tray{opacity: .4;}*/

/* 서브메뉴 숨기기 */
/*
#HD .nav .sub_menu {
    position: absolute;
    overflow: hidden;
    max-height: 0;
    transition: opacity 0.5s ease;
    opacity: 0;
    color: #fff;
    padding-top: 10px;}
    */
/* 서브메뉴 보이기 */
//*
#HD .nav .sub_menu.active {
    max-height: 80px;
    opacity: 1;}
*/
/*
#HD .sub_menu_tray {
    overflow: hidden;
    top: 90px;
    height: 0;
    max-height: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease;
    opacity: 0;
    background-color: #000;}
#HD .sub_menu_tray.active {
    position: absolute; top: 90px; left: 0; right: 0; width: 100%;
    border-top: 1px solid rgba(50,50,50,.5);
    height: 80px; 
    max-height: 80px;
    opacity: .8;}
.home #HD .sub_menu_tray.active {opacity: .6;}
*/


/*
--------------- nav_mbl */
.nav_mbl {background: #fff;}
.nav_mbl>.container {padding: 20px; background: #FFF; width: 100% !important;}
.nav .nav_mbl>.container>ul>li {border-bottom: 1px solid var(--border-color-gray10);}



/*
---------- nav common */


/* nav item */
.nav .item ul li.lngg {display: flex; align-items: center; justify-content: center; column-gap: 5px;}
.nav .item.auth {}
.nav .item.func {column-gap: 30px;}


/* nav item ul */


/* nav item.menu */
.nav .item.menu>ul>li.focus>a {color: #FFFFFF;} /* primary color */


/* .nav item.menu .mbl */
.nav .item.menu>.mbl {display: none;}
.nav .item.menu>.mbl a {width: 40px;}


/*
----- wrap */
.section.wrap {margin-top: 105px;}
.sub .section.wrap>.container {
    display: flex; align-items: flex-start; justify-content: center;
    flex-direction: column; row-gap: 5px; margin: 5px auto;}

/*
---------- visual */
.sub .section.visual {display: none;}

/*
---------- contents */

/*
--------------- contents */




/*
----- footer */
.footer {background: #BDBEC4;}
.footer .cont1 .container {
    display: flex; align-items: flex-start; justify-content: flex-start; column-gap: 20px; margin: 35px 0;
    color: #fff; font-size: 12px; line-height: 160%;}
.footer .cont1 .container .cntxt {
    display: flex; align-items: flex-start; justify-content: flex-start;
    flex-direction: column; row-gap: 5px;}
.footer .cont1 .container .cntxt span {display: inline-block; margin-right: 10px;}
.footer .cont1 .container .cntxt .copy {color: #e0e0e0; font-size: 11px;}







/*
############################################################
    PAGES
############################################################
*/

/*
##### home */
.home {background: #ECECEC;}
.home .visual,
.home .contents .container .sect2 {margin-top: 5px; margin-bottom: 5px;}
.home .visual .cont2 {display: flex; align-items: stretch;}
.home .visual .cont2 .notice {flex: 1 1 auto; min-width: 0; background: #fff; overflow: hidden; max-height: 300px;}
.home .visual .cont2 .notice .latest_ntc {min-width: 420px;}
.home .visual .cont2 .banner {
    /*max-width: 700px;*/ margin: 0 auto;
    width: 700px; flex: 0 0 auto; height: 300px;overflow: hidden;}
.home .visual .cont2 .banner .banner-slider { overflow: hidden; }
.home .visual .cont2 .banner .banner-slider .slide { position: relative; }
.home .visual .cont2 .banner img{
  display: block; width: 100%; height: auto; transform-origin: center;}


/* 모션 민감 사용자 배려 */
@media (prefers-reduced-motion: reduce){
  .container.banner img{ animation: none; transform: none; }
}

@media (max-width: 640px) {
    .home .visual .cont2 {display: flex; align-items: stretch; flex-wrap: wrap; flex-direction: column-reverse;}
    .home .visual .cont2 .notice .latest_ntc {min-width: 100%; padding: 17px 20px;}
    .home .visual .cont2 .banner {width: 100%; flex: 0 0 auto; height: auto;}
}




.home .visual .container .slick-prev,
.home .visual .container .slick-next { 
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 0px);
    display: block;
    width: 20px;
    height: auto;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 1;
}

.slick-prev.custom-prev {
    left: 10px;
}
.slick-prev:before {content: '';}

.slick-next.custom-next {
    right: 10px;
}
.slick-next:before {content: '';}

.slick-dots {bottom: 0;}
.slick-dots li {margin: 0;}
.slick-dots li button:before {font-size: 10px;color: #FFFFFF;}
.slick-dotted.slick-slider {margin-bottom: 0;}

/*
##### sub */
.sub .item {font-size: 15px;}
.sub .item.rule {font-size: 13px;}
@media (max-width: 640px) {
    .sub .nav_web .item.strt {padding-left: 2%;}
    .sub .nav_web .item.end img.icon {padding-right: 2%; width: 36px;}
}

.sub .contents {background: #fff; font-size: 14px;}
.sub.auth .contents {padding: 50px;}
.sub.login .contents {margin: 7vw auto;}
.sub .sub_menu_box {margin-top: 25px;}
.sub .sub_menu_box h2 {text-align: right; color: #000; font-weight: 500; padding-bottom: 4px; border-bottom: 3px solid #eee; }
@media (max-width: 640px) {
    .sub .sub_menu_box {display: none;}
}

.sub_menu_box h2.focus {color: var(--accent-color);}
.association .sub_menu_box h2.focus {color: var(--accent-color-association);}
.society .sub_menu_box h2.focus {color: var(--accent-color-society);}
.exhibition .sub_menu_box h2.focus {color: var(--accent-color-exhibition);}
.paper .sub_menu_box h2.focus {color: var(--accent-color-paper);}
.conference .sub_menu_box h2.focus {color: var(--accent-color-conference);}
.mypage .sub_menu_box h2.focus {color: #333;}


.association .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_association.png");}
.society .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_society.png");}
.exhibition .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_exhibition.png");}
/*.contest .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_contest.png");}*/
.paper .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_paper.png");}
.conference .layout_pg_sub .pg_sub_side .sub_ttl_box {background: url("/static/images/left_bg_conference.png");}
.mypage .layout_pg_sub .pg_sub_side .sub_ttl_box {background: linear-gradient(135deg, #2c2c2c 0%, #4a4a4a 100%);}
@media (max-width: 640px) {
    .sub .layout_pg_sub .pg_sub_side .sub_ttl_box {background: none !important;}
}


/*
---------- cont_head */
.sub .cont_head {padding: 20px 0 0;}
.sub .cont_head .cont_subj {color: #555; font-size: 28px; font-weight: 600; line-height: 130%;}
.sub .col .cont_head .cont_subj {font-size: 24px; font-weight: 500;}
@media (max-width: 640px) {
    .sub .cont_head {padding: 10px 0 0;}
    .sub .cont_head .cont_subj {font-size: 20px;}
}
/*
---------- cont_body */
.sub .cont_body {min-height: 100px; /*border: 1px solid #cbe496;*/}
.sub .cont_body .item p {color: #404040; font-size: 15px; font-weight: 400; line-height: 150%; margin-bottom: 20px;}
.sub .cont_body .signature {display: flex; align-items: flex-end; justify-content: flex-end; flex-direction: column; row-gap: 30px; margin-top: 50px;}
.sub .cont_body .signature .org {color: #000; text-align: right; font-size: 18px; font-weight: 400; line-height: 150%;}
.sub .cont_body .signature .sign {}


/*
########## link_panel */
.home .contents .link_panel {
    display: flex; align-items: center; justify-content: space-between; padding: 0 40px; column-gap: 60px;
    height: 150px; background: linear-gradient(180deg, #FA0 68.27%, #FF8400 100%);}


.home .contents .link_panel .item {display: flex; align-items: center; justify-content: center; flex-direction: column; row-gap: 7px; font-size: 18px; font-weight: 500; color: #000; min-width: 110px; white-space: nowrap;}
.home .contents .link_panel .item>a {display: flex; align-items: center; justify-content: center; background: #fff;}
.home .contents .link_panel .item>span {font-size: 18px; color: #fff; font-weight: 500;}

.home .contents .link_panel .link_group {display: flex; align-items: center;justify-content: center; flex-direction: row; column-gap: 30px;}
.home .contents .link_panel .link_group .item {}
.home .contents .link_panel .link_group .item>a {width: 69px; height: 69px; border-radius: 999px;}

.home .contents .link_panel .info_group,
.home .contents .link_panel .qstn_group {display: flex; align-items: center; justify-content: center;flex-direction: column; row-gap: 12px; width: auto;}
.home .contents .link_panel .info_group .item {width: auto;}
.home .contents .link_panel .qstn_group .item {width: auto;}
.home .contents .link_panel .info_group .item>a,
.home .contents .link_panel .qstn_group .item>a {width: 165px; height: 44px; border-radius: 10px; border: 0;}
@media (max-width: 640px) {
    .home .contents .link_panel .item {min-width: 94%;}
    .home .contents .link_panel .link_group .item {min-width: 20%; width: auto; max-width: 10%;}
    .home .contents .link_panel {
        flex-wrap: wrap; align-items: flex-start; justify-content: space-between; padding: 20px 10px; column-gap: 0px; row-gap: 20px; width: 50%;
        width: 100%; height: auto; background: linear-gradient(180deg, #FA0 68.27%, #FF8400 100%);}
    .home .contents .link_panel .link_group {column-gap: 0;}
    .home .contents .link_panel>div {}
    .home .contents .link_panel .info_group,
    .home .contents .link_panel .qstn_group {width: 50%; row-gap: 4px;}
    .home .contents .link_panel .info_group {order: 1;}
    .home .contents .link_panel .link_group {align-items: flex-start;column-gap: 0;}
    .home .contents .link_panel .link_group {order: 3; flex: 1 1 100%; flex-wrap: wrap; row-gap: 20px;}
    .home .contents .link_panel .link_group .item>a {width: 60px; height: 60px; padding: 14px;}
    .home .contents .link_panel .item>span {font-size: 14px; color: #fff; font-weight: 500; max-width: 70%;white-space: normal; word-wrap: break-word; word-break: keep-all; text-align: center; line-height: 120%;}
    .home .contents .link_panel .qstn_group {order: 2;}
    .home .contents .link_panel .info_group .item>a,
    .home .contents .link_panel .qstn_group .item>a {width: 100%; height: 44px; font-size: 16px;}
}



/*
########## latest_2 */
.home .contents .latest_panel {
    display: flex; align-items: flex-start; justify-content: space-between; flex-direction: column;
    min-height: 300px; height: auto; padding: 25px 40px 35px; background: #fff;}
.home .contents .latest_panel .container {display: flex; flex-wrap: wrap;}
.home .contents .latest_panel .container .item {flex-basis: 50%;}
@media (max-width: 640px) {
    .home .contents .latest_panel {padding: 25px 20px 35px;}
    .home .contents .latest_panel .container {flex-direction: column; row-gap: 60px;}
    .latest_view {flex-direction: column;row-gap: 20px; align-items: center;}
    .latest_view>img {width: 150px;}
    .latest_view>.cntxt {margin-right: 0; align-items: center;}
    .latest_view>.cntxt .bttn.bttn_bsc { width: 50%;}
}



/*
##### .sub layout_cont_sub */
.society_overview .layout_cont_sub .cont_body {display: flex; align-items: center; row-gap: 30px; min-height: auto;}
.society_overview .layout_cont_sub .cont_body .item.circle {flex: 0 0 170px; width: 170px; font-size: 20px; font-weight: 500; color: #2a2a2a}
.society_overview .layout_cont_sub .cont_body .item.circle span {display: flex; align-items: center; justify-content: center; border: 10px solid #ffbc86;
    background: linear-gradient(180deg, #FFFFFF 0%, #ededed 100%); border-radius: 999px; width: 150px; height: 150px;}
.society_overview .layout_cont_sub .cont_body .item {flex: 1 1 auto; min-width: 0; font-size: 15px; }
.society_overview .layout_cont_sub .cont_body .item p,
.society_overview .layout_cont_sub .cont_body .item ul li {line-height: 160%;}

/* 협회개요 */
.association_overview .layout_cont_sub .cont_body {display: flex; align-items: center; row-gap: 30px; min-height: auto;}
.association_overview .layout_cont_sub .cont_body .item.circle {flex: 0 0 170px; width: 170px; font-size: 20px; font-weight: 500; color: #2a2a2a}
.association_overview .layout_cont_sub .cont_body .item.circle span {display: flex; align-items: center; justify-content: center; border: 10px solid #ffbcbc;
    background: linear-gradient(180deg, #FFFFFF 0%, #ededed 100%); border-radius: 999px; width: 150px; height: 150px;}
.association_overview .layout_cont_sub .cont_body .item {flex: 1 1 auto; min-width: 0; font-size: 15px; }
.association_overview .layout_cont_sub .cont_body .item p,
.association_overview .layout_cont_sub .cont_body .item ul li {line-height: 160%;}

/*
##### auth */

/*
############################################################
    Exhibition Register Modal
############################################################
*/
.exhb-modal-container { max-width: 100%; margin: 0 auto; }

/* 단계 표시 인디케이터 */
.exhb-step-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
    padding: 15px 20px;
    background: linear-gradient(to bottom, #f8f9fa 0%, #f0f2f5 100%);
    border-radius: 10px;
    border: 1px solid #e9ecef;
}
.exhb-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    min-width: 60px;
}
.exhb-step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}
.exhb-step-number.active {
    background: #7a00ca;
    color: #fff;
    border-color: #7a00ca;
}
.exhb-step-number.inactive {
    background: #e9ecef;
    color: #adb5bd;
    border-color: #dee2e6;
}
.exhb-step-number.completed {
    background: #ba6aef;
    color: #fff;
    border-color: #ba6aef;
    font-size: 16px;
}
.exhb-step-label {
    font-size: 11px;
    color: #868e96;
    margin-top: 6px;
    white-space: nowrap;
    font-weight: 500;
    text-align: center;
}
.exhb-step-label.active {
    color: #9a01ff;
    font-weight: 700;
}
.exhb-step-divider {
    width: 40px;
    height: 3px;
    background: #dee2e6;
    margin: 0 6px;
    margin-bottom: 20px;
    flex-shrink: 0;
    border-radius: 2px;
}
.exhb-step-divider.completed {
    background: #8a8a8a;
}

.exhb-info-box { background: linear-gradient(135deg, #ff0daa 0%, #9251ff 100%); color: #fff; border-radius: 12px; padding: 15px 20px; margin-bottom: 5px; }
.exhb-info-box h4 { margin: 0; font-size: 18px; color: #fff !important; font-weight: 700; }
.exhb-info-box p { margin: 0; opacity: 0.9; font-size: 13px; }
.exhb-info-box .badge { display: inline-block; padding: 3px 10px; background: rgba(255, 255, 255, 0.3); border-radius: 15px; font-size: 12px; margin-bottom: 5px; font-weight: 500; color: #fff; }
.exhb-info-box .exhb-info-subtitle { margin-top: 8px; font-size: 13px; opacity: 0.85; }

.exhb-info-card { background: #fff; border: 1px solid #e4e4e4; border-radius: 8px; margin-bottom: 5px; }
.exhb-info-card-header { padding: 12px 16px; border-bottom: 1px solid #e4e4e4; font-weight: 600; font-size: medium; background: #fafafa; }
.exhb-info-card-header .exhb-sub-label { font-weight: 400; font-size: 12px; color: #999; margin-left: 8px; }
.exhb-info-card-body { padding: 16px; }

.exhb-info-row { display: flex; margin-bottom: 10px; }
.exhb-info-row:last-child { margin-bottom: 0; }
.exhb-info-label { width: 100px; color: #666; font-size: 13px; flex-shrink: 0; }
.exhb-info-value { flex: 1; font-size: 13px; color: #222; }
.exhb-info-value.highlight { color: #E60012; font-weight: 500; }

.exhb-address-section { background: #f8f9fa; border-radius: 8px; padding: 16px; }
.exhb-address-section .uk-input { background: #fff; }
.exhb-address-section .uk-input.readonly { background: #f5f5f5; }
.exhb-address-section .uk-form-label { font-size: 13px; }
.exhb-address-section .required { color: #E60012; }
.exhb-address-section .input-group { display: flex; align-items: center; gap: 8px; }
.exhb-address-section .input-group .uk-button { height: 40px; line-height: 38px; padding: 0 15px; white-space: nowrap; }

.exhb-fee-info { background: #f3f3f3; border: 2px solid #999999; border-radius: 8px; padding: 16px; margin: 20px 0; }
.exhb-fee-info .fee-title { font-size: 15px; font-weight: 600; }
.exhb-fee-info .fee-detail { font-size: 13px; font-weight: 400; color: #666; margin-left: 8px; }
.exhb-fee-info .fee-desc { margin: 4px 0 0; font-size: 12px; color: #666; }
.exhb-fee-info .fee-amount { font-size: 24px; font-weight: 700; color: #222222; }

.exhb-agree { margin-top: 16px; }
.exhb-agree label span { font-size: 13px; margin-left: 5px; }

.exhb-btn-wrap { margin-top: 25px; text-align: center; }
.exhb-btn-wrap .uk-button { min-width: 180px; }
.exhb-btn-wrap .uk-button + .uk-button { margin-left: 10px; }

/* Payment Modal - 결제 방법 선택 */
.exhb-payment-methods { display: flex; gap: 15px; margin-bottom: 20px; }
.exhb-payment-method { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 20px 15px; border: 2px solid #e4e4e4; border-radius: 8px; cursor: pointer; transition: all 0.2s; }
.exhb-payment-method:hover { border-color: #a546f1; background: #faeeff; }
.exhb-payment-method.selected { border-color: #a546f1; background: #faeeff; }
.exhb-payment-method input[type="radio"] { display: none; }
.exhb-payment-method .method-icon { font-size: 28px; margin-bottom: 8px; }
.exhb-payment-method .method-label { font-size: 14px; font-weight: 500; }

/* Payment Modal - 계좌이체 정보 */
.exhb-bank-info { background: #fff3cd; border: 1px solid #ffc107; border-radius: 8px; padding: 16px; margin-top: 15px; }
.exhb-bank-info .bank-info-title { font-size: 14px; font-weight: 600; margin-bottom: 12px; color: #856404; }
.exhb-bank-info .bank-info-row { display: flex; margin-bottom: 6px; font-size: 13px; }
.exhb-bank-info .bank-label { width: 70px; color: #666; }
.exhb-bank-info .bank-value { flex: 1; font-weight: 500; color: #333; }
.exhb-bank-info .bank-notice { margin: 12px 0 0; font-size: 12px; color: #856404; }
.exhb-bank-info .bank-notice-danger { color: #dc3545; font-weight: 500; }

/* Payment Modal - 카드 결제 안내 */
.exhb-card-info { display: none; background: #e7f3ff; border: 1px solid #4a90d9; border-radius: 8px; padding: 16px; margin-top: 15px; font-size: 13px; color: #1a5fb4; text-align: center; }

/* Payment Modal - 안내 문구 */
.exhb-modal-notice { margin-top: 15px; font-size: 12px; color: #999; text-align: center; }

/* Complete Modal - 완료 화면 */
.exhb-complete-section {
    text-align: center;
    padding: 20px 0;
}
.exhb-complete-icon {
    font-size: 60px;
    color: #28a745;
    margin-bottom: 15px;
}
.exhb-complete-title {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px 0;
}
.exhb-complete-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Submit Modal - 작품 이미지 업로드 */
.exhb-preview-box {
    background: #f8f9fa;
    border: 2px dashed #ddd;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.exhb-preview-box:hover {
    border-color: #E60012;
    background: #fff5f5;
}
.exhb-preview-box.has-image {
    border-style: solid;
    border-color: #28a745;
}
.exhb-preview-image {
    max-width: 100%;
    max-height: 180px;
    object-fit: contain;
    border-radius: 6px;
}
.exhb-preview-hint {
    margin: 8px 0 0;
    font-size: 11px;
    color: #666;
}
.exhb-upload-icon {
    font-size: 32px;
    color: #ccc;
    margin-bottom: 8px;
}
.exhb-upload-hint {
    font-size: 11px;
    color: #999;
    margin: 3px 0 0;
}

@media (max-width: 640px) {
    .exhb-step-indicator {
        padding: 12px 10px;
        gap: 2px;
    }
    .exhb-step { min-width: 50px; }
    .exhb-step-number { width: 28px; height: 28px; font-size: 12px; }
    .exhb-step-number.completed { font-size: 14px; }
    .exhb-step-label { font-size: 10px; }
    .exhb-step-divider { width: 20px; height: 2px; margin: 0 3px; margin-bottom: 18px; }
    .exhb-info-row { flex-direction: column; gap: 4px; }
    .exhb-info-label { width: 100%; }
    .exhb-payment-methods { flex-direction: column; }
}

/*
############################################################
    Content Card (Mypage)
############################################################
*/
.mypage-content {
    padding: 0;
}
.content-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 10px rgb(209 209 209 / 20%);
    padding: 24px;
    margin-bottom: 10px;
    margin-top: 10px;
    border: 2px solid #e5e5e5;
}
.content-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}
.content-card-header h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.content-card-header .icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.icon-profile { background: #f3e5f5; color: #7b1fa2; }
.icon-exhibition { background: #e3f2fd; color: #1976d2; }
.icon-paper { background: #e8f5e9; color: #388e3c; }
.icon-conference { background: #fff3e0; color: #f57c00; }
.icon-payment { background: #fce4ec; color: #c2185b; }

.content-card-header .view-all {
    font-size: 13px;
    color: #667eea;
    text-decoration: none;
}
.content-card-header .view-all:hover {
    text-decoration: underline;
}
.content-card-header .badge {
    background: #667eea;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    margin-left: 8px;
}

/* 프로필 정보 */
.profile-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
.profile-item {
    display: flex;
    flex-direction: column;
}
.profile-item .label {
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
}
.profile-item .value {
    font-size: 15px;
    font-weight: 500;
    color: #333;
}
.profile-actions {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* 멤버십 상태 알림 */
.membership-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 16px;
}
.membership-alert-warning {
    background: #fff8e1;
    border: 1px solid #ffca28;
}
.membership-alert-danger {
    background: #ffebee;
    border: 1px solid #ef5350;
}
.membership-alert .alert-icon {
    font-size: 24px;
    line-height: 1;
}
.membership-alert-warning .alert-icon { color: #f57c00; }
.membership-alert-danger .alert-icon { color: #d32f2f; }
.membership-alert .alert-content {
    flex: 1;
}
.membership-alert .alert-content strong {
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
}
.membership-alert-warning .alert-content strong { color: #e65100; }
.membership-alert-danger .alert-content strong { color: #c62828; }
.membership-alert .alert-content p {
    margin: 0 0 4px 0;
    font-size: 13px;
    color: #666;
}
.membership-alert .alert-action-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    color: #fff;
}
.membership-alert-warning .alert-action-btn {
    background: #f57c00;
}
.membership-alert-warning .alert-action-btn:hover {
    background: #e65100;
    color: #fff;
}
.membership-alert-danger .alert-action-btn {
    background: #d32f2f;
}
.membership-alert-danger .alert-action-btn:hover {
    background: #c62828;
    color: #fff;
}

/* 멤버십 상태 */
.membership-status {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 16px;
}
.membership-badge {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}
.badge-regular { background: #3f3f3f; color: #ffffff; }
.badge-associate { background: #a9a9a9; color: #ffffff; }
.badge-dormant { background: #ffccbc; color: #e64a19; }
.badge-admin { background: #d1c4e9; color: #512da8; }
.membership-status-text {
    color: #666;
    font-size: 14px;
}

/* 마이페이지 버튼 */
.mp-btn {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.mp-btn-primary { background: #3a4fac; color: #fff; border: none; }
.mp-btn-secondary { background: #f5f5f5; color: #333; border: 1px solid #ddd; }
.mp-btn-success { background: #66a6ea; color: #fff; border: none; }
.mp-btn-cancel { background: #8c8c8c; color: #fff; border: none; }
.mp-btn-outline-gray { background: #f5f5f5; color: #666; border: 1px solid #ccc; }
.mp-btn-edit { background: #07080b; color: #fff; border: none; }
.mp-btn-sm { padding: 4px 10px; font-size: 12px; white-space: nowrap; }
.mp-btn-primary:hover { background: #2d3f8a; color: #fff; }
.mp-btn-secondary:hover { background: #eee; }
.mp-btn-success:hover { background: #5593d4; color: #fff; }
.mp-btn-cancel:hover { background: #6e6e6e; color: #fff; }
.mp-btn-outline-gray:hover { background: #e5e5e5; color: #333; }
.mp-btn-edit:hover { background: #2a2d33; color: #fff; }

/* =====================================================
   마이페이지 공통 그룹/아이템 레이아웃
   - 전시출품, 논문투고, 학술대회, 결제내역 등에서 공통 사용
   ===================================================== */

/* 카드 액션버튼 영역 */
.mp-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

/* 그룹 컨테이너 (전시회별, 학술대회별 등 묶음) */
.mp-group {
    border: 1px solid #e4e4e4;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
}
.mp-group-header {
    background: #f8f9fa;
    padding: 16px 20px;
    border-bottom: 1px solid #e4e4e4;
}
.mp-group-title {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin: 0 0 8px 0;
}
.mp-group-meta {
    font-size: 13px;
    color: #666;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.mp-group-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* 그룹 내 개별 항목 (출품건, 논문건, 등록건 등) */
.mp-item {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}
.mp-item:last-child {
    border-bottom: none;
}
.mp-item:hover {
    background: #fafafa;
}
.mp-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.mp-item-info {
    font-size: 13px;
    color: #666;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.mp-item-info span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.mp-item-status {
    flex-shrink: 0;
}

/* 하위호환용 별칭 (기존 exhb- 클래스) */
.exhb-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.exhb-group { border: 1px solid #e4e4e4; border-radius: 10px; margin-bottom: 20px; overflow: hidden; }
.exhb-group-header { background: #f8f9fa; padding: 16px 20px; border-bottom: 1px solid #e4e4e4; }
.exhb-group-title { font-size: 16px; font-weight: 600; color: #222; margin: 0 0 8px 0; }
.exhb-group-meta { font-size: 13px; color: #666; display: flex; gap: 20px; flex-wrap: wrap; }
.exhb-group-meta span { display: flex; align-items: center; gap: 5px; }
.exhb-item { padding: 16px 20px; border-bottom: 1px solid #f0f0f0; transition: background 0.2s; }
.exhb-item:last-child { border-bottom: none; }
.exhb-item:hover { background: #fafafa; }
.exhb-item-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.exhb-item-info { font-size: 13px; color: #666; display: flex; gap: 15px; flex-wrap: wrap; }
.exhb-item-info span { display: flex; align-items: center; gap: 5px; }
.exhb-item-status { flex-shrink: 0; }

/* 마이페이지 테이블 */
.data-table {
    width: 100%;
    border-collapse: collapse;
}
.data-table th, .data-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
}
.data-table th {
    font-size: 12px;
    color: #888;
    font-weight: 500;
}
.data-table td {
    font-size: 14px;
    color: #333;
}
.data-table tr:hover {
    background: #fafafa;
}

/* 상태 뱃지 */
/* 상태 배지 (Tailwind 컬러 기반 - pill형, 연한 배경 + 진한 텍스트) */
.status-badge {
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    display: inline-block;
}
.status-pending { background: #EFF6FF; color: #1D4ED8; }   /* 파랑: 신청, 대기 */
.status-waiting { background: #EFF6FF; color: #1D4ED8; }   /* 파랑: 대기 */
.status-review { background: #FFFBEB; color: #B45309; }    /* 앰버: 심사중 */
.status-revision { background: #FDF2F8; color: #BE185D; }  /* 핑크: 수정요청 */
.status-approved { background: #F0FDF4; color: #15803D; }  /* 초록: 승인 */
.status-published { background: #F0FDF4; color: #15803D; } /* 초록: 게재완료 */
.status-rejected { background: #FEF2F2; color: #B91C1C; }  /* 빨강: 반려 */
.status-paid { background: #F0FDF4; color: #15803D; }      /* 초록: 결제완료 */
.status-accepted { background: #F0FDF4; color: #15803D; }  /* 초록: 접수완료 */
.status-submitted { background: #F5F3FF; color: #6D28D9; } /* 보라: 제출 */
.status-complete { background: #F0FDF4; color: #15803D; }  /* 초록: 완료 */
.status-cancel { background: #FEF2F2; color: #B91C1C; }   /* 빨강: 취소 */

/* 작품 제출 완료 텍스트 */
.work-submitted { color: #413CE5; font-weight: 500; }
.work-submitted i { color: #413CE5; }

/* 마이페이지 통계 그리드 (수평 3열 배치) */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 20px;
}
.stats-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 10px rgb(209 209 209 / 20%);
    border: 2px solid #e5e5e5;
    overflow: hidden;
}
.stats-card-header {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.stats-card-header h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}
.stats-card-header .view-all {
    font-size: 12px;
    color: #667eea;
    text-decoration: none;
}
.stats-card-header .view-all:hover {
    text-decoration: underline;
}
.stats-card-body {
    padding: 16px 20px;
}
.stats-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f5f5f5;
}
.stats-item:last-child {
    border-bottom: none;
}
.stats-label {
    font-size: 13px;
    color: #666;
}
.stats-value {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}
.stats-value.stats-warning {
    color: #e65100;
}
.stats-value.stats-info {
    color: #1565c0;
}
.stats-value.stats-success {
    color: #2e7d32;
}
.stats-value.stats-muted {
    color: #999;
}
.stats-item.stats-total {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 2px solid #f0f0f0;
}
.stats-item.stats-total .stats-label {
    font-weight: 600;
    color: #333;
}
.stats-item.stats-total .stats-value {
    font-size: 16px;
    color: #667eea;
}

/* 반응형 - 태블릿 */
@media (max-width: 1024px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 반응형 - 모바일 */
@media (max-width: 640px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

/* 빈 상태 (Empty State) 공통 컴포넌트 */
.empty-state {
    width: 100%;
    text-align: center;
    padding: 80px 20px;
    background-color: #fafafa;
    border: 1px solid #cbe496;
    border-radius: 20px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* section .cont_body 상단 여백 */
.section .cont_body {
    padding-top: 20px;
}
.empty-state-message {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 400;
    color: #666;
}
.empty-state-sub {
    margin: 0;
    font-size: 14px;
    color: #999;
}
.empty-state-action {
    margin-top: 24px;
}
.empty-state-action .btn {
    padding: 10px 28px;
}
/* 컴팩트 버전 */
.empty-state.empty-state-compact {
    padding: 40px 20px;
    min-height: 150px;
}
/* 테두리 있는 버전 */
.empty-state.empty-state-bordered {
    border: 1px dashed #ddd;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .profile-info {
        grid-template-columns: 1fr;
    }
}

/* 마이페이지 레이아웃 */
.mypage-container {
    display: flex;
    gap: 30px;
    padding: 20px 0;
    min-height: 600px;
}

/* 좌측 사이드바 메뉴 */
.mypage-sidebar {
    width: 220px;
    flex-shrink: 0;
}
.sidebar-menu {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    position: sticky;
    top: 20px;
}
.sidebar-menu .menu-header {
    display: block;
    background: #667eea;
    color: #fff;
    padding: 20px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.sidebar-menu a.menu-header:hover {
    background: #5a6fd6;
    color: #fff;
}
.sidebar-menu .menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar-menu .menu-list li {
    border-bottom: 1px solid #f0f0f0;
}
.sidebar-menu .menu-list li:last-child {
    border-bottom: none;
}
.sidebar-menu .menu-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
}
.sidebar-menu .menu-list a:hover {
    background: #f8f9fa;
    color: #667eea;
}
.sidebar-menu .menu-list a.active {
    background: #f0f4ff;
    color: #667eea;
    font-weight: 600;
    border-left: 3px solid #667eea;
}
.sidebar-menu .menu-list a i {
    width: 20px;
    text-align: center;
    font-size: 16px;
}

/* 검색/필터 영역 */
.search-filter-box {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}
.search-filter-box input,
.search-filter-box select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}
.search-filter-box input {
    flex: 1;
    min-width: 200px;
}
.search-filter-box select {
    min-width: 120px;
}
.search-filter-box .total-count {
    margin-left: auto;
    color: #666;
    font-size: 14px;
}

/* 마이페이지 페이지네이션 */
.mp-pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 24px;
    list-style: none;
    padding: 0;
}
.mp-pagination li a,
.mp-pagination li span {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
}
.mp-pagination li.active span {
    background: #667eea;
    color: #fff;
    border-color: #667eea;
}
.mp-pagination li a:hover {
    background: #f5f5f5;
}

/* 마이페이지 반응형 */
@media (max-width: 768px) {
    .mypage-container {
        flex-direction: column;
    }
    .mypage-sidebar {
        width: 100%;
    }
    .sidebar-menu {
        position: static;
    }
    .sidebar-menu .menu-list {
        display: flex;
        flex-wrap: wrap;
    }
    .sidebar-menu .menu-list li {
        flex: 1;
        min-width: 50%;
        border-bottom: none;
        border-right: 1px solid #f0f0f0;
    }
    .sidebar-menu .menu-list li:nth-child(2n) {
        border-right: none;
    }
    .search-filter-box {
        flex-direction: column;
    }
    .search-filter-box input,
    .search-filter-box select {
        width: 100%;
    }
    .data-table {
        font-size: 13px;
    }
    .data-table th, .data-table td {
        padding: 8px;
    }
}

/* =====================================================
   논문투고 시스템 스타일
   ===================================================== */

/* 논문 모달 크기 */
#paper-submit-modal .uk-modal-dialog {
    width: 900px;
    max-width: 90vw; /* 작은 화면에서는 화면 폭의 90%로 제한 */
}

/* 논문 모달 컨테이너 */
.paper-modal-container {
    padding: 20px;
}

/* 논문 단계 표시 */
.paper-step-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    gap: 10px;
}

.paper-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.paper-step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
}

.paper-step-number.active {
    background-color: #1e87f0;
    color: white;
}

.paper-step-number.completed {
    background-color: #32d296;
    color: white;
}

.paper-step-number.inactive {
    background-color: #f8f8f8;
    color: #999;
    border: 2px solid #e5e5e5;
}

.paper-step-label {
    font-size: 13px;
    color: #666;
}

.paper-step-label.active {
    color: #1e87f0;
    font-weight: bold;
}

.paper-step-divider {
    width: 50px;
    height: 2px;
    background-color: #e5e5e5;
    margin-bottom: 20px;
}

/* 논문 정보 박스 */
.paper-info-box {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.paper-info-box .badge {
    background-color: rgba(255, 255, 255, 0.3);
    color: white;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    display: inline-block;
    margin-bottom: 10px;
}

.paper-info-box h4 {
    margin: 10px 0;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
}

.paper-info-box p {
    margin: 5px 0 0;
    font-size: 14px;
}
.paper-info-box p.uk-text-meta {
    color: #fff;
    opacity: 0.9;
}

/* 분기 정보 수평 레이아웃 */
.paper-info-box-horizontal {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.paper-info-left h4 {
    margin: 0;
}

.paper-info-right {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
}

.paper-info-right .deadline-text {
    color: #fff;
    font-weight: 500;
}

.paper-info-right .review-schedule {
    color: rgba(255, 255, 255, 0.7);
}

/* 급행 투고 안내 */
.paper-urgent-notice {
    background: linear-gradient(135deg, #fff8e1 0%, #ffe082 100%);
    border: 2px solid #ffc107;
    border-radius: 8px;
    padding: 15px 20px;
    margin: 15px 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.urgent-notice-icon {
    font-size: 24px;
    line-height: 1;
    flex-shrink: 0;
}

.urgent-notice-content {
    flex: 1;
}

.urgent-notice-content strong {
    color: #e65100;
    font-size: 14px;
    display: block;
    margin-bottom: 5px;
}

.urgent-notice-content p {
    margin: 0;
    font-size: 13px;
    color: #5d4037;
    line-height: 1.5;
}

.urgent-notice-content p strong {
    display: inline;
    color: #d84315;
    font-weight: 700;
}

/* 논문 정보 카드 */
.paper-info-card {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.paper-info-card-header {
    background-color: #f8f8f8;
    padding: 12px 15px;
    font-weight: bold;
    font-size: medium;
    border-bottom: 1px solid #e5e5e5;
}

.paper-sub-label {
    font-weight: normal;
    font-size: 13px;
    color: #666;
    margin-left: 8px;
}

.paper-info-card-body {
    padding: 20px;
}
.paper-info-card-body .cont_box .box_subj {
    flex: 0 0 100px;
    width: 100px;
    white-space: nowrap;
}

/* 필수 표시 */
.required {
    color: #f0506e;
    margin-left: 3px;
}

/* 논문 구분/분야 체크박스 */
.paper-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.paper-checkbox-group label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
}

.paper-field-section {
    margin-bottom: 15px;
}

.paper-field-section h5 {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}

.paper-field-section .paper-checkbox-group {
    flex-direction: column;
}

.paper-field-section .paper-checkbox-group label {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.paper-field-section .paper-checkbox-group label:last-child {
    border-bottom: none;
}

.field-name {
    min-width: 120px;
    white-space: nowrap;
    flex-shrink: 0;
}

.field-desc {
    font-size: 12px;
    color: #999;
    flex: 1;
}

/* 파일 업로드 */
.file-upload-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-name-display {
    flex: 1;
    font-size: 14px;
    color: #666;
    padding: 8px 12px;
    background-color: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 서약/동의 섹션 */
.paper-agreement-section {
    padding: 15px 0;
}

.paper-agreement-section h5 {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}

.paper-agreement-content {
    max-height: 150px;
    overflow-y: auto;
    padding: 15px;
    background-color: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 10px;
}

.paper-agreement-section label {
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.paper-agreement-section label input[type="checkbox"] {
    margin: 0;
}

/* 급행 논문심사 카드 */
.paper-urgent-card .paper-info-card-header {
    background-color: #fff3cd;
    color: #856404;
}

/* 제출 버튼 영역 */
.paper-submit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e5e5e5;
}

/* 안내 문구 */
.paper-modal-notice {
    text-align: center;
    font-size: 13px;
    color: #888;
    margin-top: 15px;
}

/* 완료 페이지 */
.paper-complete-box {
    text-align: center;
    padding: 40px 20px;
}

.complete-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background-color: #32d296;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.paper-complete-box h3 {
    font-size: 24px;
    margin: 20px 0 10px;
}

/* 결제 방법 선택 */
.payment-method-selector {
    display: flex;
    gap: 15px;
}

.payment-method-option {
    flex: 1;
    padding: 15px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-method-option:has(input:checked) {
    border-color: #1e87f0;
    background-color: #f0f7ff;
}

.payment-method-label {
    font-weight: 500;
}

/* 무통장입금 정보 */
.bank-transfer-info {
    background-color: #f0f7ff;
    padding: 15px;
    border-radius: 8px;
}

/* 총 금액 강조 */
.total-row {
    background-color: #f8f8f8;
    font-weight: bold;
}

.total-amount {
    color: #1e87f0;
    font-size: 18px;
    font-weight: bold;
}

/* 공동저자/교신저자 항목 */
.co-author-item,
.corr-author-item {
    padding: 12px;
    background-color: #f8f8f8;
    border-radius: 6px;
    margin-bottom: 10px;
}

/* 배지 */
.badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 4px;
}

.badge-success {
    background-color: #32d296;
    color: white;
}

.badge-warning {
    background-color: #faa05a;
    color: white;
}

/* 반응형 */
@media (max-width: 768px) {
    .paper-step-indicator {
        gap: 5px;
    }

    .paper-step-divider {
        width: 30px;
    }

    .paper-step-number {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .paper-step-label {
        font-size: 11px;
    }

    .payment-method-selector {
        flex-direction: column;
    }

    .paper-submit-actions {
        flex-direction: column;
    }

    .paper-submit-actions button,
    .paper-submit-actions a {
        width: 100%;
    }

    /* 마이페이지 공통 그룹/아이템 반응형 */
    .mp-group-meta,
    .exhb-group-meta {
        flex-direction: column;
        gap: 5px;
    }
    .mp-item-header,
    .exhb-item-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .mp-item-info,
    .exhb-item-info {
        flex-direction: column;
        gap: 5px;
    }
    .mp-card-actions,
    .exhb-card-actions {
        flex-direction: column;
        width: 100%;
    }
    .mp-card-actions .mp-btn,
    .exhb-card-actions .mp-btn {
        width: 100%;
        justify-content: center;
    }
}

/* =====================================================
   마이페이지 논문 목록 스타일
   ===================================================== */

.mp-content-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 24px;
    margin-bottom: 20px;
}

.mp-content-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}

.mp-content-card-header h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mp-content-card-header .mp-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    background: #e8f5e9;
    color: #388e3c;
}

.mp-content-card-header .mp-badge {
    background: #667eea;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    margin-left: 8px;
}

.mp-search-filter-box {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.mp-search-filter-box input,
.mp-search-filter-box select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}

.mp-search-filter-box input {
    flex: 1;
    min-width: 200px;
}

.mp-search-filter-box select {
    min-width: 120px;
}

.mp-search-filter-box .mp-total-count {
    margin-left: auto;
    color: #666;
    font-size: 14px;
}

.mp-btn {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    border: none;
}

.mp-btn-primary {
    background: #3a4fac;
    color: #fff;
}

.mp-btn-secondary {
    background: #f5f5f5;
    color: #333;
    border: 1px solid #ddd;
}

.mp-btn-sm {
    padding: 4px 10px;
    font-size: 12px;
    white-space: nowrap;
}

.mp-btn-primary:hover {
    background: #2d3f8a;
    color: #fff;
}

.mp-btn-secondary:hover {
    background: #eee;
}

.mp-btn-danger {
    background: #f44336;
    color: #fff;
}

.mp-btn-danger:hover {
    background: #d32f2f;
    color: #fff;
}

.mp-data-table {
    width: 100%;
    border-collapse: collapse;
}

.mp-data-table th,
.mp-data-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
}

.mp-data-table th {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    background: #fafafa;
}

.mp-data-table td {
    font-size: 14px;
    color: #333;
}

.mp-data-table tr:hover {
    background: #fafafa;
}

.mp-status-badge {
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.mp-status-pending {
    background: #fff3e0;
    color: #e65100;
}

.mp-status-review {
    background: #e3f2fd;
    color: #1565c0;
}

.mp-status-revision {
    background: #fce4ec;
    color: #c2185b;
}

.mp-status-approved {
    background: #e8f5e9;
    color: #2e7d32;
}

.mp-status-published {
    background: #c8e6c9;
    color: #1b5e20;
}

.mp-status-rejected {
    background: #ffebee;
    color: #c62828;
}

.mp-status-complete {
    background: #e8f5e9;
    color: #2e7d32;
}

.mp-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.mp-empty-state .mp-icon {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.mp-empty-state p {
    margin: 0;
    font-size: 14px;
}

.mp-pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 24px;
    list-style: none;
    padding: 0;
}

.mp-pagination li a,
.mp-pagination li span {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
}

.mp-pagination li.active span {
    background: #667eea;
    color: #fff;
    border-color: #667eea;
}

.mp-pagination li a:hover {
    background: #f5f5f5;
}

/* 합계 박스 (결제내역 등) */
.mp-total-box {
    background: #f8f9fa;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mp-total-box .mp-label {
    color: #666;
    font-size: 14px;
}
.mp-total-box .mp-amount {
    font-size: 20px;
    font-weight: 700;
    color: #667eea;
}
.mp-total-box .mp-amount-detail {
    font-size: 0.66em;
    font-weight: 500;
    color: #999;
}

/* 카테고리 뱃지 (결제내역 등) */
.mp-category-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
.mp-category-membership { background: #7b1fa220; color: #7b1fa2; }
.mp-category-paper { background: #388e3c20; color: #388e3c; }
.mp-category-exhibition { background: #1976d220; color: #1976d2; }
.mp-category-other { background: #ff980020; color: #f57c00; }

/* 금액 셀 */
.mp-amount-cell { font-weight: 600; color: #333; }

/* 텍스트 muted */
.mp-text-muted { color: #999; }

/* 제목 셀 (논문, 전시 등) */
.mp-title-cell { max-width: 300px; }
.mp-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-subtitle-text { color: #888; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 아이템 제목 (카드형 레이아웃용) */
.mp-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    margin-bottom: 12px;
    line-height: 1.4;
}

/* 결제 완료 표시 */
.mp-fee-paid {
    color: #2e7d32;
    font-weight: 500;
}

/* 입금 대기 표시 */
.mp-fee-waiting {
    color: #f57c00;
    font-weight: 500;
}

/* 상태 뱃지 - 추가 (Tailwind 컬러) */
.status-upcoming { background: #EFF6FF; color: #1D4ED8; }  /* 파랑: 예정 */
.status-ongoing { background: #FFFBEB; color: #B45309; }   /* 앰버: 진행중 */
.status-ended { background: #F3F4F6; color: #4B5563; }     /* 회색: 종료 */

@media (max-width: 768px) {
    .mp-search-filter-box {
        flex-direction: column;
    }

    .mp-search-filter-box input,
    .mp-search-filter-box select {
        width: 100%;
    }

    .mp-data-table {
        font-size: 13px;
    }

    .mp-data-table th,
    .mp-data-table td {
        padding: 8px;
    }
}

/* =====================================================
   논문 투고 - 좌우 분할 저자 검색 레이아웃
   ===================================================== */

/* 좌우 분할 컨테이너 */
.author-split-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* 좌측 검색 패널 */
.author-search-panel {
    flex: 0 0 45%;
    background-color: #f8f9fa;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    padding: 15px;
    align-self: stretch;
}

.author-search-header {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ddd;
    color: #333;
}

.author-search-panel .uk-margin-small {
    margin-bottom: 0px;
}

.author-search-panel .uk-input {
    background-color: #fff;
}

/* 우측 선택된 저자 목록 패널 */
.author-list-panel {
    flex: 1;
    background-color: #fff;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.author-list-header {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ddd;
    color: #333;
}

.author-list-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.author-list-empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
}

/* 제1저자 읽기 전용 필드 */
.readonly-field {
    background-color: #f5f5f5 !important;
    cursor: not-allowed !important;
    color: #666 !important;
}

/* 저자 검색 결과 */
.author-search-results {
    margin-top: 15px;
    max-height: 280px;
    overflow-y: auto;
    background-color: #fff;
    border-radius: 4px;
}

.author-search-results table {
    width: 100%;
    font-size: 13px;
}

.author-search-results .uk-table-small td,
.author-search-results .uk-table-small th {
    padding: 8px 10px;
}

/* 클릭 가능한 검색 결과 행 */
.author-select-row {
    transition: background-color 0.2s;
}

.author-select-row:hover {
    background-color: #f0f7ff !important;
}

.author-select-row:active {
    background-color: #e0f0ff !important;
}

/* 검색 결과 없음 메시지 */
.author-search-results .no-results {
    text-align: center;
    padding: 20px;
    color: #999;
}

/* 공동저자/교신저자 목록 아이템 */
.co-author-item,
.corr-author-item {
    padding: 6px 12px;
    margin-bottom: 10px;
    background-color: #f8f9fa;
    border: 1px solid #e1e4e8;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.co-author-item .author-info,
.corr-author-item .author-info {
    flex: 1;
    overflow: hidden;
}

.co-author-item .author-name-email,
.corr-author-item .author-name-email {
    font-size: 14px;
    color: #333;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btnRemoveCoAuthor,
.btnRemoveCorrAuthor {
    padding: 0px 12px;
    font-size: 12px;
    white-space: nowrap;
}

/* 반응형 - 작은 화면에서는 세로 배치 */
@media (max-width: 768px) {
    .author-split-layout {
        flex-direction: column;
    }

    .author-search-panel {
        flex: 0 0 auto;
    }
}

/* ========================================
   논문 모달 폰트 크기
   ======================================== */

/* 논문 모달 전체 폰트 크기 */
#paper-submit-modal .uk-modal-dialog {
    font-size: 15px;
}

/* 논문 모달 제목 */
#paper-submit-modal .uk-modal-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* 논문 상세보기 모달 */
.paper-view-modal {
    font-size: 15px;
}

.paper-view-modal h2.uk-modal-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* 모달 내 테이블 폰트 */
.paper-view-modal table {
    font-size: 15px;
}

.paper-view-modal table th {
    font-size: 15px;
    font-weight: 600;
}

.paper-view-modal table td {
    font-size: 15px;
}

/* 논문 정보 카드 헤더 */
.paper-view-modal .paper-info-card-header {
    font-size: 16px;
    font-weight: 600;
}

/* 버튼 폰트 */
.paper-view-modal .uk-button {
    font-size: 15px;
}

/* 상태 배지 스타일 - 마이페이지와 동일한 스타일 적용 */
.paper-view-modal .uk-badge {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 4px;
    background: #fff3e0 !important;
    color: #e65100 !important;
}


/* ========================================
   이메일 인증 스타일
   ======================================== */

/* 이메일 입력 + 인증요청 버튼 래퍼 */
.email-verify-wrap {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.email-verify-wrap .uk-input {
    flex: 1;
    height: 44px;
}

.email-verify-btn {
    flex-shrink: 0;
    min-width: 100px;
    height: 44px;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.email-verify-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.email-verify-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* 인증코드 입력 영역 */
.email-code-wrap {
    display: none;
    margin-top: 15px;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.email-code-input-wrap {
    display: flex;
    gap: 12px;
    align-items: center;
}

.email-code-input-wrap .uk-input {
    flex: 1;
    max-width: 180px;
    height: 48px;
    text-align: center;
    letter-spacing: 8px;
    font-size: 20px;
    font-weight: 700;
    border: 2px solid #ddd;
    border-radius: 6px;
    background: #fff;
    transition: border-color 0.2s ease;
}

.email-code-input-wrap .uk-input:focus {
    border-color: #2d6398;
    outline: none;
    box-shadow: 0 0 0 3px rgba(45, 99, 152, 0.1);
}

.email-code-input-wrap .uk-input::placeholder {
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 400;
    color: #999;
}

/* 인증코드 확인 버튼 */
#btn_verify_code {
    height: 48px;
    min-width: 80px;
    font-weight: 600;
}

/* 타이머 및 재발송 버튼 영역 */
.email-code-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #e0e0e0;
}

.email-code-timer {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #e53935;
    font-weight: 600;
    font-size: 15px;
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
}

.email-code-timer::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #e53935;
    border-radius: 50%;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.email-resend-btn,
.email-cancel-btn {
    color: #666;
    font-size: 13px;
    text-decoration: none;
    padding: 4px 0;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.email-resend-btn:hover {
    color: #2d6398;
    border-bottom-color: #2d6398;
}

.email-cancel-btn:hover {
    color: #d32f2f;
    border-bottom-color: #d32f2f;
}

/* 인증 완료 배지 */
.email-verified-badge {
    display: none;
    margin-top: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #81c784;
    border-radius: 6px;
    color: #2e7d32;
    font-size: 14px;
    font-weight: 500;
}

.email-verified-badge .verified-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #4caf50;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    margin-right: 8px;
}

/* 인증 완료된 이메일 입력 필드 */
#usr_email.verified {
    background-color: #f5f5f5;
    color: #666;
    border-color: #81c784;
}

/* 인증코드 메시지 */
#email_code_msg {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.4;
}

#email_code_msg:empty {
    display: none;
}

/* 모바일 대응 */
@media (max-width: 640px) {
    .email-verify-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .email-verify-wrap .uk-input {
        width: 100%;
    }

    .email-verify-btn {
        width: 100%;
        height: 44px;
    }

    .email-code-wrap {
        padding: 16px;
    }

    .email-code-input-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .email-code-input-wrap .uk-input {
        max-width: 100%;
        width: 100%;
    }

    #btn_verify_code {
        width: 100%;
    }

    .email-code-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}


/* =====================================================
   회원비 납부 안내 스타일
   ===================================================== */
.membership-fee-notice {
    background: #f8f8f8;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 20px 0;
}

.fee-notice-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.fee-notice-content p {
    margin: 0;
    color: #e65100;
    font-size: 14px;
    font-weight: 500;
}

.mp-btn-pay {
    display: inline-block;
    background: #e65100;
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.mp-btn-pay:hover {
    background: #bf360c;
    color: #fff !important;
}

/* 결제방식 변경 버튼 (입금 대기 상태) */
.mp-btn-change {
    display: inline-block;
    background: #1976d2;
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.mp-btn-change:hover {
    background: #1565c0;
    color: #fff !important;
}

/* 입금 대기 상태 안내 텍스트 */
.pending-payment-info {
    color: #1565c0;
    font-weight: 500;
}

@media (max-width: 640px) {
    .fee-notice-content {
        flex-direction: column;
        text-align: center;
    }

    .fee-notice-content p {
        margin-bottom: 8px;
    }

    .mp-btn-pay,
    .mp-btn-change {
        width: 100%;
        text-align: center;
    }
}

/* ===== 회원가입 결제 모달 스타일 ===== */
.payment-modal-container {
    max-width: 100%;
    margin: 0 auto;
}

.payment-modal-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e5e5e5;
}

.payment-modal-header h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #333;
}

.payment-modal-subtitle {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.payment-info-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.payment-info-card-header {
    background: #f8f9fa;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 15px;
    color: #333;
    border-bottom: 1px solid #e5e5e5;
}

.payment-info-card-body {
    padding: 20px;
}

.payment-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.payment-info-row:last-child {
    border-bottom: none;
}

.payment-info-label {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.payment-info-value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

.payment-items-table {
    width: 100%;
    border-collapse: collapse;
}

.payment-items-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
}

.payment-items-table tbody td {
    padding: 12px 0;
    font-size: 14px;
}

.payment-items-table tbody td:first-child {
    color: #333;
}

.payment-year-badge {
    display: inline-block;
    background: #e3f2fd;
    color: #1976d2;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    margin-left: 8px;
}

.payment-period-badge {
    display: inline-block;
    background: #e8f5e9;
    color: #2e7d32;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    margin-left: 8px;
}

.payment-amount {
    text-align: right;
    font-weight: 600;
    color: #222222;
}

.payment-items-table tfoot {
    border-top: 2px solid #333;
}

.payment-total td {
    padding: 15px 0;
    font-size: 16px;
    font-weight: 700;
}

.payment-total .payment-amount {
    color: #222222;
    font-size: 18px;
}

.payment-method-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.payment-method-option {
    display: flex;
    align-items: center;
    padding: 15px;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.payment-method-option:hover {
    border-color: #cbe496;
    background: #f9fdf5;
}

.payment-method-option input[type="radio"] {
    margin-right: 12px;
}

.payment-method-option input[type="radio"]:checked + .payment-method-label {
    font-weight: 600;
    color: #6b8e23;
}

.payment-method-label {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #333;
}

.payment-method-icon {
    margin-right: 8px;
    font-size: 20px;
}

.payment-method-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f5f5f5;
}

.payment-method-disabled:hover {
    border-color: #e5e5e5;
    background: #f5f5f5;
}

.payment-bank-info {
    margin-top: 20px;
    padding: 20px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

.payment-bank-info-title {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 12px;
    color: #333;
}

.payment-bank-details {
    margin-bottom: 15px;
}

.payment-bank-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
}

.payment-bank-label {
    color: #666;
    font-weight: 500;
}

.payment-bank-value {
    color: #333;
    font-weight: 600;
}

.payment-depositor-input {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #dee2e6;
}

.payment-depositor-input label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
}

.payment-depositor-input input {
    width: 100%;
    padding: 10px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 14px;
}

.payment-modal-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e5e5e5;
}

.payment-modal-buttons .uk-button {
    min-width: 100px;
}

@media (max-width: 640px) {
    .payment-modal-buttons {
        flex-direction: column-reverse;
    }

    .payment-modal-buttons .uk-button {
        width: 100%;
    }

    .payment-info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .payment-bank-row {
        flex-direction: column;
        gap: 3px;
    }
}


/* ===== Payment Complete Modal ===== */
.payment-complete-container {
    text-align: center;
    padding: 40px 20px;
}

.payment-complete-icon {
    margin-bottom: 24px;
}

.payment-complete-icon svg {
    width: 80px;
    height: 80px;
}

.payment-complete-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 16px 0;
}

.payment-complete-message {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 30px 0;
    white-space: pre-line;
}

.payment-complete-actions {
    margin-top: 20px;
}

.payment-complete-btn {
    min-width: 120px;
    padding: 12px 30px;
}

@media (max-width: 640px) {
    .payment-complete-container {
        padding: 30px 15px;
    }

    .payment-complete-icon svg {
        width: 64px;
        height: 64px;
    }

    .payment-complete-title {
        font-size: 20px;
    }

    .payment-complete-message {
        font-size: 14px;
    }
}

/* -------------------- 전시 작품제출 드래그 앤 드롭 -------------------- */
.exhb-preview-box.drag-hover {
    border-color: #3a4fac;
    background: #e8eeff;
    border-style: solid;
}

/* -------------------- 학술대회 목록 (테이블 스타일) -------------------- */
.conference .tbl .col-type { width: 100px; }
.conference .tbl .col-date { width: 140px; }
.conference .tbl .col-status { width: 80px; }
.conference .tbl tr.is-ended { opacity: 0.6; }
.conference .tbl td a { color: #333; text-decoration: none; }
.conference .tbl td a:hover { color: var(--accent-color-conference); text-decoration: underline; }
.conference .tbl .no-data { text-align: center; color: #888; padding: 50px 0; }

/* 학술대회 유형 뱃지 */
.conf-type { display: inline-block; padding: 3px 8px; font-size: 11px; border-radius: 3px; color: #fff; white-space: nowrap; background: #6c757d; }
.conf-type-1 { background: #6c757d; }
.conf-type-2 { background: #6c757d; }
.conf-type-3 { background: #6c757d; }
.conf-type-4 { background: #6c757d; }

/* 학술대회 상태 뱃지 - 공통 status-badge 스타일 사용 */
.conf-status { display: inline-block; white-space: nowrap; }

/* 학술대회 상세 */
.conference-view { max-width: 900px; margin: 0 auto; padding: 20px; }
.conference-header { border-bottom: 2px solid #333; padding-bottom: 15px; margin-bottom: 20px; }
.conference-badges { margin-bottom: 10px; display: flex; gap: 8px; }
.conference-view .badge-type { padding: 4px 12px; font-size: 12px; border-radius: 3px; color: #fff; }
.conference-view .badge-type-1 { background: var(--accent-color-conference); }
.conference-view .badge-type-2 { background: #17a2b8; }
.conference-view .badge-type-3 { background: var(--accent-color-conference); }
.conference-view .badge-type-4 { background: #ffc107; color: #333; }
.conference-view .badge-status { padding: 4px 10px; font-size: 11px; border-radius: 3px; }
.conference-view .badge-ongoing { background: #28a745; color: #fff; }
.conference-view .badge-upcoming { background: #17a2b8; color: #fff; }
.conference-view .badge-ended { background: #6c757d; color: #fff; }
.conference-view .conference-title { font-size: 22px; font-weight: 600; margin: 0 0 10px 0; color: #333; }
.conference-meta { font-size: 13px; color: #888; }
.conference-meta span { margin-right: 15px; }
.conference-content { min-height: 200px; padding: 20px 0; line-height: 1.8; font-size: 14px; color: #444; border-bottom: 1px solid #eee; }
.conference-attachment { padding: 15px 0; border-bottom: 1px solid #eee; }
.conference-attachment .attachment-label { font-weight: 600; margin-right: 10px; }
.conference-attachment .attachment-link { color: var(--accent-color-conference); text-decoration: none; }
.conference-attachment .attachment-link:hover { text-decoration: underline; }
.conference-nav { padding: 20px 0; text-align: center; }
.conference-nav .btn-list { display: inline-block; padding: 10px 30px; background: #333; color: #fff; text-decoration: none; border-radius: 4px; }
.conference-nav .btn-list:hover { background: #555; }

@media (max-width: 640px) {
    .conference .tbl .col-type,
    .conference .tbl .col-date,
    .conference .tbl .col-status { width: auto; }
}

/* -------------------- 논문검색 페이지 -------------------- */
/* 검색 블록 */
.search-block {
    width: 100%;
    margin-bottom: 30px;
}

.paper-search-form {
    width: 100%;
}

.search-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.search-select {
    min-width: 140px;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
}

.search-input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    min-width: 200px;
}

.search-input:focus,
.search-select:focus {
    outline: none;
    border-color: var(--accent-color-paper);
}

.search-btn {
    padding: 10px 25px;
    background: var(--accent-color-paper);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.search-btn:hover {
    background: #b01dd6;
}

.search-result-info {
    margin-top: 15px;
    font-size: 13px;
    color: #666;
}

.search-result-info strong {
    color: var(--accent-color-paper);
}

.reset-search {
    margin-left: 15px;
    color: #888;
    text-decoration: underline;
}

.reset-search:hover {
    color: #333;
}

/* 페이지네이션 */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-top: 30px;
    padding: 20px 0;
}

.page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s;
}

.page-link:hover {
    border-color: var(--accent-color-paper);
    color: var(--accent-color-paper);
}

.page-link.active {
    background: var(--accent-color-paper);
    border-color: var(--accent-color-paper);
    color: #fff;
}

/* 논문검색 테이블 - 가로스크롤 방지 */
.search-block + .table-wrap {
    overflow-x: visible;
}

.search-block + .table-wrap .tbl {
    min-width: 0;
    table-layout: fixed;
}

.search-block + .table-wrap .tbl th,
.search-block + .table-wrap .tbl td {
    white-space: normal;
    word-break: keep-all;
}

.search-block + .table-wrap .tbl td:nth-child(2) {
    word-break: break-word;
}

.search-block + .table-wrap .tbl a {
    text-decoration: none;
}

.search-block + .table-wrap .tbl a:hover {
    text-decoration: none;
    color: var(--accent-color-paper);
}

/* 반응형 */
@media (max-width: 768px) {
    .search-row {
        flex-direction: column;
    }

    .search-select {
        width: 100%;
    }

    .search-input {
        width: 100%;
        min-width: auto;
    }

    .search-btn {
        width: 100%;
        padding: 12px;
    }

    .pagination {
        flex-wrap: wrap;
    }

    .page-link {
        min-width: 32px;
        height: 32px;
        font-size: 13px;
    }
}

/* -------------------- 논문 상세 페이지 -------------------- */
.paper-detail {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    border: 1px solid #eee;
}

.paper-header {
    margin-bottom: 20px;
}

.paper-volume {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent-color-paper);
    color: #fff;
    border-radius: 20px;
    font-size: 13px;
}

.paper-no {
    color: #888;
    font-size: 14px;
    line-height: 24px;
}

.paper-detail .paper-title {
    font-size: 24px;
    font-weight: 600;
    color: #222;
    margin: 0 0 20px 0;
    line-height: 1.4;
}

.paper-authors {
    margin-bottom: 15px;
    font-size: 15px;
}

.paper-authors .label,
.paper-meta .label,
.paper-keywords .label {
    color: #888;
    margin-right: 8px;
}

.paper-authors .value {
    color: #333;
    font-weight: 500;
}

.paper-meta {
    display: flex;
    column-gap: 30px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.paper-meta .meta-item {
    color: #666;
}

.paper-keywords {
    margin-bottom: 25px;
    font-size: 14px;
}

.paper-keywords .value {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.keyword-tag {
    display: inline-block;
    padding: 4px 10px;
    background: #f5f5f5;
    color: #555;
    border-radius: 3px;
    font-size: 13px;
}

.paper-abstract {
    margin-top: 30px;
}

.paper-abstract h4 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--accent-color-paper);
    display: inline-block;
}

.abstract-content {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    text-align: justify;
}

.paper-download {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.bttn_download {
    display: inline-block;
    padding: 12px 30px;
    background: var(--accent-color-paper);
    color: #fff;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}

.bttn_download:hover {
    background: #b01dd6;
    color: #fff;
}

.paper-actions {
    margin-top: 30px;
    text-align: center;
}

.bttn_list {
    display: inline-block;
    padding: 12px 40px;
    background: #666;
    color: #fff;
    border-radius: 4px;
    font-size: 15px;
    text-decoration: none;
}

.bttn_list:hover {
    background: #444;
    color: #fff;
}

/* 논문 목록 제목 링크 스타일 */
.paper-title-link {
    color: #333;
    text-decoration: none;
    transition: color 0.2s;
}

.paper-title-link:hover {
    color: var(--accent-color-paper);
}

@media (max-width: 768px) {
    .paper-detail {
        padding: 20px;
    }

    .paper-detail .paper-title {
        font-size: 20px;
    }

    .paper-meta {
        flex-direction: column;
        gap: 10px;
    }
}


/*
############################################################
    FAQ Accordion Style
############################################################
*/
.faq-accordion {
    list-style: none;
    margin: 0;
    padding: 0;
}

.faq-accordion .faq-item {
    margin-bottom: 1px !important;
    margin-top: 0 !important;
}

/* UIkit 아코디언 기본 마진 오버라이드 */
.faq-accordion.uk-accordion > :nth-child(n+2) {
    margin-top: 1px !important;
}

.faq-accordion .faq-item:first-child {
    border-top: 2px solid #333;
}

.faq-accordion .faq-question {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    background-color: #f5f5f5;
    transition: background-color 0.2s;
}

.faq-accordion .faq-question:hover {
    background-color: #eaeaea;
}

.faq-accordion .uk-open .faq-question {
    background-color: #e8e8e8;
}

.faq-accordion .faq-question::before {
    display: none;
}

.faq-accordion .faq-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    background: #E60012;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    margin-right: 12px;
    flex-shrink: 0;
}

.faq-accordion .faq-title-text {
    flex: 1;
    line-height: 1.5;
}

.faq-accordion .faq-answer {
    background: #fff;
    margin: 0;
    padding: 0;
    border-left: 3px solid #E60012;
}

.faq-accordion .faq-answer-inner {
    padding: 15px 20px 15px 55px;
    color: #555;
    font-size: 14px;
    line-height: 1.7;
}

.faq-accordion .faq-answer-inner p {
    margin: 0 0 10px;
}

.faq-accordion .faq-answer-inner p:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .faq-accordion .faq-question {
        padding: 15px 10px;
        font-size: 14px;
    }

    .faq-accordion .faq-num {
        min-width: 28px;
        height: 28px;
        font-size: 12px;
        margin-right: 10px;
    }

    .faq-accordion .faq-answer-inner {
        padding: 20px 15px;
    }

    .faq-accordion .faq-question::before {
        margin-right: 10px;
    }
}

/*
############################################################
    Orderlist (비용결제) Page
############################################################
*/

.orderlist-section {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}

.orderlist-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.orderlist-section-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px;
}

.orderlist-section-desc {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
}

.orderlist-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.orderlist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: #f8f9fa;
    border-radius: 8px;
    transition: background-color 0.2s;
}

.orderlist-item:hover {
    background: #f0f2f5;
}

.orderlist-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.orderlist-item-name {
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.orderlist-item-price {
    font-size: 18px;
    font-weight: 700;
    color: #2d6398;
}

.orderlist-bank-section {
    background: #fafafa;
    padding: 25px;
    border-radius: 8px;
    margin-top: 30px;
}

.orderlist-bank-info {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
}

.bank-info-row {
    display: flex;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.bank-info-row:last-child {
    border-bottom: none;
}

.bank-info-label {
    width: 100px;
    font-size: 14px;
    color: #666;
    flex-shrink: 0;
}

.bank-info-value {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.bank-account-number {
    font-size: 16px;
    font-weight: 700;
    color: #2d6398;
    letter-spacing: 1px;
}

.orderlist-bank-notice {
    font-size: 13px;
    color: #888;
    line-height: 1.6;
}

.orderlist-bank-notice p {
    margin: 5px 0;
}

@media (max-width: 768px) {
    .orderlist-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 15px;
    }

    .orderlist-item .mp-btn {
        width: 100%;
    }

    .orderlist-bank-section {
        padding: 15px;
    }

    .bank-info-row {
        flex-direction: column;
        gap: 5px;
    }

    .bank-info-label {
        width: auto;
    }
}

/* Orderlist - Additional Styles */
.orderlist-item-disabled {
    opacity: 0.6;
    background: #f0f0f0;
}

.orderlist-item-desc {
    font-size: 13px;
    color: #888;
    margin-top: 2px;
}

/* Membership Modal Styles */
.membership-modal-content {
    padding: 10px 0;
}

.membership-modal-desc {
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
    line-height: 1.6;
}

.membership-fee-table {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
}

.fee-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.fee-row:last-child {
    border-bottom: none;
}

.fee-row.fee-total {
    border-top: 2px solid #ddd;
    margin-top: 5px;
    padding-top: 15px;
    font-weight: 700;
}

.fee-label {
    font-size: 14px;
    color: #333;
}

.fee-amount {
    font-size: 14px;
    color: #2d6398;
    font-weight: 600;
}

.fee-row.fee-total .fee-amount {
    font-size: 18px;
    color: #c00;
}

.membership-payment-method {
    margin-top: 20px;
}

.membership-payment-method h4 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.bank-transfer-info {
    margin-top: 15px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 8px;
}

.current-membership-info {
    background: #e8f4fd;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.current-membership-info .info-label {
    font-size: 13px;
    color: #666;
}

.current-membership-info .info-value {
    font-size: 14px;
    font-weight: 600;
    color: #2d6398;
}

/* Quantity Control */
.quantity-control {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.qty-btn {
    width: 32px;
    height: 32px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.qty-btn:hover {
    background: #f5f5f5;
    border-color: #2d6398;
    color: #2d6398;
}

.qty-input {
    width: 60px;
    height: 32px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
}

.qty-input:focus {
    outline: none;
    border-color: #2d6398;
}

/* Hide spin buttons for number input */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.qty-input[type=number] {
    -moz-appearance: textfield;
}


/* =====================================================
   결제 완료 모달
===================================================== */
.payment-result-modal {
    text-align: center;
    padding: 20px 10px;
}

.payment-result-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

.payment-result-message {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
}

/* =====================================================
   공통 결제수단 선택 컴포넌트 (cdak-payment-method)
===================================================== */
.cdak-payment-method {
    margin-top: 20px;
}

.cdak-pm-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.cdak-pm-options {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.cdak-pm-option {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    border: 2px solid #e4e4e4;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.cdak-pm-option:hover {
    border-color: #667eea;
    background: #f8f9ff;
}

.cdak-pm-option.selected {
    border-color: #667eea;
    background: #f0f4ff;
}

.cdak-pm-option input[type="radio"] {
    margin-right: 8px;
}

.cdak-pm-label {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.cdak-pm-bank-info {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-top: 15px;
}

.cdak-pm-bank-account {
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 15px;
}

.cdak-pm-bank-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.cdak-pm-bank-row:last-child {
    border-bottom: none;
}

.cdak-pm-bank-label {
    font-size: 13px;
    color: #666;
}

.cdak-pm-bank-value {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.cdak-pm-account-number {
    font-family: 'Roboto Mono', monospace;
    letter-spacing: 0.5px;
}

.cdak-pm-depositor {
    margin-bottom: 15px;
}

.cdak-pm-depositor-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

.cdak-pm-required {
    color: #dc3545;
}

.cdak-pm-depositor-input {
    width: 100%;
}

.cdak-pm-bank-notice {
    font-size: 12px;
    color: #888;
    margin: 0;
    line-height: 1.5;
}

/* 반응형 */
@media (max-width: 480px) {
    .cdak-pm-options {
        flex-direction: column;
        gap: 10px;
    }
}


/* ==============================================
   논문검색 상세 보기 (paper-view)
   ============================================== */
.paper-view { max-width: 900px; margin: 0 auto; padding: 20px; }
.paper-view .paper-title { font-size: 22px; font-weight: 600; margin: 0; color: #333; }
.paper-view .paper-divider-thin { border-top: 1px solid #ddd; margin: 15px 0 0; }
.paper-view .paper-divider-thick { border-top: 2px solid #333; }
.paper-view .paper-meta { font-size: 13px; color: #888; padding: 10px 0; column-gap: 30px; display: flex; margin-bottom: 0; border-bottom: none; }
.paper-view .paper-meta span { }
.paper-view .paper-meta .volume { background: #3498db; color: #fff; padding: 2px 8px; border-radius: 3px; font-size: 11px; }
.paper-view .paper-meta .authors { color: #333; font-weight: 500; }
.paper-view .paper-content { min-height: 200px; padding: 20px 0; line-height: 1.8; font-size: 14px; color: #444; }
.paper-view .paper-content h4 { font-size: 16px; font-weight: 600; margin: 0 0 15px 0; color: #333; }
.paper-view .paper-content .abstract-text { line-height: 1.8; }
.paper-nav { padding: 20px 0; display: flex; justify-content: space-between; align-items: center; }
.paper-nav .btn-list { display: inline-block; padding: 10px 30px; background: #333; color: #fff; text-decoration: none; border-radius: 4px; }
.paper-nav .btn-list:hover { background: #555; }
.paper-nav .btn-download { display: inline-block; padding: 10px 30px; background: #3498db; color: #fff; text-decoration: none; border-radius: 4px; }
.paper-nav .btn-download:hover { background: #2980b9; }
.paper-view .no-data { padding: 50px; text-align: center; color: #888; }


/*
############################################################
    Exhibition List Styles
############################################################
*/
.exhibition-list { padding: 20px 0; }
.exhibition-grid { display: flex; flex-direction: column; gap: 30px; }
.exhibition-item { display: flex; gap: 30px; padding: 25px; background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; }
.exhibition-poster { position: relative; width: 280px; min-width: 280px; }
.exhibition-poster img { width: 100%; height: auto; border-radius: 4px; }
.exhibition-poster .no-poster { width: 100%; height: 350px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; border-radius: 4px; color: #999; font-size: 14px; }
.exhibition-status { position: absolute; top: 10px; left: 10px; padding: 4px 12px; font-size: 12px; font-weight: 600; border-radius: 4px; }
.exhibition-status.upcoming { background: #e3f2fd; color: #1976d2; }
.exhibition-status.ongoing { background: #e8f5e9; color: #388e3c; }
.exhibition-status.ended { background: #f5f5f5; color: #757575; }
.exhibition-list .btn-catalog { display: block; margin-top: 10px; padding: 10px; background: #333; color: #fff; text-align: center; border-radius: 4px; text-decoration: none; font-size: 14px; }
.exhibition-list .btn-catalog:hover { background: #555; color: #fff; }
.exhibition-list .btn-catalog.disabled { background: #ccc; color: #999; cursor: not-allowed; }
.exhibition-info { flex: 1; }
.exhibition-type { display: inline-block; padding: 3px 10px; background: #f0f0f0; color: #666; font-size: 12px; border-radius: 3px; margin-bottom: 10px; }
.exhibition-title { margin: 0 0 15px; font-size: 22px; font-weight: 600; }
.exhibition-title a { color: #333; text-decoration: none; }
.exhibition-title a:hover { color: #0066cc; }
.exhibition-meta { margin-bottom: 20px; }
.exhibition-meta .meta-item { display: flex; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.exhibition-meta .meta-item .label { width: 100px; color: #888; font-size: 14px; }
.exhibition-meta .meta-item .value { flex: 1; font-size: 14px; color: #333; }
.exhibition-meta .meta-item .badge { display: inline-block; margin-left: 8px; padding: 2px 8px; font-size: 11px; border-radius: 3px; }
.exhibition-meta .meta-item .badge.accepting { background: #4caf50; color: #fff; }
.exhibition-actions { margin-top: 20px; }
.exhibition-list .btn-submit { display: inline-block; padding: 12px 30px; background: #0066cc; color: #fff; text-decoration: none; border-radius: 4px; font-size: 15px; font-weight: 500; }
.exhibition-list .btn-submit:hover { background: #0052a3; }
.exhibition-list .btn-submit.disabled { background: #ccc; color: #999; cursor: not-allowed; }
.exhibition-list .pagination-wrap { margin-top: 40px; text-align: center; }
.exhibition-list .pagination { display: inline-flex; gap: 5px; list-style: none; padding: 0; margin: 0; }
.exhibition-list .pagination li a { display: block; padding: 8px 14px; border: 1px solid #ddd; color: #333; text-decoration: none; }
.exhibition-list .pagination li.active a { background: #333; color: #fff; border-color: #333; }

@media (max-width: 768px) {
    .exhibition-item { flex-direction: column; }
    .exhibition-poster { width: 100%; min-width: auto; }
    .exhibition-poster .no-poster { height: 200px; }
}

/*
############################################################
    Exhibition View Styles
############################################################
*/
.exhibition-view { padding: 20px 0; }
.exhibition-header { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 2px solid #333; }
.exhibition-view .exhibition-type { display: inline-block; padding: 4px 12px; background: #333; color: #fff; font-size: 13px; border-radius: 3px; margin-bottom: 10px; }
.exhibition-view .exhibition-title { margin: 0; font-size: 28px; font-weight: 600; color: #333; }
.exhibition-title-en { margin: 8px 0 0; font-size: 16px; color: #888; }

.exhibition-content { display: flex; gap: 40px; }
.exhibition-left { width: 320px; min-width: 320px; }
.poster-wrap img { width: 100%; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.poster-wrap .no-poster { width: 100%; height: 400px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; border-radius: 8px; color: #999; }
.catalog-wrap { margin-top: 15px; }
.exhibition-view .btn-catalog { display: block; padding: 14px; background: #333; color: #fff; text-align: center; border-radius: 4px; text-decoration: none; font-size: 15px; }
.exhibition-view .btn-catalog:hover { background: #555; color: #fff; }
.exhibition-view .btn-catalog.disabled { background: #ddd; color: #999; cursor: not-allowed; }
.catalog-notice { margin-top: 8px; font-size: 12px; color: #999; text-align: center; }

.exhibition-right { flex: 1; }
.info-table { width: 100%; border-collapse: collapse; }
.info-table th, .info-table td { padding: 14px 15px; border-bottom: 1px solid #eee; text-align: left; font-size: 15px; }
.info-table th { width: 120px; background: #f9f9f9; color: #555; font-weight: 500; }
.info-table td { color: #333; }
.info-table .badge { display: inline-block; margin-left: 10px; padding: 3px 10px; font-size: 12px; border-radius: 3px; }
.info-table .badge.accepting { background: #4caf50; color: #fff; }

.exhibition-desc { margin-top: 30px; }
.exhibition-desc h4 { margin: 0 0 15px; font-size: 18px; color: #333; }
.desc-content { padding: 20px; background: #f9f9f9; border-radius: 8px; line-height: 1.8; color: #555; }

.exhibition-view .action-wrap { margin-top: 30px; text-align: center; }
.exhibition-view .btn-submit { display: inline-block; padding: 16px 60px; background: #0066cc; color: #fff; text-decoration: none; border-radius: 6px; font-size: 18px; font-weight: 600; }
.exhibition-view .btn-submit:hover { background: #0052a3; }
.exhibition-view .btn-submit.disabled { background: #ccc; color: #999; cursor: not-allowed; }
.submit-notice { margin-top: 10px; font-size: 13px; color: #999; }

.exhibition-gallery { margin-top: 50px; padding-top: 40px; border-top: 1px solid #eee; }
.exhibition-gallery h3 { margin: 0 0 20px; font-size: 20px; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.gallery-item img { width: 100%; height: 200px; object-fit: cover; border-radius: 4px; }
.gallery-info { padding: 10px 0; }
.work-title { margin: 0; font-size: 14px; font-weight: 500; }
.work-artist { margin: 5px 0 0; font-size: 13px; color: #888; }

.exhibition-view .btn-wrap { margin-top: 40px; padding-top: 30px; border-top: 1px solid #eee; text-align: center; }
.exhibition-view .btn-list { display: inline-block; padding: 12px 40px; background: #f5f5f5; color: #333; text-decoration: none; border-radius: 4px; }
.exhibition-view .btn-list:hover { background: #e5e5e5; }

@media (max-width: 768px) {
    .exhibition-content { flex-direction: column; }
    .exhibition-left { width: 100%; min-width: auto; }
}


/*
############################################################
    Paper Form Downloads (논문투고 양식 다운로드)
############################################################
*/
.paper-form-downloads {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 15px;
}

.paper-form-download-btn {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
}

.paper-form-download-btn:hover {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #000;
}

.paper-form-download-btn .form-name {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.paper-form-download-btn .form-download-text {
    padding: 6px 12px;
    background: #555;
    color: #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
}

.paper-form-download-btn:hover .form-download-text {
    background: #333;
}

@media (max-width: 768px) {
    .paper-form-download-btn {
        padding: 10px 12px;
    }
    .paper-form-download-btn .form-name {
        font-size: 13px;
    }
}


/*
############################################################
    Join Form (회원가입 폼)
############################################################
*/
.join-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.join-section {
    margin-bottom: 30px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}

.join-section-title {
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.join-section-title .required {
    color: #e60012;
}

.join-agreement-content {
    max-height: 200px;
    overflow-y: auto;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.6;
}

.join-agreement-content h4 {
    margin: 0 0 15px 0;
    font-size: 16px;
}

.join-agreement-content h5 {
    margin: 15px 0 10px 0;
    font-size: 14px;
    font-weight: 600;
}

.join-agreement-content p {
    margin: 0 0 10px 0;
}

.join-agreement-content ul,
.join-agreement-content ol {
    margin: 10px 0;
    padding-left: 20px;
}

.join-agreement-content li {
    margin-bottom: 5px;
}

.join-agreement-check {
    padding: 10px 0;
}

.join-agreement-check label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
}

.join-submit {
    text-align: center;
    padding: 20px 0;
}

.join-submit .uk-button {
    margin: 0 5px;
    min-width: 120px;
}

@media (max-width: 768px) {
    .join-container {
        padding: 10px;
    }
    .join-section {
        padding: 15px;
    }
    .join-agreement-content {
        max-height: 150px;
    }
}

/*
############################################################
    CDAK Popup
############################################################
*/
.cdak-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9998;
}

.cdak-popup {
    position: fixed;
    z-index: 9999;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-height: 90vh;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.cdak-popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
    background: #f8f9fa;
}

.cdak-popup-title {
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.cdak-popup-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    padding: 0;
    line-height: 1;
}

.cdak-popup-close:hover {
    color: #000;
}

.cdak-popup-close-floating {
    position: absolute;
    top: -32px;
    right: -23px;
    z-index: 10;
    background: none;
    border: none;
    font-size: 28px;
    color: #fff;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.cdak-popup-close-floating:hover {
    color: #ddd;
}

.cdak-popup-body {
    padding: 0;
    overflow: auto;
}

.cdak-popup-body img {
    display: block;
    max-width: 100%;
    height: auto;
}

.cdak-popup-text {
    padding: 20px;
    line-height: 1.6;
}

.cdak-popup-link {
    display: inline-block;
    margin: 0 20px 20px;
    padding: 8px 20px;
    background: #2d6398;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
}

.cdak-popup-link:hover {
    background: #1e4a6f;
    color: #fff;
}

.cdak-popup-footer {
    padding: 10px 16px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    font-size: 13px;
    color: #666;
}

.cdak-popup-footer label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cdak-popup-footer input[type="checkbox"] {
    cursor: pointer;
}

/* 모바일에서 팝업 위치/사이즈 초기화 */
@media (max-width: 768px) {
    .cdak-popup {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 90vw !important;
        max-width: 400px !important;
        height: auto !important;
        max-height: 80vh !important;
        overflow: visible !important;
        margin-top: 20px !important;
    }

    .cdak-popup .cdak-popup-body {
        max-height: 75vh !important;
        overflow-y: auto !important;
    }

    /* 모바일에서 닫기 버튼 위치 조정 - 팝업 위 우측 정렬 */
    .cdak-popup-close-floating {
        top: -32px !important;
        right: 0 !important;
        color: #fff !important;
        font-size: 28px !important;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
    }
}

/* 버튼 로딩 스피너 */
.btn-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: btn-spin 0.8s linear infinite;
    margin-right: 6px;
    vertical-align: middle;
}

.uk-button-default .btn-spinner {
    border-color: rgba(51, 51, 51, 0.3);
    border-top-color: #333;
}

@keyframes btn-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ============================================================
   학술대회 모달
   기존 exhb- 클래스를 재사용하며 conf- 컨테이너로 감싸기만 함
   ============================================================ */
.conf-modal-container { padding: 10px 0; }
.conf-modal-container .exhb-complete-msg { text-align: center; padding: 20px 0; }
.conf-modal-container .exhb-complete-msg h3 { font-size: 20px; margin-bottom: 10px; }
.conf-modal-container .exhb-complete-msg p { color: #666; }

/* 포스터 없음 placeholder */
.no-poster-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 224px;
    background: #f0f0f0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    color: #aaa;
    font-size: 14px;
}

/* 마이페이지 등록 상태 표시 */
.mp-item-substatus { margin: 5px 0 8px; }

/* =====================================================
   마이페이지 회원정보 (my_info)
   ===================================================== */
.mp-info-table {
    width: 100%;
    border-collapse: collapse;
}
.mp-info-table tr {
    border-bottom: 1px solid #f0f0f0;
}
.mp-info-table th {
    width: 150px;
    padding: 16px;
    background: #fafafa;
    text-align: left;
    font-weight: 500;
    color: #666;
    font-size: 14px;
}
.mp-info-table td {
    padding: 16px;
    font-size: 14px;
    color: #333;
}
.mp-level-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.mp-level-1 { background: #f5f5f5; color: #999; }
.mp-level-2 { background: #e3f2fd; color: #1976d2; }
.mp-level-4 { background: #fff3e0; color: #f57c00; }
.mp-level-5 { background: #e8f5e9; color: #2e7d32; }
.mp-level-9 { background: #fce4ec; color: #c2185b; }
.mp-level-10 { background: #f3e5f5; color: #7b1fa2; }
.mp-status-active { color: #2e7d32; }
.mp-status-inactive { color: #c62828; }

@media (max-width: 768px) {
    .mp-info-table th {
        width: 100px;
        padding: 12px;
    }
    .mp-info-table td {
        padding: 12px;
    }
}

/* =====================================================
   인쇄용 공통 (printRes, printReg)
   ===================================================== */
.pr_container { width: 700px; text-align: left; margin: 0 auto; padding-left: 0; padding-right: 0; }
.pr_container .pr_title {
    position: relative;
    height: 40px;
    width: 100%;
}
.pr_container .pr_title .tit { position: relative; text-align: center; font-size: 20px; color: #000000 !important; width: 100%; display: inline-block; margin-top: 7px; }
.pr_container .pr_title img { position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
.pr_container .recept_no {
    background-color: #fff;
    border: 1px solid #000;
    height: 48px;
    text-align: left;
    font-size: 20px;
    color: #000;
}
.pr_container .recept_no .pin {
    display: inline-block;
    border-right: 1px solid #000;
    font-size: 32px;
    text-align: center;
    width: 25%;
    height: 48px;
}
.pr_container .recept_no .num {
    display: inline-block;
    width: 50%;
    font-size: 16px;
}
.section_tit {
    position: relative;
    height: 36px;
    width: 100%;
    background: transparent;
}
.pr_container .info { font-size: 15px; color: #222; padding: 15px 0; }
.pr_container .info div { height: auto; line-height: 28px; margin: 0; }
.pr_container .info div .tit { display: inline-block; color: #777; font-size: 13px; }
.pr_container .uk-placeholder { padding: 10px 15px; margin-top: 5px; }
.pr_container .uk-placeholder ul li { line-height: 1.5; }
.pr_container .uk-placeholder ul li .chkbox { display: inline-block; width: 50px; }
.pr_container .uk-placeholder .uk-table-small td { padding: 7px 10px; }
.info1 li span { display: inline-block; width: 15%; }
.btm { margin-top: 30px; border-bottom: 1px solid #000; margin-bottom: 20px; }
.btm .sign { display: inline-block; text-align: right; width: 50%; margin-right: 30px; }
.pr_container .recept_coment {
    background-color: #fff;
    border: 1px solid #000;
    height: 48px;
    text-align: left;
    font-size: 24px;
    color: #666;
}
.pr_container .recept_coment .c1 {
    display: inline-block;
    border-right: 1px solid #000;
    text-align: left;
    width: 30%;
    height: 48px;
    font-size: 14px;
}
.pr_container .recept_coment .c2 {
    display: inline-block;
    border-right: 1px solid #000;
    text-align: left;
    width: 40%;
    height: 48px;
    font-size: 14px;
}
.pr_container .recept_coment .c3 {
    display: inline-block;
    text-align: left;
    height: 48px;
    font-size: 14px;
}

/* printReg 전용 */
.printReg .uk-table .pr_subj { font-size: 1.3rem; font-weight: 300; color: #555; padding: 10px 8px; }
.printReg .uk-table td.ln { border-right: 1px solid #555; }
.printReg .uk-table .pr_cont { font-size: 1.4rem; font-weight: 300; color: #000; padding: 10px 8px; }
.printReg .uk-table.vrtcl .pr_subj { font-size: 1.3rem; font-weight: 300; color: #555; padding: 10px 8px; border-bottom: 1px solid #e0e0e0; }
.printReg .uk-table.vrtcl td.ln { border-right: 1px solid #555; }
.printReg .uk-table.vrtcl td.ln1 { border-right: 1px solid #e0e0e0; }
.printReg .uk-table.vrtcl .pr_cont { font-size: 1.4rem; font-weight: 300; color: #222; padding: 10px 8px; }
.printReg .fs { font-size: 1.4rem; color: #555; }
.printReg .fm { font-size: 1.8rem; font-weight: 500; color: #555; }
.printReg .fl { font-size: 2rem; font-weight: 500; color: #555; }

@media print {
    body {
        -webkit-print-color-adjust: exact;
    }
    .section_tit {
        background-color: #aaaaaa !important;
        background: #aaaaaa !important;
        color: #fff;
        font-size: 14px;
        text-align: center;
        height: 24px;
    }
}

/* =====================================================
   전시출품 _cv 페이지 공통 (register, submit, payment, complete)
   ===================================================== */
.exhb-cv-header {
    background: #fff;
    border-bottom: 1px solid #e4e4e4;
    padding: 15px 0;
}
.exhb-cv-header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.exhb-cv-logo {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    text-decoration: none;
}
.register-container { max-width: 800px; margin: 40px auto; padding: 0 20px; }
.submit-container { max-width: 800px; margin: 40px auto; padding: 0 20px; }
.payment-container { max-width: 600px; margin: 40px auto; padding: 0 20px; }
.complete-container { max-width: 600px; margin: 60px auto; padding: 0 20px; text-align: center; }

.step-indicator { display: flex; justify-content: center; margin-bottom: 40px; }
.step { display: flex; align-items: center; }
.step-number {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin-right: 10px;
}
.step-number.active { background: #E60012; color: #fff; }
.step-number.completed { background: #28a745; color: #fff; }
.step-number.inactive { background: #ddd; color: #999; }
.step-label { font-size: 14px; color: #666; }
.step-label.active { color: #222; font-weight: 500; }
.step-divider { width: 60px; height: 2px; background: #ddd; margin: 0 15px; }
.step-divider.completed { background: #28a745; }

.info-card { background: #fff; border: 1px solid #e4e4e4; border-radius: 8px; margin-bottom: 20px; }
.info-card-header { padding: 15px 20px; border-bottom: 1px solid #e4e4e4; font-weight: 600; font-size: 16px; background: #fafafa; }
.info-card-body { padding: 20px; }

.info-row { display: flex; margin-bottom: 12px; }
.info-row:last-child { margin-bottom: 0; }
.info-label { width: 120px; color: #666; font-size: 14px; flex-shrink: 0; }
.info-value { flex: 1; font-size: 14px; color: #222; }

.exhb-info-box { background: linear-gradient(135deg, #ff0daa 0%, #9251ff 100%); color: #fff; border-radius: 12px; padding: 25px; margin-bottom: 30px; }
.exhb-info-box h4 { margin: 0 0 10px 0; font-size: 20px; }
.exhb-info-box .badge { display: inline-block; padding: 4px 12px; background: rgba(255,255,255,0.2); border-radius: 20px; font-size: 12px; margin-bottom: 10px; }
.exhb-info-box-sub { margin: 0; opacity: 0.9; font-size: 14px; }

.fee-info { background: #fff3cd; border: 1px solid #ffc107; border-radius: 8px; padding: 20px; margin: 30px 0; }
.fee-info .fee-amount { font-size: 28px; font-weight: 700; color: #E60012; }
.fee-info-label { font-size: 16px; }
.fee-info-desc { margin: 5px 0 0; font-size: 13px; color: #666; }

.address-section { background: #f8f9fa; border-radius: 8px; padding: 20px; }
.address-section .uk-input { background: #fff; }

.btn-wrap { margin-top: 30px; text-align: center; }
.btn-wrap .uk-button { min-width: 200px; }

.cv-required { color: #E60012; }
.cv-hint { font-weight: 400; font-size: 13px; color: #999; margin-left: 10px; }
.cv-gap10 { gap: 10px; }
.cv-readonly { background: #f5f5f5; }
.cv-agree-wrap { margin-top: 20px; }
.cv-agree-label { font-size: 14px; margin-left: 5px; }
.cv-text-muted-sm { font-size: 13px; color: #666; }
.cv-highlight-value { color: #E60012; font-weight: 500; }

/* complete 페이지 전용 */
.complete-icon { font-size: 80px; color: #28a745; margin-bottom: 20px; }
.complete-title { font-size: 28px; font-weight: 700; color: #222; margin-bottom: 15px; }
.complete-desc { font-size: 16px; color: #666; margin-bottom: 40px; line-height: 1.6; }
.complete-info-card { background: #f8f9fa; border-radius: 12px; padding: 25px; margin-bottom: 30px; text-align: left; }
.complete-info-card h4 { font-size: 16px; font-weight: 600; margin: 0 0 15px 0; color: #333; }
.complete-info-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #e9ecef; }
.complete-info-row:last-child { border-bottom: none; }
.complete-info-label { color: #666; }
.complete-info-value { font-weight: 500; color: #222; }
.btn-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }
.btn-group .uk-button { min-width: 150px; }

/* payment 페이지 전용 */
.payment-summary { background: #f8f9fa; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
.payment-total { font-size: 28px; font-weight: 700; color: #E60012; }
.payment-method { border: 2px solid #e4e4e4; border-radius: 8px; padding: 20px; cursor: pointer; transition: all 0.2s; text-align: center; }
.payment-method:hover { border-color: #E60012; background: #fff5f5; }
.payment-method.selected { border-color: #E60012; background: #fff5f5; }
.payment-method-icon { font-size: 32px; margin-bottom: 10px; }
.bank-info { background: #fff3cd; border: 1px solid #ffc107; border-radius: 8px; padding: 20px; margin-top: 20px; }
.bank-info-row { display: flex; margin-bottom: 8px; }
.bank-info-label { width: 80px; color: #666; }
.bank-info-value { flex: 1; font-weight: 500; }

/* submit 페이지 전용 */
.preview-box { background: #f8f9fa; border: 2px dashed #ddd; border-radius: 8px; padding: 30px; text-align: center; cursor: pointer; transition: all 0.3s; }
.preview-box:hover { border-color: #E60012; background: #fff5f5; }
.preview-box.has-image { border-style: solid; border-color: #28a745; }
.preview-image { max-width: 100%; max-height: 400px; object-fit: contain; border-radius: 8px; }
.file-info { background: #e8f5e9; border: 1px solid #4caf50; border-radius: 8px; padding: 15px; margin-top: 15px; }
.spec-info { background: #e3f2fd; border: 1px solid #2196f3; border-radius: 8px; padding: 15px; margin-bottom: 20px; font-size: 14px; }
.cv-upload-placeholder { font-size: 48px; color: #ddd; margin-bottom: 15px; }
.cv-upload-hint { margin: 0; color: #666; }
.cv-upload-size { margin: 10px 0 0; font-size: 13px; color: #999; }
.cv-warning-card { background: #fff3e0; border: 1px solid #ffcc80; }
.cv-warning-title { color: #e65100; }
.cv-warning-icon { margin-right: 8px; }
.cv-warning-desc { margin: 0; color: #666; font-size: 14px; line-height: 1.6; }
.cv-info-list { margin: 10px 0 0; padding-left: 20px; }
.cv-td-label { width: 100px; color: #666; }
.cv-bank-title { margin: 0 0 15px 0; font-size: 15px; }
.cv-bank-note { margin: 15px 0 0; font-size: 13px; color: #856404; }

@media (max-width: 640px) {
    .step-indicator { flex-direction: column; align-items: flex-start; gap: 10px; }
    .step-divider { display: none; }
    .info-row { flex-direction: column; gap: 5px; }
    .info-label { width: 100%; }
    .btn-group { flex-direction: column; }
    .btn-group .uk-button { width: 100%; }
}

/* =====================================================
   공지사항 (notice lists_cv, view_cv)
   ===================================================== */
.notice-lists { max-width: 900px; margin: 0 auto; padding: 20px; }
.notice-list { list-style: none; padding: 0; margin: 0; border-top: 2px solid #333; }
.notice-item { border-bottom: 1px solid #eee; }
.notice-item.is-top { background: #fffde7; }
.notice-link { display: flex; align-items: center; padding: 15px 10px; text-decoration: none; color: #333; gap: 10px; }
.notice-link:hover { background: #f9f9f9; }
.notice-badge { display: flex; gap: 5px; flex-shrink: 0; min-width: 60px; }
.badge-top { background: #333; color: #fff; padding: 2px 8px; font-size: 11px; border-radius: 3px; }
.badge-type { padding: 2px 8px; font-size: 11px; border-radius: 3px; color: #fff; }
.badge-type-2 { background: #3498db; }
.badge-type-3 { background: #e74c3c; }
.notice-title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.notice-date { color: #888; font-size: 13px; flex-shrink: 0; }
.no-data { padding: 50px; text-align: center; color: #888; border-top: 2px solid #333; border-bottom: 1px solid #eee; }

.notice-view { max-width: 900px; margin: 0 auto; padding: 20px; }
.notice-header { border-bottom: 2px solid #333; padding-bottom: 15px; margin-bottom: 20px; }
.notice-view .notice-title { font-size: 22px; font-weight: 600; margin: 0 0 10px 0; color: #333; white-space: normal; overflow: visible; }
.notice-meta { font-size: 13px; color: #888; }
.notice-meta span { margin-right: 15px; }
.notice-meta .type { background: #e74c3c; color: #fff; padding: 2px 8px; border-radius: 3px; font-size: 11px; }
.notice-meta .type-2 { background: #3498db; }
.notice-meta .type-3 { background: #e74c3c; }
.notice-content { min-height: 200px; padding: 20px 0; line-height: 1.8; font-size: 14px; color: #444; border-bottom: 1px solid #eee; }
.notice-nav { padding: 20px 0; text-align: center; }
.notice-nav .btn-list { display: inline-block; padding: 10px 30px; background: #333; color: #fff; text-decoration: none; border-radius: 4px; }
.notice-nav .btn-list:hover { background: #555; }
.notice-view .no-data { border-top: none; border-bottom: none; }

@media (max-width: 640px) {
    .notice-link { flex-wrap: wrap; }
    .notice-title { width: 100%; order: 1; white-space: normal; }
    .notice-badge { order: 2; }
    .notice-date { order: 3; margin-left: auto; }
}

/* =====================================================
   에러 404 페이지
   ===================================================== */
.error404-body {
    width: 99%;
    height: 100%;
    background-color: mediumturquoise;
    color: white;
    font-family: sans-serif;
}
.error404-wrap {
    position: absolute;
    width: 400px;
    height: 300px;
    z-index: 15;
    top: 45%;
    left: 50%;
    margin: -100px 0 0 -200px;
    text-align: center;
}
.error404-wrap h1,
.error404-wrap h2 { text-align: center; }
.error404-wrap h1 {
    font-size: 60px;
    margin-bottom: 10px;
    border-bottom: 1px solid white;
    padding-bottom: 10px;
}
.error404-wrap h2 { margin-bottom: 40px; }
.error404-wrap a {
    margin-top: 10px;
    text-decoration: none;
    padding: 10px 25px;
    background-color: ghostwhite;
    color: black;
}

/* =====================================================
   ft_close.php 모달
   ===================================================== */
.exhb-register-modal-dialog {
    width: 700px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
}
