:root{
    --box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
    --default-font-family : 'Lato', sans-serif;
}

*{
    box-sizing: border-box;
}

@keyframes fading {
    0%{
        opacity: 0;
    }
    20%{
        opacity: 0;
    }
    40%{
        opacity: .3;
    }
    60%{
        opacity: .4;
    }
    100%{
        opacity: .9;
    }
}

body{
    background-color: #f7f7f7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
    font-family: var(--default-font-family);
    position: relative;
}
.container{
    margin: 30px auto;
    width: 350px;
}
h1{
    letter-spacing: 1px;
    margin: 0;
}
h3{
    border-bottom: 1px solid #bbb;
    padding-bottom: 10px;
    margin: 40px 0 10px;
}
h4{
    margin: 0;
    text-transform: uppercase;
}
.inc-exp-container{
    background-color:#fff;
    box-shadow: var(--box-shadow);
    padding: 20px;
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
}
.inc-exp-container>div{
    flex: 1;
    text-align: center;
}
.inc-exp-container>div:first-of-type{
    border-right: 1px solid #dedede;
}
.money{
    font-size: 20px;
    letter-spacing: 1px;
    margin: 5px 0;
}
.money.plus{
    color:#2ecc71;
}
.money.minus{
    color: #c0392b;
}
label{
    display: inline-block;
    margin: 10px 0;
}

input[type="text"],input[type="number"]{
    border: 1px solid #dedede;
    border-radius: 2px;
    display:block;
    font-size: 16px;
    padding: 10px;
    width:100%;
}
input:focus{
    outline: none;
}
.btn:focus, .delete-btn:focus{
    outline: 0;
}
.btn{
    background-color: #9c88ff;
    box-shadow: var(--box-shadow);
    color: #fff;
    border: none;
    display: block;
    font-size:16;
    margin: 10px 0 30px;
    padding: 10px;
    width:100%;
}
/* .form-control:has(> input:placeholder-shown) ~ .btn{
    background-color: #fff;
} */
/* #544179 */
.list{
    list-style-type: none;
    padding: 0;
}
.list li{
    background-color: #fff;
    box-shadow: var(--box-shadow);
    color:#333;
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 10px;
    margin: 10px 0;
}

.list li.plus{
    border-right: 5px solid #2ecc71;
}
.list li.minus{
    border-right: 5px solid #c0392b;
}
.delete-btn{
    background-color: #e44c3c;
    border: none;
    color: #fff;
    font-size: 20px;
    line-height: 20px;
    padding: 2px 5px;
    position: absolute;
    top: 50%;
    left:0;
    transform: translate(-100%,-50%);
    opacity: 0;
    transition: opacity .3s ease-in-out;
}
 .list li:hover .delete-btn{
     opacity: 1;
     cursor: pointer;
 }


 .valid{
     background-color: #544179  ;
     cursor: pointer;
 }
 .popup{
     position: fixed;
     bottom: 0;
     left: 50%;
     transform: translate(-50%);
     width: 300px;
     margin-bottom: -58px;
     background-color: rgba(81, 52, 114, 0.7);
     border-top-right-radius: 5px;
     border-top-left-radius: 5px;
     text-align: center;
     color: #F3F1F5;
     transition: transform .3s ease-in-out;
     opacity: 0;
    
 }
 .popup h3{
     border:none;
     margin: 20px 0 5px;
 }
 .show{
    transform: translate(-50%,-58px);
    opacity: 1;
    
 }