body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard{min-height:100vh;background:linear-gradient(135deg,#eef2ff,#ede9fe,#fce7f3);font-family:Inter,sans-serif;color:#374151;padding:2rem}.glass-card{background:#ffffffb3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:1rem;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 20px #0000000d;transition:all .3s ease;padding:1rem}.glass-card:hover{transform:translateY(-5px);background:#ffffffd9}.hero-card{background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);color:#fff;border-radius:2rem;padding:2rem;margin-bottom:2rem;position:relative}.hero-card h1{font-size:2rem;font-weight:700}.hero-stats{margin-top:1rem}.total-spent{font-size:2rem;font-weight:700}.label{font-size:.9rem;opacity:.8}.metrics-grid{display:flex;gap:1rem;flex-wrap:wrap}.metric-card{display:flex;gap:1rem;align-items:center;padding:1rem;flex:1}.icon-wrapper{padding:.5rem;border-radius:.5rem;color:#fff}.metric-text h3{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.metric-text .value{font-size:1.5rem;font-weight:700}.subtitle{font-size:.8rem;display:flex;align-items:center;gap:.25rem}.status-icon.up{color:#10b981}.status-icon.down{color:#ef4444}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.chart-container.full-width{grid-column:span 2;width:100%;max-width:100%}.chart-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #E5E7EB}.chart-header h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.chart-icon{width:1.25rem;height:1.25rem;color:#6366f1}.expense-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:.75rem;background:#ffffffb3;margin-bottom:.5rem;transition:all .3s ease;border:1px solid rgba(255,255,255,.3)}.expense-card:hover{background:#ffffffd9;box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}.expense-left{display:flex;gap:.75rem;align-items:center}.category-circle{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;font-size:.875rem;box-shadow:0 2px 4px #0000001a}.expense-details{display:flex;flex-direction:column;gap:.25rem}.desc{font-weight:500;color:#111827;font-size:.875rem}.meta{font-size:.75rem;color:#6b7280;display:flex;align-items:center;gap:.5rem}.amount{font-weight:700;color:#111827;font-size:1rem}.custom-tooltip{background:#ffffffe6;padding:.5rem 1rem;border-radius:.5rem;border:1px solid #E5E7EB}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:50vh}.spinner{width:4rem;height:4rem;border:4px solid #6366F1;border-top:4px solid #8B5CF6;border-radius:50%;animation:spin 1s linear infinite}.spinner-icon{position:absolute;font-size:1.5rem;color:#6366f1;animation:pulse 1.5s infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.empty-state{text-align:center;padding:2rem}.empty-icon{width:2rem;height:2rem;color:#6366f1;margin-bottom:1rem}.empty-state button{padding:.5rem 1rem;border:none;border-radius:.75rem;background:linear-gradient(90deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;transition:.3s ease}.empty-state button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.expenses-container{display:flex;flex-direction:column;gap:24px;font-family:Arial,sans-serif}.header{display:flex;justify-content:space-between;align-items:center}.header p{color:#555}.button-primary{background:linear-gradient(90deg,#6366f1,#8b5cf6);color:#fff;padding:12px 24px;border-radius:12px;border:none;cursor:pointer;display:flex;align-items:center;gap:8px}.card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:16px;transition:all .3s ease}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:500;margin-right:8px}.badge.Food{background-color:#d1fae5;color:#065f46}.badge.Bills{background-color:#fee2e2;color:#991b1b}.badge.Entertainment{background-color:#ede9fe;color:#5b21b6}.badge.Transport{background-color:#dbeafe;color:#1e40af}.badge.Other{background-color:#f3f4f6;color:#374151}.input,.select{width:100%;padding:10px;border-radius:12px;border:1px solid #ccc;margin-top:4px}.input:focus,.select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.message-success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:12px;border-radius:12px}.message-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px;border-radius:12px}.budget-container{display:flex;flex-direction:column;gap:24px;font-family:Arial,sans-serif}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header h1{font-size:2rem;font-weight:700}.header p{color:#555;font-size:1rem}.button-primary{background:linear-gradient(90deg,#4f46e5,#8b5cf6);color:#fff;padding:12px 24px;border-radius:12px;border:none;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.button-primary:hover{box-shadow:0 4px 16px #00000026}.button-secondary{background:#e5e7eb;color:#374151;padding:12px 24px;border-radius:12px;border:none;font-weight:500;cursor:pointer;transition:all .3s ease}.button-secondary:hover{background:#d1d5db}.card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:24px;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.card-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.card-header .icon{background:linear-gradient(135deg,#60a5fa,#2563eb);border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:center;color:#fff}.card-header .title{font-size:.9rem;color:#555}.card-header .amount{font-size:2rem;font-weight:700;color:#111827}.progress-container{width:100%;background:#e5e7eb;border-radius:12px;height:24px;overflow:hidden;margin-bottom:12px}.progress-bar{height:100%;border-radius:12px;transition:width .5s ease}.progress-green{background:#22c55e}.progress-yellow{background:#facc15}.progress-red{background:#ef4444}.form-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 12px #0000000d}.input,.input:focus{width:100%;padding:12px;border-radius:12px;border:1px solid #d1d5db;margin-top:4px;font-size:1rem}.input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.message-success{background:#dcfce7;color:#166534;padding:16px;border-radius:12px}.message-error{background:#fee2e2;color:#991b1b;padding:16px;border-radius:12px}.budget-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.tip-card{display:flex;gap:12px;align-items:flex-start}.tip-card .icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.tip-card .text h4{font-size:.95rem;font-weight:500}.tip-card .text p{font-size:.85rem;color:#555}
