html {
    font-size: 70% !important; 
}

.login-main {
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    background-color: var(--color-bg-primary);
}

.login-inner {
    width: 55.0rem;
    margin: 0 auto;
    transform: scale(0.8); 
    transform-origin: center center;
}

.logo a {
    display: inline-block;
    text-decoration: none;
    border: none;
}

.logo img {
    display: block;
    margin: 0 auto var(--space-2xs);
    width: 19rem;
    height: auto;
}

.login-tabs {
    display: flex;
    position: relative;
    z-index: 20;
}

.login-tabs button {
    flex: 1;
    padding: var(--btn-padding-tab-t) 0 var(--btn-padding-tab-b);
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border-primary);
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    font-size: var(--fs-lg);
    font-weight: var(--fw-medium);
    color: var(--color-text-secondary);
}

.login-tabs button.on {
    background-color: var(--color-bg-primary);
    border-bottom: 1px solid var(--color-bg-primary); 
    margin-bottom: -1px; 
    z-index: 15;
    color: var(--color-text-primary);
}

.login-fieldset {
    position: relative;
    z-index: 10;
    margin-top: -1px;
    padding: var(--form-box-padding);
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border-primary);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    display: flex;
    flex-direction: column;
}

.login-fieldset input {
    width: 100%;
    height: var(--form-input-height);
    margin-bottom: 1.2rem;
    padding: 0 var(--form-input-padding-x);
    border: none;
    border-bottom: 1px solid var(--color-border-primary);
    font-size: var(--fs-md);
    font-family: var(--font-base);
}

.login-fieldset input::placeholder {
    color: var(--color-text-muted);
}

.login-fieldset input:focus {
    border-bottom: 2px solid var(--color-primary);
    outline: none;
}

/* 에러 메시지 */
.error-txt {
    padding-top: var(--btn-padding-tab-t);
    text-align: left;
    font-size: var(--form-fs-msg);
    color: var(--color-error);
    min-height: 1.6rem;
}

.login-btn {
    width: 100%;
    height: var(--btn-height-md);
    margin-top: var(--form-input-gap); 
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
    border-radius: var(--radius-sm); 
    font-weight: var(--fw-bold);
    font-size: var(--fs-lg);
}

.login-btn:hover {
    background-color: var(--color-primary-hover);
}

.login-footer {
    margin-top: var(--form-input-gap); 
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-md);
    color: var(--color-text-secondary);
}

.login-footer .divider {
    margin: 0 1.2rem;
    color: var(--color-border-primary);
}

.login-footer a:hover {
    text-decoration: underline;
}