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}.pending-actions{display:flex;flex:0 0 15%!important;gap:.4rem}.retry-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .7rem;transition:background-color .2s}.retry-button:hover:not(:disabled){background-color:#2980b9}.retry-button:disabled{cursor:not-allowed;opacity:.6}.log-column.checkbox-column{align-items:center;display:flex;flex:0 0 36px;justify-content:center}.checkbox-column input[type=checkbox]{cursor:pointer;height:16px;width:16px}@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{margin-bottom:.8rem}.info-label{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}.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}}.drop-invoices-container{padding:1rem 0}.drop-invoices-header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.drop-invoices-container h2{color:#2c3e50;margin-bottom:0;margin-top:0}.drop-invoices-description{color:#7f8c8d;margin-bottom:1.5rem}.drop-zone{background-color:#f0f7ff;border:2px dashed #3498db;border-radius:8px;cursor:pointer;margin-bottom:1.5rem;padding:3rem 2rem;text-align:center;transition:all .2s}.drop-zone:hover{background-color:#e3f0fd;border-color:#2980b9}.drop-zone.dragging{background-color:#d6ebfa;border-color:#2980b9;border-style:solid}.drop-zone-icon{font-size:2.5rem;margin-bottom:.75rem}.drop-zone-text{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.drop-zone-subtext{color:#7f8c8d;font-size:.9rem;margin-bottom:.5rem}.drop-zone-formats{color:#95a5a6;font-size:.8rem}.drop-zone-input{display:none}.file-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow:hidden}.file-list-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#2c3e50;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:.75rem 1rem}.clear-all-button{background-color:#e9ecef;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:.8rem;padding:.3rem .7rem;transition:background-color .2s}.clear-all-button:hover{background-color:#dee2e6}.file-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s}.file-row:last-child{border-bottom:none}.file-row:hover{background-color:#f8f9fa}.file-row-error{background-color:#fff5f5}.file-row-error:hover{background-color:#ffebee}.file-info{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.file-icon{flex-shrink:0}.file-name{color:#2c3e50;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#95a5a6;flex-shrink:0;font-size:.85rem;margin-left:.5rem}.file-error-text{color:#e74c3c;flex-shrink:0;font-size:.8rem;margin:0 1rem}.remove-file-button{background:none;border:none;border-radius:4px;color:#95a5a6;cursor:pointer;flex-shrink:0;font-size:1.2rem;padding:.25rem .5rem;transition:all .2s}.remove-file-button:hover{background-color:#e74c3c1a;color:#e74c3c}.upload-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s;width:100%}.upload-button:hover:not(:disabled){background-color:#2980b9}.upload-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.drop-success-message{align-items:center;background-color:#d4edda;color:#155724;display:flex;gap:1rem;justify-content:space-between}.drop-error-message,.drop-success-message{border-radius:4px;margin-bottom:1.5rem;padding:1rem}.drop-error-message{background-color:#ffebee;color:#e53935}.link-button{background:none;border:none;color:#155724;cursor:pointer;font-weight:600;padding:0;text-decoration:underline;white-space:nowrap}.link-button:hover{color:#0d3517}@media (max-width:768px){.drop-invoices-header-section{align-items:flex-start;flex-direction:column;gap:.5rem}.drop-zone{padding:2rem 1rem}.drop-success-message{align-items:flex-start;flex-direction:column}.file-row{flex-wrap:wrap;gap:.25rem}.file-error-text{margin:0;padding-left:1.5rem;width:100%}}.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-checkbox{align-items:center;display:flex;flex:0 0 36px;justify-content:center}.col-inv-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.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%}.bulk-action-bar{align-items:center;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:6px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.6rem 1rem}.bulk-action-bar .action-button{flex:none}.bulk-count{color:#1565c0;font-size:.85rem;font-weight:600;margin-right:auto}.delete-button{background-color:#e53935}.delete-button:hover{background-color:#c62828}.bulk-cancel{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:.85rem;padding:.3rem .5rem}.bulk-cancel:hover{color:#2c3e50}.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: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;color:#fff;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{padding:25px}.modal-content h3{margin-bottom:15px}.modal-actions{gap:10px;margin-top:20px}.cancel-button{background-color:#e0e0e0;border:none;color:#333;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}}.photo-manager{margin-top:8px}.photo-manager-loading{color:#666;padding:20px;text-align:center}.photo-manager-empty{color:#999;font-style:italic;margin:16px 0;text-align:center}.photo-dropzone{border:2px dashed #ccc;border-radius:8px;cursor:pointer;margin-bottom:16px;padding:24px;text-align:center;transition:border-color .2s,background-color .2s}.photo-dropzone:hover{background-color:#f0f7ff;border-color:#2196f3}.photo-dropzone.dragging{background-color:#e3f2fd;border-color:#2196f3}.photo-dropzone.uploading{background-color:#fff8e1;border-color:#ff9800;cursor:wait}.dropzone-text{color:#666;font-size:14px}.photo-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.photo-card{aspect-ratio:4/3;background:#f5f5f5;border-radius:8px;overflow:hidden;position:relative;transition:opacity .2s}.photo-card.deleting{opacity:.4;pointer-events:none}.photo-thumbnail{display:block;height:100%;object-fit:cover;width:100%}.photo-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.photo-card:hover .photo-overlay{opacity:1}.photo-actions{display:flex;gap:8px}.photo-action-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background-color .2s,transform .1s;width:32px}.photo-action-btn:hover:not(:disabled){transform:scale(1.1)}.photo-action-btn:disabled{cursor:not-allowed;opacity:.3}.move-btn{background:#ffffffe6;color:#333}.move-btn:hover:not(:disabled){background:#fff}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover:not(:disabled){background:#d32f2f}.photo-position{align-items:center;background:#0009;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:600;height:22px;justify-content:center;left:6px;position:absolute;top:6px;width:22px}.photo-dropzone.disabled{cursor:not-allowed;opacity:.5}.photo-dropzone.disabled,.photo-dropzone.disabled:hover{background-color:#f9f9f9;border-color:#ddd}.dropzone-info{color:#999;display:block;font-size:12px;margin-top:4px}.photo-error{align-items:center;animation:fadeIn .2s ease;background:#fdecea;border:1px solid #f5c6cb;border-radius:6px;color:#b71c1c;display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.photo-error-close{background:none;border:none;color:#b71c1c;cursor:pointer;font-size:16px;line-height:1;padding:0 0 0 12px}.upload-progress{align-items:center;display:flex;gap:10px;justify-content:center}.upload-spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#ff9800;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.photo-counter{color:#888;font-size:13px;margin-bottom:8px;text-align:right}.photo-modal-backdrop{align-items:center;animation:fadeIn .15s ease;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.photo-modal{background:#fff;border-radius:10px;box-shadow:0 8px 30px #0003;max-width:340px;padding:24px 28px;text-align:center;width:90%}.photo-modal p{color:#333;font-size:15px;margin:0 0 20px}.photo-modal-actions{display:flex;gap:10px;justify-content:center}.photo-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 20px;transition:background-color .2s}.photo-modal-btn.cancel{background:#e0e0e0;color:#333}.photo-modal-btn.cancel:hover{background:#d0d0d0}.photo-modal-btn.confirm{background:#f44336;color:#fff}.photo-modal-btn.confirm:hover{background:#d32f2f}.photo-lightbox{align-items:center;animation:fadeIn .2s ease;background:#000000d9;cursor:zoom-out;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.photo-lightbox img{border-radius:4px;box-shadow:0 4px 20px #0006;max-height:90vh;max-width:90vw;object-fit:contain}.lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:28px;line-height:1;opacity:.8;position:absolute;right:20px;top:16px;transition:opacity .2s}.lightbox-close:hover{opacity:1}.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}.url-display{background-color:#f0f7ff;border:1px solid #d0e3f7;border-radius:6px;font-size:.9rem;padding:8px 12px;word-break:break-all}.url-display a{color:#2563eb;text-decoration:none}.url-display a:hover{text-decoration:underline}.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{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 .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-content{box-shadow:0 4px 20px #00000026;max-height:90vh}.modal-content h3{margin-bottom:1.5rem}.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}.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}}.account-container{max-width:600px;padding:1rem 0}.account-container h2{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.account-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.account-section h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.account-info{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;gap:1rem}.info-label{color:#7f8c8d;font-weight:600;min-width:80px}.info-value{color:#2c3e50}.password-form{display:flex;flex-direction:column;gap:1rem}.password-form .form-group{display:flex;flex-direction:column;gap:.3rem}.password-form label{color:#2c3e50;font-size:.9rem;font-weight:500}.password-form input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem .75rem}.password-form input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-message{border-radius:4px;font-size:.9rem;padding:.6rem 1rem}.form-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.submit-button{align-self:flex-start;background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#2980b9}.submit-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.template-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.5rem .75rem;resize:vertical;width:100%}.template-textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.tenants-page{padding:0}.tenants-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem}.tenants-header h2{color:#2c3e50;margin:0}.tenants-header-actions{align-items:center;display:flex;gap:.75rem}.tenants-filter{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.45rem .75rem}.tenants-add-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.tenants-add-btn:hover{background-color:#219a52}.tenants-error{background-color:#ffebee;border-radius:4px;color:#e53935;margin-bottom:1rem;padding:.75rem}.tenants-empty,.tenants-loading{color:#7f8c8d;padding:3rem;text-align:center}.tenants-table-container{overflow-x:auto}.tenants-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow:hidden;width:100%}.tenants-table td,.tenants-table th{border-bottom:1px solid #eee;padding:.75rem 1rem;text-align:left}.tenants-table th{background-color:#f8f9fa;color:#2c3e50;font-weight:600;white-space:nowrap}.tenants-row{cursor:pointer;transition:background-color .15s}.tenants-row:hover{background-color:#f0f7ff}.tenants-row.expanded{background-color:#eaf2fb}.tenant-name{font-weight:500}.no-room{color:#95a5a6;font-style:italic}.tenants-empty-row{color:#95a5a6;padding:2rem!important;text-align:center}.tenant-status-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.status-active{background-color:#d5f5e3;color:#1e8449}.status-notice{background-color:#fef9e7;color:#b7950b}.status-exited{background-color:#eaecee;color:#626567}.tenants-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;white-space:nowrap}.btn-action{font-size:.8rem;padding:.3rem .6rem;transition:background-color .2s}.btn-checkin{background-color:#27ae60;color:#fff}.btn-checkin:hover{background-color:#219a52}.btn-notice{background-color:#f39c12;color:#fff}.btn-notice:hover,.btn-warning{background-color:#e67e22}.btn-warning{color:#fff}.btn-warning:hover{background-color:#d35400}.btn-checkout{background-color:#e74c3c;color:#fff}.btn-checkout:hover{background-color:#c0392b}.btn-upload{background-color:#3498db;color:#fff;font-size:.75rem;margin-left:.75rem;padding:.2rem .5rem}.btn-upload:hover{background-color:#2980b9}.btn-secondary:hover{background-color:#7f8c8d}.btn-danger:hover{background-color:#c0392b}.btn-save{font-weight:600}.btn-save:hover{background-color:#219a52}.btn-action:disabled,.btn-save:disabled{background-color:#bdc3c7;cursor:not-allowed}.cancel-notice-confirm{display:flex;gap:.3rem}.tenants-detail-row td{border-bottom:2px solid #3498db;padding:0!important}.tenant-detail{background-color:#fafbfc;padding:1.25rem 1.5rem}.tenant-detail-grid{display:flex;flex-direction:column;gap:1.25rem}.detail-section h4{align-items:center;display:flex;font-size:.95rem}.notice-section{background-color:#fef9e7;border-left:3px solid #f39c12;border-radius:6px;padding:.75rem}.detail-item{font-size:.9rem;padding:.3rem 0}.detail-item span:first-child{color:#7f8c8d}.detail-item span:last-child{color:#2c3e50}.no-docs{color:#95a5a6;font-size:.85rem;font-style:italic;margin:0}.docs-list{display:flex;flex-direction:column;gap:.4rem}.doc-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:4px;display:flex;font-size:.85rem;gap:.75rem;padding:.4rem .5rem}.doc-type-badge{background-color:#ebf5fb;border-radius:10px;color:#2980b9;font-size:.75rem;font-weight:600;padding:.15rem .5rem;white-space:nowrap}.doc-filename{color:#3498db;cursor:pointer;flex:1 1;text-decoration:underline}.doc-filename:hover{color:#2c3e50}.doc-date{color:#95a5a6;font-size:.8rem;white-space:nowrap}.tenants-page .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}.tenants-page .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%}.tenants-page .modal-content h3{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.tenants-form{flex-direction:column}.tenants-form,.tenants-form .form-row{display:flex;gap:1rem}.tenants-form .form-row .form-group{flex:1 1}.tenants-form .form-group{display:flex;flex-direction:column;gap:.35rem}.tenants-form .form-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.tenants-form .form-control{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:.5rem}.modal-actions{margin-top:.5rem}@media (max-width:768px){.tenants-header{align-items:stretch}.tenants-form .form-row,.tenants-header,.tenants-header-actions{flex-direction:column}.tenants-table td:nth-child(3),.tenants-table td:nth-child(4),.tenants-table th:nth-child(3),.tenants-table th:nth-child(4){display:none}.detail-item{flex-direction:column;gap:.15rem}}.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}}.rooms-page{padding:0}.rooms-page .url-display{background-color:#f0f7ff;border:1px solid #d0e3f7;border-radius:6px;font-size:.9rem;padding:8px 12px;word-break:break-all}.rooms-page .url-display a{color:#2563eb;text-decoration:none}.rooms-page .url-display a:hover{text-decoration:underline}.rooms-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem}.rooms-header h2{color:#2c3e50;margin:0}.rooms-header-actions{align-items:center;display:flex;gap:.75rem}.rooms-filter{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.45rem .75rem}.rooms-add-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.rooms-add-btn:hover{background-color:#219a52}.rooms-error{background-color:#ffebee;border-radius:4px;color:#e53935;margin-bottom:1rem;padding:.75rem}.rooms-warning{background-color:#fff3e0;border-left:3px solid #ff9800;border-radius:4px;color:#e65100;font-size:.9rem;padding:.5rem .75rem}.rooms-empty,.rooms-loading{color:#7f8c8d;padding:3rem;text-align:center}.rooms-table-container{overflow-x:auto}.rooms-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow:hidden;width:100%}.rooms-table td,.rooms-table th{border-bottom:1px solid #eee;padding:.75rem 1rem;text-align:left}.rooms-table th{background-color:#f8f9fa;color:#2c3e50;font-weight:600;white-space:nowrap}.rooms-row{cursor:pointer;transition:background-color .15s}.rooms-row:hover{background-color:#f0f7ff}.rooms-row.expanded{background-color:#eaf2fb}.room-name{font-weight:500}.no-tenant{color:#95a5a6}.rooms-empty-row{color:#95a5a6;padding:2rem!important;text-align:center}.room-status-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.rooms-actions{align-items:center;display:flex;gap:.4rem;white-space:nowrap}.btn-edit{background-color:#3498db;color:#fff}.btn-edit:hover{background-color:#2980b9}.rooms-detail-row td{border-bottom:2px solid #3498db;padding:0!important}.room-detail{background-color:#fafbfc;padding:1.25rem 1.5rem}.room-detail-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.room-detail .detail-section h4{color:#2c3e50;font-size:.95rem;margin:0 0 .75rem}.room-detail .detail-item{display:flex;font-size:.9rem;justify-content:space-between;padding:.3rem 0}.room-detail .detail-item span:first-child{color:#7f8c8d}.room-detail .detail-item span:last-child{color:#2c3e50;font-weight:500}.room-amenities{display:flex;flex-wrap:wrap;gap:.4rem}.amenity-tag{background-color:#ebf5fb;border-radius:10px;color:#2980b9;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.rooms-page .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}.rooms-page .modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.rooms-page .modal-content .modal-actions{background:#fff;border-top:1px solid #eee;bottom:0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;position:sticky}.rooms-page .modal-content.modal-wide{max-width:650px}.rooms-page .modal-content h3{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.modal-tabs{border-bottom:2px solid #eee;display:flex;gap:0;margin-bottom:1.5rem}.modal-tab{background:none;border:none;border-bottom:2px solid #0000;color:#7f8c8d;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:-2px;padding:.5rem 1rem;transition:all .2s}.modal-tab:hover{color:#2c3e50}.modal-tab.active{border-bottom-color:#3498db;color:#3498db}.rooms-form{display:flex;flex-direction:column;gap:1rem}.rooms-form .form-row{align-items:flex-end;display:flex;gap:1rem}.rooms-form .form-row .form-group{flex:1 1}.rooms-form .form-group{display:flex;flex-direction:column;gap:.35rem}.rooms-form .form-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.rooms-form .form-control{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:.5rem}.rooms-form textarea.form-control{resize:vertical}.rooms-form .checkboxes{flex-wrap:wrap;gap:1rem}.rooms-form .checkbox-inline,.rooms-form .checkboxes label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.3rem}@media (max-width:768px){.rooms-header{align-items:stretch}.rooms-form .form-row,.rooms-header,.rooms-header-actions{flex-direction:column}.rooms-table td:nth-child(2),.rooms-table td:nth-child(5),.rooms-table th:nth-child(2),.rooms-table th:nth-child(5){display:none}.room-detail-grid{grid-template-columns:1fr}}.candidats-page{padding:1.5rem}.candidats-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.candidats-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.candidats-filters{display:flex;gap:.75rem}.candidats-filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.875rem;padding:.5rem .75rem}.candidats-empty,.candidats-loading{color:#666;padding:2rem;text-align:center}.candidats-error{background-color:#fdecea;border-radius:6px;color:#c0392b;margin-bottom:1rem;padding:.75rem 1rem}.candidats-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #00000014;overflow:hidden;width:100%}.candidats-table th{background:#f8f9fa;border-bottom:2px solid #eee;color:#666;font-size:.8125rem;font-weight:600;letter-spacing:.03em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.candidats-table td{border-bottom:1px solid #eee;font-size:.875rem;padding:.75rem 1rem}.candidats-row{cursor:pointer;transition:background-color .15s}.candidats-row:hover{background-color:#f8f9fa}.candidats-row.expanded{background-color:#f0f4ff}.candidat-name{color:#2c3e50;font-weight:600}.candidat-status-badge{border-radius:12px;font-size:.75rem;padding:.2rem .6rem}.candidat-status-badge,.guarantor-badge{color:#fff;display:inline-block;font-weight:600}.guarantor-badge{background-color:#3498db;border-radius:8px;font-size:.65rem;margin-left:.5rem;padding:.1rem .4rem;vertical-align:middle}.candidats-actions{align-items:center;display:flex;gap:.5rem}.btn-action{border:none;border-radius:4px;cursor:pointer;font-size:.8125rem;font-weight:500;padding:.35rem .75rem;transition:opacity .15s}.btn-action:hover{opacity:.85}.btn-action:disabled{cursor:not-allowed;opacity:.5}.btn-save{background-color:#27ae60;color:#fff}.btn-danger{background-color:#e74c3c;color:#fff}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-download{background-color:#3498db;color:#fff}.reject-confirm{display:inline-flex;gap:.25rem}.candidats-detail-row td{border-bottom:2px solid #3498db;padding:0!important}.candidat-detail{background-color:#fafbfc;padding:1.25rem 1.5rem}.candidat-detail-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.detail-section h4{color:#2c3e50;font-size:.875rem;letter-spacing:.03em;margin:0 0 .75rem;text-transform:uppercase}.detail-item{border-bottom:1px solid #eef0f2;display:flex;font-size:.8125rem;justify-content:space-between;padding:.35rem 0}.detail-item span:first-child{color:#888}.detail-item span:last-child{color:#333;font-weight:500}.candidat-comment{color:#555;font-size:.875rem;font-style:italic;line-height:1.5}.files-list{display:flex;flex-direction:column;gap:.5rem}.file-item{background:#fff;border:1px solid #eee;border-radius:6px;justify-content:space-between;padding:.5rem .75rem}.file-item,.file-name{align-items:center;display:flex}.file-name{color:#333;font-size:.8125rem;gap:.5rem}.guarantor-file-badge{background-color:#9b59b6;border-radius:6px;color:#fff;display:inline-block;font-size:.625rem;font-weight:600;padding:.1rem .35rem}.no-files{color:#999;font-size:.8125rem;font-style:italic}.modal-overlay{background:#00000080;inset:0}.modal-content{background:#fff;border-radius:12px;max-height:85vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.modal-content.modal-large{max-width:700px}.modal-content h3{margin:0 0 .25rem}.modal-subtitle{color:#666;font-size:.875rem;margin-bottom:1.25rem}.modal-actions{border-top:1px solid #eee;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.candidats-form .form-section-title{border-top:1px solid #eee;color:#2c3e50;font-size:.875rem;font-weight:600;letter-spacing:.03em;margin:1.25rem 0 .75rem;padding-top:1rem;text-transform:uppercase}.candidats-form .form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.candidats-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem}.candidats-form .form-group{display:flex;flex-direction:column}.candidats-form .form-group label{color:#555;font-size:.8125rem;font-weight:500;margin-bottom:.25rem}.candidats-form .form-control{border:1px solid #ddd;border-radius:6px;font-size:.875rem;padding:.5rem .75rem}.candidats-form .form-control:focus{border-color:#3498db;outline:none}.form-hint{color:#999;font-size:.75rem;margin-top:.25rem}.form-hint-block{background:#fff8e1;border-radius:6px;color:#666;font-size:.8125rem;margin-bottom:.75rem;padding:.5rem .75rem}.settings-container{max-width:900px;padding:1rem 0}.settings-container h2{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.settings-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.settings-section h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.settings-section-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.settings-section-header h3{margin-bottom:0}.default-badge{background-color:#eaf4fe;border-radius:12px;color:#2980b9;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.settings-empty,.settings-loading{color:#888;padding:2rem;text-align:center}.config-table{border-collapse:collapse;margin-bottom:1rem;width:100%}.config-table th{border-bottom:2px solid #eee;color:#7f8c8d;font-size:.8125rem;font-weight:600;padding:.6rem .75rem;text-align:left;white-space:nowrap}.config-table td{border-bottom:1px solid #f0f0f0;color:#2c3e50;font-size:.875rem;padding:.6rem .75rem}.config-table tr:last-child td{border-bottom:none}.config-table tr.row-modified{background-color:#fef9e7}.category-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:500;padding:.15rem .5rem}.category-identity{background-color:#eaf4fe;color:#2471a3}.category-financial{background-color:#fef9e7;color:#b7950b}.category-other{background-color:#f0f0f0;color:#666}.category-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.8125rem;padding:.25rem .4rem}.config-checkbox{cursor:pointer;height:16px;width:16px}.config-checkbox:disabled{cursor:default;opacity:.6}.config-actions{display:flex;gap:.75rem;margin-top:.5rem}.delete-config-btn{background:none;border:1px solid #e74c3c;border-radius:4px;color:#e74c3c;cursor:pointer;font-size:.8125rem;padding:.25rem .6rem;transition:all .2s}.delete-config-btn:hover{background-color:#e74c3c;color:#fff}.add-button{background-color:#fff;border:1px solid #3498db;border-radius:4px;color:#3498db;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:all .2s}.add-button:hover{background-color:#eaf4fe}.reset-button{background-color:#fff;border:1px solid #bdc3c7;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:all .2s}.reset-button:hover{background-color:#f8f8f8;border-color:#95a5a6;color:#555}.settings-container .submit-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:background-color .2s}.settings-container .submit-button:hover:not(:disabled){background-color:#2980b9}.settings-container .submit-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.email-form{display:flex;flex-direction:column;gap:1rem}.email-form .form-group{display:flex;flex-direction:column;gap:.3rem}.email-form label{color:#2c3e50;font-size:.9rem;font-weight:500}.settings-container .template-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.5rem .75rem;resize:vertical;width:100%}.settings-container .template-textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.settings-hint{color:#888;font-size:.8125rem;line-height:1.5;margin-bottom:1rem}.settings-container .form-message{border-radius:4px;font-size:.9rem;margin-bottom:.5rem;padding:.6rem 1rem}.settings-container .form-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.settings-container .form-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.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 12px #00000026;max-width:500px;min-width:400px;padding:1.5rem}.modal-content h3{color:#2c3e50;margin-bottom:1rem;margin-top:0}.modal-content p{color:#555;line-height:1.5;margin-bottom:1rem}.modal-content .form-group{margin-bottom:.75rem}.modal-content .form-group label{color:#2c3e50;display:block;font-size:.9rem;font-weight:500;margin-bottom:.3rem}.form-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem .75rem;width:100%}.form-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem .75rem;width:100%}.form-group-row{display:flex;gap:1.5rem;margin-bottom:1rem}.form-group-row label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:.9rem;gap:.4rem}.modal-actions{display:flex;gap:.75rem;margin-top:1rem}.cancel-button{background-color:#fff;border:1px solid #bdc3c7;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:.9rem;padding:.6rem 1.5rem;transition:all .2s}.cancel-button:hover{background-color:#f8f8f8;border-color:#95a5a6}.delete-confirm-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:background-color .2s}.delete-confirm-btn:hover:not(:disabled){background-color:#c0392b}.delete-confirm-btn:disabled{background-color:#bdc3c7;cursor:not-allowed}.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-sub-separator{background-color:#e9ecef;height:1px;margin:.25rem 2.5rem;opacity:.6}.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.65783004.css.map*/