.dashboard h1{text-align:center;font-size:2rem;margin-bottom:2rem}.dashboard-charts{display:flex;justify-content:space-between;gap:2rem;margin-bottom:3rem;padding:0 2rem}.chart-container{background-color:none;padding:20px;flex:1;text-align:center}.chart-container h2{margin-bottom:1rem;color:#333;font-size:1.2rem}.recent-transactions{background-color:none;padding:30px;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0;width:92%;border:1px solid #e9ecef}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:6px;margin-bottom:12px;transition:all .3s ease;background-color:#fff;border:1px solid #e9ecef;border-left:4px solid #6c757d}.transaction-item.income{border-left-color:#28a745;background-color:#f2fbf3}.transaction-item.expense{border-left-color:#dc3545;background-color:#fff0f0}.transaction-item:hover{transform:translate(3px);box-shadow:0 2px 8px #00000014;border-color:#ced4da}.transaction-info{display:flex;flex-direction:column;gap:6px;flex:1}.transaction-info strong{color:#212529;font-weight:600;font-size:1.05rem;line-height:1.3}.transaction-category{color:#6c757d;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.transaction-date{color:#868e96;font-size:.85rem;font-weight:400}.transaction-amount{font-weight:600;font-size:1.1rem;padding:8px 12px;border-radius:4px;background-color:#f8f9fa;border:1px solid #e9ecef;min-width:100px;text-align:right}.income-amount{color:#28a745;background-color:#d4edda;border-color:#c3e6cb}.expense-amount{color:#dc3545;background-color:#f8d7da;border-color:#f5c6cb}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.loader-spinner{border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loader-text{color:#666;font-size:1rem;margin:0;text-align:center}.loader-small .loader-spinner{width:30px;height:30px;border-width:2px}.loader-medium .loader-spinner{width:50px;height:50px;border-width:3px}.loader-large .loader-spinner{width:80px;height:80px;border-width:4px}.loader-fullpage{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#ffffffe6;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}.loader-fullpage .loader-spinner{width:60px;height:60px;border-width:4px}.loader-fullpage .loader-text{font-size:1.2rem;color:#333;margin-top:1rem}.loader-dark{background-color:#000c}.loader-dark .loader-spinner{border-color:#444;border-top-color:#3498db}.loader-dark .loader-text{color:#fff}.list-container{margin-top:2rem}.transaction-list{list-style:none;padding:1rem;background-color:#f0f8ff;box-shadow:0 2px 6px #0000001a}.transaction-list-container{overflow-y:scroll;height:100%;background-color:#f0f8ff}.transaction-list-container::-webkit-scrollbar{display:none}.transaction-item{display:flex;justify-content:space-between;align-items:center;background:#f0f8ff;padding:10px;margin-top:10px;margin-bottom:8px;border-radius:6px}.transaction-item-btn-group{display:flex;gap:15px}.transaction-item button{background:#00f;color:#fff;border:none;padding:6px 10px;border-radius:4px;cursor:pointer}.no-transactions{text-align:center;color:#666;padding:40px 20px;background:#f8f9fa;border-radius:8px;margin:20px 0;border:1px dashed #dee2e6}.no-transactions p{margin:0 0 10px;font-size:1rem}.no-transactions-hint{font-size:.9rem!important;color:#999!important;font-style:italic}.list-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:15px;border-top:1px solid #e0e0e0}.pagination-btn{background:#2e86de;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.pagination-btn:hover:not(:disabled){background:#1e6bb8}.pagination-btn:disabled{background:#ccc;cursor:not-allowed}.page-info{font-size:.9rem;color:#666;font-weight:500}.pagination-btn{padding:8px 16px;border:1px solid #2e86de;background:#fff;color:#2e86de;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.page-info{font-weight:700;color:#333;font-size:.9rem}.transaction-form{display:flex;flex-direction:column;gap:10px;margin-bottom:2rem;width:70%;margin:0 auto;margin-bottom:2vw}.transaction-form input{padding:8px;font-size:1rem;border:1px solid #ccc;border-radius:4px}.transaction-form button{padding:10px;background-color:#2e86de;color:#fff;border:none;border-radius:4px;cursor:pointer}.transaction-form button:hover{background-color:#1b4f72}.form-header{background-color:#f0f8ff;box-shadow:0 2px 6px #0000001a}.search-filter{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0}.search-filter h3{margin:0 0 15px;color:#333;font-size:1.2rem;font-weight:600}.filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:.9rem;font-weight:500;color:#555;margin-bottom:2px}.filter-input,.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;transition:border-color .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#2e86de;box-shadow:0 0 0 2px #2e86de1a}.clear-filters-btn{padding:8px 16px;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s ease;align-self:end}.clear-filters-btn:hover{background-color:#e9ecef;border-color:#adb5bd;color:#495057}.clear-filters-btn:active{transform:translateY(1px)}@media (max-width: 768px){.filter-controls{grid-template-columns:1fr;gap:12px}.clear-filters-btn{align-self:stretch;margin-top:5px}}@media (max-width: 480px){.search-filter{padding:15px}.search-filter h3{font-size:1.1rem}}.receipt-upload{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0;width:70vw}.receipt-upload h3{margin:0 0 15px;color:#333;font-size:1.2rem;font-weight:600}.upload-section{display:flex;flex-direction:column;gap:15px}.file-input-container{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-label{display:block;padding:12px 16px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:6px;text-align:center;cursor:pointer;transition:all .2s ease;color:#666;font-size:.9rem}.file-label:hover{border-color:#2e86de;background:#e3f2fd;color:#2e86de}.upload-btn{padding:10px 20px;background:#2e86de;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.upload-btn:hover:not(:disabled){background:#1e6bb8}.upload-btn:disabled{background:#ccc;cursor:not-allowed}.results-section{display:flex;flex-direction:column;gap:20px}.date-selector{display:flex;align-items:center;gap:10px}.date-selector label{font-size:.9rem;font-weight:500;color:#555}.date-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.extracted-items h4{margin:0 0 10px;color:#333;font-size:1.1rem}.instructions{margin:0 0 15px;color:#666;font-size:.9rem;font-style:italic}.items-table{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 60px;gap:10px;padding:12px;background:#f8f9fa;font-weight:600;font-size:.9rem;color:#333;border-bottom:1px solid #e0e0e0}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 60px;gap:10px;padding:12px;border-bottom:1px solid #f0f0f0;align-items:center}.table-row:last-child{border-bottom:none}.description-input,.amount-input,.category-select{padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;transition:border-color .2s ease}.description-input:focus,.amount-input:focus,.category-select:focus{outline:none;border-color:#2e86de;box-shadow:0 0 0 2px #2e86de1a}.amount-input{text-align:right}.delete-item-btn{width:30px;height:30px;background:#dc3545;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin:0 auto}.delete-item-btn:hover{background:#c82333;transform:scale(1.1)}.delete-item-btn:active{transform:scale(.95)}.no-items-message{text-align:center;color:#666;font-style:italic;padding:20px;background:#f8f9fa;border-radius:6px;margin:10px 0}.action-buttons{display:flex;gap:10px;justify-content:flex-end}.add-btn,.cancel-btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.add-btn{background:#28a745;color:#fff}.add-btn:hover:not(:disabled){background:#218838}.add-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268}.error-message{color:#dc3545;font-size:.9rem;margin:10px 0 0;padding:8px 12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}@media (max-width: 768px){.table-header,.table-row{grid-template-columns:1fr;gap:8px}.table-header{display:none}.table-row{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;padding:15px;position:relative}.table-row:before{content:attr(data-label);font-weight:600;color:#333;margin-bottom:5px;display:block}.delete-item-btn{position:absolute;top:10px;right:10px;width:25px;height:25px;font-size:16px}.action-buttons{flex-direction:column}.date-selector{flex-direction:column;align-items:flex-start}}body{font-family:Arial,sans-serif;margin:0;padding:0;background:#fff;color:#333}h1,h2{text-align:center;margin-bottom:1rem}.container{height:90vh;width:75vw;margin:1rem auto;background:none;border-radius:8px;display:flex;flex-direction:row;justify-content:space-between}.left-container{width:50%;display:flex;flex-direction:column;gap:2rem}.right-container{width:45%;padding:1rem;height:100%}.navbar{display:flex;flex-direction:column;justify-content:baseline;width:15vw;height:100vh;position:fixed;background-color:#1e1e2f;color:#fff;padding:20px;box-shadow:2px 0 5px #0003;top:0}.navbar-title{font-size:1.2rem;font-weight:600;text-align:center;margin-bottom:30px;color:#f4f4f4;letter-spacing:.5px}.navbar-container{display:flex;flex-direction:column;gap:20px}.nav-link{color:silver;text-decoration:none;padding:10px 15px;border-radius:8px;font-size:1rem;transition:background-color .2s,color .2s}.nav-link:hover{background-color:#2d2d44;color:#fff}.nav-link.active{background-color:#4c60ff;color:#fff}.budget-container{padding:30px;font-family:sans-serif;display:flex;flex-direction:column-reverse}.budget-top-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:8vh}.budget-editor{display:flex;flex-direction:row;height:35vh;width:35vw;border-radius:8px;background-color:#f0f8ff;box-shadow:0 2px 6px #0000001a;padding:.5rem}.current-budgets{margin-left:50px}.current-budgets ul{list-style-type:none;padding:0}.current-budgets li{margin:15px 0}.budget-form{margin:auto;display:flex;flex-direction:column;gap:10px;align-items:center}.budget-form select,.budget-form input{padding:8px;font-size:1rem}.budget-form button{padding:8px 12px;background-color:#4caf50;color:#fff;border:none;cursor:pointer}.budget-form button:hover{background-color:#45a049}.budget-insights ul{margin-top:10px;padding-left:20px}.insights-container{background-color:#faebd7;height:35vh;width:35vw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem}.split-insights{display:flex;justify-content:space-between;gap:40px;margin-top:20px}.split-insights div{flex:1}.split-insights ul{padding-left:20px}.income-container{height:90vh;width:75vw;margin:1rem auto;background:none;border-radius:8px;display:flex;flex-direction:column;gap:2rem}.income-main-content{display:flex;flex-direction:row;justify-content:space-between;gap:2rem;flex:1}.income-left-container{width:50%;display:flex;flex-direction:column;gap:2rem}.income-right-container{width:45%;padding:1rem;height:100%}.income-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:2rem}.summary-card{background-color:#f0f8ff;color:#333;padding:20px;border-radius:6px;text-align:center;box-shadow:0 2px 6px #0000001a}.summary-card h3{margin:0 0 10px;font-size:1rem;color:#666}.summary-amount{font-size:1.5rem;font-weight:700;margin:0;color:#2e86de}.summary-change{font-size:1.2rem;font-weight:700;margin:0}.summary-change.positive{color:#28a745}.summary-change.negative{color:#dc3545}.income-chart{background-color:#f0f8ff;padding:20px;border-radius:6px;box-shadow:0 2px 6px #0000001a;margin-bottom:2rem}.income-chart h2{margin:0 0 20px;color:#333;text-align:center;font-size:1.2rem}.income-form-section{background-color:#f0f8ff;padding:20px;border-radius:6px;box-shadow:0 2px 6px #0000001a;margin-bottom:2rem}.income-form-section h2{margin:0 0 20px;color:#333;text-align:center;font-size:1.2rem}.income-form{display:flex;flex-direction:column;gap:10px;margin-bottom:2rem;width:100%;margin:0 auto;margin-bottom:2vw}.income-form input,.income-form select{padding:8px;font-size:1rem;border:1px solid #ccc;border-radius:4px}.income-form input:focus,.income-form select:focus{outline:none;border-color:#2e86de}.form-error{background:#ffebee;color:#c62828;padding:10px;border-radius:4px;text-align:center;margin-bottom:10px}.form-buttons{display:flex;gap:10px;justify-content:center;margin-top:10px}.form-buttons button{padding:10px;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.form-buttons button[type=submit]{background-color:#2e86de;color:#fff}.form-buttons button[type=submit]:hover{background-color:#1b4f72}.cancel-btn{background-color:#dc3545!important;color:#fff!important}.cancel-btn:hover{background-color:#c82333!important}.income-list-section{background-color:#f0f8ff;padding:20px;border-radius:6px;box-shadow:0 2px 6px #0000001a;height:90%;margin-top:-1rem}.income-list-section h2{margin:0 0 20px;color:#333;text-align:center;font-size:1.2rem}.income-list{list-style:none;padding:1rem;background-color:#f0f8ff;overflow-y:scroll;height:40vh}.income-list::-webkit-scrollbar{display:none}.income-item{display:flex;justify-content:space-between;align-items:center;background:#f0f8ff;padding:10px;margin-top:10px;margin-bottom:8px;border-radius:6px}.income-info{flex:1}.income-info h4{margin:0 0 5px;color:#333;font-size:1rem}.income-category{margin:0 0 5px;color:#666;font-size:.9rem}.income-date{margin:0;color:#999;font-size:.8rem}.income-amount{font-size:1.1rem;font-weight:700;color:#2e86de;margin:0 20px;background-color:#f0f8ff}.income-actions{display:flex;gap:15px}.edit-btn,.delete-btn{background:#00f;color:#fff;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:.9rem}.no-income{text-align:center;color:#666;font-style:italic;padding:20px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #ccc}.pagination-btn{padding:8px 16px;border:1px solid #2e86de;background:#fff;color:#2e86de;border-radius:4px;cursor:pointer}.pagination-btn:hover:not(:disabled){background:#2e86de;color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-weight:700;color:#333}.chart-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:15px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.income-container{width:90vw;height:auto;min-height:90vh}.income-main-content{flex-direction:column}.income-left-container,.income-right-container{width:100%}.income-summary{grid-template-columns:1fr}.income-form{width:90%}.income-item{flex-direction:column;align-items:flex-start;gap:10px}.income-amount{margin:0;align-self:flex-end}.income-actions{align-self:flex-end}.form-buttons{flex-direction:column}.pagination,.chart-pagination{flex-direction:column;gap:10px}}.chat-container{display:flex;flex-direction:column;height:100vh;font-family:Segoe UI,sans-serif;background-color:#f4f7fb}.chat-header{display:flex;align-items:center;gap:1rem;background-color:#1e1e2f;padding:1rem;color:#fff;box-shadow:0 2px 4px #0000001a}.logo-circle{background-color:#4caf50;border-radius:50%;padding:.6rem;display:flex;align-items:center;justify-content:center}.title{font-size:1.3rem;font-weight:700}.subtitle{font-size:.85rem;color:#cfcfcf}.chat-main{flex:1;overflow-y:auto;padding:1rem;background:#fff}.messages{display:flex;flex-direction:column;gap:1rem}.message-row{display:flex;align-items:flex-end;gap:.5rem}.message-row.user{flex-direction:row-reverse}.avatar{background-color:#4caf50;border-radius:50%;padding:.4rem;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.message-bubble{max-width:70%;padding:.8rem;border-radius:10px;position:relative;transition:all .3s ease-in-out;animation:slideIn .3s ease-out}.message-row.user .message-bubble{background-color:#e0f7e9;color:#2b2b2b;border-top-right-radius:0}.message-row.assistant .message-bubble{background-color:#eef1f7;color:#333;border-top-left-radius:0}.timestamp{font-size:.7rem;color:#888;position:absolute;bottom:-1.2rem;right:.5rem}.chat-input-area{display:flex;padding:1rem;background-color:#fff;border-top:1px solid #ddd}.chat-input-area input{flex:1;padding:.8rem 1rem;font-size:1rem;border:1px solid #ccc;border-radius:25px;outline:none;margin-right:.5rem;transition:border-color .2s ease}.chat-input-area input:focus{border-color:#4caf50}.chat-input-area button{background-color:#4caf50;border:none;color:#fff;padding:.6rem;border-radius:50%;cursor:pointer;transition:background-color .2s ease}.chat-input-area button:hover{background-color:#43a047}.error-box{background-color:#ffe5e5;color:#c62828;padding:.75rem;border-radius:5px;text-align:center}.loading{display:flex;align-items:center;gap:.5rem;color:#555}.spin{animation:spin 1s linear infinite}.markdown-content p{margin:0;line-height:1.5}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.markdown-content code{background-color:#eee;padding:2px 4px;border-radius:4px;font-family:monospace}@keyframes slideIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.root{display:flex;flex-direction:column;height:100vh;width:100vw}.main-content{margin-left:20vw}
