body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.file-upload-container{display:flex;justify-content:center;padding:2rem}.file-upload-area{background-color:#fff;border:2px dashed #ccc;border-radius:12px;cursor:pointer;max-width:600px;padding:3rem;transition:all .3s ease;width:100%}.file-upload-area:hover{background-color:#f8f9fa;border-color:#3498db}.file-upload-area.drag-active{background-color:#e3f2fd;border-color:#3498db}.file-upload-area.loading{cursor:not-allowed;opacity:.7}.file-input{display:none}.upload-content{text-align:center}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-content h3{color:#2c3e50;margin-bottom:.5rem}.upload-content p{color:#666;margin-bottom:1.5rem}.file-format-info{background-color:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin:1rem 0;padding:1rem}.file-format-info p{margin:.5rem 0}.file-format-info code{background-color:#e9ecef;border-radius:4px;font-family:monospace;padding:.2rem .4rem}.upload-button{background-color:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:background-color .3s ease}.upload-button:hover{background-color:#2980b9}.upload-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.transaction-list{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.transaction-controls{background-color:#f8f9fa;border-bottom:1px solid #eee;display:flex;gap:2rem;padding:1.5rem}.filter-controls,.sort-controls{align-items:center;display:flex;gap:.5rem}.filter-controls label,.sort-controls label{color:#2c3e50;font-size:.9rem;font-weight:700}.filter-controls select,.sort-controls select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.transaction-table{width:100%}.transaction-header{grid-gap:1rem;background-color:#2c3e50;color:#fff;display:grid;font-size:.9rem;font-weight:700;gap:1rem;grid-template-columns:1fr 2fr 1fr 1fr;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase}.transaction-body{max-height:600px;overflow-y:auto}.transaction-row{grid-gap:1rem;align-items:center;border-bottom:1px solid #eee;display:grid;gap:1rem;grid-template-columns:1fr 2fr 1fr 1fr;padding:1rem 1.5rem;transition:background-color .2s ease}.transaction-row:hover{background-color:#f8f9fa}.transaction-row:last-child{border-bottom:none}.transaction-date{color:#666;font-size:.9rem}.transaction-description{color:#2c3e50;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tag{background-color:#ecf0f1;border-radius:20px;color:#2c3e50;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.transaction-amount{font-size:.9rem;font-weight:700;text-align:right}.transaction-amount.positive{color:#27ae60}.transaction-amount.negative{color:#e74c3c}.transaction-footer{background-color:#f8f9fa;border-top:1px solid #eee;color:#666;font-size:.9rem;padding:1rem 1.5rem;text-align:center}@media (max-width:768px){.transaction-header,.transaction-row{gap:.5rem;grid-template-columns:1fr}.transaction-header div,.transaction-row div{text-align:left}.transaction-amount{text-align:left!important}.transaction-controls{flex-direction:column;gap:1rem}.summary-cards{grid-template-columns:1fr}}.charts-container{margin:20px 0}.charts-container h2{color:#333;margin-bottom:20px;text-align:center}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:20px}.chart-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.chart-card h3{color:#333;font-size:1.2em;margin-bottom:15px;text-align:center}.custom-tooltip{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 5px #0000001a;padding:10px}.custom-tooltip .label{color:#333;font-weight:700;margin:0 0 5px}.custom-tooltip .value{color:#0088fe;font-size:1.1em;font-weight:700;margin:0}.custom-tooltip .count{color:#666;font-size:.9em;margin:5px 0 0}@media (max-width:768px){.charts-grid{grid-template-columns:1fr}.chart-card{padding:15px}}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;text-align:center;transition:transform .2s ease}.summary-card:hover{transform:translateY(-2px)}.summary-card h4{color:#666;font-size:.9rem;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.amount{font-size:2rem;font-weight:700;margin-bottom:.5rem}.amount.positive{color:#27ae60}.amount.negative{color:#e74c3c}.summary-card.income{border-left:5px solid #27ae60}.summary-card.expenses{border-left:5px solid #e74c3c}.summary-card.net{border-left:5px solid #3498db}.summary-card.categories{border-left:5px solid #9b59b6;text-align:left}.category-list{margin-top:1rem}.category-item{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.5rem 0}.category-item:last-child{border-bottom:none}.category-name{color:#2c3e50;font-size:.9rem}.category-amount{color:#e74c3c;font-size:.9rem;font-weight:700}.ai-insights-container{margin:20px 0}.ai-insights-container h2{color:#333;font-size:1.5em;margin-bottom:20px;text-align:center}.insights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.insight-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.insight-group-title{border-bottom:2px solid #dee2e6;color:#495057;font-size:1.1em;font-weight:600;margin-bottom:15px;padding-bottom:8px}.insight-card{background:#fff;border-left:4px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:12px;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.insight-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.insight-card:last-child{margin-bottom:0}.severity-high{background:linear-gradient(135deg,#fff5f5,#fff);border-left-color:#dc3545}.severity-medium{background:linear-gradient(135deg,#fffdf5,#fff);border-left-color:#ffc107}.severity-positive{background:linear-gradient(135deg,#f8fff8,#fff);border-left-color:#28a745}.severity-info{background:linear-gradient(135deg,#f5fbff,#fff);border-left-color:#17a2b8}.insight-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.insight-icon{flex-shrink:0;font-size:1.2em}.insight-title{color:#333;flex:1 1;font-size:1em;font-weight:600;margin:0}.insight-amount{background:#f8f9fa;border-radius:4px;color:#6c757d;font-size:.9em;font-weight:600;padding:4px 8px}.insight-message{color:#555;line-height:1.4;margin:0 0 10px}.insight-recommendation{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;font-size:.9em;margin-top:10px;padding:10px}.insight-recommendation strong{color:#333}@media (max-width:768px){.insights-grid{grid-template-columns:1fr}.insight-group{padding:15px}.insight-card{padding:12px}.insight-header{align-items:flex-start;flex-direction:column;gap:5px}.insight-amount{align-self:flex-end}}.dashboard{margin:0 auto;max-width:1200px;padding:0 1rem}.dashboard-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-header h2{color:#2c3e50;margin:0}.reset-button{background-color:#95a5a6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.reset-button:hover{background-color:#7f8c8d}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem}.transactions-section h3{color:#2c3e50;margin-bottom:1rem}.App{background-color:#f5f5f5;min-height:100vh;text-align:center}.App-header{background-color:#2c3e50;color:#fff;padding:2rem}.App-header h1{font-size:2.5rem;margin:0 0 .5rem}.App-header p{margin:0;opacity:.9}.App-main{padding:2rem}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;margin:1rem auto;max-width:600px;padding:1rem}.error-message h3{margin-top:0}.error-message button{background-color:#c00;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.error-message button:hover{background-color:#a00}
/*# sourceMappingURL=main.273cacec.css.map*/