*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI;}

body{
background:linear-gradient(135deg,#4e73df,#1cc88a);
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
}

.container{
background:#fff;
width:95%;
max-width:420px;
padding:25px;
border-radius:20px;
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

h1{text-align:center;margin-bottom:20px;}

.balance-card{
padding:25px;
border-radius:20px;
text-align:center;
margin-bottom:20px;
color:#fff;
box-shadow:0 15px 35px rgba(0,0,0,.2);
}

.balance-label{
font-size:14px;
opacity:.9;
letter-spacing:1px;
}

.balance-amount{
font-size:32px;
font-weight:bold;
margin-top:8px;
}

.positive{
background:linear-gradient(135deg,#00c853,#1cc88a);
box-shadow:0 0 25px rgba(0,200,83,.6);
}

.negative{
background:linear-gradient(135deg,#d50000,#e74a3b);
box-shadow:0 0 25px rgba(213,0,0,.6);
}

.summary{
background:#f8f9fc;
padding:15px;
border-radius:12px;
margin-bottom:20px;
font-size:14px;
}

input,select{
width:100%;
padding:12px;
margin-top:10px;
border-radius:12px;
border:1px solid #ddd;
}

button{
width:100%;
padding:12px;
margin-top:15px;
border-radius:12px;
border:none;
font-weight:bold;
cursor:pointer;
}

.success-btn{background:#1cc88a;color:#fff;}
.primary-btn{background:#4e73df;color:#fff;}
.plus-btn{background:#f8f9fc;border:1px dashed #4e73df;}
.back-btn{background:#eee;}

.undo-box{
margin-top:15px;
background:#fff3cd;
padding:10px;
border-radius:10px;
text-align:center;
font-size:14px;
}
