@charset "utf-8";

/* ### 기본 스타일 커스터마이징 시작 ### */
/* 기본박스 */
.mbskin {position:relative;margin:100px auto 0;width:360px;text-align:center}
.mbskin:after {right:10px;left:auto;
  -webkit-transform:skew(8deg) rotate(3deg);
    -moz-transform:skew(8deg) rotate(3deg);
    -ms-transform:skew(8deg) rotate(3deg);
     -o-transform:skew(8deg) rotate(3deg);
      transform:skew(8deg) rotate(3deg)}
.mbskin .mbskin_box{border:1px solid #ddd;background:#fff}
.mbskin .frm_input {width:100%}
.mbskin .btn_submit {width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em}
.mbskin h1 {margin:60px 0 30px;font-size:2em}
/* ### 기본 스타일 커스터마이징 끝 ### */

/* 회원가입 약관 */
.register {margin:0 auto}
.register:after {display:block;visibility:hidden;clear:both;content:""}
.register .btn_confirm .btn_submit,
.register .btn_confirm .btn_close {display:inline-block; /*float:left;*/ height:50px !important;width:150px;font-weight:bold;font-size:1.083em}
.register .btn_confirm {text-align:center;}
.register .btn_confirm .btn_submit {margin-left:1%; background-color:#333;}
.register .btn_confirm .btn_submit:hover {margin-left:1%; background-color:#000;}

#fregister p {position:relative;text-align:center;color:#000;height:50px;line-height:50px;font-size:1.1em;background:#f7f7f7;margin:0 0 10px;border-radius:5px;font-weight:bold;}
#fregister p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#f7f7f7}
#fregister p i {font-size:1.2em;vertical-align:middle}
#fregister section {margin:10px auto 15px;border:1px solid #ddd;position:relative;border-radius:3px}
#fregister_chkall {position:relative;text-align:center;background:#f5f7fa;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px}
#fregister h2 {text-align:left;padding:20px;border-bottom:1px solid #ddd;font-size:1.2em}
#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em}
#fregister_private {position:relative}
#fregister_private div {padding:20px;background:#fff}
#fregister_private table {width:100%;border-collapse:collapse;font-size:1em;}
#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
#fregister_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
#fregister_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0}

.fregister_agree {position:absolute;top:0;right:0}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.fregister_agree input[type="checkbox"]:checked + label {color:#000}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:18px}

.chk_li {padding-left:20px}

#sns_register .login-sns,
#sns_register h2 {border:0 !important}

/* 회원가입 입력 */
#register_form { max-width: 700px; margin: 0 auto 20px; background: #fff; }

/* 폼 페이지 타이틀 */
.reg-form-title { text-align: center; font-size: 1.6em; font-weight: bold; color: #111; margin: 10px 0 30px; }

/* 섹션 구분 */
.reg-section { margin-bottom: 36px; padding-bottom: 30px; border-bottom: 1px solid #eee; }
.reg-section:last-of-type { border-bottom: 0; }

/* 섹션 타이틀 — 왼쪽 파란 선 강조 */
.reg-section-title {
    font-size: 1.05em;
    font-weight: bold;
    color: #222;
    padding: 0 0 14px 14px;
    margin-bottom: 24px;
    border-left: 4px solid #2c6fef;
    border-bottom: 1px solid #e0e5ee;
    line-height: 1;
}

/* 필드 래퍼 */
.reg-field { margin-bottom: 20px; }
.reg-field > label {
    display: block;
    font-size: 0.93em;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.4;
}
.req-mark { color: #e03030; font-weight: bold; }
.reg-desc { margin: 6px 0 0; font-size: 0.86em; color: #888; }
.reg-desc-inline { font-size: 0.84em; color: #3a8afd; font-weight: normal; margin-left: 6px; }

/* 인풋 래퍼 */
.reg-input-wrap { position: relative; display: flex; align-items: stretch; }
.reg-input-wrap input.frm_input {
    flex: 1;
    height: 46px;
    padding: 0 36px 0 14px;
    border: 1px solid #dce1e9;
    border-radius: 5px;
    font-size: 0.97em;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color .2s, background .2s;
    width: 100%;
}
.reg-input-wrap input.frm_input:focus {
    border-color: #2c6fef;
    background: #fff;
    outline: none;
}

/* 필수 * 아이콘 (인풋 우측) */
.reg-input-req::after {
    content: '*';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #e03030;
    font-size: 1em;
    pointer-events: none;
    line-height: 1;
}

/* 아이디 중복확인 버튼 (jquery.register_form.js 동적 삽입) */
#btn_mb_id_check,
.reg-input-wrap a.btn_frmline,
.reg-input-wrap button.btn_frmline {
    flex-shrink: 0;
    height: 46px;
    padding: 0 16px;
    background: #2c6fef;
    color: #fff;
    border: 0;
    border-radius: 0 5px 5px 0;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    line-height: 46px;
    display: inline-block;
    text-decoration: none;
}
#btn_mb_id_check + input,
.reg-input-wrap input.frm_input:not(:last-child) { border-radius: 5px 0 0 5px; }

/* 아이디 인풋 옆 버튼이 있을 때 패딩 조정 */
#reg_mb_id { padding-right: 14px; }

/* 본인인증 영역 */
.reg-cert-area { margin-bottom: 18px; }
.reg-cert-area .btn_frmline { margin-right: 8px; margin-bottom: 6px; }
#fregisterform .cert_req { margin-left: 4px; color: #888; font-size: 0.9em; }
#fregisterform #msg_certify { margin: 0 0 16px; padding: 10px 14px; border: 1px solid #dbecff; background: #eaf4ff; border-radius: 4px; text-align: center; font-size: 0.95em; }

/* 자동등록방지 박스 */
.reg-captcha-box {
    border: 1px solid #dce1e9;
    border-radius: 6px;
    padding: 20px;
    background: #f8fafc;
    margin-bottom: 28px;
}
.reg-captcha-label { font-size: 0.93em; font-weight: 600; color: #333; margin: 0 0 14px; }

/* 버튼 영역 */
#fregisterform .btn_confirm { display: flex; gap: 10px; margin: 0 auto; max-width: 700px; }
#fregisterform .btn_confirm .btn_submit {
    flex: 1;
    height: 52px;
    background: #2c6fef;
    color: #fff;
    border: 0;
    border-radius: 5px;
    font-size: 1.05em;
    font-weight: bold;
    cursor: pointer;
    transition: background .2s;
    width: auto !important;
    margin: 0 !important;
}
#fregisterform .btn_confirm .btn_submit:hover { background: #1a5fd8; }
#fregisterform .btn_confirm .btn_close {
    flex: 1;
    height: 52px;
    background: #fff;
    color: #555;
    border: 1px solid #dce1e9;
    border-radius: 5px;
    font-size: 1.05em;
    font-weight: bold;
    text-align: center;
    line-height: 52px;
    display: block;
    transition: background .2s;
    width: auto !important;
}
#fregisterform .btn_confirm .btn_close:hover { background: #f5f5f5; }

#fregisterform .captcha { display: block; margin: 5px 0 0; }

/* 회원가입 완료 */
#reg_result {padding:40px 30px;text-align:center;background:#edf3fc;border:1px solid #d6e2f4;border-radius:5px}
#reg_result h2 {font-size:2em;margin:0 0 20px}
#reg_result h2 strong {color:#ed6478}
#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em}
#reg_result #result_email span {display:inline-block;width:150px}
#reg_result #result_email strong {color:#e8180c;font-size:1.2em}
#reg_result p {line-height:1.8em}
#reg_result .result_txt {
    text-align:left;
    margin: 16px 0 0;
    padding: 16px 20px;
    background: rgba(255,255,255,0.6);
    border-left: 3px solid #a8c4f5;
    border-radius: 4px;
    line-height: 2em;
    font-size: 0.95em;
    color: #444;
}
#reg_result .btn_confirm {margin:50px 0}
#reg_result i {font-size:3em}
#reg_result .reg_result_p {font-size:1.25em;margin:0 0 10px;color:#3684fa}

.btn_confirm_reg {margin:20px 0;text-align:center}
.reg_btn_submit {display:inline-block;background:#3a8afd;color:#fff;text-align:center;border-radius:3px;width:280px;height:57px;line-height:57px;font-size:1.2em;margin:0 auto;font-weight:bold}

.mb_log_cate h2 {width:50%;float:left;padding:20px 0;text-align:center}
.mb_log_cate .join {width:50%;float:left;padding:20px 0;text-align:center;background:#f7f7f7;color:#6e6e6e}
.mb_log_cate:after {display:block;visibility:hidden;clear:both;content:""}

.tooltip_icon {display:inline-block;vertical-align:baseline;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer}
.tooltip_icon:hover {color:#448bf5}
.tooltip {position:absolute;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;z-index:9;font-weight:normal;margin-left:15px;margin-top:10px}
.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000}

/* 아이디/비밀번호 찾기 */
#find_info h3 {display:none;margin-bottom:30px;text-align:center;font-size:1.1em;}
#find_info .new_win_con {background:#f7f7f7;}
#find_info.cert .new_win_con {width:460px;float:left;}
#find_info.cert .new_win_con:nth-child(2) {margin-left:10px;}
#find_info.cert h3 {display:block;}
#find_info #mb_hp_label {display:inline-block;margin-left:10px}
#find_info p {line-height:1.5em}
#find_info #mb_email {margin:10px 0}
#find_info .find_btn .btn_submit {width:30%;word-break:keep-all;}

/* 비밀번호 재설정 */
#pw_reset #info_fs {margin-bottom: 10px}
#pw_reset .frm_input {margin:10px 0 0}

/* 기존 회원 본인인증 */
#member_cert_refresh p {position:relative;text-align:center;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f7f7f7;margin:0 0 10px;border-radius:5px;font-weight:bold}
#member_cert_refresh p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#f7f7f7}
#member_cert_refresh p i {font-size:1.2em;vertical-align:middle}
#member_cert_refresh section {margin:10px auto 15px;border:1px solid #ddd;position:relative;border-radius:3px}
#member_cert_refresh_chkall {position:relative;text-align:center;background:#f5f7fa;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px}
#member_cert_refresh h2 {text-align:left;padding:20px;border-bottom:1px solid #ddd;font-size:1.2em}
#member_cert_refresh textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em}
#member_cert_refresh_private {position:relative}
#member_cert_refresh_private div {padding:20px;background:#fff}
#member_cert_refresh_private table {width:100%;border-collapse:collapse;font-size:1em;}
#member_cert_refresh_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
#member_cert_refresh_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf;font-weight:bold;}
#member_cert_refresh_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0}

.member_cert_refresh_agree {position:absolute;top:0;right:0}
.member_cert_refresh_agree input[type="checkbox"] + label {color:#676e70}
.member_cert_refresh_agree input[type="checkbox"] + label:hover {color:#2172f8}
.member_cert_refresh_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.member_cert_refresh_agree input[type="checkbox"]:checked + label {color:#000}
.member_cert_refresh_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.member_cert_refresh_agree.chk_all input[type="checkbox"] + label span {top:18px}

#member_cert_refresh #find_info {margin:50px 0}
#member_cert_refresh #find_info .find_btn {padding:10px 20px;background:#fff}
#member_cert_refresh #find_info .find_btn > div {margin:10px 0}

/* 로그인 */
#mb_login {}
#mb_login h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#login_fs {padding:35px}
#mb_login #login_fs .frm_input {margin:0 0 10px}
#mb_login #login_fs .btn_submit {margin:0 0 15px}

#login_info {}
#login_info:after {display:block;visibility:hidden;clear:both;content:""}
#login_info .login_if_auto {float:left}
#login_info .login_if_auto label {vertical-align:baseline;padding-left:5px}
#login_info .login_if_lpl {float:right}
#login_password_lost {display:inline-block;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;line-height:20px}

/* ════════════════════════════════════════
   로그인 페이지 — LinkedIn 스타일 재디자인
   ════════════════════════════════════════ */

/* 전체 레이아웃 */
#mb_login.mbskin {
    width: 100%;
    max-width: 400px;
    margin: 60px auto 40px;
    text-align: left;
}

/* 로고 영역 (카드 위) */
.mbskin_logo {
    text-align: center;
    margin-bottom: 20px;
}
.mbskin_logo img {
    max-height: 48px;
    width: auto;
}

/* 로그인 카드 박스 */
#mb_login.mbskin .mbskin_box {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    padding: 32px 36px 28px;
    background: #fff;
}

/* 로그인 헤딩 */
.login-heading {
    font-size: 1.75em;
    font-weight: 700;
    color: #111;
    margin: 0 0 6px;
    line-height: 1.2;
}

/* 서브텍스트 */
.login-subtext {
    font-size: 0.93em;
    color: #777;
    margin: 0 0 22px;
}

/* 필드셋 리셋 */
#mb_login #login_fs {
    padding: 0;
    border: none;
    margin: 0;
}

/* 인풋 필드 래퍼 */
.login-field {
    margin-bottom: 14px;
}

/* 인풋 스타일 */
#mb_login .frm_input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1.5px solid #c8cdd5;
    border-radius: 5px;
    font-size: 0.97em;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color .2s, background .2s;
    margin: 0;
}
#mb_login .frm_input:focus {
    border-color: #0a66c2;
    background: #fff;
    outline: none;
}

/* 자동로그인 + 비밀번호 찾기 한 줄 */
#mb_login #login_info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
#mb_login #login_info:after { display: none; }
#mb_login #login_info .login_if_auto { float: none; }
#mb_login #login_info .login_if_lpl { float: none; }
#mb_login #login_info .login_if_lpl a {
    font-size: 0.9em;
    color: #0a66c2;
    text-decoration: none;
}
#mb_login #login_info .login_if_lpl a:hover { text-decoration: underline; }

/* 로그인 버튼 */
#mb_login .btn_submit {
    width: 100%;
    height: 48px;
    background: #0a66c2;
    color: #fff;
    border: none;
    border-radius: 28px;
    font-size: 1.05em;
    font-weight: 700;
    cursor: pointer;
    margin: 0 0 10px;
    transition: background .2s;
}
#mb_login .btn_submit:hover { background: #004182; }

/* 카드 하단 회원가입 링크 */
.login-register-wrap {
    text-align: center;
    margin-top: 18px;
    font-size: 0.93em;
    color: #555;
}
.login-register-wrap a {
    color: #0a66c2;
    font-weight: 600;
    text-decoration: none;
    margin-left: 4px;
}
.login-register-wrap a:hover { text-decoration: underline; }

/* 모바일 반응형 */
@media (max-width: 480px) {
    #mb_login.mbskin { margin: 30px auto 20px; }
    #mb_login.mbskin .mbskin_box { padding: 24px 20px 20px; border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
    .login-heading { font-size: 1.45em; }
}

#mb_login_notmb {margin:30px auto;padding:20px 30px;border: 1px solid #ddd}
#mb_login_notmb h2 {font-size:1.25em;margin:20px 0 10px}
#guest_privacy {border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto}
#mb_login_notmb .btn_submit {display:block;text-align:center;line-height:45px}

#mb_login_od_wr {margin:30px auto;padding:20px 30px;border: 1px solid #ddd}
#mb_login_od_wr h2 {font-size:1.25em;margin:20px 0 10px}
#mb_login_od_wr .frm_input {margin:10px 0 0}
#mb_login_od_wr p {background:#f3f3f3;margin:20px 0 0;padding:15px 20px;line-height:1.5em}

#mb_login #sns_login {margin-top:0;border-color:#edeaea;padding:25px}
#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""}
#mb_login #sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#mb_login #sns_login .sns-wrap {margin:0 !important}
#mb_login #sns_login .sns-icon {width:49% !important;float:left !important}
#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%}
#mb_login #sns_login .txt {font-size:0.95em;padding-left:5px !important;border-left:0 !important}

/* 쪽지 */
.memo_list {border-top:1px solid #ececec}
.memo_list li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.memo_list li:after {display:block;visibility:hidden;clear:both;content:""}
.memo_list li.read {background:#f6f6f6}
.memo_list li.empty_li {text-align:center;padding:20px 0;color:#666}

.memo_list .memo_li {float:left}
.memo_list .profile_big_img {position:relative;margin-right:15px}
.memo_list .profile_big_img img {border-radius:50%;width:52px;height:52px}
.memo_list .memo_li.memo_name {padding-top:5px;float:none}
.memo_list .memo_preview a{display:block;margin-right:30px;padding-top:10px;font-weight:normal !important;font-size:1.2em}
.memo_list .memo_preview a:hover{text-decoration:underline}
.memo_list .memo_name a,
.memo_list .memo_name .sv_wrap {font-weight:bold}
.memo_list .no_read {position:absolute;bottom:0;right:0;display:inline-block;background:#3a8afd;border:1px solid #e1edff;text-indent:-9999px;border-radius:10px;width:10px;height:10px;box-shadow:0 0 10px 3px #9ec3f9}
.memo_list .no_read {animation:blinker 1s linear infinite}

@keyframes blinker {
	50% {opacity:0}
	}

#memo_list h1#win_title {padding:10px 10px 10px 20px}
#memo_list .memo_datetime {font-size:0.92em;color:#888d92}
#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.4em}
#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.2em}
#memo_list .pg_wrap {margin-top:10px;width:100%;float:inherit;text-align:center}

#memo_view_contents {margin-bottom:20px;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#memo_view_ul {margin:0;list-style:none;background:#f6f6f6}
#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""}
.memo_view_li {position:relative;/*padding:10px;float:left;width:50%*/}

.memo_view_li .profile_img img {display:none}
.memo_from {position:relative;background:#fff;border-bottom:1px solid #ececec;padding:15px 20px}
.memo_from li {float:left}
.memo_from li.memo_profile img {width:40px;height:40px;border-radius:50%}
.memo_from li:first-child {margin-right:10px}
.memo_from li.memo_view_nick {width:80%}
.memo_from li.memo_view_nick a {font-weight:bold !important}
.memo_from li.memo_view_date {display:block;color:#555;line-height:24px}
.memo_from li.memo_op_btn {position:absolute}
.memo_from li.list_btn {right:53px;}
.memo_from li.del_btn {right:15px;padding}
.memo_from:after {display:block;visibility:hidden;clear:both;content:""}

.memo_btn {width:100%}
.memo_btn a {display:inline-block;width:50%;font-size:1em;color:#888d92;padding:20px}
.memo_btn a.btn_right {float:right;text-align:right}
.memo_btn a i {font-size:1.2em;color:#acabab;vertical-align:bottom}

#memo_view p {padding:10px;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em}
#memo_view textarea {height:100px}

#memo_write .form_01 {padding:20px;border-top:1px solid #ececec}

.reply_btn {display:inline-block;width:150px;height:45px;line-height:50px;padding:0 10px;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px;vertical-align:bottom;margin-right:5px}
#memo_write .reply_btn {font-size:1em}

/* 스크랩 */
#scrap li:after {display:block;visibility:hidden;clear:both;content:""}
#scrap li {position:relative;padding:20px;border-bottom:1px solid #ececec}
#scrap .scrap_tit {font-weight:bold;display:block;font-size:1.083em;margin-bottom:10px;line-height:1.3em}
#scrap .scrap_cate {float:left;display:block;color:#ac92ec;background:#eeeaf8;padding:3px;border-radius:3px;font-size:0.92em;margin-right:10px}
#scrap .scrap_datetime {color:#777;line-height:18px}
#scrap .scrap_del {position:absolute;top:15px;right:15px;font-size:18px;color:#c7c9cb}
#scrap .scrap_del:hover {color:#3a8afd}

#scrap_do .new_win_con {padding:0 20px}
#scrap_do textarea {width:100%;height:100px}
#scrap_do .scrap_tit {margin-bottom:10px;background:#f3f3f3;padding:10px 15px;font-size:1.2em;font-weight:bold}
#scrap_do label {display:block;margin:0 0 5px;font-size:1em}
#scrap_do .win_btn:after {display:block;visibility:hidden;clear:both;content:""}
#scrap .win_btn, #scrap_do .win_btn {margin:20px 0;text-align:center}
#scrap_do .win_btn .btn_submit {float:inherit}
#scrap_do .win_desc {margin:0 20px}

/*포인트*/
#point {text-align:center}
#point h1 {text-align:left}
#point .point_all {margin:20px 20px 15px;border-radius:5px;background:#edf3fc;border:1px solid #d6e2f4;color:#485172;font-size:1.083em}
#point .point_all:after {display:block;visibility:hidden;clear:both;content:""}
#point .point_all li {float:left;width:50%;padding:20px;text-align:left}
#point .point_all li span {float:right;color:#485172;font-weight:bold}
#point .point_all li:last-child {border-left:1px solid #d6e2f4}
#point .point_all .full_li {width:100%;border-bottom:1px solid #d6e2f4;text-align:left}
#point .point_all .full_li span {color:#000;font-weight:bold;font-size:1.2em}
#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em;text-align:left}
#point .point_status:after {display:block;visibility:hidden;clear:both;content:""}
#point .point_status span{margin-left:10px;float:right}

.point_list {}
.point_list li:first-child {border-top:1px solid #ececec}
.point_list li {border-bottom:1px solid #ececec;background:#fff;padding:15px;list-style:none;position:relative}
.point_list li:after {display:block;visibility:hidden;clear:both;content:""}

.point_list .point_use {background:#f6f6f6}
.point_list .point_use .point_num {font-size:1.25em;color:#ff4f76;font-weight:bold;float:right}
.point_list .point_num {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;right:15px;top:25px}
.point_list .point_top {line-height:15px;margin:0 0 5px}
.point_list .point_top:after {display:block;visibility:hidden;clear:both;content:""}
.point_list .point_tit {font-weight:bold;float:left;font-size:1.083em;display:block}
.point_list .point_date1 {float:left;color:#888d92}
.point_list .point_date {float:left;color:#888d92}
.point_list .txt_expired {color:red;margin-left:5px}

#point .pg_wrap {width:100%;float:inherit;text-align:center}
#point .btn_close {margin:20px auto}

/* 회원 비밀번호 확인 */
#mb_confirm {border:1px solid #ececec;}
#mb_confirm h1 {margin:0px;font-size:2em; text-indent:-999999px;}
#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565}
#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px}
#mb_confirm fieldset {padding:50px;text-align:left}
#mb_confirm fieldset .frm_input {background-color:#fff !important}
#mb_confirm label {letter-spacing:-0.1em}
#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold}
#mb_confirm .confirm_id {font-size:0.92em;color:#666}

/* 비밀글 비밀번호 확인 */
#pw_confirm{border:1px solid #ececec;}
#pw_confirm h1 {margin:0px;font-size:2em; text-indent:-999999px;}
#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565}
#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px}
#pw_confirm fieldset {padding:50px;text-align:center}
#pw_confirm fieldset .frm_input {background-color:#fff !important}
#pw_confirm label {letter-spacing:-0.1em}
#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold}
#mb_confirm_id {}

/* 폼메일 */
#formmail textarea {height:100px}
#formmail .formmail_flie {position:relative}
#formmail .formmail_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#formmail .lb_icon {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#b2b2b2}
#formmail .frm_file {padding-left:50px}
#formmail .frm_info {color:#3497d9;font-size:0.92em}
.chk_box {position:relative}
.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70}
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%}
.chk_box input[type="radio"]:checked + label {color:#3a8afd}
.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd}
.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}


/* 자기소개 */
#profile h1 a {}
#profile table {margin-bottom:0}
#profile table th {text-align:left;padding:10px;width:100px}
#profile section {color:#6794d3;background:#fff;padding:10px;border:1px solid #eee;margin:10px 0}
#profile h2 {margin:0 0 5px}
#profile .profile_name {text-align:center;font-weight:bold}
#profile .my_profile_img {display:block;margin:20px 0 5px}
#profile .my_profile_img img {border-radius:50%}
#profile .profile_img img {border-radius:50%}
#profile .profile_name .sv_wrap {font-weight:bold;text-align:left}

/* 등록비 안내 박스 */
.fee-notice {
    display: flex;
    gap: 14px;
    background: #fffbe6;
    border: 1px solid #ffe58f;
    border-left: 4px solid #faad14;
    border-radius: 6px;
    padding: 16px 18px;
    margin: 20px auto;
    max-width: 700px;
    box-sizing: border-box;
}
.fee-notice-icon {
    font-size: 1.4em;
    color: #faad14;
    flex-shrink: 0;
    padding-top: 2px;
}
.fee-notice-body { flex: 1; }
.fee-notice-body strong {
    display: block;
    font-size: 1em;
    font-weight: 700;
    margin-bottom: 8px;
    color: #333;
}
.fee-notice-body ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.8;
    font-size: 0.92em;
    color: #555;
}
.fee-account-li {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed #e0c46a;
    list-style: none;
    margin-left: -18px;
    padding-left: 18px;
}

/* ════════════════════════════════════════
   마이페이지 (mypage)
   ════════════════════════════════════════ */
.mypage-wrap {
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 0 16px;
}

/* 섹션 공통 */
.mypage-section {
    margin-bottom: 40px;
}
.mypage-section-title {
    font-size: 1.2em;
    font-weight: 700;
    color: #222;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #1e4c7c;
}

/* 미결제 매물 안내 배너 */
.mp-unpaid-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 20px;
    margin-bottom: 16px;
    background: #fff8e6;
    border: 1px solid #f0c869;
    border-left: 4px solid #e08e0b;
    border-radius: 6px;
}
.mp-unpaid-banner .mp-unpaid-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #e08e0b;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}
.mp-unpaid-banner .mp-unpaid-body {
    flex: 1;
    min-width: 0;
}
.mp-unpaid-banner strong {
    display: block;
    font-size: 0.98em;
    color: #6b4406;
    font-weight: 700;
    margin-bottom: 4px;
}
.mp-unpaid-banner .mp-unpaid-count {
    color: #c0392b;
    font-weight: 800;
}
.mp-unpaid-banner p {
    margin: 0;
    font-size: 0.88em;
    color: #6b4406;
    line-height: 1.55;
}

/* 매물 행 — 미결제 강조 (좌측 라인 + 옅은 배경) */
.mp-row-unpaid > td {
    background: #fffaf0 !important;
}
.mp-row-unpaid > td:first-child {
    border-left: 3px solid #e08e0b;
}

/* 카드결제 결과 토스트 — 우측 상단 고정 */
.mp-result-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 320px;
    max-width: 420px;
    padding: 14px 18px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
    border-left: 4px solid #1F6D3A;
    transition: opacity 0.5s, transform 0.5s;
}
.mp-result-toast.mp-result-card_ok { border-left-color: #1F6D3A; }
.mp-result-toast.mp-result-card_fail { border-left-color: #c0392b; }
.mp-result-toast.mp-result-card_cancel { border-left-color: #95a5a6; }
.mp-result-toast.mp-result-fadeout { opacity: 0; transform: translateX(20px); }
.mp-result-toast .mp-result-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    margin-top: 2px;
}
.mp-result-toast.mp-result-card_ok    .mp-result-icon { background: #1F6D3A; }
.mp-result-toast.mp-result-card_ok    .mp-result-icon::before { content: "✓"; }
.mp-result-toast.mp-result-card_fail  .mp-result-icon { background: #c0392b; }
.mp-result-toast.mp-result-card_fail  .mp-result-icon::before { content: "!"; }
.mp-result-toast.mp-result-card_cancel .mp-result-icon { background: #95a5a6; }
.mp-result-toast.mp-result-card_cancel .mp-result-icon::before { content: "×"; }
.mp-result-toast .mp-result-text { flex: 1; min-width: 0; }
.mp-result-toast .mp-result-text strong {
    display: block;
    font-size: 0.96em;
    color: #1a202c;
    margin-bottom: 3px;
}
.mp-result-toast .mp-result-text span {
    font-size: 0.85em;
    color: #4a5568;
    line-height: 1.45;
}
.mp-result-toast .mp-result-close {
    background: none;
    border: 0;
    font-size: 20px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0;
    margin-left: 4px;
}
.mp-result-toast .mp-result-close:hover { color: #555; }
@media (max-width: 768px) {
    .mp-result-toast {
        top: 10px;
        right: 10px;
        left: 10px;
        min-width: auto;
        max-width: none;
    }
}

/* 회원정보 카드 */
.mypage-info-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.mypage-info-avatar {
    background: #1e4c7c;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
    font-size: 52px;
    color: #fff;
}
.mypage-info-body {
    padding: 24px 28px 8px;
}
.mypage-info-name {
    font-size: 1.3em;
    font-weight: 700;
    color: #222;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.mypage-info-badge {
    display: inline-block;
    font-size: 0.65em;
    font-weight: 600;
    background: #e8f0fb;
    color: #1e4c7c;
    border-radius: 20px;
    padding: 3px 12px;
    vertical-align: middle;
}
.mypage-info-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.97em;
    color: #333;
}
.mypage-info-row:last-child {
    border-bottom: none;
}
.mypage-info-label {
    min-width: 90px;
    color: #888;
    font-size: 0.92em;
}
.mypage-info-label i {
    width: 16px;
    text-align: center;
    margin-right: 4px;
    color: #1e4c7c;
}
.mypage-info-value {
    color: #333;
    word-break: break-all;
}
.mypage-info-footer {
    padding: 20px 28px;
    text-align: right;
}
.mypage-edit-btn {
    display: inline-block;
    padding: 10px 28px;
    background: #fff;
    border: 2px solid #1e4c7c;
    color: #1e4c7c;
    border-radius: 6px;
    font-size: 0.97em;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s, color 0.18s;
}
.mypage-edit-btn:hover {
    background: #1e4c7c;
    color: #fff;
}

/* 빈 상태 */
.mp-empty {
    text-align: center;
    padding: 48px 0;
    color: #aaa;
    font-size: 0.97em;
    background: #fafafa;
    border-radius: 8px;
    border: 1px dashed #ddd;
    line-height: 2;
}
.mp-empty-link {
    color: #1e4c7c;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95em;
}
.mp-empty-link:hover { text-decoration: underline; }

/* 마이홈 요약 카드 (한눈에 보기) */
.mp-sum-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.mp-sum-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 18px 18px 16px;
    background: #fff;
    border: 1px solid #e3e8f0;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit;
    transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s;
}
.mp-sum-card:hover { border-color: #b9c8ea; box-shadow: 0 6px 18px rgba(43,95,217,.10); transform: translateY(-1px); }
.mp-sum-ico {
    flex-shrink: 0;
    width: 46px; height: 46px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 19px; color: #fff;
}
.mp-sum-ico.c-blue   { background: #2B5FD9; }
.mp-sum-ico.c-red    { background: #e05a5a; }
.mp-sum-ico.c-orange { background: #f0883e; }
.mp-sum-ico.c-green  { background: #1F8A4C; }
.mp-sum-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mp-sum-label { font-size: 0.86em; color: #6b7280; }
.mp-sum-num { font-size: 1.45em; font-weight: 800; color: #1e2b45; line-height: 1.25; margin: 2px 0; }
.mp-sum-num small { font-size: 0.55em; font-weight: 600; color: #4b5563; margin-left: 3px; }
.mp-sum-sub { font-size: 0.8em; color: #8a93a0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-sum-sub.is-warn { color: #c0392b; font-weight: 700; }
.mp-sum-arrow { color: #c3cad6; font-size: 0.85em; }
@media (max-width: 640px) {
    .mp-sum-grid { grid-template-columns: 1fr; gap: 10px; }
    .mp-sum-card { padding: 14px; }
}

/* 테이블 */
.mp-table-wrap {
    overflow-x: auto;
}
.mp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
    white-space: nowrap;
}
.mp-table thead tr {
    background: #f4f6fb;
}
.mp-table th {
    padding: 11px 12px;
    text-align: center;
    font-weight: 600;
    color: #444;
    border-bottom: 2px solid #dde3ee;
    border-top: 2px solid #dde3ee;
}
.mp-table td {
    padding: 11px 12px;
    text-align: center;
    border-bottom: 1px solid #eee;
    color: #333;
    vertical-align: middle;
}
.mp-table tbody tr:hover {
    background: #fafcff;
}
.mp-table .td-name {
    text-align: left;
    max-width: 260px;
    white-space: normal;
    word-break: keep-all;
}
.mp-table .td-name a {
    color: #1e4c7c;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.mp-table .td-name a:hover { color: #1565c0; }
.mp-table .td-region {
    font-size: 0.88em;
    color: #555;
    white-space: normal;
}
.mp-table .td-price {
    font-weight: 600;
    color: #1e4c7c;
}
.mp-table .td-date {
    font-size: 0.88em;
    color: #666;
}
/* 관리 버튼 — 셀 내부 래퍼에서 2줄 자동 배치 (보기·수정 / 유료전환·문서발급) */
.mp-table .td-actions { padding-left: 6px; padding-right: 6px; width: 1%; }   /* 내용 폭만 차지 */
.mp-table .mp-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;   /* 2열 고정 → 최대 2줄 (보기·수정 / 유료전환·토지문서발급) */
    gap: 5px;
    width: 164px;
    margin: 0 auto;
}
.mp-table .mp-actions .mp-btn { text-align: center; padding-left: 6px; padding-right: 6px; }
.mp-table .mp-actions .mp-pending-note { grid-column: 1 / -1; }
.mp-table .td-deleted {
    color: #bbb;
    font-size: 0.88em;
}

/* 상태 배지 */
.mp-status {
    display: inline-block;
    font-size: 0.82em;
    font-weight: 700;
    border-radius: 4px;
    padding: 3px 9px;
}
.status-paid   { background: #d4edda; color: #155724; }
.status-cancel { background: #f8d7da; color: #721c24; }
.status-unpaid { background: #fff3cd; color: #856404; }
.status-free   { background: #e8e8e8; color: #555; }
.status-admin  { background: #d1ecf1; color: #0c5460; }

/* 관리 버튼 */
.mp-btn {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 0.82em;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s;
    border: none;
    line-height: 1.6;
}
.mp-btn:hover { opacity: 0.8; }
.btn-edit { background: #e8f0fb; color: #1e4c7c; }
.btn-view { background: #f0f0f0; color: #444; }
.btn-del  { background: #fdecea; color: #c62828; }
/* 토지 문서 무료 발급 버튼 (35-G) — 다른 관리 버튼과 같은 플랫 스타일(파랑 채움), 사용 후 회색 '발급완료' */
.btn-doc { background: #2B5FD9; color: #fff; }
.btn-doc.is-done { background: #f0f0f0; color: #999; cursor: default; }
.btn-doc.is-done:hover { opacity: 1; }

/* 토지 문서 무료 발급 안내 배너 (35-G) */
.mp-doc-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 20px;
    margin-bottom: 16px;
    background: #f3f7ff;
    border: 1px solid #c9d8f5;
    border-left: 4px solid #2B5FD9;
    border-radius: 6px;
}
.mp-doc-notice .mp-doc-notice-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #2B5FD9;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.mp-doc-notice .mp-doc-notice-body { flex: 1; min-width: 0; }
.mp-doc-notice strong { display: block; font-size: 0.98em; color: #1e3a8a; margin-bottom: 4px; }
.mp-doc-notice p { margin: 0; font-size: 0.88em; color: #3b4a6b; line-height: 1.6; }
.mp-doc-notice .mp-doc-notice-soon {
    display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 10px;
    background: #fff3cd; color: #856404; font-size: 0.78em; font-weight: 700; vertical-align: middle;
}

/* 유료전환 버튼 — 오렌지/레드 그라데이션으로 강조 */
.btn-upgrade {
    background: linear-gradient(135deg, #ff9500 0%, #ff5722 100%);
    color: #fff;
    box-shadow: 0 1px 3px rgba(255, 87, 34, 0.3);
}
.btn-upgrade:hover { opacity: 0.9; }
.btn-upgrade:disabled { opacity: 0.5; cursor: not-allowed; }

/* 결제하기 버튼 — 강조 (녹색 그라데이션) */
.btn-pay {
    background: linear-gradient(135deg, #1F6D3A 0%, #155A33 100%);
    color: #fff;
    box-shadow: 0 1px 3px rgba(31, 109, 58, 0.3);
}
.btn-pay:hover    { opacity: 0.9; }
.btn-pay:disabled { opacity: 0.5; cursor: not-allowed; }

/* ===== 결제하기 모달 — 결제 정보 요약 박스 ===== */
.mp-pay-summary {
    background: #f8f9fa;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
.mp-pay-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
}
.mp-pay-summary-label { color: #4a5568; font-size: 0.9em; }
.mp-pay-summary-value { color: #1a202c; font-weight: 600; font-size: 0.95em; }
.mp-pay-summary-value.mp-pay-amount { color: #c0392b; font-size: 1.05em; font-weight: 700; }

/* 무료 공적문서 발급 모달 (35-G) — 상태 문구 + 문서 select */
.mp-doc-status {
    padding: 14px 16px;
    background: #f8f9fa;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.9em;
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 14px;
}
.mp-doc-status.is-error { background: #fdecea; border-color: #f5c6cb; color: #c62828; }
.mp-doc-select {
    min-width: 200px;
    padding: 6px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    font-size: 0.92em;
    color: #1a202c;
    background: #fff;
}
#mp-doc-address { text-align: right; word-break: keep-all; }
.mp-modal-btn-submit:disabled { opacity: 0.55; cursor: not-allowed; }

/* 결제방법 선택 카드 (무통장/카드 2열) */
.mp-pay-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}
.mp-pay-method-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    background: #fff;
    border: 2px solid #e0e8ef;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.mp-pay-method-card:hover { border-color: #c8d8cf; background: #fafbfc; }
.mp-pay-method-card input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.mp-pay-method-card .mp-pay-method-check {
    flex-shrink: 0;
    width: 20px; height: 20px;
    border: 2px solid #cbd5e0;
    border-radius: 50%;
    background: #fff;
    margin-top: 2px;
    position: relative;
}
.mp-pay-method-card input[type="radio"]:checked ~ .mp-pay-method-check {
    border-color: #1F6D3A;
    background: #1F6D3A;
}
.mp-pay-method-card input[type="radio"]:checked ~ .mp-pay-method-check::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
}
.mp-pay-method-card:has(input[type="radio"]:checked) {
    border-color: #1F6D3A;
    background: #f0f8f2;
    box-shadow: 0 0 0 3px rgba(31, 109, 58, 0.08);
}
.mp-pay-method-content { flex: 1; min-width: 0; }
.mp-pay-method-title {
    display: block;
    font-size: 0.95em;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 3px;
}
.mp-pay-method-title i { margin-right: 5px; color: #1F6D3A; }
.mp-pay-method-desc { font-size: 0.82em; color: #555; }

/* 모달 액션 버튼 그룹 */
.mp-modal-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    justify-content: flex-end;
}
.mp-modal-btn-cancel,
.mp-modal-btn-submit {
    padding: 10px 22px;
    border: 0;
    border-radius: 6px;
    font-size: 0.92em;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}
.mp-modal-btn-cancel { background: #f1f5f9; color: #475569; }
.mp-modal-btn-submit { background: #1F6D3A; color: #fff; }
.mp-modal-btn-cancel:hover,
.mp-modal-btn-submit:hover { opacity: 0.85; }

@media (max-width: 640px) {
    .mp-pay-methods { grid-template-columns: 1fr; }
}

/* 요금제 배지 (테이블 셀) */
.mp-plan {
    display: inline-block;
    font-size: 0.82em;
    font-weight: 700;
    border-radius: 4px;
    padding: 3px 9px;
}
.mp-plan-free { background: #eef0f3; color: #6b7280; }
.mp-plan-rec  { background: #e3f0fd; color: #1565c0; }
.mp-plan-hot  {
    background: linear-gradient(135deg, #ff9500 0%, #ff5722 60%, #e63946 100%);
    color: #fff;
    box-shadow: 0 1px 2px rgba(230, 57, 70, 0.3);
}
.mp-plan-hot .fa-fire { margin-right: 2px; }

/* 무통장 업그레이드 신청 중 보조 배지 (요금제 컬럼 하단) */
.mp-upgrade-pending {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 0.76em;
    font-weight: 600;
    line-height: 1.45;
    white-space: nowrap;
}
.mp-upgrade-pending-rec {
    background: #eaf3fc;
    color: #1565c0;
    border: 1px solid #bcd7f1;
}
.mp-upgrade-pending-hot {
    background: #fff0e6;
    color: #d84315;
    border: 1px solid #ffc7b1;
}

/* 무통장 입금 확인 대기 안내 (관리 컬럼) */
.mp-pending-note {
    display: inline-block;
    margin-top: 6px;
    font-size: 0.8em;
    color: #6b7280;
    white-space: nowrap;
}
.mp-pending-note .fa-clock { margin-right: 3px; color: #f59e0b; }

/* ===== 유료전환 요금제 선택 모달 ===== */
.mp-modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.mp-modal-box {
    background: #fff;
    border-radius: 12px;
    width: 640px;
    max-width: 100%;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
}
.mp-modal-head {
    padding: 16px 22px;
    border-bottom: 1px solid #eef0f3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(180deg, #fafbfc 0%, #f3f5f8 100%);
}
.mp-modal-title {
    margin: 0;
    font-size: 1.1em;
    font-weight: 700;
    color: #1f2937;
}
.mp-modal-title .fa-tag { color: #ff5722; margin-right: 4px; }
.mp-modal-close {
    background: none;
    border: 0;
    font-size: 1.6em;
    line-height: 1;
    color: #9ca3af;
    cursor: pointer;
    padding: 0 4px;
}
.mp-modal-close:hover { color: #1f2937; }
.mp-modal-body {
    padding: 22px;
    overflow-y: auto;
}
.mp-modal-subject {
    margin: 0 0 6px;
    font-size: 0.95em;
    color: #374151;
    font-weight: 600;
    padding: 8px 12px;
    background: #f9fafb;
    border-left: 3px solid #1565c0;
    border-radius: 4px;
}
.mp-modal-desc {
    margin: 0 0 18px;
    font-size: 0.9em;
    color: #6b7280;
    line-height: 1.5;
}
.mp-plan-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 18px;
}
.mp-plan-card {
    background: #fff;
    border: 2px solid #e6eaf0;
    border-radius: 10px;
    padding: 18px 18px 16px;
    cursor: pointer;
    transition: all 0.18s;
    display: flex;
    flex-direction: column;
}
.mp-plan-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.mp-plan-card-rec:hover { border-color: #1976d2; }
.mp-plan-card-hot:hover { border-color: #ff5722; }

/* 클릭으로 선택된 등급 카드 (업그레이드 모달) */
.mp-plan-card.mp-plan-card-active {
    box-shadow: 0 4px 14px rgba(25, 118, 210, 0.18);
    background: #f4f9ff;
}
.mp-plan-card.mp-plan-card-active.mp-plan-card-rec {
    border-color: #1976d2;
}
.mp-plan-card.mp-plan-card-active.mp-plan-card-hot {
    border-color: #ff5722;
    background: #fff4f0;
    box-shadow: 0 4px 14px rgba(255, 87, 34, 0.18);
}
.mp-plan-card.mp-plan-card-active::after {
    content: "✓ 선택됨";
    display: inline-block;
    margin-top: 8px;
    align-self: flex-start;
    font-size: 0.82em;
    font-weight: 700;
    color: #1976d2;
    background: #e3f0ff;
    padding: 3px 10px;
    border-radius: 999px;
}
.mp-plan-card.mp-plan-card-active.mp-plan-card-hot::after {
    color: #d84315;
    background: #ffe7df;
}
.mp-plan-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 4px;
}
.mp-plan-card-name {
    font-size: 1.02em;
    font-weight: 700;
    color: #1f2937;
}
.mp-plan-card-hot .mp-plan-card-name { color: #d84315; }
.mp-plan-card-hot .fa-fire { color: #ff5722; margin-right: 3px; }
.mp-plan-card-price {
    font-size: 1.08em;
    font-weight: 800;
    color: #1565c0;
}
.mp-plan-card-hot .mp-plan-card-price { color: #d84315; }
.mp-plan-card-desc {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    font-size: 0.86em;
    color: #4b5563;
    line-height: 1.55;
    flex: 1;
}
.mp-plan-card-desc li {
    padding: 2px 0 2px 14px;
    position: relative;
}
.mp-plan-card-desc li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #1976d2;
    font-weight: 700;
}
.mp-plan-card-hot .mp-plan-card-desc li::before { color: #ff5722; }
.mp-plan-card-cta {
    align-self: flex-start;
    font-size: 0.86em;
    font-weight: 700;
    color: #1976d2;
}
.mp-plan-card-hot .mp-plan-card-cta { color: #d84315; }
.mp-modal-account {
    margin: 0;
    padding: 12px 14px;
    background: #fff8e1;
    border-radius: 6px;
    font-size: 0.86em;
    color: #6b4d00;
}
.mp-modal-account .fa-university { margin-right: 4px; color: #d97706; }

/* 모달 반응형 */
@media (max-width: 640px) {
    .mp-plan-options { grid-template-columns: 1fr; }
    .mp-modal-body { padding: 18px; }
}

/* 안내사항 & 문의 */
.mp-info-row {
    display: flex;
    gap: 20px;
    align-items: stretch;
}
.mp-notice-box {
    flex: 1 1 0;
    border: 1px solid #d0dff0;
    border-left: 4px solid #1e4c7c;
    border-radius: 8px;
    padding: 22px 24px;
    background: #f7faff;
}
.mp-notice-title {
    font-weight: 700;
    color: #1e4c7c;
    margin-bottom: 12px;
    font-size: 0.97em;
}
.mp-notice-title i { margin-right: 6px; }
.mp-notice-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}
.mp-notice-list li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 6px;
    font-size: 0.92em;
    color: #444;
    line-height: 1.6;
}
.mp-notice-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #1e4c7c;
}
.mp-notice-warn {
    background: #fff0f0;
    border-left: 3px solid #e53935;
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 0.88em;
    color: #c62828;
    line-height: 1.55;
}
.mp-notice-link {
    display: inline-block;
    margin-left: 8px;
    color: #1565c0;
    font-size: 0.92em;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.mp-notice-link:hover { text-decoration: underline; }
.mp-contact-box {
    flex: 1 1 0;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 22px 24px;
    background: #fff;
}
.mp-contact-title {
    font-weight: 700;
    color: #333;
    margin-bottom: 16px;
    font-size: 0.97em;
    text-align: center;
}
.mp-contact-cards {
    display: flex;
    gap: 10px;
}
.mp-contact-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 16px 8px;
    text-align: center;
}
.mp-contact-card i {
    font-size: 1.3em;
    color: #1e4c7c;
}
.mp-contact-label {
    font-size: 0.82em;
    font-weight: 700;
    color: #555;
}
.mp-contact-value {
    font-size: 0.8em;
    color: #777;
    word-break: break-all;
}

/* 반응형 */
@media (max-width: 640px) {
    .mypage-info-avatar { font-size: 40px; padding: 24px 0; }
    .mypage-info-body { padding: 18px 16px 4px; }
    .mypage-info-footer { padding: 14px 16px; }
    .mp-table { font-size: 0.82em; }
    .mp-table th, .mp-table td { padding: 8px 8px; }
    .mp-info-row { flex-direction: column; }
    .mp-contact-cards { flex-direction: column; }
}

/* ============================================
   ④ 프리미엄 팝업 광고 섹션 (P22)
   ============================================ */

/* 안내 박스 (가격표 + 운영 정책 + 신청 버튼) */
.pp-mypage-notice {
    background: linear-gradient(135deg, #faf7ff 0%, #f0e9fd 100%);
    border: 1px solid #d9c9f7;
    border-radius: 10px;
    padding: 18px 22px;
    margin-bottom: 18px;
}
.pp-mypage-notice-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 1.02em;
    color: #4a2b9c;
}
.pp-mypage-notice-head i { font-size: 1.1em; color: #6f4cd6; }
.pp-mypage-notice-head strong { font-weight: 700; }

/* 정책 리스트 */
.pp-mypage-notice-list {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    font-size: 0.88em;
    color: #5b4b85;
    line-height: 1.7;
}
.pp-mypage-notice-list li {
    padding-left: 14px;
    position: relative;
}
.pp-mypage-notice-list li::before {
    content: "•";
    color: #6f4cd6;
    position: absolute;
    left: 4px;
    font-weight: 700;
}
.pp-mypage-notice-list strong { color: #4a2b9c; font-weight: 700; }

/* 가격표 */
.pp-mypage-price {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 14px;
    font-size: 0.88em;
    border: 1px solid #e6eaf0;
}
.pp-mypage-price th,
.pp-mypage-price td {
    padding: 9px 12px;
    text-align: center;
    border-bottom: 1px solid #f1f3f5;
}
.pp-mypage-price tbody tr:last-child td { border-bottom: 0; }
.pp-mypage-price th {
    background: #f9fafb;
    color: #6b7785;
    font-weight: 600;
    font-size: 0.85em;
}
.pp-mypage-price td { color: #1f2937; }
.pp-mypage-price td:nth-child(2) {
    font-weight: 700;
    color: #6f4cd6;
}
.pp-mypage-price td:nth-child(3) {
    color: #95a0ad;
    font-size: 0.92em;
}

/* 신청 버튼 */
.pp-mypage-notice-action {
    text-align: right;
}
.pp-mypage-apply-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    background: #6f4cd6;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-size: 0.95em;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(111, 76, 214, 0.25);
    transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
}
.pp-mypage-apply-btn:hover {
    background: #5a3cb8;
    box-shadow: 0 3px 12px rgba(111, 76, 214, 0.35);
    transform: translateY(-1px);
}

/* 서브 타이틀 (내 신청 광고 내역) */
.pp-mypage-sub-title {
    margin: 18px 0 12px;
    font-size: 1em;
    color: #4b5563;
    font-weight: 700;
    padding-bottom: 6px;
    border-bottom: 1px solid #e6eaf0;
}
.pp-mypage-sub-title::before {
    content: "▸ ";
    color: #6f4cd6;
}

/* 테이블 보조 표시 */
.pp-mypage-deleted {
    color: #c0392b;
    font-style: italic;
    font-size: 0.92em;
}
.pp-mypage-note {
    color: #95a0ad;
    font-size: 0.85em;
}

/* 모바일 — 가격표 폰트 축소 */
@media (max-width: 640px) {
    .pp-mypage-notice { padding: 14px 16px; }
    .pp-mypage-notice-head { font-size: 0.95em; }
    .pp-mypage-notice-list { font-size: 0.84em; }
    .pp-mypage-price { font-size: 0.82em; }
    .pp-mypage-price th,
    .pp-mypage-price td { padding: 7px 8px; }
    .pp-mypage-apply-btn { padding: 9px 18px; font-size: 0.9em; }
}

/* ===== 프리미엄 팝업 광고 신청 모달 내부 ===== */
/* 슬롯 한도/매물 없음 안내 */
.pp-apply-warn {
    margin: 0;
    padding: 18px;
    background: #fdf4e7;
    border: 1px solid #f5d9a8;
    border-radius: 8px;
    color: #b5651d;
    font-size: 0.92em;
    line-height: 1.6;
    text-align: center;
}
.pp-apply-warn i { margin-right: 4px; }
.pp-apply-warn-sub {
    display: block;
    margin-top: 6px;
    font-size: 0.88em;
    color: #95824f;
}

/* 폼 필드 */
.pp-apply-field { margin-bottom: 16px; }
.pp-apply-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9em;
    font-weight: 700;
    color: #333;
}
.pp-apply-req { color: #c0392b; }
.pp-apply-input {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    border: 1px solid #d1d8e0;
    border-radius: 6px;
    font-size: 0.92em;
    background: #fff;
}
.pp-apply-input:focus { outline: none; border-color: #6f4cd6; }
.pp-apply-hint {
    margin: 5px 0 0;
    font-size: 0.8em;
    color: #95a0ad;
}

/* 기간 선택 카드 */
.pp-apply-dur-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.pp-apply-dur-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 12px 6px;
    border: 1.5px solid #e6eaf0;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    text-align: center;
}
.pp-apply-dur-card:hover { border-color: #b18bf6; background: #fbf9ff; }
.pp-apply-dur-card input { position: absolute; opacity: 0; pointer-events: none; }
.pp-apply-dur-card:has(input:checked) {
    border-color: #6f4cd6;
    background: #f0e8ff;
    box-shadow: 0 1px 4px rgba(111, 76, 214, 0.15);
}
.pp-apply-dur-days { font-size: 1em; font-weight: 700; color: #1f2937; }
.pp-apply-dur-price { font-size: 0.82em; color: #6f4cd6; font-weight: 600; }

/* 결제 흐름 안내 */
.pp-apply-flow {
    margin: 10px 0 0;
    padding: 10px 12px;
    background: #f9fafb;
    border-radius: 6px;
    font-size: 0.83em;
    color: #6b7785;
    text-align: center;
    line-height: 1.5;
}
.pp-apply-flow strong { color: #6f4cd6; }

/* 액션 버튼 */
.pp-apply-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 18px;
}
.pp-apply-btn-cancel,
.pp-apply-btn-submit {
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 0.92em;
    font-weight: 600;
    cursor: pointer;
    border: 0;
}
.pp-apply-btn-cancel {
    background: #fff;
    color: #4b5563;
    border: 1px solid #d1d8e0;
}
.pp-apply-btn-cancel:hover { background: #f4f6fb; }
.pp-apply-btn-submit {
    background: #6f4cd6;
    color: #fff;
    box-shadow: 0 2px 8px rgba(111, 76, 214, 0.25);
}
.pp-apply-btn-submit:hover { background: #5a3cb8; }
.pp-apply-btn-submit:disabled { background: #c4c4c4; cursor: not-allowed; box-shadow: none; }

@media (max-width: 640px) {
    .pp-apply-dur-grid { gap: 6px; }
    .pp-apply-dur-card { padding: 10px 4px; }
}
/* 정보수정 폼 하단 회원탈퇴 영역 (버튼형) */
.reg-leave {
    text-align: center;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #eef0f4;
}
.reg-leave-desc {
    font-size: 12px;
    color: #9aa1ac;
    margin: 0 0 10px;
    line-height: 1.5;
}
.reg-leave-btn {
    display: inline-block;
    padding: 8px 22px;
    font-size: 13px;
    color: #d93a3a;
    background: #fff;
    border: 1px solid #e6bcbc;
    border-radius: 6px;
    transition: all .15s ease;
}
.reg-leave-btn:hover {
    color: #fff;
    background: #d93a3a;
    border-color: #d93a3a;
}

/* ==============================
   마이페이지 2단 레이아웃 — 사이드메뉴 (PC) / 햄버거 드로어 (모바일)
============================== */
.mypage-layout {
    display: flex;
    gap: 28px;
    align-items: flex-start;
}

/* 왼쪽 사이드메뉴 */
.mypage-side {
    width: 220px;
    flex-shrink: 0;
    position: sticky;
    top: 100px;
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 12px;
    overflow: hidden;
}
.mp-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid #eef2f6;
    background: #f7fafd;
}
.mp-side-name {
    font-size: 15px;
    font-weight: 700;
    color: #222;
}
.mp-side-name i {
    color: #00529b;
    margin-right: 6px;
}
.mp-side-close {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: #888;
    cursor: pointer;
}
.mp-side-nav {
    padding: 8px 0;
}
.mp-side-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    font-size: 15px;
    color: #444;
    border-left: 3px solid transparent;
    transition: background 0.15s, color 0.15s;
}
.mp-side-link i {
    width: 18px;
    text-align: center;
    color: #9ab0c4;
}
.mp-side-link:hover {
    background: #f7fafd;
    color: #00529b;
}
.mp-side-link.is-active {
    background: #eef4fa;
    border-left-color: #00529b;
    color: #00529b;
    font-weight: 700;
}
.mp-side-link.is-active i {
    color: #00529b;
}
.mp-side-soon {
    margin-left: auto;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    color: #b07000;
    background: #fff3d6;
    border-radius: 999px;
}

/* 문서함 하위메뉴 (그룹 라벨 + 들여쓴 하위 링크) */
.mp-side-group {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px 5px;
    font-size: 15px;
    color: #444;
}
.mp-side-group i {
    width: 18px;
    text-align: center;
    color: #9ab0c4;
}
.mp-side-link.mp-side-sub {
    padding: 9px 18px 9px 36px;
    font-size: 14px;
}
.mp-side-link.mp-side-sub i {
    width: 14px;
    color: #b9c8d6;
}

/* 오른쪽 콘텐츠 */
.mypage-content {
    flex: 1;
    min-width: 0;
}

/* 모바일 토글 버튼 / 드로어 배경 — PC에선 숨김 */
.mp-side-toggle {
    display: none;
}
.mp-side-backdrop {
    display: none;
}

/* ── 모바일: 사이드메뉴 → 햄버거 드로어 ── */
@media (max-width: 768px) {
    .mypage-layout {
        display: block;
    }

    /* 상단 햄버거 바 — 현재 메뉴명 표시 */
    .mp-side-toggle {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        margin-bottom: 14px;
        padding: 13px 16px;
        font-size: 15px;
        font-weight: 700;
        color: #222;
        background: #fff;
        border: 1px solid #dde5ec;
        border-radius: 10px;
        cursor: pointer;
    }
    .mp-side-toggle i {
        color: #00529b;
    }
    .mp-side-toggle-hint {
        margin-left: auto;
        font-size: 12px;
        font-weight: 400;
        color: #999;
    }

    /* 드로어 본체 — 왼쪽에서 슬라이드 */
    .mypage-side {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 264px;
        max-width: 82%;
        z-index: 10001;
        border-radius: 0;
        border: none;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        overflow-y: auto;
    }
    body.mp-side-open .mypage-side {
        transform: translateX(0);
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
    }
    .mp-side-close {
        display: block;
    }

    /* 어두운 배경 — 클릭 시 닫기 */
    body.mp-side-open .mp-side-backdrop {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10000;
        background: rgba(0, 0, 0, 0.45);
    }
}

/* ==============================
   마이페이지 문서함 (토지문서 발급 내역)
============================== */
/* 상단 — 제목 + 발급센터 바로가기 */
.mp-docs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.mp-docs-center-link {
    flex-shrink: 0;
    font-size: 0.88em;
    font-weight: 700;
    color: #00529b;
    text-decoration: none;
}
.mp-docs-center-link:hover {
    text-decoration: underline;
    color: #003f78;
}
.mp-docs-note {
    margin: 4px 0 16px;
    font-size: 0.88em;
    color: #777;
    line-height: 1.6;
}
.mp-docs-note i {
    color: #00529b;
    margin-right: 4px;
}

/* PDF 아이콘 / 남은 보관일 배지 */
.mp-doc-ico {
    color: #d93a3a;
    margin-right: 6px;
}
.mp-doc-dday {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 0.78em;
    font-weight: 700;
    color: #00529b;
    background: #eef4fa;
    border-radius: 999px;
    vertical-align: middle;
}
.mp-doc-dday.is-soon {
    color: #c62828;
    background: #fdecea;
}

/* 다운로드 / 재발급 버튼 */
.btn-down {
    background: #00529b;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 82, 155, 0.25);
}
.btn-down:hover { opacity: 0.9; color: #fff; }
.btn-reissue {
    background: #fff3d6;
    color: #b07000;
}
.mp-doc-none { color: #bbb; }

@media (max-width: 640px) {
    .mp-docs-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

/* ── 문서함 주문 묶음 (35-F-7) — 단일 테이블 + 패키지 행 펼치기/접기 ── */
.mp-order-row { cursor: pointer; background: #F5F8FC; }
.mp-order-row:hover { background: #EDF2F9; }
.mp-order-row .td-name { font-weight: 700; color: #23262B; white-space: nowrap; }
.mp-order-caret { color: #8A93A0; font-size: 12px; margin-right: 8px; transition: transform .15s; }
.mp-order-row.is-open .mp-order-caret { transform: rotate(90deg); }
.mp-order-ico { color: #1B3B6B; margin-right: 6px; }
.mp-order-count { color: #7A828E; font-weight: 400; font-size: 12px; margin-left: 2px; }
tr.mp-order-doc { display: none; }
tr.mp-order-doc.is-show { display: table-row; }
tr.mp-order-doc .td-name { padding-left: 38px; }

@media (max-width: 768px) {
    tr.mp-order-doc .td-name { padding-left: 24px; }
}

/* ── 문서함 실패 문서 [재시도] 버튼 (35-F-6) ── */
.mp-btn.btn-retry { background: #fff; border: 1px solid #2B5FD9; color: #2B5FD9; cursor: pointer; }
.mp-btn.btn-retry:hover { background: #2B5FD9; color: #fff; }
.mp-btn.btn-retry:disabled { opacity: .6; cursor: default; }

/* ── 문서함 하단 안내 문구 ── */
.mp-docs-tips { list-style: none; margin: 16px 2px 0; padding: 14px 16px;
    background: #F7F9FC; border: 1px solid #E6EBF2; border-radius: 10px;
    display: flex; flex-direction: column; gap: 7px; }
.mp-docs-tips li { font-size: 13px; color: #55606E; line-height: 1.6; }
.mp-docs-tips li i { width: 16px; text-align: center; margin-right: 5px; color: #8A93A0; }
.mp-docs-tips li strong { color: #23262B; }
.mp-docs-tips-link { color: #2B5FD9; font-weight: 700; text-decoration: underline; }

/* ================================================================
   마이페이지 — 1:1 문의 (목록·상세·작성)
================================================================ */
/* 목록 */
.mp-qna-row { cursor: pointer; }
.mp-qna-row:hover { background: #f7f9fc; }
.mp-qna-th-num { width: 64px; }
.mp-qna-th-date { width: 110px; }
.mp-qna-th-status { width: 90px; }
.mp-qna-td-subject a { color: #23262B; font-weight: 600; }
.mp-qna-td-subject a:hover { color: #2B5FD9; text-decoration: underline; }
.mp-qna-cate { display: inline-block; padding: 2px 8px; margin-right: 6px; border-radius: 10px;
    background: #eef3ff; color: #2B5FD9; font-size: 12px; font-weight: 700; }
.mp-qna-lock { margin-left: 5px; color: #8A93A0; font-size: 12px; }

/* 페이지네이션 */
.mp-qna-paging { display: flex; justify-content: center; gap: 6px; margin-top: 18px; }
.mp-qna-page { display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; padding: 0 6px; border: 1px solid #e3e8ef; border-radius: 8px;
    background: #fff; color: #55606E; font-size: 13px; font-weight: 600; }
.mp-qna-page:hover { border-color: #2B5FD9; color: #2B5FD9; }
.mp-qna-page.is-current { background: #2B5FD9; border-color: #2B5FD9; color: #fff; }

/* 상세 */
.mp-qna-view-head { padding: 16px 18px; border: 1px solid #e3e8ef; border-radius: 12px 12px 0 0;
    background: #f7f9fc; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.mp-qna-view-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mp-qna-view-title strong { font-size: 16px; color: #23262B; }
.mp-qna-view-meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #8A93A0; }
.mp-qna-content { padding: 22px 18px; border: 1px solid #e3e8ef; border-top: 0; border-radius: 0 0 12px 12px;
    font-size: 14px; color: #3a4250; line-height: 1.7; word-break: break-all; }
.mp-qna-content img { max-width: 100%; }

/* 답변 (관리자 댓글) */
.mp-qna-replies { margin-top: 18px; }
.mp-qna-replies-title { font-size: 14px; font-weight: 700; color: #23262B; margin-bottom: 10px; }
.mp-qna-replies-title i { color: #2B5FD9; margin-right: 4px; }
.mp-qna-reply { border: 1px solid #dbe6ff; background: #f5f8ff; border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.mp-qna-reply-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 13px; }
.mp-qna-reply-meta strong { color: #2B5FD9; }
.mp-qna-reply-meta span { color: #8A93A0; }
.mp-qna-reply-body { font-size: 14px; color: #3a4250; line-height: 1.7; word-break: break-all; }
.mp-qna-reply-body img { max-width: 100%; }
.mp-qna-wait { margin-top: 18px; padding: 16px; border: 1px dashed #cfd6df; border-radius: 12px;
    color: #55606E; font-size: 13px; text-align: center; }
.mp-qna-wait i { color: #f0a500; margin-right: 5px; }
.mp-qna-view-btns { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.mp-qna-view-btns .btn-cancel { background: #f1f5f9; color: #475569; }

/* 작성 폼 */
.mp-qna-form { margin-top: 6px; }
.mp-qna-field { margin-bottom: 14px; }
.mp-qna-field label { display: block; font-size: 13px; font-weight: 700; color: #23262B; margin-bottom: 6px; }
.mp-qna-field input[type="text"], .mp-qna-field select, .mp-qna-field textarea {
    width: 100%; padding: 11px 13px; border: 1px solid #e3e8ef; border-radius: 10px;
    font-size: 14px; color: #23262B; background: #fff; }
.mp-qna-field input[type="text"]:focus, .mp-qna-field select:focus, .mp-qna-field textarea:focus {
    outline: none; border-color: #2B5FD9; }
.mp-qna-field textarea { resize: vertical; line-height: 1.6; min-height: 200px; }
.mp-qna-secret { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #55606E; margin-bottom: 12px; cursor: pointer; }
.mp-qna-form #captcha { margin: 6px 0 14px; }
.mp-qna-form-btns { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.mp-qna-form-btns .btn-cancel { background: #f1f5f9; color: #475569; }
.mp-qna-form-btns .btn-primary { background: #2B5FD9; color: #fff; border: 0; cursor: pointer; }
.mp-qna-form-btns .btn-primary:disabled { opacity: .6; cursor: default; }

/* 모바일 — 목록 날짜·상태 열 좁게, 상세 헤더 세로 배치 */
@media (max-width: 640px) {
    .mp-qna-th-num { display: none; }
    .mp-qna-row td:first-child { display: none; }
    .mp-qna-th-date { width: 86px; }
    .mp-qna-view-head { flex-direction: column; align-items: flex-start; }
}

/* ── AI 리포팅 발급 내역 (29-D-7) — 상태 배지·리뷰 버튼·미작성 안내 ── */
.mp-side-todo { color: #fff; background: #f59e0b; }
.mp-ai-review-todo { margin: -6px 0 14px; padding: 10px 14px; border-radius: 8px; background: #fff8e6; color: #8a5a00; font-size: 0.88em; }
.mp-ai-review-todo i { color: #f5b301; margin-right: 4px; }
.mp-ai-st { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 0.8em; font-weight: 700; white-space: nowrap; }
.mp-ai-st.is-done { background: #e3f7e7; color: #1e7a30; }
.mp-ai-st.is-wait { background: #fff4e0; color: #b26a00; }
.mp-ai-st.is-refund { background: #fdecea; color: #c62828; }
.mp-btn.btn-review { background: #f5b301; color: #fff; }
.mp-ai-stars { background: none; border: 0; padding: 0; cursor: pointer; color: #f5b301; font-size: 15px; letter-spacing: 1px; white-space: nowrap; }
.mp-ai-stars .off { color: #d6dbe2; }
.mp-ai-stars:hover { opacity: .75; }
/* AI 리포팅 — 리포트별 공적문서 다운로드 칩 */
.mp-ai-doc-chip { display: inline-flex; align-items: center; gap: 4px; margin: 2px; padding: 3px 9px; border: 1px solid #d5ddeb; border-radius: 999px; background: #f5f8fd; color: #1d4e9a; font-size: 0.8em; font-weight: 600; white-space: nowrap; text-decoration: none; }
.mp-ai-doc-chip i { color: #d64541; }
.mp-ai-doc-chip:hover { background: #e8eff9; border-color: #1d4e9a; }
