@charset "utf-8";
/* ============================================================
   MEMBER SKIN — CNMAKER Design System
   cn_input, cn_btn_primary, cn_section 패턴 정확 매칭
   ============================================================ */

/* =============================================
   LOGIN
   ============================================= */
#mb_login.mbskin {
    width: 100%; max-width: 400px;
    margin: 40px auto 40px; text-align: center;
}
.mbskin:after { display: none !important; }
.mbskin .mbskin_box {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px; overflow: hidden;
    box-shadow: var(--card-shadow);
}
/* 타이틀 */
.mbskin h1 {
    margin: 0 !important; padding: 24px 24px 18px !important;
    font-size: 18px !important; font-weight: 800 !important;
    color: var(--text-primary) !important; letter-spacing: -.03em;
    position: relative !important; overflow: visible !important; line-height: 1.2 !important;
}
/* 로그인/회원가입 탭 */
.mb_log_cate {
    display: flex; border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}
.mb_log_cate:after { display: none !important; }
.mb_log_cate h2 {
    flex: 1; float: none !important; width: auto !important;
    padding: 10px 0 !important; margin: 0 !important;
    font-size: 12px !important; font-weight: 700 !important;
    color: var(--accent) !important;
    border-bottom: 2px solid var(--accent);
    background: transparent !important;
    text-align: center;
}
.mb_log_cate .join {
    flex: 1; float: none !important; width: auto !important;
    padding: 10px 0 !important;
    font-size: 12px !important; font-weight: 600 !important;
    color: var(--text-muted) !important;
    background: transparent !important;
    border-bottom: 2px solid transparent;
    transition: all .15s;
    text-align: center;
    text-decoration: none;
}
.mb_log_cate .join:hover {
    color: var(--text-secondary) !important;
    border-bottom-color: var(--border-color);
}

/* 로그인 폼 */
#login_fs {
    padding: 20px 24px !important;
    border: none !important;
    margin: 0 !important;
}
#mb_login #login_fs .frm_input {
    width: 100% !important;
    margin: 0 0 8px !important;
    height: auto !important;
}
#mb_login #login_fs .btn_submit {
    width: 100% !important;
    height: 42px !important;
    margin: 4px 0 10px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
}

/* 자동로그인 / 비밀번호 찾기 */
#login_info { display: flex; align-items: center; justify-content: space-between; padding: 0; }
#login_info:after { display: none !important; }
#login_info .login_if_auto { float: none !important; display: flex; align-items: center; gap: 4px; }
#login_info .login_if_auto label { font-size: 12px !important; color: var(--text-muted) !important; cursor: pointer; }
#login_info .login_if_lpl { float: none !important; }
#login_info .login_if_lpl a { font-size: 12px; color: var(--text-muted) !important; transition: color .15s; text-decoration: none; }
#login_info .login_if_lpl a:hover { color: var(--accent-text) !important; }
#login_password_lost { border: none !important; padding: 0 !important; color: var(--accent-text) !important; }

/* 자동로그인 체크박스 커스텀 */
#login_auto_login { position: absolute !important; width: 1px !important; height: 1px !important; clip: rect(0,0,0,0) !important; overflow: hidden !important; }
#login_auto_login + label {
    display: inline-flex; align-items: center; gap: 6px;
    cursor: pointer; font-size: 12px; color: var(--text-muted);
    padding: 0 !important;
}
#login_auto_login + label:before {
    content: ''; width: 16px; height: 16px; flex-shrink: 0;
    border: 1px solid var(--border-color); border-radius: 4px;
    background: var(--bg-input); transition: all .15s;
}
#login_auto_login:checked + label:before {
    background: var(--accent); border-color: var(--accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.5 11.5L3 8l1-1 2.5 2.5 5-5 1 1z'/%3E%3C/svg%3E");
    background-size: 12px; background-position: center; background-repeat: no-repeat;
}
#login_auto_login:checked + label { color: var(--text-primary); }

/* 소셜로그인 */
#mb_login #sns_login {
    margin: 0 !important; padding: 16px 24px !important;
    border-top: 1px solid var(--border-color) !important;
    background: var(--bg-secondary) !important; border-color: var(--border-color) !important;
}

/* 비회원 구매/주문조회 */
#mb_login_notmb {
    margin: 16px 24px !important; padding: 20px !important;
    border: 1px solid var(--border-color) !important; border-radius: 8px !important;
    background: var(--bg-secondary) !important;
}
#mb_login_notmb h2 { font-size: 14px !important; color: var(--text-primary) !important; margin: 0 0 8px !important; }
#mb_login_notmb p { color: var(--text-secondary) !important; font-size: 13px; margin: 0 0 12px !important; }
#guest_privacy { background: var(--bg-input) !important; border: 1px solid var(--border-color) !important; color: var(--text-secondary) !important; border-radius: 8px; padding: 12px !important; max-height: 120px; overflow-y: auto; font-size: 12px; margin-bottom: 10px !important; }
#mb_login_od_wr {
    margin: 16px 24px !important; padding: 20px !important;
    border: 1px solid var(--border-color) !important; border-radius: 8px !important;
}
#mb_login_od_wr h2 { color: var(--text-primary) !important; margin: 0 0 8px !important; }
#mb_login_od_wr p { background: var(--bg-secondary) !important; color: var(--text-secondary) !important; border-radius: 8px; padding: 10px !important; font-size: 12px; }

/* =============================================
   REGISTER — 약관 동의
   ============================================= */
.register { max-width: 640px; margin: 24px auto !important; }
.register:after { display: none !important; }

/* 상단 안내 배너 */
#fregister p {
    background: var(--accent-bg) !important; color: var(--accent-text) !important;
    border-radius: 8px !important;
    font-size: 13px !important; font-weight: 600 !important;
    height: auto !important; padding: 12px 16px !important;
    line-height: 1.5 !important;
    position: relative !important; overflow: hidden;
}
#fregister p:before {
    content: '' !important; position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 3px !important; height: 100% !important;
    background: var(--accent) !important; border-radius: 8px 0 0 8px !important;
}
#fregister p i { color: var(--accent) !important; }

/* 약관 섹션 */
#fregister section {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    overflow: visible !important;
    margin-bottom: 16px !important;
}
#fregister section > h2:first-child {
    border-radius: 9px 9px 0 0 !important;
}
#fregister section > *:last-child {
    border-radius: 0 0 9px 9px !important;
}
/* fieldset 기본 테두리 제거 (fregister_agree 제외) */
#fregister fieldset:not(.fregister_agree),
.register fieldset:not(.fregister_agree) {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}
#fregister h2 {
    background: var(--bg-secondary) !important; color: var(--text-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 12px 16px !important; font-size: 13px !important;
    font-weight: 700 !important;
    display: flex; align-items: center; gap: 6px;
    margin: 0 !important;
}
#fregister textarea {
    background: var(--bg-panel) !important; color: var(--text-secondary) !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    padding: 14px 16px !important; line-height: 1.7 !important;
    width: 100% !important;
    resize: none !important;
    margin: 0 !important;
}

/* 상단 안내 바 여백 */
#fregister > p {
    margin-bottom: 16px !important;
}

/* 동의 체크박스 */
#fregister .fregister_agree,
.fregister_agree {
    padding: 12px 20px !important;
    border: none !important;
    border-top: 1px solid var(--border-color) !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    min-width: 0 !important;
}
.fregister_agree .selec_chk {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    opacity: 0 !important;
}
.fregister_agree label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: var(--text-secondary) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    user-select: none !important;
}
/* sound_only 텍스트를 동의 영역에서는 보이게 */
.fregister_agree label .sound_only,
.fregister_agree label b.sound_only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: unset !important;
    clip-path: none !important;
    white-space: normal !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    color: inherit !important;
    border: none !important;
}
.fregister_agree label span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex-shrink: 0 !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 4px !important;
    transition: all .15s !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
}
.fregister_agree label span::after {
    content: '' !important;
    display: none !important;
    width: 5px !important;
    height: 9px !important;
    border: 2px solid #fff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) translateY(-1px) !important;
    flex-shrink: 0 !important;
}
.fregister_agree label:hover span {
    border-color: var(--accent) !important;
}
.fregister_agree input[type="checkbox"]:checked + label {
    color: var(--text-primary) !important;
}
.fregister_agree input[type="checkbox"]:checked + label span {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}
.fregister_agree input[type="checkbox"]:checked + label span::after {
    display: block !important;
}

/* 전체동의 */
#fregister_chkall {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}
#fregister_chkall.fregister_agree {
    border-top: 1px solid var(--border-color) !important;
}
#fregister_chkall label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}
#fregister_chkall label span {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex-shrink: 0 !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 4px !important;
    transition: all .15s !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
}
#fregister_chkall label:hover span {
    border-color: var(--accent) !important;
}
#fregister_chkall input[type="checkbox"]:checked + label span {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.5 11.5L3 8l1-1 2.5 2.5 5-5 1 1z'/%3E%3C/svg%3E") !important;
    background-size: 15px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* 개인정보 테이블 */
.fregister_terms div {
    background: var(--bg-panel) !important;
    padding: 0 !important;
    overflow-x: auto !important;
}
.fregister_terms table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    table-layout: fixed !important;
}
.fregister_terms table caption { display: none !important; }
.fregister_terms table th {
    background: var(--bg-secondary) !important;
    color: var(--text-muted) !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    font-weight: 700;
    text-align: left;
    border: none !important;
    border-bottom: 1px solid var(--border-color) !important;
    word-break: keep-all !important;
}
.fregister_terms table th:not(:last-child) {
    border-right: 1px solid var(--border-color) !important;
}
.fregister_terms table td {
    padding: 11px 12px !important;
    color: var(--text-secondary) !important;
    font-size: 12px !important;
    border: none !important;
    border-bottom: 1px solid var(--border-color) !important;
    background: var(--bg-panel) !important;
    word-break: keep-all !important;
}
.fregister_terms table td:not(:last-child) {
    border-right: 1px solid var(--border-color) !important;
}
.fregister_terms table tbody tr:last-child td {
    border-bottom: none !important;
}

/* 하단 버튼 */
.register .btn_confirm {
    display: flex !important;
    gap: 10px !important;
    margin-top: 20px !important;
    padding: 0 !important;
}
.register .btn_confirm .btn_submit,
.register .btn_confirm .btn_close {
    flex: 1 !important;
    float: none !important;
    width: auto !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    text-align: center !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.register .btn_confirm .btn_close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}
.register .btn_confirm .btn_submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--accent) !important;
    border: 1px solid var(--accent) !important;
    color: #fff !important;
}

/* =============================================
   REGISTER FORM — 회원가입 입력
   ============================================= */
#register_form { background: transparent !important; margin-bottom: 12px !important; }

/* 각 섹션 */
.register_form_inner {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    overflow: visible !important;
}
.register_form_inner > h2:first-child {
    border-radius: 7px 7px 0 0 !important;
}
.register_form_inner > ul:last-child {
    border-radius: 0 0 7px 7px !important;
}
#register_form h2,
.register_form_inner h2,
.tbl_frm01.register_form_inner h2 {
    background: var(--bg-secondary) !important; color: var(--text-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 12px 16px !important; margin: 0 !important;
    font-size: 13px !important; font-weight: 700 !important;
    display: flex !important; align-items: center; gap: 6px;
}
#register_form h2::before,
.register_form_inner h2::before {
    content: ''; width: 3px; height: 14px;
    background: var(--accent); border-radius: 2px; flex-shrink: 0;
}
.register_form_inner ul { padding: 16px !important; list-style: none !important; margin: 0 !important; }
.register_form_inner li { margin-bottom: 12px !important; list-style: none !important; }
.register_form_inner li:last-child { margin-bottom: 0 !important; }
.register_form_inner label {
    display: block !important; margin-bottom: 5px !important;
    font-size: 12px !important; font-weight: 600 !important;
    color: var(--text-secondary) !important;
}
.register_form_inner label.inline { display: inline !important; }

/* 툴팁 */
.tooltip_icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important; height: 16px !important;
    font-size: 10px !important; font-weight: 700 !important;
    font-style: normal !important;
    color: var(--text-muted) !important;
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    position: relative !important;
    padding: 0 !important;
    vertical-align: middle !important;
    margin-left: 4px !important;
    line-height: 1 !important;
}
.tooltip_icon:hover { color: var(--accent) !important; border-color: var(--accent) !important; }
.tooltip {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    min-width: 220px !important;
    max-width: 320px !important;
    background: var(--bg-primary) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    box-shadow: var(--card-shadow) !important;
    z-index: 100 !important;
    white-space: normal !important;
    word-break: keep-all !important;
}
/* 래퍼 (JS에서 생성) */
.tooltip_wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}
/* 래퍼 안 tooltip 표시 */
.tooltip_wrap .tooltip_icon:hover ~ .tooltip,
.tooltip_wrap .tooltip_icon:focus ~ .tooltip,
.tooltip_wrap .tooltip_icon.on ~ .tooltip,
.tooltip_icon:hover + .tooltip,
.tooltip_icon:focus + .tooltip,
.tooltip_icon.on + .tooltip {
    display: block !important;
}

/* chk_box (정보공개 등 기타 체크박스) */
.chk_box {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    list-style: none !important;
}
.chk_box .selec_chk {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    opacity: 0 !important;
}
.chk_box label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.chk_box label span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important; height: 18px !important;
    min-width: 18px !important; min-height: 18px !important;
    flex-shrink: 0 !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    transition: all .15s !important;
    padding: 0 !important; margin: 0 !important;
    position: relative !important;
}
.chk_box label span::after {
    content: '' !important;
    display: none !important;
    width: 5px !important;
    height: 9px !important;
    border: 2px solid #fff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) translateY(-1px) !important;
    flex-shrink: 0 !important;
}
.chk_box label:hover span {
    border-color: var(--accent) !important;
}
.chk_box .selec_chk:checked + label span {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}
.chk_box .selec_chk:checked + label span::after {
    display: block !important;
}
/* sound_only 텍스트를 chk_box label 안에서 보이게 */
.chk_box label .sound_only,
.chk_box label b.sound_only {
    position: static !important;
    width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important;
    overflow: visible !important;
    clip: unset !important; clip-path: none !important;
    white-space: normal !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    color: var(--text-secondary) !important;
    border: none !important;
    margin-left: 8px !important;
}
.chk_box .chk_li {
    font-size: 13px !important;
    color: var(--text-secondary) !important;
    line-height: 1.4 !important;
}

/* 인증 관련 */
#fregisterform .cert_desc { color: var(--accent-text) !important; }
#fregisterform .cert_req { color: var(--accent-text) !important; }
#fregisterform #msg_certify {
    background: var(--accent-bg) !important;
    border: 1px solid rgba(99,102,241,.2) !important;
    color: var(--accent-text) !important; border-radius: 8px !important;
    padding: 10px 14px !important;
}
.js-open-consent { color: var(--accent-text) !important; }
.consent-date { color: var(--text-muted) !important; font-size: 11px; }
.is_captcha_use { color: var(--text-secondary) !important; }

/* half input */
.half_input { width: 49% !important; display: inline-block !important; vertical-align: top !important; }
.margin_input { margin-right: 1% !important; }

/* 하단 버튼 */
#fregisterform .btn_confirm { display: flex; gap: 8px; margin-top: 16px; text-align: center !important; }

/* =============================================
   REGISTER RESULT — 가입 완료
   ============================================= */
#reg_result {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important; padding: 36px 24px !important;
    max-width: 520px; margin: 32px auto !important;
    box-shadow: var(--card-shadow);
    text-align: center;
}
#reg_result h2 { font-size: 20px !important; color: var(--text-primary) !important; margin: 0 0 12px !important; }
#reg_result h2 strong { color: var(--accent-text) !important; }
#reg_result .reg_result_p { color: var(--accent-text) !important; font-size: 15px !important; margin: 0 0 16px !important; }
#reg_result i { color: var(--accent) !important; }
#reg_result p { color: var(--text-secondary) !important; line-height: 1.8 !important; font-size: 13px !important; }
#reg_result .result_txt { text-align: left; margin: 12px 0 !important; }
#reg_result #result_email {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    padding: 14px 16px !important; border-radius: 8px !important;
    text-align: left; margin: 12px 0 !important;
}
#reg_result #result_email span { color: var(--text-muted) !important; font-size: 12px; }
#reg_result #result_email strong { color: var(--accent-text) !important; }
.btn_confirm_reg { margin: 20px 0; text-align: center; }
.reg_btn_submit {
    display: inline-flex !important; align-items: center; justify-content: center;
    background: var(--accent) !important; color: #fff !important;
    border: 1px solid var(--accent) !important;
    border-radius: 8px !important; padding: 12px 32px !important;
    font-size: 13px !important; font-weight: 600 !important;
    transition: all .15s; width: auto !important; height: auto !important; line-height: 1.4 !important;
    text-decoration: none;
}
.reg_btn_submit:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; color: #fff !important; }

/* =============================================
   MEMBER CONFIRM — 비밀번호 확인
   ============================================= */
#mb_confirm {
    max-width: 400px; margin: 40px auto !important; text-align: center;
}
#mb_confirm h1 { margin: 0 0 16px !important; font-size: 18px !important; color: var(--text-primary) !important; font-weight: 800 !important; }
#mb_confirm p {
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--border-color) !important;
    color: var(--text-secondary) !important; font-size: 13px !important; line-height: 1.6 !important;
    margin: 0 0 16px !important;
}
#mb_confirm p strong { color: var(--accent-text) !important; display: block; margin-bottom: 4px; font-size: 14px !important; }
#mb_confirm fieldset {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px; padding: 20px !important; text-align: left;
    box-shadow: var(--card-shadow);
    margin: 0 !important;
}
.confirm_id { color: var(--text-muted) !important; font-size: 11px !important; font-weight: 600; letter-spacing: .03em; }
#mb_confirm_id { color: var(--text-primary) !important; font-weight: 700; display: block; margin: 4px 0 12px; font-size: 14px; }
#mb_confirm .frm_input { width: 100% !important; }
#mb_confirm .btn_submit { width: 100% !important; height: 42px !important; }

/* =============================================
   PASSWORD — 비밀글/글수정 비밀번호
   ============================================= */
#pw_confirm {
    max-width: 400px; margin: 40px auto !important; text-align: center;
}
#pw_confirm h1 { margin: 0 0 16px 0 !important; font-size: 18px !important; color: var(--text-primary) !important; font-weight: 800 !important; }
#pw_confirm p {
    padding: 0 0 16px !important; border-bottom: 1px solid var(--border-color) !important;
    color: var(--text-secondary) !important; font-size: 13px !important; line-height: 1.6 !important;
    margin: 0 0 16px !important;
}
#pw_confirm p strong { color: var(--accent-text) !important; display: block; margin-bottom: 4px; }
#pw_confirm fieldset {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px; padding: 20px !important;
    box-shadow: var(--card-shadow);
    margin: 0 !important;
}
#pw_confirm .frm_input { width: 100% !important; }
#pw_confirm .btn_submit { width: 100% !important; height: 42px !important; }

/* =============================================
   PASSWORD LOST — 아이디/비밀번호 찾기
   ============================================= */
#find_info { max-width: 440px; margin: 32px auto; }
#find_info.cert { max-width: 960px; }
#find_info.cert .new_win_con { width: 460px !important; float: left !important; }
#find_info.cert .new_win_con:nth-child(2) { margin-left: 10px !important; }
#find_info.cert h3 { display: block !important; }
#find_info h3 {
    display: none; color: var(--text-primary) !important;
    font-size: 15px !important; font-weight: 700 !important;
    margin-bottom: 16px !important;
}
#find_info .new_win_con {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important; padding: 24px !important;
    box-shadow: var(--card-shadow);
}
#find_info p {
    color: var(--text-secondary) !important; font-size: 13px !important;
    line-height: 1.6 !important;
}
#find_info #info_fs { border: none !important; padding: 0 !important; margin: 0 !important; }
#find_info #mb_email { width: 100% !important; margin: 10px 0 !important; }
#find_info .find_btn .btn_submit { min-width: 100px; margin: 4px !important; }
#find_info .win_btn { margin-top: 16px; }
#find_info .win_btn .btn_submit { width: 100% !important; height: 42px !important; }

/* =============================================
   PASSWORD RESET — 비밀번호 재설정
   ============================================= */
#pw_reset { max-width: 440px; margin: 32px auto; }
#pw_reset .new_win_con {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important; padding: 24px !important;
    box-shadow: var(--card-shadow);
}
#pw_reset p { color: var(--text-secondary) !important; }
#pw_reset b { color: var(--text-primary) !important; }
#pw_reset .frm_input { width: 100% !important; }
#pw_reset .win_btn { margin-top: 16px; }

/* =============================================
   MEMBER CERT REFRESH
   ============================================= */
#member_cert_refresh p {
    background: var(--accent-bg) !important; color: var(--accent-text) !important;
    border-radius: 8px !important;
}
#member_cert_refresh section {
    background: var(--bg-panel) !important;
    border: 1px solid var(--border-color) !important; border-radius: 8px !important;
}
#member_cert_refresh h2 {
    background: var(--bg-secondary) !important; color: var(--text-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}
#member_cert_refresh textarea { background: var(--bg-panel) !important; color: var(--text-secondary) !important; }
#member_cert_refresh_chkall {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important; border-radius: 8px !important;
}
.member_cert_refresh_agree input[type="checkbox"] + label span {
    background: var(--bg-input) !important; border: 1px solid var(--border-color) !important;
}
.member_cert_refresh_agree input[type="checkbox"]:checked + label span {
    background: var(--accent) !important; border-color: var(--accent) !important;
}
#member_cert_refresh_private div { background: var(--bg-panel) !important; }
#member_cert_refresh_private table th {
    background: var(--bg-secondary) !important; color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}
#member_cert_refresh_private table td { border-color: var(--border-color) !important; color: var(--text-secondary) !important; }

/* =============================================
   MEMO 쪽지
   ============================================= */
.memo_list { border-top: 1px solid var(--border-color) !important; list-style: none !important; }
.memo_list li {
    border-bottom: 1px solid var(--border-color) !important;
    background: var(--bg-panel) !important; transition: background .1s;
}
.memo_list li:hover { background: var(--bg-hover) !important; }
.memo_list li.read { background: var(--bg-secondary) !important; }
.memo_list li.empty_li { color: var(--text-muted) !important; }
.memo_list .memo_preview a { color: var(--text-primary) !important; }
.memo_list .memo_preview a:hover { color: var(--accent-text) !important; }
.memo_list .memo_name a { color: var(--text-primary) !important; }
.memo_list .no_read { background: var(--accent) !important; border: none !important; }
#memo_list .memo_datetime { color: var(--text-muted) !important; }
#memo_list .memo_del { color: var(--text-muted) !important; }
#memo_list .memo_del:hover { color: var(--danger) !important; }
.memo_from { background: var(--bg-panel) !important; border-bottom: 1px solid var(--border-color) !important; }
.memo_from li.memo_view_nick a { color: var(--text-primary) !important; }
.memo_from li.memo_view_date { color: var(--text-muted) !important; }
.memo_btn a { color: var(--text-muted) !important; }
.memo_btn a:hover { color: var(--accent-text) !important; }
#memo_view p { background: var(--bg-panel) !important; color: var(--text-primary) !important; }
#memo_view textarea { background: var(--bg-input) !important; color: var(--text-primary) !important; border: 1px solid var(--border-color) !important; border-radius: 8px !important; }
#memo_write .form_01 { border-top: 1px solid var(--border-color) !important; }
#memo_view_ul { background: var(--bg-secondary) !important; }
.reply_btn { background: var(--accent) !important; color: #fff !important; border: none !important; border-radius: 8px !important; }

/* =============================================
   SCRAP 스크랩
   ============================================= */
#scrap li { border-bottom: 1px solid var(--border-color) !important; }
#scrap .scrap_tit { color: var(--text-primary) !important; }
#scrap .scrap_cate { background: var(--accent-bg) !important; color: var(--accent-text) !important; }
#scrap .scrap_datetime { color: var(--text-muted) !important; }
#scrap .scrap_del { color: var(--text-muted) !important; }
#scrap .scrap_del:hover { color: var(--danger) !important; }
#scrap_do .scrap_tit { background: var(--bg-secondary) !important; color: var(--text-primary) !important; border-radius: 8px; }

/* =============================================
   POINT 포인트
   ============================================= */
#point { color: var(--text-primary) !important; }
#point h1 { color: var(--text-primary) !important; }
#point .point_all {
    background: var(--bg-panel) !important; border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
}
#point .point_all li { color: var(--text-secondary) !important; }
#point .point_all li span { color: var(--text-primary) !important; }
#point .point_all li:last-child { border-left: 1px solid var(--border-color) !important; }
#point .point_all .full_li { border-bottom: 1px solid var(--border-color) !important; }
#point .point_all .full_li span { color: var(--accent-text) !important; }
#point .point_status { background: var(--bg-secondary) !important; color: var(--text-secondary) !important; border-radius: 8px; }
.point_list li { border-bottom: 1px solid var(--border-color) !important; background: var(--bg-panel) !important; }
.point_list li:first-child { border-top: 1px solid var(--border-color) !important; }
.point_list .point_use { background: var(--bg-secondary) !important; }
.point_list .point_use .point_num { color: var(--danger) !important; }
.point_list .point_num { color: var(--accent-text) !important; }
.point_list .point_tit { color: var(--text-primary) !important; }
.point_list .point_date1, .point_list .point_date { color: var(--text-muted) !important; }

/* =============================================
   PROFILE 프로필
   ============================================= */
#profile h1 a { color: var(--text-primary) !important; }
#profile table th { color: var(--text-muted) !important; font-size: 11px !important; }
#profile table td { color: var(--text-secondary) !important; }
#profile section { background: var(--bg-panel) !important; border: 1px solid var(--border-color) !important; color: var(--text-secondary) !important; border-radius: 8px; }
#profile .profile_name { color: var(--text-primary) !important; }
#profile .my_profile_img img, #profile .profile_img img { border: 2px solid var(--border-color); }

/* =============================================
   FORMMAIL 폼메일
   ============================================= */
#formmail textarea { background: var(--bg-input) !important; color: var(--text-primary) !important; border: 1px solid var(--border-color) !important; border-radius: 8px; }
#formmail .formmail_flie .file_wr { background: var(--bg-input) !important; border: 1px solid var(--border-color) !important; border-radius: 8px; }
#formmail .lb_icon { background: var(--bg-secondary) !important; color: var(--text-muted) !important; }
#formmail .frm_info { color: var(--accent-text) !important; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 768px) {
    #mb_login.mbskin { margin: 16px auto !important; max-width: 100%; }
    .register { max-width: 100%; margin: 16px auto !important; }
    #find_info { max-width: 100%; }
    #find_info.cert { max-width: 100%; }
    #find_info.cert .new_win_con { width: 100% !important; float: none !important; margin: 0 0 10px !important; }
    .half_input { width: 100% !important; display: block !important; margin-right: 0 !important; }
    #mb_confirm, #pw_confirm { margin: 16px auto !important; }
    #reg_result { margin: 16px auto !important; padding: 24px 16px !important; }
}
