@charset "utf-8";

/* 아웃로그인 스킨 */
.ol {
    position: relative;
    border: 1px solid var(--color-border, #e0e0e0);
    margin-bottom: var(--space-4, 16px);
    border-radius: var(--radius-md, 8px);
    background: #fff;
    overflow: hidden;
}

/* 헤더 탭 영역 */
.ol #ol_be_cate {
    display: flex;
    border-bottom: 1px solid var(--color-border, #e0e0e0);
}
#ol_be_cate h2 {
    flex: 1;
    margin: 0;
    padding: var(--space-3, 12px) 0;
    text-align: center;
    font-size: var(--font-size-base, 16px);
    font-weight: 600;
    color: var(--color-text, #333);
    background: #fff;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.ol .join {
    flex: 1;
    padding: var(--space-3, 12px) 0;
    text-align: center;
    font-size: var(--font-size-sm, 14px);
    background: var(--color-bg-gray, #f5f5f5);
    color: var(--color-text-muted, #999);
    text-decoration: none;
    transition: all var(--transition-fast, 150ms ease);
}
.ol .join:hover {
    background: var(--color-bg-dark, #eee);
    color: var(--color-text-light, #666);
}

/* 폼 영역 */
.ol form {
    padding: var(--space-4, 16px);
}
.ol a.btn_admin {
    display: inline-block;
    padding: 0 10px;
    height: 25px;
    text-decoration: none;
    line-height: 25px;
    vertical-align: middle;
}
.ol a.btn_admin:focus,
.ol a.btn_admin:hover {
    text-decoration: none;
}
.ol .login-sns {
    padding-bottom: 0;
}

/* 로그인 전 상태 */
#ol_before .ol_wr {
    position: relative;
    margin-bottom: var(--space-3, 12px);
}

/* 입력 필드 */
#ol_id,
#ol_pw {
    display: block;
    width: 100%;
    height: 42px;
    padding: 0 var(--space-3, 12px);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
    font-size: var(--font-size-sm, 14px);
    color: var(--color-text, #333);
    background: #fff;
    margin-bottom: var(--space-2, 8px);
    transition: border-color var(--transition-fast, 150ms ease), box-shadow var(--transition-fast, 150ms ease);
}
#ol_id:focus,
#ol_pw:focus {
    outline: none;
    border-color: var(--color-secondary, #2196F3);
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
}
#ol_id::placeholder,
#ol_pw::placeholder {
    color: var(--color-text-muted, #999);
}

/* 로그인 버튼 */
#ol_submit {
    width: 100%;
    height: 42px;
    background: var(--color-secondary, #2196F3);
    border: none;
    border-radius: var(--radius-md, 8px);
    color: #fff;
    font-weight: 600;
    font-size: var(--font-size-base, 16px);
    cursor: pointer;
    transition: background var(--transition-fast, 150ms ease), transform var(--transition-fast, 150ms ease);
}
#ol_submit:hover {
    background: var(--color-secondary-dark, #1976D2);
}
#ol_submit:active {
    transform: scale(0.98);
}

/* 하단 영역 (자동로그인 + ID/PW 찾기) */
.ol_auto_wr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--space-3, 12px);
}
.ol_auto_wr:after {
    display: none;
}

#ol_auto {
    display: flex;
    align-items: center;
    line-height: 1;
}
#ol_auto label {
    color: var(--color-text-light, #666);
    font-size: var(--font-size-sm, 14px);
    vertical-align: baseline;
}
#ol_auto input {
    width: 14px;
    height: 14px;
}

#ol_svc {
    line-height: 1;
}
#ol_svc a {
    display: inline-block;
    padding: var(--space-1, 4px) var(--space-2, 8px);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-sm, 4px);
    color: var(--color-secondary, #2196F3);
    font-size: var(--font-size-xs, 12px);
    text-decoration: none;
    transition: all var(--transition-fast, 150ms ease);
}
#ol_svc a:hover {
    background: var(--color-secondary, #2196F3);
    border-color: var(--color-secondary, #2196F3);
    color: #fff;
}

/* SNS 로그인 */
#sns_login {
    margin-top: 0 !important;
    border-top: 0 !important;
}
#sns_login h3 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#ol_after {}
#ol_after h2 {position:absolute;margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden;clip:rect(0,0,0,0)}
#ol_after_hd {display:flex !important;align-items:center !important;padding:15px !important;gap:10px !important}
#ol_after_hd .profile_img {flex-shrink:0;align-self:center}
#ol_after_hd .profile_img img {border:1px solid #bbb;border-radius:50%;width:50px !important;height:50px !important;display:block}
#ol_after_hd .ol_info_wrap {flex:1;min-width:0;margin:0;padding:0}
#ol_after_hd strong {display:block !important;margin-bottom:5px;font-size:1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ol_after_hd .ol_btn_wrap {display:flex !important;align-items:center;gap:5px}
#ol_after_info {display:inline-block;height:24px;line-height:22px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:3px;padding:0 8px;font-size:0.75em;white-space:nowrap}
#ol_after_hd a.btn_admin {display:inline-flex !important;align-items:center !important;justify-content:center !important;width:26px !important;height:26px !important;border-radius:3px;background:#f7f7f7;border:1px solid #d5d9dd;padding:0 !important}
#ol_after_hd a.btn_admin i {margin:0 !important;font-size:14px}
#ol_after_hd .btn_b04 {line-height:23px;padding:0 5px}
#ol_after_private {zoom:1;margin:0;padding:0;list-style:none}
#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""}
#ol_after_private li {text-align:left;position:relative;list-style:none}
#ol_after_private li:first-child a {border-left:0}
#ol_after_private a {display:block;color:#465168;line-height:18px;padding:10px 10px 10px 20px}
#ol_after_private a strong {display:inline-block;float:right;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#3a8afd;padding:0 5px;border-radius:15px;font-size:0.92em}
#ol_after_private a:hover strong {background:#4b8bff}
#ol_after_private li a:hover {color:#4b8bff;background:#f7f7f7}
#ol_after_private li a:hover:after {position:absolute;left:-1px;top:0;width:2px;height:38px;background:#3a8afd;content:""}
#ol_after_private li i {width:25px;color:#8c9eb0;margin-right:5px}
#ol_after_private li:hover i {color:#3a8afd}
#ol_after_private .win_point:hover strong {background:#37bc9b;color:#fff}
#ol_after_private .win_memo:hover strong {background:#8cc152;color:#fff}
#ol_after_private .win_scrap:hover strong {background:#ff8b77;color:#fff}

#ol_after_logout {text-align:center;font-weight:bold;display:block;padding:15px 0;color:#a0a0a1;border-top:1px solid #dde7e9}
#ol_after_logout:hover {color:#3c8bfd}
#ol_after_memo {margin-right:1px}
#ol_after_pt {margin-right:1px}

/* 체크박스 커스텀 스타일 */
.selec_chk {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    outline: 0;
    z-index: -1;
    overflow: hidden;
}
.chk_box {
    position: relative;
}
.chk_box input[type="checkbox"] + label {
    padding-left: 22px;
    color: var(--color-text-light, #666);
    font-size: var(--font-size-sm, 14px);
    cursor: pointer;
    transition: color var(--transition-fast, 150ms ease);
}
.chk_box input[type="checkbox"] + label:hover {
    color: var(--color-secondary, #2196F3);
}
.chk_box input[type="checkbox"] + label span {
    position: absolute;
    top: 1px;
    left: 0;
    width: 16px;
    height: 16px;
    display: block;
    margin: 0;
    background: #fff;
    border: 1px solid var(--color-border-dark, #bdbdbd);
    border-radius: var(--radius-sm, 4px);
    transition: all var(--transition-fast, 150ms ease);
}
.chk_box input[type="checkbox"]:checked + label {
    color: var(--color-text, #333);
}
.chk_box input[type="checkbox"]:checked + label span {
    background: url(./img/chk.png) no-repeat 50% 50% var(--color-secondary, #2196F3);
    border-color: var(--color-secondary, #2196F3);
    border-radius: var(--radius-sm, 4px);
}
