.portal-login { color: #17263c; }
.portal-login .page-title-wrap { text-align: center; margin-bottom: 40px; }
.portal-login .page-title-wrap .h-tit { font-size: 36px; font-weight: 700; }
.portal-login .page-title-wrap .txt { margin-top: 24px; font-size: 15px; line-height: 1.7; color: #667085; }
.portal-login .login-form-area { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1120px; margin: 0 auto; padding: 56px 0; border-color: #e5e8ee; }
.portal-login .login-form-area .login-wrap { width: 100%; max-width: none; padding: 0 60px 0 0; border-right: 1px solid #e5e8ee; }
.portal-login .login-wrap::after { display: none; }
.portal-login .fieldset { display: flex; flex-direction: column; gap: 20px; }
.portal-login .form-group { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.portal-login .form-tit { margin: 0; font-size: 15px; font-weight: 600; }
.portal-login .form-conts { position: relative; }
.portal-login .login-wrap input.form-control { width: 100%; height: 48px; padding: 8px 14px; border: 1px solid #cdd3dd; border-radius: 8px; background: #fff; font-size: 15px; }
.portal-login #loginPw { padding-right: 48px; }
.portal-login .login-wrap .btn.primary { width: 100%; height: 52px; border: 1px solid #3478f6; border-radius: 8px; background: #3478f6; color: #fff; font-size: 16px; font-weight: 700; }
.portal-login .login-wrap .btn.primary:hover { background: #1f5fd6; }
.portal-login .login-wrap .btn.login-sso { background: #fff; border-color: #69a8ff; color: #246beb; }
.portal-login .login-wrap .btn.login-sso:hover { background: #eff5ff; }
.portal-login .form-group:has(> .btn.primary) { margin-top: 8px; gap: 10px; }
.portal-login .link-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin: 0; }
.portal-login .link-group li { padding: 0; }
.portal-login .link-group .btn { height: auto; min-height: 28px; padding: 0; font-size: 14px; font-weight: 600; color: #667085; }
.portal-login .link-group a[href="/portal/regist/ssoJoinForm"] { color: #246beb; }
.portal-login .login-form-area .login-info-wrap { width: 100%; padding: 6px 0 0 60px; }
.portal-login .info-list { display: flex; flex-direction: column; gap: 18px; padding: 0; }
.portal-login .info-list li { position: relative; margin: 0; padding: 0 0 0 16px; font-size: 15px; line-height: 1.7; color: #475467; }
.portal-login .info-list li::before { content: '·'; position: absolute; left: 0; top: 0 !important; width: auto; height: auto; background: transparent; border-radius: 0; }
.portal-login .login-pw-toggle { position: absolute; right: 6px; top: 6px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: 6px; background: transparent; color: #667085; cursor: pointer; }
.portal-login .login-pw-toggle:hover { background: #eff5ff; }
.portal-login .login-pw-toggle[aria-pressed="true"] .login-pw-slash { display: none; }
.portal-login :is(input, button, a):focus-visible { outline: 2px solid #246beb; outline-offset: 3px; }
:is(.portal-find-id, .portal-find-pw) .login-wrap .login-cert { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 52px; border: 1px solid #c9dbfb; border-radius: 8px; background: #eff5ff; color: #246beb; font-size: 16px; font-weight: 700; }
:is(.portal-find-id, .portal-find-pw) .login-wrap .login-cert:hover { background: #e3edff; }
:is(.portal-find-id, .portal-find-pw) .link-group .login-join { color: #246beb; }
:is(.portal-find-id, .portal-find-pw) .login-wrap .txt { margin: 0; font-size: 16px; line-height: 1.7; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .portal-login .page-title-wrap .h-tit { font-size: 28px; }
    .portal-login .login-form-area { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 32px 0; }
    .portal-login .login-form-area .login-wrap { padding: 0; border-right: 0; }
    .portal-login .login-form-area .login-info-wrap { padding: 0; }
}

.portal-find-pw .login-cert { margin-top: 4px; }
.portal-find-pw .emph_notice { margin: 0; font-size: 13px; line-height: 1.6; }
