body{font-family:Segoe UI,Tahoma,sans-serif;background:linear-gradient(to right,#eef2ff,#f8fafc);margin:0}.container{padding:25px;max-width:1100px;margin:auto}.title{font-size:34px;font-weight:700;text-align:center;margin-bottom:25px;background:linear-gradient(135deg,#3b82f6,#6366f1);-webkit-background-clip:text;color:transparent}.cards{display:flex;gap:20px;margin:20px 0}.card{flex:1;padding:25px;border-radius:16px;color:#fff;font-weight:700;text-align:center;font-size:18px;transition:all .2s ease-in-out;box-shadow:0 6px 15px #0000001a}.card span{display:block;font-size:24px;margin-top:10px}.card:hover{transform:translateY(-5px)}.income{background:linear-gradient(135deg,#22c55e,#16a34a)}.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}.balance{background:linear-gradient(135deg,#3b82f6,#2563eb)}.section{margin-top:35px;background:#fff;padding:15px;border-radius:12px;box-shadow:0 4px 10px #0000000d}.section h2{color:#1e293b;margin-bottom:15px}input,select{padding:8px 12px;border-radius:8px;border:1px solid #cbd5f5;outline:none;margin-right:10px;transition:.2s}input:focus,select:focus{border-color:#3b82f6;box-shadow:0 0 5px #3b82f64d}.table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 15px #0000000d}.table-header,.table-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:12px 15px}.table-header{font-weight:700;background:#f1f5f9}.table-row{border-top:1px solid #f0f0f0}.table-row:hover{background:#f9fafb}.green{color:#22c55e;font-weight:700}.red{color:#ef4444;font-weight:700}.empty{padding:15px;text-align:center;color:#64748b;font-style:italic}button{margin-top:15px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 18px;border-radius:10px;cursor:pointer;font-weight:700;transition:.2s}button:hover{transform:scale(1.05)}.role-switcher{display:flex;align-items:center;gap:10px;margin-bottom:20px}.role-switcher label{font-weight:700;color:#1e293b}.role-switcher select{background:#f8fafc}*{transition:all .2s ease-in-out}@media (max-width: 768px){.cards{flex-direction:column}.table-header,.table-row{grid-template-columns:1fr 1fr}}
