/* ==========================================================
   NEXW FINANCE
   LOGIN
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    min-height:100%;
}

body{

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;

    background: rgb(31, 41, 55) !important;

    color:#ffffff;

}


/* ==========================================================
   FUNDO
========================================================== */

.page-login{

    width:100%;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:45px;

    position:relative;

    overflow:hidden;

    background:

        radial-gradient(
            circle at 15% 15%,
            rgba(19, 24, 58, 0.918),
            transparent 35%
        ),

        radial-gradient(
            circle at 85% 80%,
            rgba(5, 11, 68, 0.5),
            transparent 35%
        ),

        linear-gradient(
            135deg,
            #0a0f33,
            #030514
        );

}


/* EFEITOS */

.bg-light{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

}


.bg-light-1{

    width:500px;
    height:500px;

    top:-250px;
    right:-150px;

    background:
        rgba(255,255,255,.07);

}


.bg-light-2{

    width:450px;
    height:450px;

    bottom:-260px;
    left:-100px;

    background:
        rgba(255,255,255,.05);

}


/* ==========================================================
   CARD PRINCIPAL
========================================================== */

.login-card{

    width:100%;

    max-width:1220px;

    min-height:690px;

    display:grid;

    grid-template-columns:
        48% 52%;

    position:relative;

    z-index:2;

    overflow:hidden;

    border-radius:22px;

    background:#091638;

    box-shadow:

        0 35px 80px
        rgba(10,18,70,.38),

        0 5px 20px
        rgba(0,0,0,.20);

}


/* ==========================================================
   APRESENTAÇÃO
========================================================== */

.login-presentation{

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    padding:42px 55px 35px;

    background:

        radial-gradient(
            circle at 50% 50%,
            rgba(29,60,134,.20),
            transparent 55%
        ),

        linear-gradient(
            145deg,
            #030c29,
            #071333
        );

}


/* GRANDE CÍRCULO */

.presentation-circle{

    position:absolute;

    width:680px;
    height:680px;

    border-radius:50%;

    top:-50px;
    right:-280px;

    background:

        linear-gradient(
            135deg,
            rgba(255,255,255,.025),
            rgba(61,90,183,.09)
        );

}


/* ==========================================================
   LOGO
========================================================== */

.brand{

    position:relative;

    z-index:3;

}

.brand a{

    display:inline-block;

}

.logo-img{

    max-width:155px;

    max-height:55px;

    object-fit:contain;

}


/* ==========================================================
   CONTEÚDO
========================================================== */

.presentation-content{

    width:100%;

    max-width:470px;

    margin:auto 0;

    position:relative;

    z-index:3;

}


.presentation-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:7px 12px;

    border-radius:50px;

    margin-bottom:22px;

    color:#9db9f5;

    font-size:11px;

    font-weight:600;

    background:
        rgba(62,103,208,.12);

    border:
        1px solid rgba(116,153,255,.12);

}


.presentation-badge span{

    width:6px;
    height:6px;

    border-radius:50%;

    background:#52e39a;

    box-shadow:
        0 0 10px #52e39a;

}


/* TITULO */

.presentation-content h1{

    font-size:39px;

    line-height:1.13;

    letter-spacing:-1.4px;

    font-weight:400;

    margin-bottom:18px;

}


.presentation-content h1 strong{

    color:#6685ff;

    font-weight:800;

}


.presentation-content > p{

    max-width:430px;

    color:#899cc7;

    font-size:13px;

    line-height:1.7;

}


/* ==========================================================
   ILUSTRAÇÃO
========================================================== */

.finance-illustration{

    width:100%;

    height:250px;

    margin-top:30px;

    position:relative;

}


/* CARD CENTRAL */

.wallet-card{

    width:270px;

    height:180px;

    position:absolute;

    left:75px;

    top:25px;

    padding:20px;

    border-radius:20px;

    transform:
        perspective(900px)
        rotateY(-5deg)
        rotateX(2deg);

    background:

        linear-gradient(
            145deg,
            rgba(37,71,151,.95),
            rgba(17,40,98,.96)
        );

    border:
        1px solid rgba(132,166,255,.15);

    box-shadow:
        0 25px 45px
        rgba(0,0,0,.30);

}


.wallet-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

}


.wallet-top span{

    display:block;

    color:#9fb3df;

    font-size:12px;

    margin-bottom:5px;

}


.wallet-top strong{

    font-size:21px;

}


.wallet-icon{

    width:36px;
    height:36px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:11px;

    color:#83a8ff;

    background:
        rgba(83,130,255,.15);

}


/* GRÁFICO */

.chart{

    height:60px;

    display:flex;

    align-items:flex-end;

    gap:6px;

    margin-top:16px;

}


.chart span{

    flex:1;

    border-radius:4px 4px 1px 1px;

    background:

        linear-gradient(
            to top,
            #3559d6,
            #6c91ff
        );

}


.chart-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:8px;

}


.chart-bottom span{

    color:#849acb;

    font-size:9px;

}


.chart-bottom strong{

    color:#5ee6a3;

    font-size:12px;

}


/* ==========================================================
   CARDS FLUTUANTES
========================================================== */

.floating-card{

    min-width:135px;

    display:flex;

    align-items:center;

    gap:10px;

    position:absolute;

    padding:11px 13px;

    border-radius:13px;

    background:
        rgba(17,37,86,.95);font-size:12px;

    border:
        1px solid rgba(122,153,230,.13);

    box-shadow:
        0 15px 30px
        rgba(0,0,0,.25);

    backdrop-filter:
        blur(10px);

}


.floating-card span{

    display:block;

    color:#8499c7;

    font-size:12px;

    margin-bottom:3px;

}


.floating-card strong{

    font-size:11px;

}


.float-icon{

    width:30px;
    height:30px;

    flex:none;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:9px;

    font-size:12px;

}


.float-icon.income{

    color:#54e39a;

    background:
        rgba(50,215,133,.12);

}


.float-icon.expense{

    color:#ff7587;

    background:
        rgba(255,80,103,.12);

}


.float-icon.goal{

    color:#ffc45f;

    background:
        rgba(255,188,74,.12);

}


/* POSIÇÕES */

.card-income{

    top:5px;
    right:0;

}


.card-expense{

    bottom:10px;
    left:0;

}


.card-goal{

    right:5px;
    bottom:15px;

}


/* ==========================================================
   FOOTER APRESENTAÇÃO
========================================================== */

.presentation-footer{

    position:relative;

    z-index:3;

    display:flex;

    align-items:center;

    gap:7px;

    color:#647aa9;

    font-size:9px;

}


.presentation-footer i{

    color:#5278d6;

}


/* ==========================================================
   LADO LOGIN
========================================================== */

.login-form-area{

    min-height:690px;

    display:flex;

    flex-direction:column;

    position:relative;

    padding:28px 45px 25px;

    background:

        radial-gradient(
            circle at 100% 0%,
            rgba(55,83,166,.10),
            transparent 35%
        ),

        #0c193d;

}


/* ==========================================================
   MENU SUPERIOR
========================================================== */

.login-top{

    display:flex;

    justify-content:flex-end;

    gap:10px;

}


.login-top button{

    height:35px;

    border:none;

    border-radius:8px;

    padding:0 20px;

    font-size:12px;

    font-weight:700;

    cursor:pointer;

    transition:.2s;

}


.top-login{

    color:#9badd3;

    background:#122149;

}


.top-register{

    color:#ffffff;

    background:
        linear-gradient(
            135deg,
            #526cff,
            #4059ec
        );

}


.top-register:hover{

    transform:translateY(-2px);

}


/* ==========================================================
   FORM CONTENT
========================================================== */

.form-content{

    width:100%;

    max-width:430px;

    margin:auto;

}


.mobile-logo{

    display:none;

}


.form-header{

    margin-bottom:28px;

}


.welcome{

    display:inline-flex;

    align-items:center;

    gap:6px;

    color:#7899ed;

    font-size:12px;

    font-weight:600;

    margin-bottom:10px;

}


.form-header h2{

    font-size:29px;

    letter-spacing:-.8px;

    margin-bottom:8px;

}


.form-header p{

    color:#8295bd;

    font-size:12px;

    line-height:1.5;

}


/* ==========================================================
   CAMPOS
========================================================== */

.form-group{

    margin-bottom:18px;

}


.form-group label{

    display:block;

    margin-bottom:7px;

    color:#9eadd0;

    font-size:12px;

    font-weight:600;

}

/* campos *****************/
/* ==========================================================
   CAMPOS LOGIN - AJUSTE DE ESPAÇAMENTO
========================================================== */

.input-box{

    width:100%;
    height:55px;

    display:flex;
    align-items:center;

    padding:6px;

    gap:6px;

    border-radius:12px;

    background:#132752;

    border:1px solid transparent;

    transition:.25s;

}


/* Quando clicar no campo */

.input-box:focus-within{

    border-color:#4d70f6;

    box-shadow:
        0 0 0 3px
        rgba(78,111,246,.09);

}


/* ÍCONE ESQUERDO */

.input-icon{

    width:38px;
    height:100%;

    flex:none;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#6680ba;

    font-size:13px;

}


/* CAMPO DE TEXTO */

.input-box input{

    flex:1;

    width:100%;
    height:43px;

    border:none;
    outline:none;

    border-radius:8px;

    padding:0 14px;

    background:#eef4ff;

    color:#17213b;

    font-size:12px;

    transition:.2s;

}


.input-box input::placeholder{

    color:#7b879e;

}


/* Destaque ao digitar */

.input-box input:focus{

    background:#ffffff;

}


/* CHECK DO EMAIL */

.input-check{

    width:30px;
    height:100%;

    flex:none;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#4be399;

    font-size:11px;

}


/* MOSTRAR SENHA */

.show-pass{

    width:32px;
    height:100%;

    flex:none;

    display:flex;
    align-items:center;
    justify-content:center;

    border:none;

    border-radius:7px;

    background:transparent;

    color:#8196c2;

    cursor:pointer;

    transition:.2s;

}


.show-pass:hover{

    color:#ffffff;

    background:rgba(255,255,255,.05);

}

/* ==========================================================
   OPÇÕES
========================================================== */

.login-options{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:5px;

    margin-bottom:24px;

}


.remember{

    display:flex;

    align-items:center;

    gap:7px;

    color:#8193ba;

    font-size:12px;

    cursor:pointer;

}


.remember input{

    width:14px;
    height:14px;

    accent-color:#4b68f6;

}


.forgot{

    color:#d0d8e9;

    font-size:12px;

    text-decoration:none;

}


.forgot:hover{

    color:#ffffff;

}


/* ==========================================================
   BOTÃO LOGIN
========================================================== */

.login-btn{

    width:100%;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    border:none;

    border-radius:10px;

    color:#ffffff;

    font-size:13px;

    font-weight:700;

    cursor:pointer;

    background:

        linear-gradient(
            135deg,
            #536dff,
            #4058ed
        );

    box-shadow:
        0 12px 30px
        rgba(52,79,222,.22);

    transition:.25s;

}


.login-btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 17px 35px
        rgba(52,79,222,.32);

}


.login-btn i{

    transition:.2s;

}


.login-btn:hover i{

    transform:translateX(4px);

}


/* ==========================================================
   DIVISOR
========================================================== */

.divider{

    display:flex;

    align-items:center;

    gap:12px;

    margin:22px 0;

}


.divider span{

    flex:1;

    height:1px;

    background:#1c2c52;

}


.divider p{

    color:#6e82ad;

    font-size:9px;

}


/* ==========================================================
   GOOGLE
========================================================== */

.google-btn{

    width:100%;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    border-radius:9px;

    border:
        1px solid #21345e;

    color:#b6c3df;

    background:#112248;

    font-size:11px;

    font-weight:600;

    cursor:pointer;

    transition:.2s;

}


.google-btn:hover{

    background:#152a56;

    border-color:#31518f;

}


.google-icon{

    width:24px;
    height:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#ffffff;

    color:#4285f4;

    font-size:12px;

    font-weight:800;

}


/* ==========================================================
   CADASTRO
========================================================== */

.create-account{

    margin-top:22px;

    text-align:center;

    color:#7185ae;

    font-size:12px;

}


.create-account button{

    border:none;

    background:transparent;

    color:#6987ff;

    font-size:12px;

    font-weight:700;

    cursor:pointer;

}


/* ==========================================================
   SEGURANÇA
========================================================== */

.security-mobile{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:6px;

    margin-top:25px;

    color:#536b99;

    font-size:12px;

}


.security-mobile i{

    color:#5278d6;

}


/* ==========================================================
   FOOTER
========================================================== */

.form-footer{

    text-align:center;

    color:#52668e;

    font-size:12px;

}


.form-footer span{

    padding:0 5px;

}


/* ==========================================================
   NOTEBOOK
========================================================== */

@media(max-width:1100px){

    .page-login{

        padding:25px;

    }

    .login-card{

        max-width:1000px;

        grid-template-columns:
            46% 54%;

    }

    .login-presentation{

        padding-left:35px;
        padding-right:35px;

    }

    .presentation-content h1{

        font-size:34px;

    }

    .wallet-card{

        left:40px;

    }

}


/* ==========================================================
   MOBILE / TABLET
========================================================== */

@media(max-width:800px){

    body{

        background:#081638;

    }


    .page-login{

        min-height:100vh;

        display:block;

        padding:0;

        background:

            radial-gradient(
                circle at 50% 0%,
                rgba(68,101,235,.18),
                transparent 35%
            ),

            #081638;

    }


    .login-card{

        width:100%;

        max-width:none;

        min-height:100vh;

        display:block;

        border-radius:0;

        box-shadow:none;

        background:transparent;

    }


    /* Esconde apresentação grande */

    .login-presentation{

        display:none;

    }


    .login-form-area{

        width:100%;

        min-height:100vh;

        padding:
            25px 22px
            20px;

        background:transparent;

    }


    .login-top{

        display:none;

    }


    .form-content{

        max-width:480px;

        margin:auto;

    }


    .mobile-logo{

        display:block;

        text-align:center;

        margin-bottom:40px;

    }


    .mobile-logo img{

        max-width:155px;

        max-height:55px;

    }


    .form-header{

        text-align:center;

    }


    .form-header h2{

        font-size:27px;

    }


    .form-header p{

        max-width:330px;

        margin:auto;

    }


    .form-footer{

        margin-top:25px;

        padding-bottom:5px;

    }

}


/* ==========================================================
   CELULAR PEQUENO
========================================================== */

@media(max-width:430px){

    .login-form-area{

        padding:
            22px 18px
            18px;

    }


    .mobile-logo{

        margin-bottom:30px;

    }


    .form-header{

        margin-bottom:25px;

    }


    .form-header h2{

        font-size:25px;

    }


    .input-box{

        height:53px;

    }


    .login-btn{

        height:53px;

    }


    .login-options{

        gap:10px;

    }


    .forgot,
    .remember{

        font-size:9px;

    }

}


/* ==========================================================
   DESKTOP COM POUCA ALTURA
========================================================== */

@media(min-width:801px) and (max-height:760px){

    .page-login{

        padding:20px;

    }


    .login-card{

        min-height:630px;

    }


    .login-form-area{

        min-height:630px;

    }


    .login-presentation{

        padding-top:30px;
        padding-bottom:25px;

    }


    .presentation-content h1{

        font-size:32px;

    }


    .finance-illustration{

        height:210px;

        margin-top:20px;

    }


    .wallet-card{

        height:165px;

    }


    .form-header{

        margin-bottom:20px;

    }


    .form-group{

        margin-bottom:14px;

    }


    .input-box{

        height:50px;

    }


    .login-btn{

        height:50px;

    }


    .divider{

        margin:16px 0;

    }


    .google-btn{

        height:44px;

    }


    .create-account{

        margin-top:15px;

    }


    .security-mobile{

        margin-top:15px;

    }

}