body{
    font-family:futura-pt, sans-serif !important;
    color:#1f2933 !important;
}

.spw-wrap{
    display:flex;
    min-height:100vh;
    width:100%;
    background:#ffffff;
}

.spw-left{
    position:relative;
    width:50%;
    min-height:100vh;
    padding:56px 64px 48px 64px;
    background:#ffffff;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.spw-right{
    width:50%;
    min-height:100vh;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.spw-close{
    position:absolute;
    top:22px;
    left:22px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #1f2933 !important;
    background:#ffffff !important;
    color:#1f2933 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:20px !important;
    line-height:1 !important;
    cursor:pointer;
    box-sizing:border-box;
    z-index:20;
}

.spw-left h1,
.spw-wrap h1,
h1.spw-title{
    margin:0 0 18px 0 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:32px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    color:#1f2933 !important;
    text-align:center !important;
}

.spw-desc{
    margin:0 0 28px 0 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:16px !important;
    line-height:1.6 !important;
    font-weight:400 !important;
    color:#1f2933 !important;
}

.spw-notice{
    margin:0 0 22px 0 !important;
    padding:14px 16px !important;
    border-radius:10px !important;
    font-family:futura-pt, sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
    font-weight:500 !important;
    box-sizing:border-box;
}

.spw-notice-error{
    background:#fff4f4 !important;
    border:1px solid #e4b8b8 !important;
    color:#7a1f1f !important;
}

.spw-notice-success{
    background:#f3faf5 !important;
    border:1px solid #bdd8c2 !important;
    color:#1f5c2f !important;
}

.spw-boxes{
    display:flex;
    gap:18px;
    margin:0 0 30px 0;
}

.spw-box{
    flex:1 1 0;
    min-height:168px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid #d8dce1 !important;
    background:#ffffff !important;
    color:#1f2933 !important;
    padding:22px 18px !important;
    border-radius:14px !important;
    cursor:pointer;
    box-sizing:border-box;
    font-family:futura-pt, sans-serif !important;
    transition:border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.spw-box:hover{
    border-color:#b7bcc3 !important;
    background:#fbfbfb !important;
    color:#1f2933 !important;
}

.spw-box.active{
    border-color:#8f959d !important;
    background:#ffffff !important;
    color:#1f2933 !important;
    box-shadow:0 0 0 2px rgba(180,180,180,0.35), 0 8px 24px rgba(0,0,0,0.06) !important;
}

.spw-box-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 22px 0;
    flex:0 0 auto;
}

.spw-box-icon img{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}

.spw-box-title{
    margin:0;
    font-family:futura-pt, sans-serif !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    color:#1f2933 !important;
    text-align:center !important;
}

.spw-left form{
    width:100%;
}

.spw-left label{
    display:block;
    margin:0 0 8px 0 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    color:#1f2933 !important;
}

.spw-left input[type="email"],
.spw-left input[type="password"],
.spw-left input[type="text"]{
    width:100%;
    height:52px;
    padding:0 16px;
    margin:0 0 18px 0;
    border:1px solid #cfd4da !important;
    background:#ffffff !important;
    color:#1f2933 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:16px !important;
    line-height:1.2 !important;
    border-radius:0 !important;
    box-sizing:border-box;
    box-shadow:none !important;
    outline:none !important;
}

.spw-left input[type="email"]::placeholder,
.spw-left input[type="password"]::placeholder,
.spw-left input[type="text"]::placeholder{
    color:#6b7280 !important;
    font-family:futura-pt, sans-serif !important;
}

.spw-left input[type="email"]:focus,
.spw-left input[type="password"]:focus,
.spw-left input[type="text"]:focus{
    border-color:#1f2933 !important;
    box-shadow:none !important;
    outline:none !important;
}

.spw-toggle-pass{
    display:inline-block;
    margin:-6px 0 22px 0 !important;
    font-family:futura-pt, sans-serif !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    color:#1f2933 !important;
    text-decoration:none !important;
    cursor:pointer;
}

.spw-toggle-pass:hover{
    color:#1f2933 !important;
    text-decoration:underline !important;
}

.spw-btn,
.spw-left button.spw-btn,
.spw-left input[type="submit"].spw-btn{
    width:100%;
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 18px !important;
    border:1px solid #1f2933 !important;
    background:#1f2933 !important;
    color:#ffffff !important;
    font-family:futura-pt, sans-serif !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:0.02em !important;
    text-transform:none !important;
    border-radius:0 !important;
    cursor:pointer;
    box-shadow:none !important;
    transition:background .2s ease, border-color .2s ease, color .2s ease;
}

.spw-btn:hover,
.spw-left button.spw-btn:hover,
.spw-left input[type="submit"].spw-btn:hover,
.spw-btn:focus,
.spw-left button.spw-btn:focus,
.spw-left input[type="submit"].spw-btn:focus{
    background:#343a40 !important;
    border-color:#343a40 !important;
    color:#ffffff !important;
    box-shadow:none !important;
    outline:none !important;
}

.spw-btn.is-loading,
.spw-btn:disabled{
    opacity:0.85 !important;
    cursor:not-allowed !important;
}

.spw-links{
    margin-top:20px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.spw-links a{
    font-family:futura-pt, sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
    font-weight:400 !important;
    color:#1f2933 !important;
    text-decoration:none !important;
}

.spw-links a:hover{
    color:#1f2933 !important;
    text-decoration:underline !important;
}

.spw-forgot-box{
    margin-top:18px;
    padding:18px;
    border:1px solid #d5d9de;
    background:#ffffff;
}

.spw-forgot-notice{
    margin-bottom:12px;
}

.spw-forgot-box input{
    margin-bottom:12px !important;
}

.spw-reset-btn{
    width:100%;
    min-height:50px;
    border:1px solid #1f2933 !important;
    background:#1f2933 !important;
    color:#ffffff !important;
    font-family:futura-pt, sans-serif !important;
    font-size:15px !important;
    font-weight:600 !important;
    cursor:pointer;
    transition:background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}

.spw-reset-btn:hover{
    background:#343a40 !important;
    border-color:#343a40 !important;
    color:#ffffff !important;
}

.spw-reset-btn.is-loading,
.spw-reset-btn:disabled{
    opacity:0.85 !important;
    cursor:not-allowed !important;
}

@media (max-width: 768px){
    .spw-wrap{
        display:block;
        min-height:100vh;
        width:100%;
    }

    .spw-left{
        width:100%;
        min-height:100vh;
        padding:74px 22px 34px 22px;
        justify-content:flex-start;
    }

    .spw-right{
        display:none !important;
    }

    .spw-close{
        top:18px;
        left:18px;
        width:42px;
        height:42px;
        font-size:19px !important;
    }

    .spw-left h1,
    .spw-wrap h1,
    h1.spw-title{
        font-size:21px !important;
        line-height:1.25 !important;
        margin:0 0 14px 0 !important;
        text-align:center !important;
    }

    .spw-desc{
        font-size:16px !important;
        line-height:1.6 !important;
        margin:0 0 22px 0 !important;
    }

    .spw-boxes{
        flex-direction:column;
        gap:12px;
        margin:0 0 22px 0;
    }

    .spw-box{
        width:100%;
        min-height:122px;
        padding:18px 14px !important;
        border-radius:14px !important;
    }

    .spw-box-icon{
        width:42px;
        height:42px;
        margin:0 0 16px 0;
    }

    .spw-box-icon img{
        width:42px;
        height:42px;
    }

    .spw-box-title{
        font-size:18px !important;
        line-height:1.3 !important;
    }

    .spw-left label{
        font-size:15px !important;
    }

    .spw-left input[type="email"],
    .spw-left input[type="password"],
    .spw-left input[type="text"]{
        height:50px;
        font-size:16px !important;
        margin:0 0 16px 0;
    }

    .spw-toggle-pass{
        margin:-4px 0 18px 0 !important;
        font-size:14px !important;
    }

    .spw-btn,
    .spw-left button.spw-btn,
    .spw-left input[type="submit"].spw-btn{
        min-height:52px;
        font-size:16px !important;
    }

    .spw-links{
        margin-top:18px;
        gap:9px;
    }

    .spw-links a{
        font-size:14px !important;
        line-height:1.5 !important;
    }
}