body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.signin-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.signin-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.signin-title{color:#2c3e50;margin-bottom:.5rem;text-align:center}.signin-subtitle{color:#7f8c8d;margin-bottom:1.5rem;text-align:center}.signin-form{display:flex;flex-direction:column;gap:1rem}.form-control,.signin-button{font-size:1rem;padding:.75rem}.signin-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-top:1rem;transition:background-color .2s}.signin-button:hover{background-color:#2980b9}.signin-button:disabled{background-color:#95a5a6;cursor:not-allowed}.signin-error{background-color:#ffebee;border-radius:4px;color:#e53935;margin-bottom:1rem;padding:.75rem}.signin-links{margin-top:1rem;text-align:center}.forgot-password-link{color:#3498db;font-size:.9rem;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.expenses-chart-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.chart-wrapper{height:400px;position:relative;width:100%}.year-navigation{align-items:center;display:flex;gap:1.5rem;justify-content:center}.year-nav-button{background-color:#f0f2f5;border:none;border-radius:4px;color:#3498db;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.year-nav-button:hover:not(:disabled){background-color:#e4e7eb}.year-nav-button:disabled{cursor:not-allowed;opacity:.5}.current-year{color:#2c3e50;font-size:1.2rem;font-weight:600}.category-legend{border-top:1px solid #eaecef;padding-top:1.5rem}.category-legend h4{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:1rem;margin-top:0}.legend-items{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{align-items:center;display:flex;gap:.5rem}.color-box{border-radius:3px;height:16px;width:16px}.category-name{color:#4a4a4a;font-size:.9rem}.expenses-chart-empty,.expenses-chart-error,.expenses-chart-loading{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#7f8c8d;display:flex;font-size:1.1rem;height:400px;justify-content:center}.expenses-chart-error{color:#e74c3c}.dashboard-container{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.dashboard-header{align-items:center;background-color:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.dashboard-header h1{font-size:1.5rem;margin:0}.logout-button{background-color:initial;border:1px solid #fff;transition:all .2s}.logout-button:hover{background-color:#fff;color:#2c3e50}.dashboard-layout{display:flex;flex:1 1}.sidebar{background-color:#34495e;color:#fff;padding:1rem 0}.menu li{margin:0;padding:0}.menu-button{border-left:3px solid #0000;color:#ecf0f1;display:block;padding:.75rem 1.5rem;transition:all .2s}.menu-button:hover{background-color:#ffffff1a}.menu li.active .menu-button{background-color:#fff3;border-left:3px solid #3498db;font-weight:600}.dashboard-content{flex:1 1;overflow-y:auto;padding:2rem}.dashboard-wrapper{padding:1rem}.dashboard-wrapper h2{color:#2c3e50;margin-bottom:1.5rem}.content-section{display:flex;flex-direction:column;gap:1.5rem}.coloc-selector{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.coloc-selector label{color:#4a4a4a;flex-shrink:0;font-weight:600}.coloc-selector select{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#2c3e50;flex-grow:0;font-size:1rem;min-width:200px;padding:.5rem}.no-coloc-message{background-color:#fff;box-shadow:0 2px 8px #0000001a;margin-top:1rem}.loading{align-items:center;color:#7f8c8d;display:flex;font-size:1.2rem;height:60vh;justify-content:center}.logs-container{padding:1rem 0}.logs-header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.logs-container h2{color:#2c3e50;margin-bottom:0;margin-top:0}.selected-coloc-info{background-color:#f1f8ff;border:1px solid #d1e5f9;border-radius:4px;color:#2c3e50;font-size:.9rem;padding:.5rem 1rem}.coloc-name{color:#3498db;font-weight:600}.logs-filters{display:flex;gap:.5rem;margin:1.5rem 0}.filter-button{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#2c3e50;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.filter-button:hover{background-color:#e9ecef}.filter-button.active{background-color:#3498db;border-color:#3498db;color:#fff}.logs-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow:hidden;table-layout:fixed;width:100%}.logs-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#2c3e50;display:flex;font-weight:600;padding:1rem}.log-column{flex:1 1;min-width:0;overflow:hidden;padding:0 .5rem;text-overflow:ellipsis;white-space:nowrap}.log-column.date-column{flex:0 0 20%}.log-column.file-column{flex:0 0 30%}.log-column.status-column{flex:0 0 10%}.status-badge{border-radius:4px;font-size:.85rem;padding:.25rem .5rem;text-align:center;text-transform:capitalize}.status-badge.success{background-color:#2ecc7133;border:1px solid #2ecc714d;color:#27ae60}.status-badge.error{background-color:#e74c3c33;border:1px solid #e74c3c4d;color:#e74c3c}.status-badge.pending{background-color:#f39c1233;border:1px solid #f39c124d;color:#e67e22}.status-badge.dismissed{background-color:#95a5a633;border:1px solid #95a5a64d;color:#7f8c8d}.log-column.error-column{flex:0 0 30%}.log-column.actions-column{flex:0 0 10%;overflow:visible}.log-column.amount-column,.log-column.provider-column{flex:0 0 15%}.log-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;min-height:3.5rem;padding:1rem;transition:background-color .2s}.log-row.clickable{cursor:pointer}.log-row.clickable:hover{background-color:#edf2f7}.log-row:hover{background-color:#f8f9fa}.log-row:last-child{border-bottom:none}.no-logs-message{color:#7f8c8d;padding:2rem;text-align:center}.pagination{align-items:center;justify-content:space-between}.pagination-button{background-color:#3498db;border:none;color:#fff;padding:.5rem 1rem;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#2980b9}.pagination-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.pagination-info{color:#7f8c8d;font-size:.9rem}.dismiss-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .7rem;transition:background-color .2s}.dismiss-button:hover:not(:disabled){background-color:#c0392b}.dismiss-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.logs-header-section{align-items:flex-start;flex-direction:column;gap:.5rem}.selected-coloc-info{width:100%}}.error-log-details-page{margin:0 auto;max-width:1200px;padding:2rem}.error-log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.error-log-header h1{color:#2c3e50;font-size:1.8rem;margin:0}.back-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.back-button:hover{background-color:#2980b9}.error-log-content{display:flex;gap:2rem;min-height:calc(100vh - 200px)}.error-log-info{display:flex;flex:0 0 35%;flex-direction:column;gap:1.5rem}.info-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.info-section h2{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.info-row{display:flex;margin-bottom:.8rem}.info-label{color:#7f8c8d;font-weight:600;width:120px}.info-value{flex:1 1}.error-status{color:#e74c3c;font-weight:600}.error-message{margin-bottom:1.5rem}.error-message h3,.stack-trace h3{color:#2c3e50;font-size:1.1rem;margin-bottom:.8rem;margin-top:0}.error-text{background-color:#ffebee;border:1px solid #e539354d;border-radius:4px;color:#e53935}.error-text,.stack-trace-text{font-family:monospace;font-size:.9rem;padding:1rem;white-space:pre-wrap}.stack-trace-text{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;max-height:300px;overflow-x:auto;overflow-y:auto}.pdf-download-button{background-color:#27ae60}.pdf-download-button:hover{background-color:#219653}.error-log-title h2{margin-bottom:10px}.log-meta{display:flex;flex-wrap:wrap;font-size:.9rem;gap:15px;margin-bottom:20px}.log-meta-item{display:inline-block}.log-meta-item.status .error-status{color:#e74c3c;font-weight:600}.error-log-title{margin-bottom:20px}.stack-trace-header{align-items:center;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:8px}.stack-trace-header,.toggle-button{background-color:#f8f9fa;cursor:pointer}.toggle-button{border:1px solid #ddd;border-radius:4px;font-size:.8rem;padding:5px 10px;transition:background-color .2s}.toggle-button:hover{background-color:#e9ecef}.manual-invoice-form{border-top:1px solid #e9ecef;margin-top:2rem;padding-top:1.5rem}.manual-invoice-form h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.form-group label{color:#495057;margin-bottom:.5rem}.form-group input,.form-group select{background-color:#fff;border:1px solid #ced4da;padding:.5rem}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1em;cursor:pointer;padding-right:2rem}.form-group input:focus,.form-group select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.form-actions{gap:.75rem;margin-top:.5rem}.validate-button{background-color:#28a745;position:relative}.dismiss-detail-button,.validate-button{border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:background-color .2s}.dismiss-detail-button{background-color:#e74c3c}.dismiss-detail-button:hover{background-color:#c0392b}.dismiss-detail-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.validate-button:hover{background-color:#218838}.validate-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.validate-button.validating{background-color:#6c757d;cursor:wait}.validate-button .spinner{animation:spin 1s linear infinite;border:2px solid #ffffff80;border-radius:50%;border-top-color:#fff;display:inline-block;height:1rem;margin-right:.5rem;width:1rem}@keyframes spin{to{transform:rotate(1turn)}}.providers-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;margin-bottom:1rem;padding:.75rem}.loading-providers{color:#6c757d;padding:1rem;text-align:center}.validation-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:500}.validation-error,.validation-success{margin-bottom:1rem;padding:.75rem;text-align:center}.validation-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.create-provider-link{background:none;border:none;color:#3498db;cursor:pointer;display:inline-block;font-size:.85rem;margin-top:6px;padding:0;text-decoration:none}.create-provider-link:hover{color:#2980b9;text-decoration:underline}.create-provider-link:disabled{color:#999;cursor:not-allowed;text-decoration:none}@media (max-width:992px){.error-log-content{flex-direction:column}.error-log-info,.file-preview-section{width:100%}.file-preview-section{min-height:500px}}.invoices-container{padding:1rem 0}.invoices-container h2{color:#2c3e50;margin-bottom:1rem;margin-top:0}.invoices-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:1.5rem 0}.filter-container{align-items:center;display:flex;gap:.75rem}.year-selector{align-items:center;display:flex;gap:.3rem;margin-left:.5rem}.filter-container label{color:#2c3e50;font-weight:500}.provider-filter-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;min-width:200px;padding:.5rem}.provider-filter-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.action-button{background-color:#3498db}.action-button:hover{background-color:#2980b9}.invoices-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow-x:auto;width:100%}.invoices-header{border-bottom:1px solid #e9ecef;color:#2c3e50;display:flex;font-weight:600;min-width:1200px;padding:1rem}.invoices-header,.invoices-header .actions-column{background-color:#f8f9fa}.invoice-column{flex:1 1;line-height:1.5rem;padding:0 .5rem;white-space:nowrap}.invoice-column.sortable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.invoice-column.sortable:hover{background-color:#e9ecef}.invoice-column.sortable span{display:inline-block;margin-left:5px}.invoice-column.sorted-asc,.invoice-column.sorted-desc{background-color:#e9ecef;font-weight:700}.invoice-column.sorted-asc span,.invoice-column.sorted-desc span{color:#333;font-size:.8em}.actions-column{background-color:inherit;flex:0 0 auto;flex-shrink:0;gap:8px;justify-content:flex-end;min-width:160px;overflow:visible;position:sticky;right:0;white-space:nowrap}.actions-column,.invoice-row{align-items:center;display:flex}.invoice-row{background-color:#fff;border-bottom:1px solid #e9ecef;box-sizing:border-box;cursor:pointer;min-height:3.5rem;min-width:1200px;padding:1rem;transition:background-color .2s}.invoice-row:hover,.invoice-row:hover .actions-column{background-color:#f0f2f5}.invoice-row:last-child{border-bottom:none}.col-inv-provider{flex:1.2 1}.col-inv-date,.col-inv-period{flex:1 1}.col-inv-final-amount,.col-inv-initial-amount{flex:0.9 1}.col-inv-file{flex:1.2 1}.col-inv-allocation{flex:0.9 1}.allocation-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;white-space:nowrap}.allocation-full{background-color:#d4edda;color:#155724}.allocation-partial{background-color:#fff3cd;color:#856404}.allocation-none{color:#95a5a6;font-size:.85rem}.period-outside-year{color:#95a5a6;font-style:italic}.period-outside-year .period-icon{font-size:.75rem;font-style:normal;margin-left:4px}.action-button{box-sizing:border-box;margin:0;outline:none}.validate-button{background-color:#27ae60}.validate-button:hover{background-color:#219653}.validated-text{align-items:center;box-sizing:border-box;color:#27ae60;display:inline-flex;font-size:.8rem;font-weight:600;height:26px;justify-content:center;padding:0 10px}.no-invoices-message{color:#7f8c8d;padding:2rem;text-align:center}.invoice-row.validated{background-color:#e8f6ef}.invoice-row.validated:hover{background-color:#d1efe2}.invoice-row.validated .actions-column{background-color:#e8f6ef}.invoice-row.validated:hover .actions-column{background-color:#d1efe2}.validation-badge{background-color:#28a745;border-radius:10px;color:#fff;display:inline-block;font-size:.7rem;margin-left:8px;padding:2px 6px;vertical-align:middle}.pagination{gap:.5rem;margin-top:1rem}.pagination-button{background-color:#fff;border:1px solid #e9ecef;border-radius:4px;color:#2c3e50;cursor:pointer;padding:.5rem .75rem;transition:all .2s}.pagination-button:hover{background-color:#f8f9fa}.pagination-button.active{background-color:#3498db;border-color:#3498db;color:#fff}.file-column{cursor:pointer}.overlap-warnings{background-color:#fff3e0;border:1px solid #ffb74d;border-radius:6px;margin-bottom:.75rem;padding:.6rem 1rem}.overlap-warning-item{color:#e65100;font-size:.85rem;padding:.2rem 0}.overlap-warning-item .warning-icon{margin-right:.4rem}.coverage-timeline{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;padding:1rem 1.25rem}.timeline-header{gap:.5rem;margin-bottom:.6rem}.timeline-header,.year-nav{align-items:center;display:flex}.year-nav{background:none;border:1px solid #ddd;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:1.1rem;height:28px;justify-content:center;transition:background-color .2s;width:28px}.year-nav:hover{background-color:#f0f2f5}.year-label{color:#2c3e50;font-size:1rem;font-weight:700;min-width:3rem;text-align:center}.coverage-pct{color:#7f8c8d;font-size:.8rem;font-weight:500;margin-left:auto}.timeline-bar{background-color:#f5f5f5;border-radius:4px;height:24px;overflow:hidden;position:relative}.timeline-segment{border-radius:2px;height:100%;position:absolute;top:0}.timeline-covered{background-color:#27ae60}.timeline-gap{background-color:#ffcdd2}.timeline-months{display:flex;justify-content:space-around;margin-top:.3rem}.timeline-month{color:#95a5a6;font-size:.7rem;text-align:center;width:8.33333%}.period-fields input[type=date]{flex:1 1}.add-invoice-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;margin:0 auto;max-height:90vh;max-width:500px;padding:1.5rem;position:relative;transition:max-width .3s ease;width:100%}.add-invoice-form-container.with-preview{max-width:900px}.add-invoice-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.add-invoice-form-header h3{color:#2c3e50;font-size:1.2rem;margin:0}.close-button{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.close-button:hover{color:#34495e}.add-invoice-form-body{display:flex;flex:1 1;gap:1.5rem;overflow:hidden}.add-invoice-form-scroll{flex:1 1;margin-right:-.5rem;min-width:0;overflow-y:auto;padding-right:.5rem}.add-invoice-form{gap:1rem}.add-invoice-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group input,.form-group select{border:1px solid #dcdfe6;font-size:.9rem;padding:.75rem;transition:border-color .2s}.form-group small{color:#7f8c8d;font-size:.8rem}.file-error,.form-error{background-color:#ffebee;border-radius:4px;color:#e53935;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.file-error{margin-bottom:0;margin-top:.5rem}.form-actions{border-top:1px solid #f0f0f0;gap:1rem;margin-top:1rem;padding-top:1rem}.cancel-button,.submit-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.cancel-button{background-color:#e9ecef;color:#495057}.cancel-button:hover{background-color:#dee2e6}.submit-button{background-color:#3498db;color:#fff}.submit-button:hover{background-color:#2980b9}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.7}input[type=file]{font-size:.9rem;padding:.5rem 0}.selected-file{align-items:center;background-color:#e8f4fd;border-radius:4px;display:flex;font-size:.9rem;margin-top:.5rem;padding:.5rem .75rem}.selected-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-invoice-preview{border-left:1px solid #e9ecef;display:flex;flex:1 1;flex-direction:column;min-width:0;padding-left:1.5rem}.add-invoice-preview h4{color:#2c3e50;font-size:1rem;margin:0 0 .75rem}.preview-iframe{flex:1 1;min-height:400px;width:100%}.preview-iframe,.preview-image{border:1px solid #ddd;border-radius:4px}.preview-image{max-height:500px;max-width:100%;object-fit:contain}.modal-overlay{overflow:hidden;padding:1rem}.edit-invoice-container{margin:0 auto;max-width:1200px;padding:20px}.edit-invoice-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.header-buttons{align-items:center;display:flex;gap:10px}.edit-invoice-header h2{color:#333;margin:0}.edit-invoice-content{display:flex;gap:2rem;min-height:calc(100vh - 200px)}.edit-invoice-form-section{display:flex;flex:0 0 35%;flex-direction:column}.invoice-details{background-color:#f9f9f9;border:1px solid #eee;border-radius:5px;margin-bottom:20px;padding:15px}.detail-row{display:flex;margin-bottom:10px}.detail-row:last-child{margin-bottom:0}.detail-label{color:#555;font-weight:600;width:150px}.detail-value{flex:1 1}.file-link{color:#4a90e2;cursor:pointer;text-decoration:underline}.file-link:hover{color:#3a80d2}.edit-invoice-form{background-color:#fff;border:1px solid #eee;border-radius:5px;padding:20px}.form-group{margin-bottom:20px}.form-group label{color:#555;font-weight:600}.form-control{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:100%}.form-control:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-button,.save-button{border-radius:4px;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.cancel-button{background-color:#f5f5f5;border:1px solid #ddd}.cancel-button:hover{background-color:#e5e5e5}.save-button{border:1px solid #3a80d2}.save-button:hover{background-color:#3a80d2}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}.delete-invoice-button,.validate-invoice-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s,opacity .2s}.delete-invoice-button{background-color:#dc3545}.validate-invoice-button{background-color:#27ae60}.validate-invoice-button:hover{background-color:#219653}.validate-invoice-button.disabled{background-color:#a8e6bc;cursor:not-allowed}.delete-invoice-button:hover{background-color:#c82333}.delete-invoice-button.deleting,.delete-invoice-button:disabled,.validate-invoice-button.validating,.validate-invoice-button:disabled{cursor:not-allowed;opacity:.65}.loading-indicator{font-size:18px;padding:40px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.error-message,.success-message{margin-bottom:20px;padding:10px 15px}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.file-preview-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.file-preview-section h2{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.pdf-preview{display:flex;flex:1 1;flex-direction:column}.pdf-iframe{border:1px solid #ddd;border-radius:4px;flex:1 1;min-height:500px}.pdf-actions-container{display:flex;gap:1rem;margin-top:1rem}.pdf-action-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:background-color .2s}.pdf-action-button:hover{background-color:#2980b9;color:#fff;text-decoration:none}.simple-checkbox-container{align-items:center;display:flex;margin-bottom:10px}.validation-checkbox{cursor:pointer;margin-right:10px;transform:scale(1.2)}.validation-label{color:#2c3e50;cursor:pointer;font-weight:600}.validation-date{border-top:1px dashed #dee2e6;color:#6c757d;font-size:.9rem;margin-top:10px;padding-top:10px}.validation-date-label{font-weight:500;margin-right:5px}.validation-date-value{font-style:italic}.pdf-fallback{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;padding:2rem;text-align:center}.file-error-message{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;padding:2rem;text-align:center}.loading,.non-pdf-message{color:#6c757d;padding:2rem}.non-pdf-message{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;text-align:center}.period-fields{align-items:center;display:flex;gap:8px}.period-fields .form-control{flex:1 1}.period-separator{color:#999;flex-shrink:0;font-size:16px}.clear-date-button{background:none;border:1px solid #ddd;border-radius:4px;color:#999;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:6px 10px;transition:color .2s,border-color .2s}.clear-date-button:hover{border-color:#dc3545;color:#dc3545}@media (max-width:992px){.edit-invoice-content{flex-direction:column}.edit-invoice-form-section,.file-preview-section{width:100%}.file-preview-section{min-height:500px}}.my-providers-container{padding:20px;width:100%}.my-providers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.my-providers-header h2{color:#2c3e50;margin:0}.add-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:10px 20px;transition:background-color .2s}.add-button:hover{background-color:#43a047}.mp-list{border:1px solid #ddd;border-radius:4px;overflow:hidden}.mp-list-header{background-color:#f5f5f5;border-bottom:1px solid #ddd;display:flex;font-weight:700}.mp-row{align-items:center;border-bottom:1px solid #eee;display:flex;transition:background-color .15s}.mp-row:hover{background-color:#f9f9f9}.mp-col{overflow:hidden;padding:12px 15px;text-overflow:ellipsis}.mp-col-name{flex:2 1;font-weight:500}.mp-col-category{color:#555;flex:1.5 1}.mp-col-colocs{flex:2 1}.mp-col-actions{align-items:center;display:flex;flex:0 0 100px;gap:8px;justify-content:center}.coloc-badges{display:flex;flex-wrap:wrap;gap:4px}.coloc-badge{background-color:#e3f2fd;border-radius:12px;color:#1565c0;font-size:.8rem;padding:2px 10px;white-space:nowrap}.no-coloc-text{color:#999;font-size:.9rem;font-style:italic}.chevron-button{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:.85rem;padding:4px 8px;transition:background-color .15s}.chevron-button:hover{background-color:#eee}.delete-icon-button{background:none;border:1px solid #e57373;border-radius:4px;color:#e57373;cursor:pointer;font-size:.85rem;padding:4px 8px;transition:background-color .15s}.delete-icon-button:hover{background-color:#ffebee}.mp-expanded-panel{background-color:#fafafa;border-bottom:1px solid #ddd;padding:15px 20px 15px 40px}.coloc-assignments-table{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;width:100%}.coloc-assignment-header{background-color:#f0f0f0;display:flex;font-size:.85rem;font-weight:600}.coloc-assignment-row{align-items:center;border-bottom:1px solid #e0e0e0;display:flex}.coloc-assignment-row:last-child{border-bottom:none}.ca-col{padding:8px 12px}.ca-col-name{flex:2 1}.ca-col-amount,.ca-col-prc{flex:1 1;text-align:right}.ca-col-actions{display:flex;flex:0 0 180px;gap:6px;justify-content:flex-end}.edit-small-button{background-color:#2196f3;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 10px;transition:background-color .15s}.edit-small-button:hover{background-color:#1976d2}.remove-small-button{background-color:#f44336;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 10px;transition:background-color .15s}.remove-small-button:hover{background-color:#d32f2f}.assign-coloc-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:10px;padding:8px 15px;transition:background-color .15s}.assign-coloc-button:hover{background-color:#2980b9}.pagination{display:flex;gap:5px;justify-content:center;margin-top:20px}.pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:6px 12px;transition:background-color .15s}.pagination button.active{background-color:#2196f3;border-color:#2196f3;color:#fff}.pagination button:hover:not(.active){background-color:#f0f0f0}.modal-content{min-width:400px;padding:25px}.modal-content h3{margin-bottom:15px}.modal-actions{gap:10px;margin-top:20px}.cancel-button{background-color:#e0e0e0;border:none;border-radius:4px;color:#333;cursor:pointer;padding:8px 16px;transition:background-color .15s}.cancel-button:hover{background-color:#bdbdbd}.confirm-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .15s}.confirm-button:hover{background-color:#43a047}.confirm-button.danger{background-color:#f44336}.confirm-button.danger:hover{background-color:#d32f2f}.confirm-button:disabled{background-color:#ccc;cursor:not-allowed}.modal-error{font-size:.9rem;margin-top:10px;padding:8px 12px}.form-group label{color:#333;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.95rem;padding:8px 10px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.autocomplete-wrapper{position:relative}.suggestions-list{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 8px #0000001a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:10}.suggestions-list li{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .1s}.suggestions-list li:hover{background-color:#e3f2fd}.suggestion-cat{color:#999;font-size:.8rem}.loading-indicator{color:#666;padding:30px;text-align:center}.empty-message{color:#7f8c8d;font-size:1rem;padding:2rem;text-align:center}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;margin:0;width:auto}.provider-details-row{margin-bottom:12px}.consumption-badge{background-color:#f0f0f0;border-radius:12px;color:#888;display:inline-block;font-size:.8rem;padding:3px 10px}.consumption-badge.active{background-color:#fff3e0;color:#e65100}.coloc-checkboxes{gap:6px}.coloc-checkbox-item{align-items:center;cursor:pointer;display:flex!important;font-size:.9rem;font-weight:400;gap:10px}.coloc-checkbox-item input[type=checkbox]{cursor:pointer;margin:0;width:auto}.assign-log-page{margin:0 auto;max-width:1200px;padding:2rem}.assign-log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.assign-log-header h1{color:#2c3e50;font-size:1.8rem;margin:0}.assign-log-content{display:flex;gap:2rem;min-height:calc(100vh - 200px)}.assign-log-info{display:flex;flex:0 0 35%;flex-direction:column;gap:1.5rem}.assign-log-page .info-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.assign-log-page .info-section h2{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.assign-log-page .log-meta{display:flex;flex-wrap:wrap;font-size:.9rem;gap:15px;margin-bottom:20px}.assign-log-page .log-meta-item{display:inline-block}.coloc-selection{margin-top:1.5rem}.coloc-selection h3{color:#2c3e50;font-size:1.1rem;margin-bottom:.5rem;margin-top:0}.coloc-selection-hint{color:#7f8c8d;font-size:.9rem;margin-bottom:1rem}.coloc-cards{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.coloc-card{border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.coloc-card:hover{background-color:#f1f8ff;border-color:#3498db}.coloc-card.selected{background-color:#e8f4fd;border-color:#3498db;box-shadow:0 0 0 1px #3498db}.coloc-card-name{color:#2c3e50;font-weight:600;margin-bottom:.25rem}.coloc-card-address{color:#7f8c8d;font-size:.85rem}.assign-actions{display:flex;gap:.75rem}.assign-button{background-color:#3498db;position:relative}.assign-button,.dismiss-assign-button{border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:background-color .2s}.dismiss-assign-button{background-color:#e74c3c}.dismiss-assign-button:hover{background-color:#c0392b}.dismiss-assign-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.assign-button:hover{background-color:#2980b9}.assign-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.assign-button.assigning{background-color:#6c757d;cursor:wait}.assign-button .spinner{animation:assign-spin 1s linear infinite;border:2px solid #ffffff80;border-radius:50%;border-top-color:#fff;display:inline-block;height:1rem;margin-right:.5rem;width:1rem}@keyframes assign-spin{to{transform:rotate(1turn)}}.assign-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:500}.assign-error,.assign-success{margin-bottom:1rem;padding:.75rem;text-align:center}.assign-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}@media (max-width:992px){.assign-log-content{flex-direction:column}.assign-log-info{width:100%}.assign-log-page .file-preview-section{min-height:500px}}.coloc-details-container{margin:0 auto;max-width:900px;padding:20px}.coloc-details-container h1{border-bottom:2px solid #4a90e2;color:#333;margin-bottom:20px;padding-bottom:10px}.coloc-details-section{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px}.coloc-details-section h2{border-bottom:1px solid #ddd;color:#555;font-size:1.2rem;margin-bottom:15px;margin-top:0;padding-bottom:10px}.coloc-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.stat-item{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;padding:10px 15px}.coloc-pictures{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:15px}.read-only-field{background-color:#f5f5f5;border:1px solid #ddd;color:#666;cursor:not-allowed}.coloc-picture{border-radius:4px;box-shadow:0 2px 4px #0000001a;height:150px;object-fit:cover;transition:transform .2s;width:100%}.coloc-picture:hover{transform:scale(1.05)}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:50px 20px;text-align:center}.loading-container h2{color:#555;margin-bottom:20px}.error-container{margin:0 auto;max-width:900px;padding:40px 20px;text-align:center}.error-container h1{color:#e74c3c;margin-bottom:20px}.error-container .error-message{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:20px}.error-container button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.error-container button:hover{background-color:#2980b9}.coloc-details-page h1{color:#333;margin-bottom:20px}.form-section{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px}.form-section h2{border-bottom:1px solid #ddd;color:#555;font-size:1.2rem;margin-bottom:15px;margin-top:0;padding-bottom:10px}.form-group{margin-bottom:15px;width:100%}.form-row{flex-wrap:wrap;gap:15px;margin-bottom:10px}.form-row .form-group{margin-bottom:0;min-width:150px}label{color:#555;display:block;font-weight:500;margin-bottom:5px}input[type=number],input[type=text],select,textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}textarea{min-height:80px;resize:vertical}.checkbox-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:15px}.checkbox-item{align-items:center;display:flex;margin-bottom:5px}.checkbox-item input[type=checkbox]{margin-right:8px}.checkbox-item label{cursor:pointer;margin-bottom:0}.form-actions{margin-top:30px;text-align:center}.save-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.save-button:hover{background-color:#3a7bc8}.save-button:disabled{background-color:#a0c0e8;cursor:not-allowed}.message{border-radius:4px;margin-bottom:20px;padding:10px 15px}.message.success{background-color:#dff0d8;border:1px solid #d6e9c6;color:#3c763d}.message.error{background-color:#f2dede;border:1px solid #ebccd1;color:#a94442}.loading{color:#666}.error-message,.loading{font-size:18px;padding:40px;text-align:center}.error-message{color:#a94442}@media (max-width:768px){.form-row{flex-direction:column;gap:10px}.checkbox-group{grid-template-columns:1fr}}.charges-container{padding:1rem 0}.charges-container h2{color:#2c3e50;margin-bottom:1rem;margin-top:0}.charges-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:1.5rem 0}.charges-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow:hidden}.charges-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#2c3e50;display:flex;font-weight:600;padding:1rem}.charge-column{line-height:1.5rem;min-width:0;overflow:hidden;padding:0 .5rem;text-overflow:ellipsis;white-space:nowrap}.col-year{flex:0.5 1}.col-total{flex:1 1}.col-date,.col-modified,.col-status{flex:0.8 1}.col-actions{flex:0 0 auto;gap:8px;justify-content:flex-end;min-width:160px}.charge-row,.col-actions{align-items:center;display:flex}.charge-row{border-bottom:1px solid #e9ecef;cursor:pointer;min-height:3.5rem;padding:1rem;transition:background-color .2s}.charge-row:hover{background-color:#f0f2f5}.charge-row:last-child{border-bottom:none}.action-button{padding:.5rem 1rem}.charges-actions>.action-button{background-color:#3498db;font-size:.9rem;height:auto;padding:.5rem 1rem}.charges-actions>.action-button:hover{background-color:#2980b9}.no-charges-message,.no-coloc-message{color:#7f8c8d;padding:2rem;text-align:center}.no-coloc-message{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a}.modal-content{width:400px}.form-group textarea{resize:vertical}.charge-detail-container{padding:1rem 0}.back-link{background:none;border:none;color:#3498db;cursor:pointer;display:inline-block;font-size:.9rem;margin-bottom:1rem;padding:0}.back-link:hover{color:#2980b9;text-decoration:underline}.charge-summary{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.charge-summary-main{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.charge-summary-main h2{color:#2c3e50;margin:0}.charge-summary-total{align-items:baseline;display:flex;gap:.75rem;margin-bottom:1rem}.total-label{color:#7f8c8d;font-size:1rem;font-weight:500}.total-amount{color:#2c3e50;font-size:1.8rem;font-weight:700}.charge-summary-notes{background-color:#f8f9fa;border-radius:4px;color:#555;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.notes-label{color:#2c3e50;font-weight:600}.charge-summary-meta{color:#95a5a6;display:flex;font-size:.85rem;gap:2rem;margin-bottom:1rem}.charge-summary-actions{display:flex;flex-wrap:wrap;gap:.75rem}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:2px 10px}.status-draft{background-color:#fef3cd;color:#856404}.status-finalized{background-color:#d4edda;color:#155724}.provider-filter{align-items:center;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.75rem}.provider-filter label{color:#2c3e50;font-weight:500}.provider-filter select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.85rem;max-width:250px;padding:.3rem .5rem}.coverage-warnings{background-color:#fff8e1;border:1px solid #ffe082;border-radius:6px;margin-bottom:.75rem;padding:.6rem 1rem}.coverage-warning-item{color:#5d4037;font-size:.85rem;padding:.2rem 0}.warning-icon{margin-right:.4rem}.warning-icon-inline{color:#e65100;font-size:.75rem;margin-left:.3rem}.lines-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow-x:auto}.lines-table{border-collapse:collapse;font-size:.85rem;min-width:1100px;width:100%}.lines-table td,.lines-table th{max-width:0;overflow:hidden;padding:.6rem .5rem;text-align:left;text-overflow:ellipsis;white-space:nowrap}.lines-table thead th{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:.8rem;font-weight:600;position:sticky;top:0}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#e9ecef}.lines-table tbody tr{background-color:#fff;border-bottom:1px solid #e9ecef;transition:background-color .2s}.lines-table tbody tr:last-child{border-bottom:none}.lines-table tbody tr:hover{background-color:#f0f2f5}.col-provider{width:12%}.col-label{width:16%}.col-category{width:10%}.col-period{width:12%}.col-days,.col-ratio{width:7%}.col-amount,.col-invoice-amount{text-align:right;width:12%}.col-type{text-align:center;width:5%}.col-line-actions{background-color:inherit;max-width:160px;min-width:160px;overflow:visible;position:sticky;right:0;text-align:right;white-space:nowrap;width:160px}.line-actions-group{display:flex;gap:6px;justify-content:flex-end}.lines-table thead th.col-line-actions{background-color:#f8f9fa}.lines-table tbody tr:hover .col-line-actions{background-color:#f0f2f5}.line-manual,.line-manual .col-line-actions{background-color:#ebf5fb}.line-manual:hover,.line-manual:hover .col-line-actions{background-color:#d6eaf8}.adjusted-amount{color:#e67e22;font-weight:600}.original-amount{color:#95a5a6;display:block;font-size:.75rem;text-decoration:line-through}.type-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:500;padding:2px 8px}.type-auto{background-color:#e8f8f5;color:#1abc9c}.type-manual{background-color:#ebf5fb;color:#3498db}.action-button{align-items:center;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;height:26px;justify-content:center;padding:0 10px;transition:background-color .2s}.action-button:disabled{cursor:not-allowed;opacity:.6}.charge-summary-actions .action-button{font-size:.85rem;height:auto;padding:.45rem 1rem}.edit-button{background-color:#3498db}.edit-button:hover{background-color:#2980b9}.delete-button{background-color:#e74c3c}.delete-button:hover{background-color:#c0392b}.recalculate-button{background-color:#f39c12}.recalculate-button:hover{background-color:#e67e22}.add-line-button{background-color:#27ae60}.add-line-button:hover{background-color:#219653}.cancel-button{background-color:#95a5a6}.cancel-button:hover{background-color:#7f8c8d}.no-lines-message{color:#7f8c8d;padding:2rem;text-align:center}.modal-content{box-shadow:0 4px 12px #00000026;max-width:90vw;width:450px}.edit-line-info{background-color:#f8f9fa;border-radius:4px;font-size:.85rem;margin-bottom:1rem;padding:.75rem}.edit-line-info p{margin:.25rem 0}.edit-original-info{color:#95a5a6;font-size:.85rem;margin-top:.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#2c3e50;display:block;font-size:.9rem;font-weight:500;margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.9rem;padding:.5rem;width:100%}.modal-error{background-color:#ffebee;border-radius:4px;color:#e53935;font-size:.85rem;margin-bottom:1rem;padding:.5rem .75rem}.modal-actions{margin-top:1.5rem}.modal-actions .action-button{background-color:#3498db;font-size:.9rem;height:auto;padding:.5rem 1.25rem}.modal-actions .action-button:hover{background-color:#2980b9}.modal-actions .cancel-button{background-color:#95a5a6}.modal-actions .cancel-button:hover{background-color:#7f8c8d}.modal-wide{display:flex;flex-direction:column;max-height:80vh;width:700px}.available-invoices-list{border:1px solid #e9ecef;border-radius:4px;max-height:50vh;overflow-y:auto}.available-invoice-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.available-invoice-row:last-child{border-bottom:none}.available-invoice-row:hover{background-color:#f8f9fa}.available-invoice-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;font-size:.85rem;gap:.5rem 1rem;min-width:0}.available-invoice-provider{color:#2c3e50;font-weight:600}.available-invoice-date,.available-invoice-period{color:#7f8c8d}.available-invoice-amount{font-weight:500}.available-invoice-imputable{color:#27ae60;font-weight:500}.add-invoice-button{flex-shrink:0;white-space:nowrap}.empty-text,.loading-text{color:#7f8c8d;padding:2rem;text-align:center}.loading-indicator{align-items:center;color:#7f8c8d;display:flex;font-size:1.2rem;height:200px;justify-content:center}.error-message{background-color:#ffebee;border-radius:4px;color:#e53935;margin:1rem 0;padding:1rem}.users-page{padding:0}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.users-header h2{color:#2c3e50;margin:0}.users-add-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.users-add-btn:hover{background-color:#219a52}.users-error{background-color:#ffebee;border-radius:4px;color:#e53935;margin-bottom:1rem;padding:.75rem}.users-table-container{overflow-x:auto}.users-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow:hidden;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:.75rem 1rem;text-align:left}.users-table th{color:#2c3e50;font-weight:600;white-space:nowrap}.users-table th,.users-table tr:hover{background-color:#f8f9fa}.role-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .5rem}.role-owner{background-color:#e8daef;color:#6c3483}.role-tenant{background-color:#d5f5e3;color:#1e8449}.no-coloc{color:#95a5a6;font-style:italic}.users-actions{align-items:center;display:flex;gap:.5rem;white-space:nowrap}.users-edit-btn{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.3rem .6rem}.users-edit-btn:hover{background-color:#2980b9}.users-delete-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.3rem .6rem}.users-delete-btn:hover{background-color:#c0392b}.delete-confirm{display:flex;gap:.3rem}.users-confirm-delete-btn{background-color:#e74c3c;font-size:.8rem;font-weight:600}.users-cancel-btn,.users-confirm-delete-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.3rem .6rem}.users-cancel-btn{background-color:#95a5a6;font-size:.85rem}.users-cancel-btn:hover{background-color:#7f8c8d}.users-empty{color:#95a5a6;padding:2rem!important;text-align:center}.users-loading{color:#7f8c8d;padding:3rem;text-align:center}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal-content h3{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.users-form{flex-direction:column}.form-row,.users-form{display:flex;gap:1rem}.form-row .form-group{flex:1 1}.users-form .form-group{display:flex;flex-direction:column;gap:.35rem}.users-form .form-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.users-form .form-control{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:.5rem}.coloc-checkboxes{border:1px solid #eee;border-radius:4px;display:flex;flex-direction:column;gap:.4rem;max-height:150px;overflow-y:auto;padding:.5rem}.coloc-checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.users-save-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.25rem}.users-save-btn:hover{background-color:#219a52}.users-save-btn:disabled{background-color:#95a5a6;cursor:not-allowed}@media (max-width:768px){.form-row{flex-direction:column}.users-table td:nth-child(4),.users-table td:nth-child(5),.users-table th:nth-child(4),.users-table th:nth-child(5){display:none}}.comparison-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:1.5rem}.comparison-controls{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.comparison-controls label{color:#2c3e50;font-size:.9rem;font-weight:600}.comparison-select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.35rem .5rem}.comparison-chart-wrapper{height:350px}.comparison-error,.comparison-loading{color:#7f8c8d;padding:2rem;text-align:center}.comparison-error{color:#e53935}@media (max-width:768px){.comparison-container{padding:1rem}.comparison-chart-wrapper{height:250px}}.tenant-dashboard{margin:0 auto;max-width:1000px}.tenant-dashboard-title{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.tenant-dashboard-content{display:flex;flex-direction:column;gap:2rem}.tenant-chart-section{box-shadow:0 2px 4px #00000014;padding:1.5rem}.tenant-chart-section,.tenant-no-coloc{background-color:#fff;border-radius:8px}.tenant-no-coloc{color:#7f8c8d;padding:3rem;text-align:center}@media (max-width:768px){.tenant-dashboard-title{font-size:1.25rem;margin-bottom:1rem}.tenant-chart-section{padding:.75rem}.tenant-dashboard-content{gap:1rem}}.layout-container{display:flex;flex-direction:column;min-height:100vh}.layout-header{align-items:center;background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.layout-header h1{font-size:1.5rem;margin:0}.user-info{align-items:center;display:flex;gap:1rem}.sidebar-coloc-selector{padding:.5rem 1rem .75rem}.coloc-dropdown{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right .7rem top 50%;background-repeat:no-repeat;background-size:.65rem auto;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;min-width:150px;padding:.5rem;transition:border-color .2s}.sidebar-coloc-dropdown{min-width:0;min-width:auto;width:100%}.coloc-dropdown:hover{border-color:#aaa}.coloc-dropdown:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.logout-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.logout-button:hover{background-color:#c0392b}.layout-content{display:flex;flex:1 1}.sidebar{background-color:#f8f9fa;border-right:1px solid #e9ecef;padding:1.5rem 0;width:250px}.menu-section-label{color:#95a5a6;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1.5rem;text-transform:uppercase}.menu-separator{background-color:#e9ecef;height:1px;margin:.75rem 1.5rem}.menu{list-style:none;margin:0;padding:0}.menu li{margin-bottom:.5rem}.menu li.active .menu-button{background-color:#3498db;color:#fff}.menu-button{background:none;border:none;border-radius:0;color:#2c3e50;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;text-align:left;transition:background-color .2s;width:100%}.menu-button:hover{background-color:#e9ecef}.menu li.active .menu-button:hover{background-color:#2980b9}.main-content{background-color:#f5f5f5;flex:1 1;overflow-y:auto;padding:2rem}@media (max-width:768px){.layout-content{flex-direction:column}.sidebar{border-bottom:1px solid #e9ecef;border-right:none;padding:1rem 0;width:100%}.menu{display:flex;overflow-x:auto}.menu li{margin-bottom:0;margin-right:.5rem}.menu-button{padding:.5rem 1rem;white-space:nowrap}.user-info{flex-wrap:wrap;justify-content:flex-end}.sidebar-coloc-selector{padding:.5rem}}.tenant-layout{background-color:#f5f7fa;min-height:100vh}.tenant-header{align-items:center;background-color:#2c3e50;color:#fff;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem 1.5rem}.tenant-header-left{align-items:center;display:flex;gap:1rem}.tenant-logo{font-size:1.25rem;font-weight:700;margin:0}.tenant-coloc-select{background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;font-size:.9rem;padding:.35rem .5rem}.tenant-coloc-name{font-size:.9rem;opacity:.85}.tenant-header-right{align-items:center;display:flex;gap:1rem}.tenant-user-name{font-size:.9rem;opacity:.85}.tenant-logout-btn{background-color:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.35rem .75rem;transition:background-color .2s}.tenant-logout-btn:hover{background-color:#ffffff40}.tenant-main{margin:0 auto;max-width:1200px;padding:1.5rem}.tenant-loading{align-items:center;color:#7f8c8d;display:flex;font-size:1.1rem;justify-content:center;min-height:100vh}@media (max-width:768px){.tenant-header{padding:.5rem 1rem}.tenant-logo{font-size:1.1rem}.tenant-user-name{display:none}.tenant-main{padding:1rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}a{color:#3498db;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.55e8ef7f.css.map*/