:root{--bg-color: #f8f9fa;--card-bg: #ffffff;--text-primary: #212529;--text-secondary: #6c757d;--primary-color: #4c6ef5;--income-color: #20c997;--expense-color: #fa5252;--border-color: #dee2e6;--shadow: 0 4px 12px rgba(0, 0, 0, .05);--profit-color: #20c997;--loss-color: #fa5252}body{font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-primary);margin:0;padding:20px;display:flex;justify-content:center;align-items:flex-start;min-height:100vh}.app-container{width:100%;max-width:600px}header h1{font-weight:700;font-size:2.5rem;text-align:center;margin-bottom:2rem;color:var(--text-primary)}.card{background-color:var(--card-bg);border-radius:12px;padding:24px;box-shadow:var(--shadow);margin-bottom:1.5rem}.summary-card h2,.tax-jar-card h2,.savings-jar-card h2,.transactions h2{font-size:1.1rem;font-weight:600;margin-top:0;margin-bottom:1rem;color:var(--text-secondary)}.financial-summary{display:flex;flex-direction:column;gap:0}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--border-color)}.financial-summary>.summary-item:first-child{padding-top:0}.financial-summary .summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-item+.summary-item.available-balance{border-top:none}.summary-item.available-balance{margin-top:1.25rem;padding-top:1.25rem;border-bottom:none}.summary-item .label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.summary-item .amount{font-size:1.5rem;font-weight:600}.income-color{color:var(--income-color)}.expense-color{color:var(--expense-color)}.primary-color{color:var(--primary-color)}.jar-container{display:flex;gap:1.5rem;margin-bottom:1.5rem}.tax-jar-card,.savings-jar-card{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.tax-jar-card h2,.savings-jar-card h2{margin-bottom:.5rem}.tax-amount{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0}.savings-amount{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin:0}.tax-jar-card small,.savings-jar-card small{color:var(--text-secondary)}.progress-container{width:100%;background-color:#e9ecef;border-radius:8px;height:16px;overflow:hidden}.progress-bar{height:100%;width:0%;border-radius:8px;transition:width .4s ease-in-out}#profit-bar{background-color:var(--profit-color)}.loss-bar{background-color:var(--loss-color);float:right}.profit-summary{margin-top:.75rem;text-align:right;font-size:1.2rem;font-weight:600;color:var(--text-primary)}#net-profit{color:var(--primary-color)}.available-balance .label{font-weight:700!important}.available-balance .amount{font-size:2rem!important}#transaction-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}#transaction-form .form-row{display:flex;gap:1rem;margin-bottom:1rem}#transaction-form .form-group{display:flex;flex-direction:column}#transaction-form .form-group label{margin-bottom:.5rem;font-size:.8rem;font-weight:500;color:var(--text-secondary)}#transaction-form .description-group{flex-grow:1}#transaction-form .date-group{flex-basis:150px}#transaction-form input,#transaction-form select{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;box-sizing:border-box}#transaction-form input:focus,#transaction-form select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4c6ef533}.input-group{display:flex;gap:1rem;align-items:center}.input-group #amount{flex-grow:1;flex-basis:100px;min-width:80px}.input-group #type,.input-group #category{flex-grow:2;flex-basis:140px}.btn{background-color:var(--primary-color);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn:hover{background-color:#364fc7}.filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;background-color:var(--card-bg);padding:1rem;border-radius:8px;box-shadow:var(--shadow)}#main-filters{display:flex;gap:.5rem}.filter-btn{background-color:#e9ecef;color:var(--text-secondary);border:none;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background-color:#dee2e6}.filter-btn.active{background-color:var(--primary-color);color:#fff}#category-filters select{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem}.transaction-list{list-style:none;padding:0;margin:0}.transaction-list li{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;box-shadow:var(--shadow)}.transaction-item-main{display:flex;flex-direction:column;gap:4px;flex-grow:1}.transaction-list .description{font-weight:500}.transaction-date{font-size:.8rem;color:var(--text-secondary)}.transaction-actions{display:flex;align-items:center;gap:.5rem}.transaction-list .amount{font-weight:600}.no-transactions{text-align:center;color:var(--text-secondary);padding:2rem}.edit-btn,.delete-btn{background:none;border:none;color:#adb5bd;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.edit-btn{font-size:1rem}.delete-btn{font-size:1.2rem;font-weight:700}.edit-btn:hover{color:#fff;background-color:#ff922b}.delete-btn:hover{color:#fff;background-color:var(--expense-color)}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.pagination-controls .btn{padding:8px 16px;font-size:.9rem}.pagination-controls .btn:disabled{background-color:#ced4da;cursor:not-allowed}#page-info{font-weight:600;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--card-bg);padding:2rem;border-radius:12px;box-shadow:0 10px 30px #0000001a;width:90%;max-width:500px;position:relative}.close-btn{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer}.modal-content h2{margin-top:0;margin-bottom:1.5rem}#edit-form .form-group{margin-bottom:1rem}#edit-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}#edit-form input,#edit-form select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-secondary{background-color:#e9ecef;color:var(--text-primary)}.btn-secondary:hover{background-color:#dee2e6}.hidden{display:none!important}.app-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.modal-content.large{max-width:800px;display:flex;flex-direction:column;max-height:90vh}.modal-body{overflow-y:auto}.report-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.5rem;margin-bottom:1.5rem}#custom-date-range{display:flex;align-items:center;gap:1.5rem}.report-filter-item{display:flex;align-items:center;gap:.5rem}.report-filter-item label{font-weight:500;color:var(--text-secondary);white-space:nowrap}.report-filter-item select,.report-filter-item input[type=date]{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;font-family:Inter,sans-serif}.chart-container{position:relative;height:400px;width:100%}#ai-summary-container{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}#ai-summary-container h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;font-weight:600;color:var(--text-secondary)}#ai-summary-content{background-color:var(--bg-color);border-radius:8px;padding:1rem;font-size:.95rem;line-height:1.6;color:var(--text-primary);min-height:50px}#ai-summary-content.loading{color:var(--text-secondary);font-style:italic}
