*{box-sizing:border-box;margin:0;padding:0}body{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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}#root{width:100%;max-width:1200px}.app-container{background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 60px #0000004d}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.app-header h1{font-size:32px;font-weight:700;color:#1a202c}.user-info{display:flex;align-items:center;gap:16px}.btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){box-shadow:0 4px 12px #0000001a}.btn-danger{background:#fc8181;color:#fff}.btn-danger:hover:not(:disabled){background:#f56565;box-shadow:0 4px 12px #fc818166}.view-toggle{display:flex;gap:12px;margin-bottom:24px}.welcome-screen{text-align:center;padding:60px 20px}.welcome-screen h1{font-size:42px;margin-bottom:16px;color:#1a202c}.welcome-screen p{font-size:18px;color:#4a5568;margin-bottom:32px}.upload-section{max-width:800px;margin:0 auto}.upload-section h2{font-size:24px;margin-bottom:12px;color:#1a202c}.upload-section>p{color:#4a5568;margin-bottom:24px}.upload-box{border:2px dashed #cbd5e0;border-radius:12px;padding:48px;text-align:center;margin-bottom:32px;transition:border-color .2s}.upload-box:hover{border-color:#667eea}.upload-label{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upload-label:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.csv-format-help{background:#f7fafc;padding:24px;border-radius:8px;margin-bottom:24px}.csv-format-help h3{font-size:18px;margin-bottom:16px;color:#1a202c}.csv-format-help ul{list-style:none;padding-left:0}.csv-format-help li{margin-bottom:12px;color:#4a5568;padding-left:24px;position:relative}.csv-format-help li:before{content:"•";position:absolute;left:8px;color:#667eea;font-weight:700}.csv-format-help pre{background:#fff;padding:12px;border-radius:4px;margin-top:8px;overflow-x:auto;font-size:12px;border:1px solid #e2e8f0}.existing-data-notice{background:#fef5e7;border:1px solid #f9e79f;padding:16px;border-radius:8px;text-align:center}.existing-data-notice p{margin-bottom:12px;color:#4a5568}.error-message{background:#fff5f5;border:1px solid #fc8181;color:#c53030;padding:16px;border-radius:8px;margin-bottom:24px}.dashboard{max-width:1200px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:12px;text-align:center}.stat-card h3{font-size:14px;font-weight:500;margin-bottom:8px;opacity:.9}.stat-value{font-size:32px;font-weight:700}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.chart-container{background:#f7fafc;padding:24px;border-radius:12px}.chart-container h3{font-size:18px;margin-bottom:16px;color:#1a202c}.transactions-section{margin-bottom:32px}.transactions-section h3{font-size:20px;margin-bottom:16px;color:#1a202c}.transactions-list{background:#f7fafc;border-radius:12px;padding:16px}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:8px;margin-bottom:12px;transition:transform .2s}.transaction-item:hover{transform:translate(4px)}.transaction-item:last-child{margin-bottom:0}.transaction-info{display:flex;flex-direction:column;gap:4px;flex:1}.transaction-desc{font-weight:600;color:#1a202c;font-size:14px}.transaction-category{font-size:12px;color:#667eea;font-weight:500}.transaction-date{font-size:12px;color:#a0aec0}.transaction-amount{font-size:18px;font-weight:700;color:#fc8181}.ai-section{margin-bottom:32px}.ai-insights{margin-top:24px;padding:24px;background:#f0f4ff;border-radius:12px;border-left:4px solid #667eea}.ai-insights h3{font-size:20px;margin-bottom:16px;color:#1a202c}.insights-content p{color:#4a5568;line-height:1.8;margin-bottom:12px}.insights-content p:last-child{margin-bottom:0}.actions-section{text-align:center;padding-top:24px;border-top:1px solid #e2e8f0}.loading{text-align:center;padding:40px;color:#4a5568}.empty-state{text-align:center;padding:60px 20px;color:#a0aec0}.empty-state p{font-size:18px;margin-bottom:24px}@media (max-width: 768px){.app-header{flex-direction:column;align-items:flex-start}.charts-section,.stats-grid{grid-template-columns:1fr}.transaction-item{flex-direction:column;align-items:flex-start;gap:8px}.transaction-amount{align-self:flex-end}}
