:root{font-family:"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:#20364b;background:#f1f4f9;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}body{margin:0;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:48px 32px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:var(--login-primary);text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--login-focus);outline-offset:3px}
.login-page{--login-primary:#4d40f6;--login-focus:#a9a3ff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:100%;max-width:1080px;min-height:640px;overflow:hidden;border:1px solid #dbe3eb;border-radius:20px;background:#fff;box-shadow:0 16px 48px #143a5e0a}
.login-admin{--login-primary:#206ca7;--login-focus:#90bfe7}
.login-intro{display:flex;flex-direction:column;justify-content:space-between;gap:32px;background:#143a5e;color:#fff;padding:40px}
.login-intro .login-brand,.login-intro .login-intro-content,.login-intro .login-intro-note{width:100%;max-width:360px;margin-left:auto;margin-right:0}
.login-brand{display:flex;align-items:center;gap:12px}.login-brand-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#eaf3ff}.login-brand strong{display:block;font-size:18px;font-weight:700;line-height:1.5}.login-brand div>span{display:block;font-size:12px;color:#c8d8e7;margin-top:4px}
.login-intro-content{padding:24px 0}.login-eyebrow{display:block;color:#bddaf0;font-size:13px;font-weight:600;letter-spacing:.04em}.login-intro h2{font-size:32px;font-weight:700;line-height:1.5;letter-spacing:-.04em;margin:16px 0 20px}.login-intro-content p{font-size:15px;line-height:1.9;color:#d1dfeb;margin:0}.login-services{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:28px 0 0}.login-services li{font-size:12px;padding:8px 12px;border:1px solid #6a849e;border-radius:8px;color:#e5eff8}.login-intro-note{font-size:12px;line-height:1.8;color:#c8d8e7;margin:0;padding-top:24px;border-top:1px solid #42617d}
.login-main{display:grid;place-items:center;min-width:0;padding:48px;background:#fff}.login-container{width:100%;max-width:400px;min-width:0}.login-mobile-brand{display:none}.login-card{background:#fff;padding:0}.login-heading{margin-bottom:32px}.login-portal-label{display:inline-block;padding:6px 10px;background:#eef1fa;color:var(--login-primary);border-radius:6px;font-size:12px;font-weight:700}.login-heading h1{font-size:28px;line-height:1.4;letter-spacing:-.04em;margin:16px 0 8px;color:#143a5e}.login-heading p{font-size:14px;line-height:1.7;margin:0;color:#687386}
.login-form{display:flex;flex-direction:column;gap:20px;margin:0;min-width:0}.login-field{display:flex;flex-direction:column;gap:8px;min-width:0}.login-field label{font-size:14px;font-weight:700;line-height:1.5}.login-input-wrap{display:flex;align-items:center;min-width:0;border:1px solid #cbd6e2;border-radius:8px;background:#fff;transition:border-color .15s}.login-input-wrap:focus-within{border-color:var(--login-primary);outline:3px solid color-mix(in srgb,var(--login-primary) 12%,transparent);outline-offset:0}.login-input-wrap input{width:100%;min-width:0;flex:1;border:0;border-radius:8px;padding:0 14px;min-height:48px;font-size:14px;color:#20364b;background:transparent;outline:none}.login-input-wrap input::placeholder{color:#687386}.login-input-wrap:has([aria-invalid=true]){border-color:#b44444}.login-password-toggle{border:0;flex:none;align-self:stretch;min-width:48px;min-height:48px;padding:0 12px;background:transparent;color:#52657b;border-radius:6px;font-size:12px;font-weight:600}.login-submit{border:0;border-radius:8px;width:100%;min-height:48px;padding:12px 16px;background:var(--login-primary);color:#fff;font-size:15px;line-height:1.6;font-weight:700;margin-top:4px}.login-submit:hover:not(:disabled){filter:brightness(.93)}
.login-other-portal{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:24px;border-top:1px solid #e5eaf0;font-size:12px;line-height:1.8;color:#687386}.login-other-portal a{font-weight:700;text-decoration:none}.login-other-portal a:hover{text-decoration:underline}.login-footer{text-align:center;margin-top:24px;color:#52657b;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.login-footer p{margin:0 0 8px}.login-footer small{font-size:11px}.login-error{background:#fff3f3;border:1px solid #efc6c6;border-radius:8px;padding:12px;color:#a33131;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.login-session{display:grid;gap:8px;background:#eef4fa;border:1px solid #dbe3eb;border-radius:8px;padding:16px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.login-session span{color:#52657b;font-size:13px}.login-help{font-size:13px;line-height:1.8;color:#687386;margin:0}
@media(max-width:800px){body{padding:24px 20px}.login-page{grid-template-columns:minmax(0,1fr);max-width:480px;min-height:0;border-radius:16px}.login-intro{display:none}.login-main{padding:32px}.login-mobile-brand{display:block;font-size:18px;font-weight:700;color:#143a5e;margin-bottom:24px}.login-mobile-brand span{display:block;font-size:12px;font-weight:400;color:#687386;margin-top:4px}.login-heading h1{font-size:26px}.login-input-wrap input{font-size:16px}}
@media(max-width:380px){body{padding:16px}.login-main{padding:24px}.login-other-portal{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
