*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}body{color:#333;background-color:#f0f2f5}.app{max-width:900px;min-height:100vh;margin:0 auto;padding:2rem}.app h1{color:#0000;background:linear-gradient(90deg,#009dff,#f0f);-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.expense-total{background:#1a1a2e;border-left:4px solid #009dff;border-radius:1rem;flex-direction:column;gap:.3rem;margin-bottom:2rem;padding:1.5rem 2rem;display:inline-flex}.expense-total h2{color:#fff9;text-transform:uppercase;letter-spacing:1px;font-size:.85rem;font-weight:500}.expense-total span{color:#fff;font-size:2.2rem;font-weight:700}.expense-form{background:#fff;border-radius:1rem;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 12px #00000014}.expense-form h2{color:#333;margin-bottom:1.2rem;font-size:1.1rem;font-weight:600}.expense-form input,.expense-form select{border:2px solid #eee;border-radius:.6rem;outline:none;width:100%;margin-bottom:1rem;padding:.8rem 1rem;font-family:Poppins,sans-serif;font-size:.95rem;transition:all .2s}.expense-form input:focus,.expense-form select:focus{border-color:#009dff}.expense-form button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#009dff,#f0f);border:none;border-radius:.6rem;width:100%;padding:.9rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;transition:all .3s}.expense-form button:hover{opacity:.9;transform:translateY(-2px)}.expense-list{flex-direction:column;gap:.8rem;display:flex}.empty-list{text-align:center;color:#999;background:#fff;border-radius:1rem;padding:3rem}.expense-item{background:#fff;border-left:4px solid #0000;border-radius:1rem;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000f}.expense-item:hover{border-left-color:#009dff;transform:translate(4px)}.expense-info{flex-direction:column;gap:.3rem;display:flex}.expense-info h3{color:#333;font-size:1rem;font-weight:600}.category{color:#fff;text-transform:capitalize;background:linear-gradient(90deg,#009dff,#f0f);border-radius:3rem;width:fit-content;padding:.2rem .7rem;font-size:.75rem;font-weight:500;display:inline-block}.date{color:#999;font-size:.8rem}.expense-right{align-items:center;gap:1.5rem;display:flex}.amount{color:#1a1a2e;font-size:1.1rem;font-weight:700}.delete-btn{color:#ff4757;cursor:pointer;background:0 0;border:2px solid #ff4757;border-radius:3rem;padding:.4rem 1rem;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500;transition:all .2s}.delete-btn:hover{color:#fff;background:#ff4757}@media (width<=600px){.app{padding:1rem}.expense-item{flex-direction:column;align-items:flex-start;gap:1rem}.expense-right{justify-content:space-between;width:100%}}.filter-bar{margin-bottom:1.5rem}.filter-select{cursor:pointer;background:#fff;border:2px solid #eee;border-radius:.6rem;outline:none;padding:.7rem 1.2rem;font-family:Poppins,sans-serif;font-size:.95rem;transition:all .2s}.filter-select:focus{border-color:#009dff}.ai-summary{background:#fff;border-radius:1rem;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 12px #00000014}.ai-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ai-header h2{color:#333;font-size:1.1rem;font-weight:600}.ai-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#009dff,#f0f);border:none;border-radius:.6rem;padding:.6rem 1.2rem;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;transition:all .3s}.ai-btn:hover{opacity:.9;transform:translateY(-2px)}.ai-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-loading{text-align:center;color:#009dff;padding:1rem;font-size:.95rem}.ai-error{color:#ff4757;background:#ff475714;border-left:4px solid #ff4757;border-radius:.6rem;padding:1rem;font-size:.9rem}.ai-result{color:#333;background:#009dff0d;border-left:4px solid #009dff;border-radius:.6rem;padding:1.2rem;font-size:.95rem;line-height:1.7}.auth-container{background:#f0f2f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-box{background:#fff;border-radius:1rem;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 4px 24px #0000001a}.auth-box h1{color:#0000;background:linear-gradient(90deg,#009dff,#f0f);-webkit-background-clip:text;background-clip:text;margin-bottom:.3rem;font-size:1.8rem;font-weight:700}.auth-subtitle{color:#999;margin-bottom:1.5rem;font-size:.9rem}.auth-box form{flex-direction:column;gap:1rem;display:flex}.auth-box input{border:2px solid #eee;border-radius:.6rem;outline:none;padding:.8rem 1rem;font-family:Poppins,sans-serif;font-size:.95rem;transition:all .2s}.auth-box input:focus{border-color:#009dff}.auth-box button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#009dff,#f0f);border:none;border-radius:.6rem;margin-top:.5rem;padding:.9rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;transition:all .3s}.auth-box button:hover{opacity:.9;transform:translateY(-2px)}.auth-box button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-error{color:#ff4757;background:#ff475714;border-left:4px solid #ff4757;border-radius:.6rem;margin-bottom:1rem;padding:.8rem 1rem;font-size:.9rem}.auth-switch{text-align:center;color:#999;margin-top:1.5rem;font-size:.9rem}.auth-switch span{color:#009dff;cursor:pointer;font-weight:500}.auth-switch span:hover{text-decoration:underline}.app-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.user-info{align-items:center;gap:1rem;display:flex}.user-info span{color:#555;font-size:.95rem;font-weight:500}.logout-btn{color:#ff4757;cursor:pointer;background:0 0;border:2px solid #ff4757;border-radius:3rem;padding:.5rem 1.2rem;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;transition:all .2s}.logout-btn:hover{color:#fff;background:#ff4757}
