@charset "utf-8";

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* === 코어 최소 의존 스타일 (테마 UI는 tailwind.css에서 처리) === */

/* 기본 리셋 */
html { overflow-y:scroll }
body { margin:0; padding:0; font-family:'NEXON Lv2 Gothic', 'Malgun Gothic', dotum, sans-serif; background:#fff; color:#1f2937; font-size:17px; line-height:1.6 }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }
ul, dl, dt, dd { margin:0; padding:0; list-style:none }
legend { position:absolute; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle }
input, button, textarea, select { margin:0; padding:0; font-family:inherit; font-size:inherit }
button { cursor:pointer }
p { margin:0; padding:0; word-break:break-all }
hr { display:none }
pre { overflow-x:scroll }
a { color:inherit; text-decoration:none }
*, :after, :before { box-sizing:border-box }

/* 레이아웃 제약 해제 (테마에서 Tailwind로 제어) */
#hd, #wrapper, #ft { min-width:0 !important; width:auto !important }
#gnb .gnb_wrap, #container_wr, #ft_wr, #ft_copy { width:auto !important; max-width:1240px; margin:0 auto }
#container { width:100% !important; float:none !important; min-height:0 !important; margin:0 !important }
#aside { display:none }

/* 화면낭독기 */
#hd_login_msg { position:absolute; top:0; left:0; font-size:0; line-height:0; overflow:hidden }
.msg_sound_only, .sound_only { display:inline-block !important; position:absolute; top:0; left:0; width:0; height:0; margin:0 !important; padding:0 !important; font-size:0; line-height:0; border:0 !important; overflow:hidden !important }

/* 본문 바로가기 */
#skip_to_container a { z-index:100000; position:absolute; top:0; left:0; width:1px; height:1px; font-size:0; line-height:0; overflow:hidden }
#skip_to_container a:focus, #skip_to_container a:active { width:100%; height:75px; background:#21272e; color:#fff; font-size:2em; font-weight:bold; text-align:center; text-decoration:none; line-height:3.3em }

/* 캡챠 */
#captcha { display:inline-block; position:relative }
#captcha legend { position:absolute; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
#captcha #captcha_img { height:40px; border:1px solid #898989; vertical-align:top; padding:0; margin:0 }
#captcha #captcha_mp3 { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent url('../../../img/captcha2.png') no-repeat; vertical-align:middle; overflow:hidden; cursor:pointer; text-indent:-999px; border-radius:3px }
#captcha #captcha_reload { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent url('../../../img/captcha2.png') no-repeat 0 -40px; vertical-align:middle; overflow:hidden; cursor:pointer; text-indent:-999px; border-radius:3px }
#captcha #captcha_key { margin:0 0 0 3px; padding:0 5px; width:90px; height:40px; border:1px solid #ccc; background:#fff; font-size:1.333em; font-weight:bold; text-align:center; border-radius:3px; vertical-align:top }
#captcha #captcha_info { display:block; margin:5px 0 0; font-size:0.95em }

/* 본문 내 에디터 콘텐츠 */
#bo_v_con ul { display:block; list-style-type:disc; margin:1em 0; padding-left:40px }
#bo_v_con ol { display:block; list-style-type:decimal; margin:1em 0; padding-left:40px }
#bo_v_con li { display:list-item }

/* cheditor */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before { box-sizing:content-box }

/* 사이드뷰 */
.sv_wrap { position:relative; font-weight:normal }
.sv_wrap .sv { z-index:1000; display:none; margin:5px 0 0; font-size:0.92em; background:#333; box-shadow:2px 2px 3px rgba(0,0,0,0.2) }
.sv_wrap .sv:before { content:""; position:absolute; top:-6px; left:15px; border-style:solid; border-width:0 6px 6px 6px; border-color:transparent transparent #333 transparent }
.sv_wrap .sv a { display:inline-block; padding:0 10px; line-height:30px; width:100px; font-weight:normal; color:#bbb }
.sv_wrap .sv a:hover { background:#000; color:#fff }
.sv_member { color:#333 }
.sv_on { display:block !important; position:absolute; top:23px; left:0 }

/* 페이징 */
.pg_wrap { clear:both; display:flex; justify-content:center; padding:20px 0 }
.pg { text-align:center }
.pg_page, .pg_current { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 8px; border-radius:8px; font-size:14px; text-decoration:none; transition:all 0.15s }
.pg_page { color:#6b7280; background:#f3f4f6; border:1px solid #e5e7eb }
.pg_page:hover { background:#e5e7eb; color:#111827 }
.pg_current { background:var(--hex-primary-500); border:1px solid var(--hex-primary-500); color:#fff; font-weight:700 }
.pg_start, .pg_prev, .pg_end, .pg_next { text-indent:-999px; overflow:hidden; background-color:#f3f4f6; border:1px solid #e5e7eb }
.pg_start { background-image:url('../img/btn_first.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_prev { background-image:url('../img/btn_prev.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_end { background-image:url('../img/btn_end.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_next { background-image:url('../img/btn_next.gif'); background-repeat:no-repeat; background-position:50% 50% }
.pg_start:hover, .pg_prev:hover, .pg_end:hover, .pg_next:hover { background-color:#e5e7eb }

/* 선택복사/이동 새창 */
#copymove .win_desc { text-align:center; display:block }
#copymove .tbl_wrap { margin:20px }
#copymove .win_btn { padding:0 20px 20px }
.copymove_current { float:right; background:var(--hex-primary-500); padding:5px 10px; color:#fff; border-radius:6px; font-size:13px }
.copymove_currentbg { background:#f3f4f6 }

/* 새창 */
.new_win { position:relative }
.new_win .tbl_wrap { margin:0 20px }
.new_win #win_title { font-size:1.3em; height:50px; line-height:30px; padding:10px 20px; background:#fff; color:#000; box-shadow:0 1px 10px rgba(0,0,0,.1) }
.new_win .win_ul { margin-bottom:15px; padding:0 20px }
.new_win .win_ul:after { display:block; visibility:hidden; clear:both; content:"" }
.new_win .win_ul li { float:left; background:#fff; text-align:center; padding:0 10px; border:1px solid var(--hex-primary-200); border-radius:30px; margin-left:5px }
.new_win .win_ul li:first-child { margin-left:0 }
.new_win .win_ul li a { display:block; padding:8px 0; color:var(--hex-primary-400) }
.new_win .win_ul .selected { background:var(--hex-primary-500); border-color:var(--hex-primary-500) }
.new_win .win_ul .selected a { color:#fff; font-weight:bold }
.new_win .win_desc { position:relative; margin:10px; border-radius:8px; background:#ef4444; color:#fff; line-height:50px; text-align:left; padding:0 20px }
.new_win .btn_confirm:after { display:block; visibility:hidden; clear:both; content:"" }
.new_win .win_btn { text-align:center }
.new_win .btn_close { padding:0 20px; height:45px; border:1px solid #dcdcdc; cursor:pointer; border-radius:6px; background:#fff }
.new_win .btn_submit { padding:0 20px; height:45px; font-weight:bold; border:0; background:var(--hex-primary-500); color:#fff; border-radius:6px; cursor:pointer }
.new_win .btn_submit:hover { background:var(--hex-primary-600) }

/* 필수입력 */
.required, textarea.required { background-image:url('../img/require.png') !important; background-repeat:no-repeat !important; background-position:right top !important }

/* 검색결과 */
.sch_word { color:#fff; background:var(--hex-primary-500); padding:2px 5px 3px; border-radius:3px }

/* alert 대안 */
#validation_check { margin:100px auto; width:500px }
#validation_check h1 { margin-bottom:20px; font-size:1.3em }
#validation_check p { margin-bottom:20px; padding:30px 20px; border:1px solid #e5e7eb; background:#fff; border-radius:8px }

/* 팝업레이어 */
#hd_pop { z-index:1000; position:relative; margin:0 auto; height:0 }
#hd_pop h2 { position:absolute; font-size:0; line-height:0; overflow:hidden }
.hd_pops { position:absolute; border:1px solid #e5e7eb; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.15) }
.hd_pops img { max-width:100% }
.hd_pops_footer { padding:0; background:#111827; color:#fff; text-align:left; position:relative }
.hd_pops_footer:after { display:block; visibility:hidden; clear:both; content:"" }
.hd_pops_footer button { padding:10px; border:0; color:#fff }
.hd_pops_footer .hd_pops_reject { background:#111827 }
.hd_pops_footer .hd_pops_close { background:#374151; position:absolute; top:0; right:0 }

/* 임시저장 */
a.btn_frmline, button.btn_frmline { display:inline-block; padding:0 12px; height:40px; border:1px solid #e5e7eb; background:#fff; border-radius:8px; color:#374151; text-decoration:none; vertical-align:top; font-size:14px; cursor:pointer }
button.btn_frmline:hover { background:#f3f4f6 }
#autosave_pop { display:none; position:absolute; top:100%; left:0; z-index:100; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.15); padding:16px; min-width:300px }
#autosave_pop strong { display:block; margin-bottom:10px; font-size:14px }
#autosave_pop ul { list-style:none; margin:0; padding:0 }
#autosave_pop li { padding:8px 0; border-bottom:1px solid #f3f4f6 }
#autosave_pop .autosave_close { margin-top:10px; padding:6px 16px; border:1px solid #e5e7eb; border-radius:6px; background:#fff; cursor:pointer }

/* Mobile 전환 */
#device_change { display:block; margin:0.3em; padding:0.5em 0; border:1px solid #e5e7eb; border-radius:2em; background:#fff; color:#000; font-size:2em; text-decoration:none; text-align:center }




#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
.gnb_1dli {font-size: 0}

#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
    -moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
    box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd}
#gnb_all .gnb_al_li li {line-height:2em}
#gnb_all .gnb_al_li li a {color:#555}
#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}

.hd_sch_wr {/*float:left;padding:30px 0;width:445px;*//*margin-left:65px*/ margin: 0 auto;padding: 47px 0}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {width:auto;height:45px;padding-left:20px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
#hd_sch #sch_submit {width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px;padding-right: 20px}

.new_container_wr {
    margin-left: auto !important;
    margin-right: auto !important;
    /*max-width: 80rem !important;*/
    max-width: 1300px !important;
    padding-top: 20px;
    padding-left: 1rem;
    padding-right: 1rem;
}

.new_container_wr.no_aside .container_aside{
    display: none;
}


#mypage-wrap .my-main {
    padding: 10px 0 40px;
}

#mypage-wrap .my-profile-card {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 28px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    margin-bottom: 20px;
}

#mypage-wrap .my-profile-left {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    flex: 1;
}
#mypage-wrap .my-profile-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#mypage-wrap .my-profile-item span {
    display: block;
    font-size: 13px;
    color: #6B7280;
}

#mypage-wrap .my-profile-item strong {
    display: block;
    margin-top: 6px;
    font-size: 15px;
    font-weight: 700;
    color: #111827;
}

#mypage-wrap .my-profile-right {
    min-width: 160px;
    text-align: center;
    /*background: linear-gradient(135deg, #3B82F6, #2563EB);*/
    /*color: #fff;*/
    background: #fff;
    border: 1px solid #3B82F6;
    color: #3B82F6;

    border-radius: 14px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#mypage-wrap .my-profile-right p {
    margin: 0;
    font-size: 13px;
    opacity: 0.9;
}

#mypage-wrap .my-profile-right strong {
    margin-top: 6px;
    font-size: 26px;
    line-height: 26px;
    font-weight: 800;
}

/* 반응형 */
@media (max-width: 768px) {

    #mypage-wrap .my-profile-card {
        flex-direction: column;
        padding: 20px;
    }

    #mypage-wrap .my-profile-left {
        grid-template-columns: repeat(2, 1fr);
    }

    #mypage-wrap .my-profile-right {
        margin-top: 10px;
    }
}

#mypage-wrap .my-summary-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

#mypage-wrap .my-summary-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

#mypage-wrap .my-point-card {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 30px 24px;
    /*background: linear-gradient(135deg, #3B82F6, #2563EB);*/
    /*color: #fff;*/
    background: #fff;
    border: 1px solid #E5E7EB;
}

#mypage-wrap .my-point-card > div {
    flex: 1;
    text-align: center;
}

#mypage-wrap .my-point-card strong {
    display: block;
    margin-top: 8px;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

#mypage-wrap .my-point-divider {
    flex: 0 0 1px !important;
    width: 1px;
    height: 48px;
    background: rgba(255,255,255,0.35);
    background: #E5E7EB;
}

#mypage-wrap .my-card-label {
    margin: 0;
    font-size: 14px;
    color: inherit;
    opacity: 0.85;
}

#mypage-wrap .my-work-card {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 24px 18px;
}

#mypage-wrap .my-work-card > div {
    text-align: center;
    border-right: 1px solid #E5E7EB;
}

#mypage-wrap .my-work-card > div:last-child {
    border-right: 0;
}

#mypage-wrap .my-work-card strong {
    display: block;
    margin-top: 8px;
    font-size: 26px;
    font-weight: 800;
    color: #111827;
}

#mypage-wrap .my-recent-section {
    margin-top: 26px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

#mypage-wrap .my-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 22px;
    border-bottom: 1px solid #E5E7EB;
}

#mypage-wrap .my-section-head h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

#mypage-wrap .my-more-link {
    font-size: 14px;
    color: #3B82F6;
    text-decoration: none;
    font-weight: 600;
}

#mypage-wrap .my-recent-list {
    margin: 0;
    padding: 0;
    list-style: none;

    min-height: 300px;
}

#mypage-wrap .my-recent-list li {
    border-bottom: 1px solid #F1F5F9;
}
#mypage-wrap .my-recent-list li.empty {
    padding: 100px 0;
    text-align: center;
}

#mypage-wrap .my-recent-list li:last-child {
    border-bottom: 0;
}

#mypage-wrap .my-recent-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
    color: inherit;
    text-decoration: none;
}
#mypage-wrap .my-recent-list li .status-box {
    display: flex;
    gap: 20px;
}

#mypage-wrap .my-recent-list strong {
    display: block;
    font-size: 15px;
    color: #111827;
    font-weight: 700;
}

#mypage-wrap .my-recent-list p {
    margin: 5px 0 0;
    font-size: 13px;
    color: #6B7280;
}
/* 오른쪽 영역 */
#mypage-wrap .my-recent-list .status-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 삭제 버튼 */
#mypage-wrap .my-recent-list .btn-delete {
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #E5E7EB;
    background: #fff;
    color: #6B7280;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* hover */
#mypage-wrap .my-recent-list .btn-delete:hover {
    border-color: #EF4444;
    color: #EF4444;
    background: #FEF2F2;
}

#mypage-wrap .my-status {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    height: 30px;
    line-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

/* 대기중 (주황) */
#mypage-wrap .my-status.label0 {
    color: #f59e0b;
    background: #fff7ed;
    border-color: #fde68a;
}

/* 진행중 (파랑) */
#mypage-wrap .my-status.label1 {
    color: #3b82f6;
    background: #eff6ff;
    border-color: #bfdbfe;
}

/* 검수중 (보라) */
#mypage-wrap .my-status.label2 {
    color: #8b5cf6;
    background: #f5f3ff;
    border-color: #ddd6fe;
}

/* 승인완료 (초록) */
#mypage-wrap .my-status.label3 {
    color: #22c55e;
    background: #f0fdf4;
    border-color: #bbf7d0;
}

/* 반려 (빨강) */
#mypage-wrap .my-status.label-1 {
    color: #ef4444;
    background: #fef2f2;
    border-color: #fecaca;
}

@media (max-width: 768px) {
    #mypage-wrap .my-point-card {
        padding: 24px 16px;
    }

    #mypage-wrap .my-point-card strong {
        font-size: 26px;
    }

    #mypage-wrap .my-work-card {
        grid-template-columns: repeat(2, 1fr);
        padding: 0;
    }

    #mypage-wrap .my-work-card > div {
        padding: 20px 10px;
        border-right: 1px solid #E5E7EB;
        border-bottom: 1px solid #E5E7EB;
    }

    #mypage-wrap .my-work-card > div:nth-child(2n) {
        border-right: 0;
    }

    #mypage-wrap .my-work-card > div:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    #mypage-wrap .my-recent-list a {
        padding: 16px;
    }

    #mypage-wrap .my-recent-list li .status-box {
        display: flex;
        max-width: 80px;
        gap: 10px;
        flex-wrap: wrap;
    }
}


@media (max-width: 768px) {
    .sz-card {
        padding: 1rem;
    }
}

@media (max-width: 1024px) {
    .new_container_wr {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
        padding-top: 0px;
        padding-left: 0;
        padding-right: 0;
    }
}