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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background-color:#f4f7f6;color:#333;font-family:Inter,sans-serif;margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background-color:#2c3e50;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.app-header h1{font-size:1.8rem;margin:0}.app-header nav button{background-color:#34495e;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-left:10px;padding:.7rem 1.2rem;transition:background-color .3s ease}.app-header nav button:hover{background-color:#1abc9c}.app-header nav button.active{background-color:#1abc9c;font-weight:700}.app-header-actions{align-items:center;display:flex;gap:1rem}.alerts-inbox{position:relative}.alerts-inbox-trigger{align-items:center;background-color:#34495e;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;justify-content:center;padding:.7rem .9rem;position:relative;transition:background-color .3s ease}.alerts-inbox-trigger:hover{background-color:#1abc9c}.alerts-badge{background-color:#e74c3c;border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:-6px;text-align:center;top:-6px}.alerts-panel{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000002e;color:#333;max-height:420px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px;z-index:1100}.alerts-panel-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.alerts-mark-all{background:none;border:none;color:#1abc9c;cursor:pointer;font-size:.85rem;padding:0}.alerts-mark-all:hover{text-decoration:underline}.alerts-empty{color:#777;margin:0;padding:20px 16px}.alerts-list{list-style:none;margin:0;max-height:340px;overflow-y:auto;padding:0}.alert-item{background:#fff;border:none;border-bottom:1px solid #eee;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;text-align:left;width:100%}.alert-item.unread{background-color:#fff8f0;font-weight:600}.alert-item.read{color:#666}.alert-item:hover{background-color:#f4f7f6}.alert-message{font-size:.95rem}.alert-meta{align-items:center;color:#888;display:flex;font-size:.8rem;gap:8px}.alert-unread-dot{background-color:#e74c3c;border-radius:50%;display:inline-block;height:8px;width:8px}.alert-outcome-id{color:#999;font-size:.75rem;word-break:break-all}.app-main{background-color:#ecf0f1;flex-grow:1;padding:2rem}.analytics-container,.dashboard-container,.finance-container,.history-container,.review-container,.rules-container,.upload-container{background-color:#fff;border-radius:8px;box-shadow:0 0 15px #0000000d;margin-bottom:20px;padding:2rem}h2{border-bottom:2px solid #eee;color:#2c3e50;margin-bottom:1.5rem;margin-top:0;padding-bottom:10px}h3{color:#34495e;margin-bottom:1rem;margin-top:1.5rem}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dashboard-card{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 8px #0000000d;padding:1.5rem;text-align:center;transition:transform .2s ease-in-out}.dashboard-card.clickable:hover{cursor:pointer;transform:translateY(-5px)}.dashboard-card h3{color:#34495e;font-size:1.2rem;margin-top:0}.dashboard-card p{color:#1abc9c;font-size:2.5rem;font-weight:700;margin:.5rem 0}.dashboard-card.full-width{grid-column:1/-1;padding:2rem;text-align:left}.chart-container{height:400px;position:relative;width:100%}.upload-container input[type=file]{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;max-width:400px;padding:10px;width:100%}.upload-container button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:15px;padding:10px 20px;transition:background-color .3s ease}.upload-container button:hover:not(:disabled){background-color:#218838}.upload-container button:disabled{background-color:#ccc;cursor:not-allowed}.upload-message{background-color:#e2f0e0;border:1px solid #28a745;border-radius:5px;color:#28a745;margin-top:15px;padding:10px}.outcome-list{list-style:none;padding:0}.outcome-item{align-items:center;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000008;display:flex;justify-content:space-between;margin-bottom:10px;padding:1rem}.outcome-item input[type=text],.outcome-item select{border:1px solid #ccc;border-radius:5px;min-width:150px;padding:8px}.outcome-item button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:8px 12px;transition:background-color .3s ease}.outcome-item button:hover:not(:disabled){background-color:#0056b3}.outcome-item button:disabled{background-color:#ccc;cursor:not-allowed}.add-rule-form{background-color:#f0f4f7;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:1.5rem}.add-rule-form form{display:flex;flex-wrap:wrap;gap:10px}.add-outcome-form input[type=date],.add-outcome-form input[type=text],.add-outcome-form select,.add-rule-form input[type=text]{border:1px solid #ccc;border-radius:5px;flex:1 1;min-width:150px;padding:10px}.add-outcome-form button,.add-rule-form button{background-color:#1abc9c;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s ease}.add-outcome-form button:hover,.add-rule-form button:hover{background-color:#16a085}.rule-list{list-style:none;padding:0}.rule-item{align-items:center;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000008;display:flex;justify-content:space-between;margin-bottom:10px;padding:1rem}.rule-item span{margin-right:15px}.rule-item button{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:8px 12px;transition:background-color .3s ease}.rule-item button:hover{background-color:#c0392b}.analytics-section-filter{align-items:center;background-color:#f0f4f7;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px}.analytics-section-filter label{font-weight:700;margin-right:0}.analytics-section-filter input[type=date],.analytics-section-filter input[type=month],.analytics-section-filter input[type=number],.analytics-section-filter select{border:1px solid #ccc;border-radius:5px;margin-right:0;padding:8px}.analytics-section-filter button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:8px 15px;transition:background-color .3s ease}.analytics-section-filter button:hover{background-color:#0056b3}.chart-section{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:1.5rem}.chart-wrapper{height:350px;position:relative;width:100%}.chart-wrapper.pie-chart-wrapper{margin:auto;max-width:500px}.chart-wrapper.stable-outcomes-chart-wrapper{min-height:350px}.notification-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:1000}.notification{background-color:#333;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;opacity:0;padding:15px 20px;transform:translateY(-20px);transition:opacity .5s ease-out,transform .5s ease-out}.notification.show{opacity:1;transform:translateY(0)}.notification.success{background-color:#28a745}.notification.error{background-color:#dc3545}.notification.info{background-color:#007bff}.history-table-wrapper{margin-top:20px;overflow-x:auto}.history-table{background-color:#f8f9fa;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.history-table td,.history-table th{border-bottom:1px solid #e0e0e0;padding:12px 15px;text-align:left}.history-table th{background-color:#34495e;color:#fff;font-size:.9rem;font-weight:700;position:relative;text-transform:uppercase}.history-table th.sortable{cursor:pointer}.history-table th input,.history-table th select{border:1px solid #ccc;border-radius:3px;box-sizing:border-box;margin-top:5px;padding:5px;width:calc(100% - 10px)}.history-table th.outcome-type-header select{margin-top:0}.history-table tbody tr:nth-child(2n){background-color:#eff3f6}.history-table tbody tr:hover{background-color:#e0e6eb}.history-table td button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:5px;padding:6px 10px;transition:background-color .2s ease}.history-table td button:hover{background-color:#0056b3}.history-table td button.delete{background-color:#dc3545}.history-table td button.delete:hover{background-color:#c82333}.history-table td input[type=date],.history-table td input[type=text],.history-table td select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:6px;width:calc(100% - 16px)}.add-outcome-form{background-color:#f0f4f7;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:1.5rem}.add-outcome-form form{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.add-outcome-form button{grid-column:1/-1;justify-self:end;max-width:200px}.finance-form form{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.finance-form-field{display:flex;flex-direction:column;gap:6px}.finance-form-field label{color:#34495e;font-weight:700}.finance-form-field input[type=date],.finance-form-field input[type=number],.finance-form-field input[type=text]{border:1px solid #ccc;border-radius:5px;padding:10px}.finance-form button:disabled{background-color:#ccc;cursor:not-allowed}.finance-progress-filter{align-items:stretch;flex-direction:column}.finance-category-selector{background-color:#fff;border:1px solid #ddd;border-radius:5px;display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px}.finance-category-option{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:6px}.finance-category-empty{color:#666;margin:0}.app-user-menu{align-items:center;display:flex;gap:.6rem}.app-user-name{font-size:.95rem;opacity:.9}.logout-button{background-color:#34495e;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.7rem 1rem}.logout-button:hover{background-color:#c0392b}.auth-page{align-items:center;background:linear-gradient(160deg,#2c3e50,#1abc9c);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#fff;border-radius:10px;box-shadow:0 10px 30px #00000026;max-width:420px;padding:2rem;width:100%}.auth-card h1{color:#2c3e50;font-size:1.6rem;margin:0 0 .4rem}.auth-subtitle{color:#666;margin:0 0 1.2rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.auth-tabs button{background:#ecf0f1;border:none;border-radius:5px;color:#2c3e50;cursor:pointer;flex:1 1;padding:.7rem}.auth-tabs button.active{background:#1abc9c;color:#fff;font-weight:700}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-form label,.scraper-credentials-form label{color:#333;display:flex;flex-direction:column;font-size:.95rem;gap:.35rem}.auth-form input,.scraper-credentials-form input,.scraper-credentials-form select{border:1px solid #ccd4d8;border-radius:5px;font-size:1rem;padding:.65rem .75rem}.auth-form button[type=submit]{background:#1abc9c;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:.4rem;padding:.8rem}.auth-link{background:none;border:none;color:#148f7a;cursor:pointer;font-size:.95rem;margin-top:.9rem;padding:0}.auth-loading{color:#666;margin-top:4rem;text-align:center}.scrape-progress-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:1rem 0 0;max-width:36rem;padding:0;text-align:left}.scrape-progress-list li{background:#fff;border:1px solid #e1e7ea;border-radius:4px;display:flex;font-size:.92rem;gap:1rem;justify-content:space-between;padding:.55rem .75rem}.scrape-progress-status{text-transform:capitalize;white-space:nowrap}.scrape-progress-pending .scrape-progress-status{color:#777}.scrape-progress-running .scrape-progress-status{color:#0b6e99}.scrape-progress-success .scrape-progress-status{color:#1f7a3f}.scrape-progress-failed .scrape-progress-status{color:#b42318}.scraper-credentials-section{margin-top:2rem;text-align:left}.scraper-credentials-hint{color:#666;margin-top:.25rem}.scraper-credentials-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:1rem 0;padding:0}.scraper-credentials-list li{align-items:center;background:#fff;border:1px solid #e1e7ea;border-radius:6px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.scraper-credentials-list li div:first-child{display:flex;flex-direction:column;gap:.2rem}.scraper-credentials-actions{display:flex;gap:.5rem}.scraper-credentials-actions button,.scraper-credentials-form-actions button{align-items:center;background:#34495e;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;gap:.35rem;padding:.55rem .8rem}.scraper-credentials-actions button.danger{background:#c0392b}.scraper-credentials-form{grid-gap:.9rem;background:#fff;border:1px solid #e1e7ea;border-radius:6px;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.5rem;padding:1rem}.scraper-credentials-form h4{grid-column:1/-1;margin:0}.scraper-credentials-form-actions{display:flex;gap:.6rem;grid-column:1/-1}@media (max-width:768px){.app-header{flex-direction:column;text-align:center}.app-header nav{margin-top:1rem}.app-header nav button{margin:5px}.dashboard-grid{grid-template-columns:1fr}.add-outcome-form form,.add-rule-form form{flex-direction:column;grid-template-columns:1fr}.add-outcome-form button{justify-self:stretch;max-width:none}.scraper-credentials-list li{align-items:flex-start;flex-direction:column}}
/*# sourceMappingURL=main.3a38a5f7.css.map*/