* { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family: 'Pretendard GOV', sans-serif;
    background: var(--krds-color-light-gray-5);
    display:flex; align-items:center; justify-content:center;
    min-height:100vh;
}
.login-card {
    background: var(--krds-color-light-gray-0);
    border-radius: 1.2rem;
    box-shadow: 0 0.4rem 2.4rem var(--krds-color-light-alpha-black10);
    padding: 4.8rem 4rem;
    width: 42rem;
    max-width: 90vw;
}
.login-card .logo {
    text-align:center; margin-bottom: 0.8rem;
    font-size: 2.8rem; font-weight: 700;
    color: var(--krds-color-light-primary-50);
}
.login-card .subtitle {
    text-align:center; margin-bottom: 3.2rem;
    font-size: 1.4rem;
    color: var(--krds-color-light-gray-50);
}
.login-card .form-group {
    margin-bottom: 1.6rem;
}
.login-card .form-group label {
    display:block; margin-bottom: 0.6rem;
    font-size: 1.4rem; font-weight: 700;
    color: var(--krds-color-light-gray-80);
}
.login-card .form-group input {
    width:100%; padding: 1.2rem;
    border: 0.1rem solid var(--krds-color-light-gray-20);
    border-radius: 0.6rem;
    font-size: 1.5rem;
    font-family: 'Pretendard GOV', sans-serif;
    transition: border-color 0.2s;
}
.login-card .form-group input:focus {
    outline:none;
    border-color: var(--krds-color-light-primary-50);
}
.login-card .btn-login {
    width:100%; margin-top: 0.8rem;
    padding: 1.4rem;
    font-size: 1.6rem; font-weight: 700;
    cursor:pointer;
    border:none; border-radius: 0.6rem;
    background: var(--krds-color-light-primary-50);
    color: var(--krds-color-light-gray-0);
    font-family: 'Pretendard GOV', sans-serif;
    transition: background 0.2s;
}
.login-card .btn-login:hover {
    background: var(--krds-color-light-primary-60);
}
.save-id-wrap {
    margin-bottom: 1.6rem;
}
.save-id-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.4rem;
    color: var(--krds-color-light-gray-60);
    cursor: pointer;
    user-select: none;
}
.save-id-label input[type=checkbox] {
    position: static !important;
    width: 1.6rem !important;
    height: 1.6rem !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    cursor: pointer;
    accent-color: var(--krds-color-light-primary-50);
    flex-shrink: 0;
}
.error-msg {
    background: var(--krds-color-light-danger-5);
    color: var(--krds-color-light-danger-70);
    padding: 1rem 1.4rem;
    border-radius: 0.6rem;
    margin-bottom: 1.6rem;
    font-size: 1.4rem;
    text-align:center;
    border: 0.1rem solid var(--krds-color-light-danger-20);
}
