@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 20px;
    background:linear-gradient(135deg,#edf4ff,#eaf2ff,#dbeaff);
    overflow-x:hidden;
    overflow-y:auto;
}

/************************************************/
/* FOND */
/************************************************/

.background{
    position:fixed;
    inset:0;
    overflow:hidden;
    z-index:-1;
}

.circle{
    position:absolute;
    border-radius:50%;
    background:rgba(37,99,235,.08);
    filter:blur(10px);
}

.one{
    width:550px;
    height:550px;
    left:-180px;
    bottom:-180px;
}

.two{
    width:700px;
    height:700px;
    top:-220px;
    right:-180px;
}

.three{
    width:320px;
    height:320px;
    right:100px;
    bottom:-100px;
}

/************************************************/
/* CARTE */
/************************************************/

.login-card{

    width:850px;
    max-width:95%;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(10px);

    border-radius:30px;

    padding:50px 60px;

    box-shadow:
    0 20px 50px rgba(37,99,235,.12),
    0 5px 15px rgba(0,0,0,.05);

    animation:fade .8s ease;
}

@keyframes fade{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/************************************************/
/* LOGO */
/************************************************/

.logo{

    width:95px;
    height:95px;

    margin:0 auto 25px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:linear-gradient(135deg,#2f6df5,#5b8bff);

    color:#fff;

    font-size:42px;

    position:relative;

    box-shadow:0 12px 30px rgba(47,109,245,.30);

}

.logo::before{

    content:"";

    position:absolute;

    width:115px;
    height:115px;

    border-radius:50%;

    border:10px solid rgba(47,109,245,.10);

}

/************************************************/
/* TITRE */
/************************************************/

h1{

    text-align:center;

    font-size:32px;

    color:#20418d;

    font-weight:700;

    letter-spacing:.5px;

    line-height:1.4;

    margin-bottom:10px;

}

.login-card p{

    text-align:center;

    color:#7b879e;

    font-size:16px;

    margin-bottom:30px;

}

.line{
    display:none;
}

/************************************************/
/* MESSAGE */
/************************************************/

.error{

    background:#ffe8e8;

    color:#d62828;

    padding:15px;

    border-radius:12px;

    margin-bottom:25px;

    font-weight:500;

}

/************************************************/
/* INPUT */
/************************************************/

.input-group{

    position:relative;

    margin-bottom:22px;

}

.input-group i{

    position:absolute;

    left:25px;

    top:50%;

    transform:translateY(-50%);

    font-size:20px;

    color:#2f6df5;

}

.input-group input{

    width:100%;

    height:64px;

    border:1px solid #dbe6ff;

    border-radius:18px;

    background:#f8fbff;

    padding-left:65px;

    padding-right:60px;

    font-size:17px;

    transition:.35s;

}

.input-group input::placeholder{

    color:#9da9bf;

}

.input-group input:focus{

    outline:none;

    background:#fff;

    border-color:#2f6df5;

    box-shadow:0 0 18px rgba(47,109,245,.18);

}

/************************************************/
/* OEIL */
/************************************************/

#togglePassword{

    position:absolute;

    top:50%;

    right:22px;

    transform:translateY(-50%);

    cursor:pointer;

    color:#7d8aa5;

    transition:.3s;

}

#togglePassword:hover{

    color:#2f6df5;

}

/************************************************/
/* BOUTON */
/************************************************/

.btn-login{

    width:320px;

    max-width:100%;

    height:60px;

    margin:40px auto 0;

    border:none;

    border-radius:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    background:linear-gradient(135deg,#2f6df5,#5b8bff);

    color:#fff;

    font-size:18px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 15px 30px rgba(47,109,245,.30);

}

.btn-login:hover{

    transform:translateY(-4px);

    box-shadow:0 22px 40px rgba(47,109,245,.35);

}

.btn-login:active{

    transform:scale(.98);

}

/************************************************/
/* RESPONSIVE */
/************************************************/

@media(max-width:768px){

.login-card{

    padding:35px 25px;

    border-radius:25px;

}

.logo{

    width:80px;
    height:80px;
    font-size:34px;

}

.logo::before{

    width:100px;
    height:100px;

}

h1{

    font-size:24px;

}

.login-card p{

    font-size:15px;

}

.input-group input{

    height:58px;

    font-size:16px;

}

.btn-login{

    width:100%;

}

}
/* ==========================
   VERSION MOBILE
========================== */

@media screen and (max-width:768px){


body{
    font-size:14px;
}


/* conteneur principal */

.container,
.page-site{
    width:100%;
    padding:15px;
}



/* menu */

.menu-rond{
    display:flex;
    flex-direction:column;
    gap:15px;
}


.menu-rond a{
    width:90%;
    margin:auto;
}



/* cartes dashboard */

.stats,
.finances{
    display:flex;
    flex-direction:column;
    gap:15px;
}


.card,
.finance-card{
    width:100%;
}



/* tableaux */

table{
    width:100%;
    display:block;
    overflow-x:auto;
}



/* boutons */

button,
.btn,
a{
    min-height:45px;
}



/* titres */

h1{
    font-size:22px;
}


h2{
    font-size:18px;
}


}