.page-login-v3:before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    /*
    background: #fff;
    */
        background-image: 
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='600' viewBox='0 0 1440 600'%3E%3Cpath fill='%233949ab' fill-opacity='0.4' d='M0,160L80,186.7C160,213,320,267,480,256C640,245,800,171,960,160C1120,149,1280,203,1360,229.3L1440,256L1440,600L1360,600C1280,600,1120,600,960,600C800,600,640,600,480,600C320,600,160,600,80,600L0,600Z'/%3E%3Cpath fill='%23283593' fill-opacity='0.6' d='M0,320L120,341.3C240,363,480,405,720,394.7C960,384,1200,320,1320,288L1440,256L1440,600L1320,600C1200,600,960,600,720,600C480,600,240,600,120,600L0,600Z'/%3E%3C/svg%3E"),
            linear-gradient(135deg, #283593 0%, #0d1137 100%);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        background-attachment: fixed;
}

.page-login-v3 .panel {
    width: 400px;
    margin-bottom: 45px;
    background: #fff;
    border-radius: 0.286rem;
}

.page-login-v3 .panel .panel-body {
    /*   padding: 50px 40px 40px; */
}

.page-login-v3 .panel .brand-text {
    margin-top: 8px;
}

.forgot-password-link {
    font-size: 1.0rem;
    color: #76838f; /* 기본 회색 */
    transition: all 0.3s ease;
    text-decoration: none;
}

.forgot-password-link:hover {
    color: #3e8ef7; /* 브랜드 컬러 */
    text-decoration: underline;
    text-underline-offset: 4px;
}

.page-login-v3 form {
    margin: 45px 0 30px;
}

.page-login-v3 form a {
    margin-left: 20px;
}

.page-login-v3 form .form-material.floating+.page-login-v3 form .form-material.floating {
    margin-top: 30px;
}

.page-login-v3 form .form-material label {
    font-weight: 300;
    color: #a3afb7;
}

@media (max-width: 479px) {
    .page-login-v3 .page-content {
        padding: 30px 20px;
    }

    .page-login-v3 .panel {
        width: auto;
        padding: 10px;
    }

    .page-login-v3 .panel .panel-body {
        padding: 35px 25px;
    }
}

/* 라벨의 기본 스타일 정의 */
.form-control-label {
    display: block;              /* 인풋과 줄바꿈 처리 */
    margin-bottom: 0.5rem;       /* 인풋과의 간격 (8px 정도) */
    font-size: 0.875rem;         /* 14px 정도의 가독성 좋은 크기 */
    color: #37474f;              /* 너무 검지 않은 짙은 회색으로 고급스러움 유도 */
    text-align: left;            /* 왼쪽 정렬 유지 */
    transition: color 0.3s ease; /* 포커스 시 부드러운 색상 변화 */
    padding: 0px !important;
}

.page-copyright {
    color: snow;
}
/*
.form-group-{
    margin-bottom:5px;
}
*/

.form-material.floating .floating-label {
    top: -0.8rem;
    font-size: .8rem;
}

form {
    margin-top:0px  !important;
    
}
.panel-action.icon {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
}

.terms-box {
    overflow-y: auto;
    background: #f9fafb;
    border: 1px solid #e4eaec;
    padding: 10px;
    text-align: left;
}