body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    background-color: #f4f7f6; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    margin: 0; 
    min-height: 100vh; 
    padding-top: 50px;
}

.container { 
    margin: 30px auto; 
    width: 350px; 
    background: white; 
    padding: 30px; 
    border-radius: 8px; 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); 
}

h1, h3, h4 { 
    margin: 0; 
    text-transform: uppercase; 
}

h1 { 
    font-size: 32px; 
    letter-spacing: 1px; 
    margin-bottom: 20px; 
}

h2 {
    text-align: center;
    text-transform: uppercase;
}

h3 { 
    border-bottom: 1px solid #bbb; 
    padding-bottom: 10px; 
    margin: 20px 0 10px; 
}

/* Income/Expense Box */
.inc-exp-container { 
    background-color: #fff; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.2); 
    padding: 20px; display: flex; 
    justify-content: space-between; 
    margin-bottom: 20px; 
    border-radius: 5px; 
}

.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 0; 
}

.money.plus { 
    color: #2ecc71; 
}

.money.minus { 
    color: #c0392b; 
}

/* History List */
.list { 
    list-style-type: none; 
    padding: 0; 
    margin-bottom: 40px; 
}

.list li { 
    background-color: #fff; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.2); 
    color: #333; 
    display: flex; 
    justify-content: space-between; 
    position: relative; 
    padding: 10px; 
    margin: 10px 0; 
    border-radius: 3px;
}

.list li.plus { 
    border-right: 5px solid #2ecc71; 
}

.list li.minus { 
    border-right: 5px solid #c0392b; 
}

.delete-btn { 
    cursor: pointer; 
    background-color: #e74c3c; 
    border: 0; color: #fff; 
    font-size: 16px; 
    line-height: 20px; 
    padding: 2px 5px; 
    position: absolute; 
    top: 50%; 
    left: -30px; 
    transform: translate(0, -50%); 
    opacity: 0; 
    transition: opacity 0.3s ease; 
}

.list li:hover .delete-btn { 
    opacity: 1; 
}

/* Form */
label { 
    display: inline-block; 
    margin: 10px 0 5px; 
}

input[type="text"], input[type="number"], input[type="password"]  { 
    border: 1px solid #dedede; 
    border-radius: 3px; 
    display: block; 
    font-size: 16px; 
    padding: 10px; 
    width: 100%; 
    box-sizing: border-box; 
}

.btn { 
    cursor: pointer; 
    background-color: #9c88ff; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.2); 
    color: #fff; 
    border: 0; 
    display: block; 
    font-size: 16px; 
    margin-top: 20px; 
    padding: 10px; width: 100%; 
    border-radius: 3px; 
    transition: 0.2s;
}

.btn:hover { 
    background-color: #7b68ee; 
}