body {
    font-family: sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    background-color: #eff3fa;
}

.login-container {
    position:relative;
    width:560px;
    height:500px;
    padding: 30px 40px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(223, 223, 223, 0.2);
    text-align: center;
}

.login-title-contents {
    display: inline-block;
    width: 340px;
    align-items: center;
    vertical-align: center;
}

.login-contents {
    display: inline-block;
    width: 340px;
    align-items: center;
    vertical-align: center;
}

.login-contents-item {
    display: inline-block;
    width: 100%;
    text-align: left;
    vertical-align: center;
}

.login-icon {
    /* 기본적으로 이미지를 숨김 */
    display: block; 
    margin-bottom: 8px;
}

.login-title {
    display: block;
    margin-bottom: 20px;
    font: normal normal 600 24px/24px Pretendard;
    color: #253660;
}

.login-message {
    margin-bottom: 20px;
    font: normal normal 500 12px/12px Pretendard;
    color: #3c3c3c;
}

.login-label {
    display: none;
    margin-bottom: 10px;
    font: normal normal 600 17px/17px Pretendard;
    color: #3c3c3c;
}

input {
    width: 100%;
    height: 44px;
    padding: 10px;
    margin-bottom: 16px;
    border: 1px solid #f9f9f9;
    border-radius: 4px;
    box-sizing: border-box;
    font: normal normal 400 12px/12px Pretendard;
    color: #3c3c3c;
}

button {
    width: 100%;
    height: 44px;
    cursor: pointer;
    background-color: #688add;
    border-radius: 4px;
    border: none;
    font: normal normal 500 15px/15px Pretendard;
    color: white;
}

button:hover {
    background-color: #0056b3;
}

.error {
    color: red;
    margin-top: 15px;
    font-size: 0.9em;
}

.progress-rate {
    width: 40px;
    text-align: right;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    font-family: "Pretendard", sans-serif;
    font-size: calc(12px * var(--font-scale-factor));
    margin-right: 10px;
}

.popup-overlay {
    position: fixed; 
    display: flex; 
    inset: 0;
    background: rgba(0,0,0,0.3);
    justify-content: center; 
    align-items: center;
    z-index: 9999;
}

.popup {
    border-radius: 10px;
    width: 320px; 
    padding: 30px 20px;
    text-align: center;
    background-color: #eff3fa;
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
}

.popup img { 
    width: 40px; 
    height: 40px; 
    margin-bottom: 15px; 
}

.popup-message { 
    margin-bottom: 15px; 
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
    font-family: "Pretendard", sans-serif;
    font-size: calc(16px * var(--font-scale-factor));
    color: #333; 
}

.popup-btn-box { 
    display: flex; 
    justify-content: center; 
    gap: 10px; 
}

.popup-btn { 
    border: none; 
    width: 96px;
    height: 32px;
    border-radius: 4px; 
    cursor: pointer; 
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
    font-family: "Pretendard", sans-serif;
    font-size: calc(12px * var(--font-scale-factor));
}

.popup-btn.cancel { 
    background-color: #e6ebff; 
    color: #688add; 
}

.popup-btn.ok { 
    background-color: #688add; 
    color: #ffffff; 
}  