@import"https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700&display=swap";.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e232b,#2e95c1);padding:2rem}.auth-card{width:100%;max-width:420px;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;overflow:hidden}.auth-header{padding:2.5rem 2rem 1.5rem;text-align:center;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff}.auth-header h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.auth-logo{height:36px;width:auto;object-fit:contain}.auth-header p{margin:0;font-size:.95rem;opacity:.95}.auth-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:#9ca3af}.auth-alert{padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.auth-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.auth-alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.auth-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#2e95c1,#5f7b8d);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #0000001a}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{padding:1.5rem 2rem 2rem;text-align:center;border-top:1px solid #e5e7eb}.auth-toggle{background:none;border:none;color:#2e95c1;font-size:.9rem;font-weight:500;cursor:pointer;transition:color .2s;padding:.5rem}.auth-toggle:hover:not(:disabled){color:#5f7b8d;text-decoration:underline}.auth-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-page-footer{margin-top:2rem;text-align:center;color:#fff;opacity:.9}.auth-page-footer p{margin:0;font-size:.875rem}@media (max-width: 480px){.auth-container{padding:1rem}.auth-card{max-width:100%}.auth-header h1{font-size:1.5rem}.auth-form{padding:1.5rem}.auth-footer{padding:1.25rem 1.5rem 1.5rem}}.modal-header .btn-close{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;line-height:1}.modal-header .btn-close:hover{background:#fff;color:#dc2626!important;transform:scale(1.1)}.mappings-manager{max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.mappings-manager .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.mappings-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;text-align:center}.stat-card.warning{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.875rem;opacity:.9}.mappings-controls{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.filter-select,.sort-select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;background:#fff;cursor:pointer}.btn-danger{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#c82333}.alert{padding:1rem;border-radius:4px;margin-bottom:1.5rem}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.mappings-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:4px}.mappings-table{width:100%;border-collapse:collapse;font-size:.875rem}.mappings-table thead{background:#f8f9fa;position:sticky;top:0;z-index:1}.mappings-table th{padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}.mappings-table th.arrow{width:40px;text-align:center}.mappings-table tbody tr{border-bottom:1px solid #dee2e6;transition:background .2s}.mappings-table tbody tr:hover{background:#f8f9fa}.mappings-table tbody tr.suspicious-row{background:#fff3cd}.mappings-table tbody tr.suspicious-row:hover{background:#ffe69c}.mappings-table td{padding:.75rem}.t12-name{font-weight:500}.warning-icon{margin-right:.5rem}.arrow{text-align:center;color:#6c757d}.mapped-name{color:#007bff;font-weight:500}.badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-expense{background:#e3f2fd;color:#1976d2}.badge-income{background:#e8f5e9;color:#388e3c}.frequency{color:#6c757d;font-family:Courier New,monospace}.actions{text-align:center}.btn-delete-small{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.6;transition:opacity .2s,transform .2s}.btn-delete-small:hover{opacity:1;transform:scale(1.2)}.loading,.no-mappings{text-align:center;padding:3rem;color:#6c757d}.no-mappings p{margin-top:.5rem;font-size:.875rem}.help-text{font-size:.875rem;color:#6c757d;margin:0;flex:1}.modal-footer{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #dee2e6}.btn-secondary{padding:.5rem 1.5rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#5a6268}.density-selector{position:relative;display:inline-block}.density-button{background:#fff;border:1px solid #d1d5db;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.density-button:hover{background:#f8f9fa;border-color:#2e95c1}.density-overlay{position:fixed;inset:0;z-index:999}.density-dropdown{position:fixed;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px 0;min-width:280px;max-height:400px;overflow-y:auto;z-index:10001}.density-dropdown-header{padding:8px 16px;font-weight:600;color:#374151;font-size:14px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.density-option{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background .2s}.density-option:hover{background:#f3f4f6}.density-option input[type=radio]{margin-right:12px;cursor:pointer;width:18px;height:18px;accent-color:#2E95C1}.density-label{display:flex;justify-content:space-between;align-items:center;flex:1}.density-name{font-size:14px;color:#374151}.density-preview{display:flex;flex-direction:column;gap:4px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:4px;padding:8px;width:80px}.preview-line{height:3px;background:#2e95c1;border-radius:2px}.density-preview-default .preview-line{height:8px}.density-preview-default{gap:8px}.density-preview-comfortable .preview-line{height:6px}.density-preview-comfortable{gap:6px}.density-preview-compact .preview-line{height:4px}.density-preview-compact{gap:3px}.default-settings-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.default-settings-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column}.default-settings-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;border-radius:8px 8px 0 0}.default-settings-header h2{margin:0;font-size:1.1rem;font-weight:600}.default-settings-header .btn-close{background:transparent;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .2s}.default-settings-header .btn-close:hover{opacity:1}.default-settings-body{flex:1;overflow-y:auto;padding:16px}.settings-info{color:#666;font-size:.85rem;margin:0 0 16px;padding:10px;background:#f8f9fa;border-radius:4px;border-left:3px solid #2E95C1}.settings-section{margin-bottom:20px}.settings-section h3{font-size:.95rem;font-weight:600;color:#1e232b;margin:0 0 4px;padding-bottom:6px;border-bottom:2px solid #2E95C1}.section-desc{font-size:.75rem;color:#888;margin:0 0 8px;font-style:italic}.settings-table{width:100%;border-collapse:collapse;font-size:.85rem}.settings-table th,.settings-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #eee}.settings-table th{background:#f5f5f5;font-weight:600;color:#555;font-size:.8rem}.simple-table td:first-child{width:60%;color:#444}.simple-table td:last-child{width:40%}.range-table th:first-child,.range-table td:first-child{width:50%}.range-table th:nth-child(2),.range-table th:nth-child(3),.range-table td:nth-child(2),.range-table td:nth-child(3){width:25%;text-align:right}.settings-table input{width:70px;padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:.85rem;text-align:right}.settings-table input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c126}.settings-table input.modified{background:#fff8e6;border-color:#f0ad4e}.settings-table select{padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:.85rem;background:#fff}.settings-table select:focus{outline:none;border-color:#2e95c1}.prefix{color:#888;font-size:.8rem;margin-right:2px}.suffix{color:#888;font-size:.75rem;margin-left:3px}.modified-row{background:#fffbf0}.default-settings-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #e0e0e0;background:#f8f9fa;border-radius:0 0 8px 8px}.footer-left{display:flex;flex-direction:column;gap:6px}.last-updated{font-size:.75rem;color:#666;font-style:italic}.footer-actions{display:flex;gap:8px}.btn-reset{padding:6px 12px;border:1px solid #dc3545;background:transparent;color:#dc3545;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-reset:hover{background:#dc3545;color:#fff}.btn-confirm{padding:6px 12px;border:1px solid #28a745;background:transparent;color:#28a745;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-confirm:hover:not(:disabled){background:#28a745;color:#fff}.btn-confirm:disabled{opacity:.4;cursor:not-allowed}.btn-cancel{padding:6px 14px;border:1px solid #ccc;background:#fff;color:#666;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f0f0f0}.btn-save{padding:6px 16px;border:none;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){box-shadow:0 2px 6px #2e95c166}.btn-save:disabled{opacity:.5;cursor:not-allowed}.tab-navigation{background:#fff;border-bottom:2px solid #e5e7eb;padding:0 30px;display:flex;gap:5px;overflow-x:auto;position:sticky;top:60px;z-index:100}.tab-navigation::-webkit-scrollbar{height:4px}.tab-navigation::-webkit-scrollbar-track{background:#f1f1f1}.tab-navigation::-webkit-scrollbar-thumb{background:#888;border-radius:2px}.tab-button{background:transparent;border:none;padding:15px 25px;font-size:15px;font-weight:400;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;position:relative}.tab-button:hover{color:#2e95c1;background:#f9fafb}.tab-button.active{color:#2e95c1;border-bottom-color:#2e95c1;font-weight:400}.tab-button:disabled{opacity:.5;cursor:not-allowed}.tab-content{padding:20px 30px;background:#f5f7fa;height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.tab-settings-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.tab-settings-modal{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tab-settings-modal h3{margin:0 0 20px;color:#1e232b;font-size:20px}.tab-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.tab-toggle-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:background .2s}.tab-toggle-item:hover{background:#e9ecef}.tab-toggle-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.tab-toggle-item label{font-size:14px;color:#495057;cursor:pointer;flex:1;margin:0}.tab-settings-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.btn-secondary{background:#6c757d;color:#fff!important;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:400;transition:all .2s}.btn-secondary:hover{background:#5a6268;color:#fff!important}@media (max-width: 768px){.tab-navigation{padding:0 15px}.tab-button{padding:12px 15px;font-size:14px}.tab-content{padding:15px}.tab-toggles{grid-template-columns:1fr}}.accounting-cell{display:flex;justify-content:space-between;width:100%;white-space:nowrap}.accounting-cell .dollar-sign{text-align:left;flex-shrink:0}.accounting-cell .number-part{text-align:right;flex-grow:1}.accounting-cell.negative-value,.accounting-cell.negative-value .dollar-sign,.accounting-cell.negative-value .number-part{color:var(--color-error, #dc3545)}.capex-tab{padding:20px;background:#f5f7fa;min-height:100vh}.capex-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.capex-header h2{margin:0;font-size:var(--font-size-h3);font-weight:600;color:var(--color-table-border, #2E4C7A)}.capex-add-category-select{padding:8px 16px;font-size:var(--font-size-small);border:1px solid var(--color-table-border, #2E4C7A);border-radius:4px;background:#fff;color:var(--color-table-border, #2E4C7A);cursor:pointer}.capex-add-category-select:hover{background:#f0f4f8}.capex-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 20px 20px;padding:0;position:relative}.capex-table{width:100%;border-collapse:collapse;font-family:var(--font-family-primary);font-size:var(--font-size-table);border:none}.capex-table .toggle-buttons-row{background:transparent;border:none}.capex-table .toggle-buttons-row th{background:#fff!important;border:none!important;padding:8px 2px;text-align:center;vertical-align:middle}.capex-table .toggle-buttons-row .toggle-spacer,.capex-table .toggle-buttons-row .year-toggle-cell{background:#fff!important;border:none!important}.capex-table .toggle-buttons-row button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:var(--font-size-base);font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s}.capex-table .toggle-buttons-row button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.capex-table thead th{background:var(--color-primary, #2E4C7A)!important;color:#fff!important;padding:8px 10px!important;text-align:center;font-weight:600;font-size:var(--font-size-table);border:1px solid var(--color-primary, #2E4C7A)!important;white-space:nowrap}.capex-table .budget-header{background:var(--color-primary, #2E4C7A)!important;color:#fff!important;font-weight:600;font-size:var(--font-size-table);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--color-primary, #1d3557)!important;white-space:nowrap}.capex-table .item-header{min-width:180px;text-align:left!important;padding-left:12px!important}.capex-table .amount-header{min-width:100px;text-align:right!important}.capex-table .perunit-header{min-width:80px;text-align:right!important}.capex-table .month-header-col{min-width:50px;text-align:center!important}.capex-table .months-header{min-width:55px;text-align:center!important}.capex-table .method-header{min-width:90px;text-align:left!important}.capex-table .timing-header-collapsed{min-width:110px;text-align:center!important;background:var(--color-primary, #2E4C7A)!important}.capex-table .month-header{background:var(--color-primary, #2E4C7A)!important;color:#fff;font-size:var(--font-size-table);padding:8px 6px;min-width:80px;text-align:right!important;border:1px solid var(--color-primary, #2E4C7A)}.capex-table .year-header-collapsed{background:#548235!important;color:#fff;font-size:var(--font-size-table);font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:center;padding:8px 6px;min-width:85px;border:none!important}.capex-table .section-header-row.category-header-row td{background:#f1f5f9;padding:8px 10px;border:1px solid #dee2e6;color:#1f2937}.capex-table .category-name-input{background:transparent;border:none;border-bottom:1px solid transparent;color:#1f2937;font-size:var(--font-size-base);font-weight:600;padding:4px 0;width:300px}.capex-table .category-name-input:hover{border-bottom-color:#dee2e6}.capex-table .category-name-input:focus{outline:none;border-bottom-color:#2e95c1}.capex-table .category-name-cell{text-align:left}.capex-table .category-name-wrapper{display:flex;align-items:center;justify-content:space-between}.capex-table .category-header-spacer{background:#f1f5f9}.capex-table .remove-category-btn{padding:2px 6px;font-size:var(--font-size-table);color:#999;background:#ffffff4d;border:1px solid rgba(0,0,0,.1);border-radius:3px;cursor:pointer;margin-left:8px;flex-shrink:0}.capex-table .remove-category-btn:hover{color:#dc3545;background:#fffc;border-color:#dc3545}.capex-table .data-row td{padding:6px 10px;border:1px solid #dee2e6;background:#fff;font-size:var(--font-size-table)}.capex-table .data-row:hover td{background:#f8f9fa}.capex-table .item-cell{text-align:left}.capex-table .item-name-wrapper{display:flex;align-items:center;justify-content:space-between}.capex-table .item-name-input{flex:1;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);background:transparent}.capex-table .item-name-input:hover{border-color:#dee2e6}.capex-table .item-name-input:focus{outline:none;border-color:#2e95c1;background:#fff}.capex-table .remove-item-btn{padding:2px 6px;font-size:var(--font-size-table);color:#ccc;background:transparent;border:none;cursor:pointer;opacity:.5;margin-left:4px}.capex-table .remove-item-btn:hover{color:#dc3545;opacity:1}.capex-table .percentage-row .item-name-wrapper{display:flex;align-items:center;gap:8px}.capex-table .percentage-row .item-name-input{flex:1;min-width:0}.capex-table .percentage-input-wrapper{display:flex;align-items:center;gap:2px;flex-shrink:0}.capex-table .percentage-input{width:50px;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);text-align:right;background:transparent}.capex-table .percentage-input:hover{border-color:#dee2e6}.capex-table .percentage-input:focus{outline:none;border-color:#2e95c1;background:#fff}.capex-table .percentage-symbol{color:#6c757d;font-size:var(--font-size-small)}.capex-table .applies-to-label{color:#6c757d;font-size:var(--font-size-small);font-style:italic;margin-left:4px}.capex-table .applies-to-select{padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);background:transparent;cursor:pointer;color:#495057}.capex-table .applies-to-select:hover{border-color:#dee2e6}.capex-table .applies-to-select:focus{outline:none;border-color:#2e95c1}.capex-table .calculated-cell{color:#6c757d;font-style:italic}.capex-table .amount-cell{text-align:right}.capex-table .amount-input{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);text-align:right;background:transparent}.capex-table .amount-input:hover{border-color:#dee2e6}.capex-table .amount-input:focus{outline:none;border-color:#2e95c1;background:#fff}.capex-table .perunit-cell{text-align:right}.capex-table .perunit-input{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);text-align:right;background:transparent;color:#6c757d}.capex-table .perunit-input:hover{border-color:#dee2e6}.capex-table .perunit-input:focus{outline:none;border-color:#2e95c1;background:#fff;color:#212529}.capex-table .month-input-cell{text-align:center}.capex-table .month-input{width:40px;padding:4px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);text-align:center;background:transparent}.capex-table .month-input:hover{border-color:#dee2e6}.capex-table .month-input:focus{outline:none;border-color:#2e95c1;background:#fff}.capex-table .months-cell{text-align:center;color:#6c757d;font-weight:500}.capex-table .timing-collapsed-cell{text-align:center;padding:6px 8px}.capex-table .timing-summary{font-size:var(--font-size-xs);color:#6c757d;white-space:nowrap}.capex-table .method-cell{text-align:left}.capex-table .method-select{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-table);background:transparent;cursor:pointer}.capex-table .method-select:hover{border-color:#dee2e6}.capex-table .method-select:focus{outline:none;border-color:#2e95c1}.capex-table .value-cell{background:#fff;padding:6px 8px;text-align:right;border:1px solid #dee2e6;font-family:var(--font-family-primary);white-space:nowrap;font-size:var(--font-size-table)}.capex-table .value-cell.month-even{background:#f5f5f5}.capex-table .value-cell.total-cell{background:#e2efda;font-weight:600;border:1px solid #dee2e6}.capex-table .value-cell.subtotal-cell{background:#dce4ec!important;font-weight:600}.capex-table .value-cell.subtotal-cell.total-cell{background:#c8d8c0!important}.capex-table .value-cell.grand-total-cell{background:#2e4c7a!important;color:#fff!important;font-weight:700}.capex-table .value-cell.grand-total-cell .accounting-cell,.capex-table .value-cell.grand-total-cell .accounting-cell .dollar-sign,.capex-table .value-cell.grand-total-cell .accounting-cell .number-part{color:#fff!important}.capex-table .add-item-row td{padding:4px 10px;border:1px solid #dee2e6;background:#f8f9fa}.capex-table .add-item-btn{padding:4px 12px;font-size:var(--font-size-table);color:#2e4c7a;background:transparent;border:1px dashed #2E4C7A;border-radius:3px;cursor:pointer}.capex-table .add-item-btn:hover{background:#e9ecef;border-style:solid}.capex-table .subtotal-row td{padding:8px 10px;border:1px solid #dee2e6;background:#e9ecef;font-weight:600;font-family:var(--font-family-heading)}.capex-table .subtotal-row td:first-child{border-left:2px solid var(--color-primary, #2E4C7A)}.capex-table .subtotal-row td:last-child{border-right:2px solid var(--color-primary, #2E4C7A)}.capex-table .subtotal-label{font-style:italic;color:#495057;text-align:left}.capex-table .subtotal-amount{text-align:right}.capex-table .subtotal-perunit{text-align:right;color:#6c757d}.capex-table .total-row td{padding:8px 10px;border:2px solid #2E4C7A;background:#2e4c7a;color:#fff;font-weight:700;font-family:var(--font-family-heading)}.capex-table .total-label{text-transform:uppercase;letter-spacing:.5px;text-align:left}.capex-table .total-amount,.capex-table .total-perunit{text-align:right}.capex-table .total-row .accounting-cell,.capex-table .total-row .accounting-cell .dollar-sign,.capex-table .total-row .accounting-cell .number-part{color:#fff!important;font-weight:700}.capex-table .empty-message{text-align:center;padding:40px 20px;color:#6c757d;font-style:italic;background:#f8f9fa}.density-default .capex-table thead th{padding:10px 12px!important;font-size:var(--font-size-base)}.density-default .capex-table tbody td{padding:8px 10px!important;font-size:var(--font-size-base)}.density-comfortable .capex-table thead th{padding:8px 10px!important;font-size:var(--font-size-small)}.density-comfortable .capex-table tbody td{padding:6px 8px!important;font-size:var(--font-size-small)}.density-compact .capex-table thead th{padding:4px 6px!important;font-size:var(--font-size-table)}.density-compact .capex-table tbody td{padding:3px 6px!important;font-size:var(--font-size-table)}@media (max-width: 768px){.capex-tab{padding:10px}.capex-header{flex-direction:column;gap:12px;align-items:flex-start}.capex-table-wrapper{margin:0 10px 10px}}.module-dashboard{min-height:100vh;background:#f5f7fa;padding-bottom:40px}.dashboard-toolbar{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff!important;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:200}.dashboard-toolbar h1{margin:0;font-size:var(--font-size-h2);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:10px;color:#fff!important}.dashboard-logo{height:32px;width:auto;object-fit:contain}.dashboard-header{display:flex;align-items:center;gap:20px}.project-name-container{display:flex;align-items:center}.project-name-display{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;background:#ffffff1a;transition:background .2s}.project-name-display:hover{background:#ffffff26}.project-name-text{color:#fff;font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.btn-edit-project-name{background:transparent;border:none;color:#fff;cursor:pointer;font-size:var(--font-size-body);padding:2px 4px;border-radius:4px;transition:all .2s;opacity:.7}.btn-edit-project-name:hover{opacity:1;background:#fff3}.project-name-editor{display:flex;align-items:center}.project-name-input{background:#ffffffe6;border:2px solid rgba(255,255,255,.3);border-radius:4px;padding:4px 8px;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:#1e232b;min-width:200px;outline:none;transition:all .2s}.project-name-input:focus{border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c133}.dashboard-actions{display:flex;gap:6px}.btn-dashboard-action{background:#fff3!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;padding:4px 10px!important;border-radius:4px!important;cursor:pointer!important;font-size:var(--font-size-small)!important;font-weight:var(--font-weight-normal)!important;transition:all .2s!important}.btn-dashboard-action:hover{background:#ffffff4d;transform:translateY(-1px);color:#fff!important}.btn-run-traffic-light{background:#fff3;color:#fff!important;border:2px solid rgba(255,255,255,.4);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:var(--font-size-h4);transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center}.btn-run-traffic-light.green{border-color:#28a745;box-shadow:0 0 8px #28a74599}.btn-run-traffic-light.red{border-color:#dc3545;box-shadow:0 0 8px #dc354599}.btn-run-traffic-light:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.btn-run-traffic-light:disabled{opacity:.6;cursor:not-allowed}.dropdown-menu{position:relative;display:inline-block}.dropdown-content{position:absolute;top:100%;left:0;background:#fff;min-width:180px;box-shadow:0 4px 12px #0003;border-radius:6px;z-index:1000;margin-top:5px;overflow:hidden}.dropdown-content button{display:block;width:100%;padding:12px 16px;background:#fff;border:none;text-align:left;cursor:pointer;color:#333;transition:background .2s;font-size:var(--font-size-body);border-bottom:1px solid #f0f0f0}.dropdown-content button:last-child{border-bottom:none}.dropdown-content button:hover:not(:disabled){background:#f8f9fa}.dropdown-content button:disabled{opacity:.6;cursor:not-allowed}.dropdown-density{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:10px}.dropdown-density label{font-size:var(--font-size-body);color:#333;font-weight:var(--font-weight-medium)}.dropdown-decimal-places{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:10px}.dropdown-decimal-places>label{font-size:var(--font-size-body);color:#333;font-weight:var(--font-weight-medium)}.decimal-places-options{display:flex;gap:15px}.decimal-places-options label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-body);color:#1e232b;cursor:pointer}.decimal-places-options input[type=radio]{cursor:pointer}.btn-icon-only{background:#fff3;color:#fff!important;border:1px solid rgba(255,255,255,.3);padding:6px 8px;border-radius:4px;cursor:pointer;font-size:var(--font-size-body);transition:all .2s}.btn-icon-only:hover{background:#ffffff4d;transform:translateY(-1px)}.btn-import-data{background:#28a7454d!important;border:1px solid rgba(40,167,69,.5)!important}.btn-import-data:hover{background:#28a74580!important;border-color:#28a745b3!important}.btn-lock.locked{background:#6c757d4d!important;border-color:#6c757d80!important}.btn-lock.unlocked{background:#ffc1074d!important;border-color:#ffc10780!important}.btn-run-analysis-icon{background:#ffffff40;color:#fff!important;border:1px solid rgba(255,255,255,.4);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:var(--font-size-h3);transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center}.btn-run-analysis-icon:hover:not(:disabled){background:#ffffff59;transform:scale(1.1);color:#fff!important}.btn-run-analysis-icon:active:not(:disabled){transform:scale(.95)}.btn-run-analysis-icon:disabled{opacity:.6;cursor:not-allowed}.gear-play-icon{position:relative;display:inline-block}.play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.5em;color:#fff!important;text-shadow:0 0 3px rgba(0,0,0,.5)}.module-selector{background:#fff;margin:20px 30px;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.module-selector h3{margin:0 0 15px;color:#2e75b6}.module-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.module-toggle{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:background .2s}.module-toggle:hover{background:#e9ecef}.module-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.module-toggle span{font-size:var(--font-size-body);color:#495057}.dashboard-grid{padding:20px 30px}.dashboard-module-container{background:transparent}.module-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:100%;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.module-card:hover{box-shadow:0 4px 16px #00000026}.module-card.collapsed .module-content{display:none}.module-header{display:flex;align-items:center;padding:12px 16px;border-bottom:none;background:linear-gradient(135deg,#1e232b,#2e95c1);flex-shrink:0}.module-drag-handle{cursor:move;padding:4px 8px;margin-right:8px;color:#adb5bd;-webkit-user-select:none;user-select:none}.module-drag-handle:hover{color:#495057}.drag-icon{font-size:var(--font-size-h4);line-height:1}.module-title{flex:1;display:flex;align-items:center;gap:10px;font-weight:400;color:#fff}.module-icon{font-size:var(--font-size-h2)}.module-name{font-size:var(--font-size-h4)}.module-actions{display:flex;gap:5px}.module-action-btn{background:transparent;border:none;padding:4px 8px;cursor:pointer;color:#fffc;font-size:var(--font-size-body);border-radius:4px;transition:all .2s}.module-action-btn:hover{background:#fff3;color:#fff}.module-content{flex:1;overflow:auto;padding:20px}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item.resizing{transition:none;z-index:100}.react-grid-item.react-draggable-dragging{transition:none;z-index:100;opacity:.9}.react-grid-item .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item .react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item .react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:10px;height:10px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.lock-toggle-btn{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#2e95c1,#5f7b8d);color:#fff!important;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:20px;box-shadow:0 4px 12px #0000004d;transition:all .2s;z-index:100;display:flex;align-items:center;justify-content:center}.lock-toggle-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006;color:#fff!important}.lock-toggle-btn.locked{background:linear-gradient(135deg,#6c757d,#495057);color:#fff!important}.import-toggle-btn{position:fixed;bottom:30px;right:100px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff!important;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:20px;box-shadow:0 4px 12px #0000004d;transition:all .2s;z-index:100;display:flex;align-items:center;justify-content:center}.import-toggle-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006;color:#fff!important}@media (max-width: 768px){.dashboard-toolbar{flex-direction:column;gap:15px;text-align:center}.module-toggles{grid-template-columns:1fr}.dashboard-grid{padding:10px}.lock-toggle-btn{bottom:20px;right:20px;width:45px;height:45px;font-size:18px}}.react-grid-item.react-grid-item--static .react-resizable-handle{display:none!important}.react-grid-item.cssTransforms{transition-property:transform,width,height}.cash-flow-tab{padding:20px;background:#f5f7fa;min-height:100vh}.cash-flow-tab .empty-state{background:#fff;border-radius:12px;padding:60px 40px;text-align:center;box-shadow:0 2px 8px #0000001a;max-width:600px;margin:40px auto}.cash-flow-tab .empty-state h2{color:#1e232b;margin-bottom:20px;font-size:24px}.cash-flow-tab .empty-state p{color:#6b7280;font-size:16px;margin-bottom:12px}.cash-flow-tab .empty-state .hint{color:#2e95c1;font-weight:500;font-style:italic}.cash-flow-container{background:#fff;border-radius:0;box-shadow:0 2px 8px #0000001a;overflow:visible}.cash-flow-header{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-radius:0}.cash-flow-header h2{margin:0;font-size:20px;font-weight:400;color:#fff}.cash-flow-controls{display:flex;gap:10px}.btn-expand-all{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.btn-expand-all:hover{background:#ffffff4d}.cash-flow-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 20px 20px;padding:0;position:relative}.cash-flow-table .toggle-buttons-row{background:transparent;border:none}.cash-flow-table .toggle-buttons-row th{background:#fff!important;border:none!important;padding:8px 2px;text-align:center;vertical-align:middle}.cash-flow-table .toggle-buttons-row .line-item-col-header,.cash-flow-table .toggle-buttons-row .t12-header,.cash-flow-table .toggle-buttons-row .year-toggle-cell{background:#fff!important;border:none!important}.cash-flow-table .toggle-buttons-row button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s}.cash-flow-table .toggle-buttons-row button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.cash-flow-table{width:100%;border-collapse:collapse;font-family:var(--font-family-primary);font-size:12px;border:none}.cash-flow-table thead th{background:var(--color-primary)!important;color:#fff!important;padding:1px 2px!important;text-align:center;font-weight:400;border:1px solid var(--color-primary)!important;border-top:none!important;border-bottom:none!important;border-radius:0;font-size:12px!important;line-height:1!important;position:sticky;z-index:10;background-clip:padding-box;box-sizing:border-box!important;vertical-align:middle!important;overflow:hidden!important;white-space:nowrap!important;box-shadow:0 0 0 5px var(--color-primary)!important}.cash-flow-table thead tr:nth-child(1){height:20px!important;min-height:20px!important;max-height:20px!important}.cash-flow-table thead tr:nth-child(1) th{top:0!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:1px 2px!important}.cash-flow-table thead tr:nth-child(2){height:16px!important;min-height:16px!important;max-height:16px!important}.cash-flow-table thead tr:nth-child(2) th{top:20px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.cash-flow-table thead tr:nth-child(3){height:16px!important;min-height:16px!important;max-height:16px!important}.cash-flow-table thead tr:nth-child(3) th{top:36px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.cash-flow-table thead tr:nth-child(4){height:16px!important;min-height:16px!important;max-height:16px!important}.cash-flow-table thead tr:nth-child(4) th{top:52px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.cash-flow-table thead tr:nth-child(5){height:16px!important;min-height:16px!important;max-height:16px!important}.cash-flow-table thead tr:nth-child(5) th{top:68px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important;box-shadow:0 0 0 5px var(--color-primary),0 2px 4px #00000026!important}.cash-flow-table .line-item-col-header{background:var(--color-primary)!important;color:#fff;padding:1px 4px!important;font-size:12px!important;font-weight:700!important;font-family:var(--font-family-heading)!important;line-height:1!important;border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;min-width:200px;max-width:200px;text-align:right!important;position:sticky!important;left:40px!important;z-index:20!important;box-shadow:-5px 0 0 0 var(--color-primary)!important}.cash-flow-table thead tr th.line-item-col-header,.cash-flow-tab .cash-flow-table thead tr th.line-item-col-header,table.cash-flow-table thead tr th.line-item-col-header{text-align:right!important;padding-right:4px!important}.cash-flow-table thead tr:nth-child(4) .line-item-col-header{background:var(--color-primary)!important;color:#fff;border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;box-shadow:none!important}.cash-flow-table .t12-header{background:#ffd966!important;color:#1f2937!important;min-width:100px;max-width:100px;text-align:center;font-weight:700!important;font-family:var(--font-family-heading)!important;padding:1px 2px!important;border:none!important;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important;background-clip:padding-box;box-sizing:border-box!important}.cash-flow-table thead tr:nth-child(2) .t12-header,.cash-flow-table thead tr:nth-child(2) .month0-header{color:#ffd966!important}.cash-flow-table .month0-header{background:#ffd966!important;color:#1f2937!important;font-weight:700!important;font-family:var(--font-family-heading)!important;padding:1px 2px!important;border:none!important;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important;box-sizing:border-box!important}.cash-flow-table .t12-cell{background:#fff9e6!important;color:#1f2937;min-width:100px;max-width:100px;font-weight:600;text-align:right;padding:2px;border-top:none!important;border-bottom:none!important;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important;font-size:12px;line-height:1.2}.cash-flow-table .year-header{background:#548235!important;color:#fff;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important;border-left:none!important;border-right:none!important}.cash-flow-table .year-header-collapsed{background:#548235!important;color:#fff;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:center;padding:1px 2px;min-width:80px;border:none!important}.cash-flow-table thead tr:nth-child(4) .year-header-collapsed{background:#548235!important;color:#fff;border:none!important}.cash-flow-table .acquisition-header{background:#ffd966!important;color:#1f2937!important;font-weight:700!important;font-family:var(--font-family-heading)!important;padding:1px 2px!important;border:none!important;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important;box-sizing:border-box!important}.cash-flow-table .acquisition-cell{background:#fff9e6;color:#1f2937;border-top:none;border-bottom:none;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important}.cash-flow-table .value-cell.month0-cell,.cash-flow-table td.month0-cell{border-top:none;border-bottom:none;border-left-width:1.5px!important;border-left-style:solid!important;border-left-color:var(--color-primary)!important;border-right-width:1.5px!important;border-right-style:solid!important;border-right-color:var(--color-primary)!important}.year-header-content{display:flex;align-items:center;justify-content:center;gap:8px}.year-toggle{background:#ffffff4d;border:1px solid rgba(255,255,255,.5);color:#1f2937;cursor:pointer;font-size:14px;font-weight:700;padding:2px 8px;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;border-radius:3px;transition:all .2s}.year-toggle:hover{background:#ffffff80;border-color:#fffc}.cash-flow-table .month-header{background:var(--color-primary)!important;color:#fff;font-size:12px;padding:1px 2px;min-width:80px;border:1px solid var(--color-primary);line-height:1}.cash-flow-table thead tr:nth-child(4){height:auto}.cash-flow-table thead tr:nth-child(4) th{font-size:12px!important;padding:1px 2px!important;line-height:1!important;white-space:nowrap;vertical-align:middle}.cash-flow-table thead tr:nth-child(4) .month-header{background:var(--color-primary)!important;color:#fff;border:1px solid var(--color-primary);min-width:80px}.cash-flow-table .total-header{background:#548235!important;color:#fff;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important;min-width:120px;border:none!important}.cash-flow-table tbody tr{border-bottom:none}.cash-flow-table tbody tr:hover td:not(.collapse-button-cell){background:#f8f9fa}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:first-child,.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important;position:sticky!important;left:0!important;z-index:4!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) .line-item-cell{border-left:none!important;border-right:none!important;border-top:none;border-bottom:none!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child{border-right:2px solid var(--color-primary)!important;border-left:none!important;border-top:none;border-bottom:none!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-left:none!important;border-right:none!important;border-bottom:none!important}.cash-flow-table tbody .section-header-row+tr .line-item-cell{border-top:2px solid var(--color-primary)!important;border-left:none!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.cash-flow-table tbody .section-header-row+tr td:last-child{border-top:2px solid var(--color-primary)!important;border-right:2px solid var(--color-primary)!important}.cash-flow-table tbody .section-header-row+tr td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-top:2px solid var(--color-primary)!important}.cash-flow-table .line-item-cell{background:#d0cece;background-color:#d0cece!important;color:#1f2937!important;padding:2px 4px;text-align:right;font-weight:500;border:none;min-width:200px;max-width:200px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.2;position:sticky;left:40px;z-index:5}.cash-flow-table .value-cell{background:#fff;padding:2px;text-align:right;border-top:none;border-bottom:none;border-left:none;border-right:none;font-family:var(--font-family-primary);white-space:nowrap;font-size:12px;line-height:1.2;height:auto}.cash-flow-table .value-cell .accounting-cell{line-height:1.2;min-height:auto;height:auto;align-items:baseline}.cash-flow-table .value-cell .accounting-cell .dollar-sign,.cash-flow-table .value-cell .accounting-cell .number-part{line-height:1.2}.cash-flow-table .value-cell.month-even{background:#f5f5f5}.cash-flow-table .value-cell.positive{color:#1f2937}.cash-flow-table .value-cell.negative{color:#c00000}.cash-flow-table .value-cell.neutral{color:#1f2937}.cash-flow-table .total-cell{background:#e2efda;font-weight:600;border:none}.cash-flow-table .section-header-row td:not(.collapse-button-cell){background:#f1f5f9;color:#1f2937;padding:2px 4px;font-weight:700;font-family:var(--font-family-heading)!important;font-size:12px;text-align:left;border:none!important;line-height:1.2}.cash-flow-table .section-header-row td:first-child,.cash-flow-table .section-header-row td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important;position:sticky!important;left:0!important;z-index:4!important}.cash-flow-table .section-header-row .t12-cell{background:#f1f5f9!important}.cash-flow-table .section-header-row .line-item-cell{font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:left!important;background-color:#f1f5f9!important}.cash-flow-table .section-collapse-button{font-weight:400!important;font-family:var(--font-family-primary)!important}.cash-flow-table .subtotal-row td:not(.collapse-button-cell){border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important;border-right:none!important}.cash-flow-table .subtotal-row .line-item-cell{border-left:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-right:none!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.cash-flow-table .subtotal-row td:last-child{border-right:2px solid var(--color-primary)!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important}.cash-flow-table .subtotal-row td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-left:none!important;border-right:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important}.cash-flow-table .subtotal-row td.collapse-button-cell,.cash-flow-table tbody .subtotal-row td.collapse-button-cell,.cash-flow-table .subtotal-row .collapse-button-cell,table.cash-flow-table .subtotal-row td.collapse-button-cell,.cash-flow-table .subtotal-row td:first-child{border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:2px solid var(--color-primary)!important;background:#fff!important;background-color:#fff!important;position:sticky!important;left:0!important;z-index:4!important}.cash-flow-table .subtotal-row .t12-cell,.cash-flow-table .subtotal-row .total-cell{background:#e2efda;font-weight:700!important;color:#1f2937}.cash-flow-table .subtotal-row .value-cell{font-weight:700!important;color:#1f2937}.cash-flow-table .subtotal-row .line-item-cell{background:#d0cece;font-weight:700!important;color:#1f2937;border-left:2px solid var(--color-primary)!important}.cash-flow-table .total-row td:not(.collapse-button-cell){border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important;border-right:none!important}.cash-flow-table .total-row .line-item-cell{border-left:2px solid var(--color-primary)!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-right:none!important}.cash-flow-table .total-row td:last-child{border-right:2px solid var(--color-primary)!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important}.cash-flow-table .total-row td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-left:none!important;border-right:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important}.cash-flow-table .total-row td.collapse-button-cell,.cash-flow-table tbody .total-row td.collapse-button-cell,.cash-flow-table .total-row .collapse-button-cell,table.cash-flow-table .total-row td.collapse-button-cell{border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:2px solid var(--color-primary)!important;background:#fff!important;background-color:#fff!important;position:sticky!important;left:0!important;z-index:4!important}.cash-flow-table .total-row .t12-cell,.cash-flow-table .total-row .total-cell{background:#e2efda;color:#1f2937;font-weight:700!important}.cash-flow-table .total-row .value-cell{font-weight:700!important;color:#1f2937}.cash-flow-table .total-row .line-item-cell{background:#d0cece;font-weight:700!important;color:#1f2937;border-left:2px solid var(--color-primary)!important}.cash-flow-table .subtotal-row td,.cash-flow-table .subtotal-row td *,.cash-flow-table .subtotal-row .accounting-cell,.cash-flow-table .subtotal-row .accounting-cell *,.cash-flow-table .subtotal-row .accounting-cell .dollar-sign,.cash-flow-table .subtotal-row .accounting-cell .number-part,.cash-flow-table .subtotal-row span,.cash-flow-table .subtotal-row div,.cash-flow-table .total-row td,.cash-flow-table .total-row td *,.cash-flow-table .total-row .accounting-cell,.cash-flow-table .total-row .accounting-cell *,.cash-flow-table .total-row .accounting-cell .dollar-sign,.cash-flow-table .total-row .accounting-cell .number-part,.cash-flow-table .total-row span,.cash-flow-table .total-row div{font-weight:700!important;font-family:var(--font-family-heading)!important}.cash-flow-footer{background:#f8f9fa;padding:20px 30px;border-top:2px solid #e2e8f0}.stabilization-info h4{margin:0 0 15px;color:#1e232b;font-size:16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.info-label{font-size:var(--font-size-small);color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:#1f2937;font-weight:600}@media (max-width: 768px){.cash-flow-tab{padding:10px}.cash-flow-header{padding:15px 20px;flex-direction:column;gap:15px;align-items:flex-start}.cash-flow-header h2{font-size:18px}.cash-flow-table-wrapper{padding:10px}.cash-flow-table{font-size:var(--font-size-small)}.cash-flow-table .line-item-header{min-width:180px;max-width:180px}.cash-flow-footer{padding:15px 20px}.info-grid{grid-template-columns:1fr}}.cash-flow-table thead th.collapse-button-col-header,.cash-flow-table thead .collapse-button-col-header{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;background:#fff!important;background-color:#fff!important;width:40px;min-width:40px;max-width:40px;padding:2px!important;box-shadow:5px 0 #fff!important;position:sticky!important;left:0!important;z-index:15!important}.cash-flow-table tbody td.collapse-button-cell,.cash-flow-table tbody .collapse-button-cell,.cash-flow-table tr td.collapse-button-cell,.cash-flow-table tr .collapse-button-cell{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;width:40px;min-width:40px;max-width:40px;padding:2px!important;background:#fff!important;background-color:#fff!important;box-shadow:5px 0 #fff!important;position:sticky!important;left:0!important;z-index:4!important}.cash-flow-table tbody .subtotal-row td.collapse-button-cell,.cash-flow-table tbody tr.subtotal-row td.collapse-button-cell,.cash-flow-table .subtotal-row td.collapse-button-cell,.cash-flow-table .subtotal-row .collapse-button-cell,.cash-flow-table tbody .total-row td.collapse-button-cell,.cash-flow-table tbody tr.total-row td.collapse-button-cell,.cash-flow-table .total-row td.collapse-button-cell,.cash-flow-table .total-row .collapse-button-cell,.cash-flow-table tbody .section-header-row td.collapse-button-cell,.cash-flow-table tbody tr.section-header-row td.collapse-button-cell,.cash-flow-table .section-header-row td.collapse-button-cell,.cash-flow-table .section-header-row .collapse-button-cell{background:#fff!important;background-color:#fff!important;border:none!important;position:sticky!important;left:0!important;z-index:4!important}table.cash-flow-table tbody tr td.collapse-button-cell,table.cash-flow-table tbody td.collapse-button-cell,td.collapse-button-cell{background:#fff!important;background-color:#fff!important;border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;position:sticky!important;left:0!important;z-index:4!important}table.cash-flow-table tbody .total-row td.line-item-cell,table.cash-flow-table .total-row td.line-item-cell,.cash-flow-table .total-row .line-item-cell,table.cash-flow-table tbody .subtotal-row td.line-item-cell,table.cash-flow-table .subtotal-row td.line-item-cell,.cash-flow-table .subtotal-row .line-item-cell{color:#1f2937!important;background:#d0cece!important;border-left:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-right:none!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.cash-flow-table .section-collapse-button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s;min-width:32px}.cash-flow-table .section-collapse-button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.density-default .cash-flow-table thead th{padding:14px 12px!important;font-size:14px}.density-default .cash-flow-table tbody td{padding:12px!important;font-size:14px}.density-default .summary-metrics-table th{padding:12px 16px!important;font-size:14px}.density-default .summary-metrics-table td{padding:10px 16px!important;font-size:14px}.density-comfortable .cash-flow-table thead th{padding:10px 12px!important;font-size:13px}.density-comfortable .cash-flow-table tbody td{padding:8px 12px!important;font-size:13px}.density-comfortable .summary-metrics-table th{padding:10px 16px!important;font-size:13px}.density-comfortable .summary-metrics-table td{padding:8px 16px!important;font-size:13px}.density-compact .cash-flow-table thead th{padding:6px 8px!important;font-size:12px}.density-compact .cash-flow-table tbody td{padding:4px 8px!important;font-size:12px}.density-compact .summary-metrics-table th{padding:6px 12px!important;font-size:12px}.density-compact .summary-metrics-table td{padding:4px 12px!important;font-size:12px}.waterfall-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 20px 20px;padding:0;position:relative}.waterfall-table{width:100%;border-collapse:collapse;font-family:var(--font-family-primary);font-size:12px;border:none}.waterfall-table th.collapse-button-col-header,.waterfall-table td.collapse-button-cell{position:sticky!important;left:0!important;z-index:15!important;background-color:#fff!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 #fff!important;padding:2px!important}.waterfall-table th.line-item-col-header,.waterfall-table td.line-item-cell{position:sticky!important;left:40px!important;z-index:5!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.waterfall-table thead th{background:var(--color-primary)!important;color:#fff!important;padding:1px 2px!important;text-align:center;font-weight:400;border:1px solid var(--color-primary)!important;border-top:none!important;border-bottom:none!important;border-radius:0;font-size:12px!important;line-height:1!important;position:sticky;z-index:10;background-clip:padding-box;box-sizing:border-box!important;vertical-align:middle!important;overflow:hidden!important;white-space:nowrap!important;box-shadow:0 0 0 5px var(--color-primary)!important}.waterfall-table thead tr:nth-child(1){height:20px!important;min-height:20px!important;max-height:20px!important}.waterfall-table thead tr:nth-child(1) th{top:0!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:1px 2px!important}.waterfall-table thead tr:nth-child(2){height:16px!important;min-height:16px!important;max-height:16px!important}.waterfall-table thead tr:nth-child(2) th{top:20px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.waterfall-table thead tr:nth-child(3){height:16px!important;min-height:16px!important;max-height:16px!important}.waterfall-table thead tr:nth-child(3) th{top:36px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.waterfall-table thead tr:nth-child(4){height:16px!important;min-height:16px!important;max-height:16px!important}.waterfall-table thead tr:nth-child(4) th{top:52px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important;box-shadow:0 0 0 5px var(--color-primary),0 2px 4px #00000026!important}.waterfall-table .toggle-buttons-row{background:transparent;border:none}.waterfall-table .toggle-buttons-row th{background:#fff!important;border:none!important;padding:8px 2px;text-align:center;vertical-align:middle;box-shadow:none!important}.waterfall-table .toggle-buttons-row .line-item-col-header,.waterfall-table .toggle-buttons-row .year-toggle-cell{background:#fff!important;border:none!important;box-shadow:none!important}.waterfall-table .toggle-buttons-row button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s}.waterfall-table .toggle-buttons-row button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.waterfall-table .line-item-col-header{background:var(--color-primary)!important;color:#fff;padding:1px 4px!important;font-size:12px!important;font-weight:700!important;font-family:var(--font-family-heading)!important;line-height:1!important;border:none!important;min-width:200px;max-width:200px;text-align:right!important;position:sticky!important;left:40px!important;z-index:20!important;box-shadow:-5px 0 0 0 var(--color-primary)!important}.waterfall-table .month-header{background:var(--color-primary)!important;color:#fff;font-size:12px;padding:1px 2px;min-width:80px;border:1px solid var(--color-primary);line-height:1}.waterfall-table .year-header-collapsed{background:#548235!important;color:#fff;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:center;padding:1px 2px;min-width:80px;border:none!important}.waterfall-table .line-item-cell{background:#d0cece!important;background-color:#d0cece!important;color:#1f2937!important;padding:2px 4px;text-align:right;font-weight:500;border:none;min-width:200px;max-width:200px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.2;position:sticky!important;left:40px!important;z-index:5!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.waterfall-table .value-cell,.waterfall-table .month-cell{background:#fff;padding:2px;text-align:right;border:none;font-family:var(--font-family-primary);white-space:nowrap;font-size:12px;line-height:1.2;height:auto}.waterfall-table .month-even{background:#f5f5f5!important}.waterfall-table .total-cell{background:#e2efda!important;font-weight:600;border:none}.waterfall-table .section-header-row td{background:#f1f5f9!important;color:#1f2937;padding:2px 4px;font-weight:700;font-family:var(--font-family-heading)!important;font-size:12px;text-align:left;border:none!important;line-height:1.2}.waterfall-table .section-header-row .section-header-cell,.waterfall-table .section-header-row .line-item-cell{position:sticky!important;left:40px!important;z-index:6!important;background-color:#f1f5f9!important;font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:left!important;box-shadow:none!important;min-width:200px;max-width:200px;width:200px}.waterfall-table .section-header-row .section-header-filler{background-color:#f1f5f9!important;border-left:none!important;border-right:none!important;border-bottom:none!important;border-top:2px solid var(--color-primary)!important}.waterfall-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row):not(.section-last-row) .line-item-cell{border-left:none!important;border-right:none!important;border-top:none;border-bottom:none!important}.waterfall-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child{border-right:2px solid var(--color-primary)!important}.waterfall-table tbody .section-header-row+tr .line-item-cell{border-top:2px solid var(--color-primary)!important}.waterfall-table tbody .section-header-row+tr td:last-child{border-top:2px solid var(--color-primary)!important;border-right:2px solid var(--color-primary)!important}.waterfall-table tbody .section-header-row+tr td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-top:2px solid var(--color-primary)!important}.waterfall-table tbody .section-header-row+tr td.collapse-button-cell{border:none!important}.waterfall-table tbody tr.section-last-row td:not(.collapse-button-cell){border-bottom:2px solid var(--color-primary)!important}.waterfall-table tbody tr.section-last-row td.line-item-cell{border-bottom:2px solid var(--color-primary)!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.waterfall-table tbody tr.section-last-row td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important}.waterfall-table .subtotal-row td:not(.collapse-button-cell),.waterfall-table .total-row td:not(.collapse-button-cell){font-weight:700!important;font-family:var(--font-family-heading)!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important;border-right:none!important}.waterfall-table .subtotal-row .line-item-cell,.waterfall-table .total-row .line-item-cell{background:#d0cece!important;border-left:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.waterfall-table .subtotal-row td.collapse-button-cell,.waterfall-table .total-row td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important;box-shadow:5px 0 #fff!important}.waterfall-table .subtotal-row td:last-child,.waterfall-table .total-row td:last-child{border-right:2px solid var(--color-primary)!important}.waterfall-table .subtotal-row .total-cell,.waterfall-table .total-row .total-cell{background:#e2efda!important;color:#1f2937}.waterfall-table .accounting-cell{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-family-primary);line-height:1.2;min-height:auto;height:auto}.waterfall-table .accounting-cell .dollar-sign{text-align:left;padding-right:2px;line-height:1.2}.waterfall-table .accounting-cell .number-part{text-align:right;flex:1;line-height:1.2}.waterfall-table .negative,.waterfall-table .accounting-negative{color:#c00000}.waterfall-table tr.balance-row td{font-weight:500;background-color:#f0f7ff}.waterfall-table tr:last-child td{font-weight:600}.waterfall-empty-state{padding:2rem;text-align:center;color:#666;font-style:italic;background-color:#f8f9fa;border-radius:8px}.waterfall-table .section-collapse-button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s;min-width:32px}.waterfall-table .section-collapse-button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.waterfall-table .section-header-row td.collapse-button-cell{background-color:#fff!important;box-shadow:5px 0 #fff!important}.density-compact .waterfall-table th,.density-compact .waterfall-table td{padding:.25rem .5rem;font-size:.8125rem}.density-comfortable .waterfall-table th,.density-comfortable .waterfall-table td{padding:.5rem .75rem}@media (max-width: 768px){.waterfall-table-wrapper{font-size:.75rem}.waterfall-table th,.waterfall-table td{padding:.25rem .5rem}}.fees-waterfall-tab{padding:1rem;display:flex;flex-direction:column;gap:1rem}.fees-table,.preferred-equity-table,.hurdles-table{width:100%;border-collapse:collapse;font-size:.875rem}.fees-table th,.fees-table td,.preferred-equity-table th,.preferred-equity-table td,.hurdles-table th,.hurdles-table td{padding:.5rem .75rem;text-align:left;border:1px solid #ddd}.fees-table th,.preferred-equity-table th,.hurdles-table th{background-color:var(--color-primary);color:#fff;font-weight:600;text-align:center}.fees-table tbody tr:nth-child(2n),.preferred-equity-table tbody tr:nth-child(2n),.hurdles-table tbody tr:nth-child(2n){background-color:#f8f9fa}.fees-table tbody tr:hover,.preferred-equity-table tbody tr:hover,.hurdles-table tbody tr:hover{background-color:#e8f4fc}.text-center{text-align:center!important}.text-right{text-align:right!important}.fees-section{padding:.5rem;display:flex;justify-content:center}.fees-table{width:auto}.fee-name{font-weight:500;white-space:nowrap}.fee-toggle{text-align:center;white-space:nowrap}.fee-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.fee-rate{white-space:nowrap}.fee-rate input{width:60px;padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;text-align:right}.fee-rate input:disabled{background-color:#f0f0f0;color:#999}.fee-basis{white-space:nowrap}.fee-basis select,.fee-timing select{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;background-color:#fff}.fee-basis select:disabled,.fee-timing select:disabled{background-color:#f0f0f0;color:#999}.fee-timing{white-space:nowrap}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.75rem;font-weight:600;color:#555;text-transform:uppercase}.input-group input[type=text],.input-group input[type=number]{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem}.input-group input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c133}.input-group select{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;background-color:#fff}.input-with-unit{display:flex;align-items:center;gap:.25rem}.input-with-unit input{width:70px;text-align:right}.input-with-unit .unit{font-size:.875rem;color:#666}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:400;text-transform:none;cursor:pointer}.preferred-equity-section{padding:.5rem}.preferred-equity-table input[type=text]{width:100%;padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px}.preferred-equity-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.preferred-equity-table tfoot td{background-color:#f0f0f0;font-weight:600}.equity-classes-section{padding:.5rem}.equity-class-card{margin-bottom:1.5rem;border:1px solid #ddd;border-radius:8px;overflow:hidden}.equity-class-card.preferred .class-header{background-color:#6b4c9a}.equity-class-card.lpCommon .class-header{background-color:var(--color-primary)}.equity-class-card.gpCommon .class-header{background-color:#1a5c3a}.class-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--color-primary);color:#fff}.class-header-left{display:flex;align-items:center;gap:1rem}.class-type-select{background-color:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;cursor:pointer}.class-type-select option{color:#333;background-color:#fff}.class-name-input{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.5);color:#fff;font-size:1rem;font-weight:600;padding:.25rem;min-width:150px}.class-name-input:focus{outline:none;border-bottom-color:#fff}.btn-remove-class{background-color:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s}.btn-remove-class:hover{background-color:#c00000;border-color:#c00000}.class-details{padding:1rem}.class-equity-row{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.class-details h4{margin:1rem 0 .5rem;color:var(--color-primary);font-size:.875rem;text-transform:uppercase}.hurdles-table{margin-bottom:.5rem}.hurdles-table input[type=text]{width:60px;padding:.25rem;border:1px solid #ccc;border-radius:4px;text-align:right}.btn-add-hurdle{background-color:#f8f9fa;border:1px dashed #2E95C1;color:#2e95c1;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-add-hurdle:hover{background-color:#e8f4fc}.add-class-section{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:2px dashed #ccc}.add-class-section label{font-weight:600;color:#555}.add-class-select{padding:.5rem 1rem;border:1px solid #2E95C1;border-radius:4px;background-color:#fff;font-size:.875rem;cursor:pointer;min-width:200px}.add-class-select:hover{border-color:#267a9e}.class-summary{margin-top:1rem;padding:.75rem;background-color:#f8f9fa;border-radius:4px}.distribution-settings-inline{display:flex;gap:2rem;padding:.5rem 1rem;margin:0 20px .5rem;background-color:#f8f9fa;border-radius:6px;align-items:center}.distribution-settings-inline .input-group{flex:0 0 auto;flex-direction:row;align-items:center;gap:.5rem}.distribution-settings-inline .input-group label{font-size:.75rem;margin-bottom:0;white-space:nowrap}.distribution-settings-inline .input-group select,.distribution-settings-inline .input-group input{padding:.375rem .5rem;font-size:.875rem}.distribution-settings-inline .input-group input[type=number]{width:60px}.btn-add{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;background-color:#2e95c1;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.btn-add:hover{background-color:#267a9e}.btn-remove{background-color:transparent;border:1px solid #c00000;color:#c00000;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove:hover:not(:disabled){background-color:#c00000;color:#fff}.btn-remove:disabled{opacity:.3;cursor:not-allowed}.empty-message{padding:2rem;text-align:center;color:#666;font-style:italic;background-color:#f8f9fa;border-radius:8px;margin:0}.density-compact .fees-table td,.density-compact .fees-table th,.density-compact .preferred-equity-table td,.density-compact .preferred-equity-table th,.density-compact .hurdles-table td,.density-compact .hurdles-table th{padding:.25rem .5rem;font-size:.8125rem}.density-compact .input-group input,.density-compact .input-group select{padding:.375rem;font-size:.8125rem}.density-comfortable .fees-table td,.density-comfortable .fees-table th,.density-comfortable .preferred-equity-table td,.density-comfortable .preferred-equity-table th,.density-comfortable .hurdles-table td,.density-comfortable .hurdles-table th{padding:.5rem .75rem}@media (max-width: 768px){.equity-splits{flex-direction:column;gap:1rem}.class-equity-row,.settings-row{flex-direction:column}.settings-row .input-group{max-width:none}}.debt-service-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 20px 20px;padding:0;position:relative}.debt-service-table{width:100%;border-collapse:collapse;font-family:var(--font-family-primary);font-size:12px;border:none}.debt-service-table th.collapse-button-col-header,.debt-service-table td.collapse-button-cell{position:sticky!important;left:0!important;z-index:15!important;background-color:#fff!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 #fff!important;padding:2px!important}.debt-service-table th.line-item-col-header,.debt-service-table td.line-item-cell{position:sticky!important;left:40px!important;z-index:5!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.debt-service-table thead th{background:var(--color-primary)!important;color:#fff!important;padding:1px 2px!important;text-align:center;font-weight:400;border:1px solid var(--color-primary)!important;border-top:none!important;border-bottom:none!important;border-radius:0;font-size:12px!important;line-height:1!important;position:sticky;z-index:10;background-clip:padding-box;box-sizing:border-box!important;vertical-align:middle!important;overflow:hidden!important;white-space:nowrap!important;box-shadow:0 0 0 5px var(--color-primary)!important}.debt-service-table thead tr:nth-child(1){height:20px!important;min-height:20px!important;max-height:20px!important}.debt-service-table thead tr:nth-child(1) th{top:0!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:1px 2px!important}.debt-service-table thead tr:nth-child(2){height:16px!important;min-height:16px!important;max-height:16px!important}.debt-service-table thead tr:nth-child(2) th{top:20px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.debt-service-table thead tr:nth-child(3){height:16px!important;min-height:16px!important;max-height:16px!important}.debt-service-table thead tr:nth-child(3) th{top:36px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important}.debt-service-table thead tr:nth-child(4){height:16px!important;min-height:16px!important;max-height:16px!important}.debt-service-table thead tr:nth-child(4) th{top:52px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px 2px!important;box-shadow:0 0 0 5px var(--color-primary),0 2px 4px #00000026!important}.debt-service-table .toggle-buttons-row{background:transparent;border:none}.debt-service-table .toggle-buttons-row th{background:#fff!important;border:none!important;padding:8px 2px;text-align:center;vertical-align:middle;box-shadow:none!important}.debt-service-table .toggle-buttons-row .line-item-col-header,.debt-service-table .toggle-buttons-row .year-toggle-cell{background:#fff!important;border:none!important;box-shadow:none!important}.debt-service-table .toggle-buttons-row button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s}.debt-service-table .toggle-buttons-row button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}.debt-service-table .line-item-col-header{background:var(--color-primary)!important;color:#fff;padding:1px 4px!important;font-size:12px!important;font-weight:700!important;font-family:var(--font-family-heading)!important;line-height:1!important;border:none!important;min-width:200px;max-width:200px;text-align:right!important;position:sticky!important;left:40px!important;z-index:20!important;box-shadow:-5px 0 0 0 var(--color-primary)!important}.debt-service-table .month-header{background:var(--color-primary)!important;color:#fff;font-size:12px;padding:1px 2px;min-width:80px;border:1px solid var(--color-primary);line-height:1}.debt-service-table .year-header-collapsed{background:#548235!important;color:#fff;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:center;padding:1px 2px;min-width:80px;border:none!important}.debt-service-table .line-item-cell{background:#d0cece!important;background-color:#d0cece!important;color:#1f2937!important;padding:2px 4px;text-align:right;font-weight:500;border:none;min-width:200px;max-width:200px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.2;position:sticky!important;left:40px!important;z-index:5!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.debt-service-table .value-cell,.debt-service-table .month-cell{background:#fff;padding:2px;text-align:right;border:none;font-family:var(--font-family-primary);white-space:nowrap;font-size:12px;line-height:1.2;height:auto}.debt-service-table .month-even{background:#f5f5f5!important}.debt-service-table .total-cell{background:#e2efda!important;font-weight:600;border:none}.debt-service-table .section-header-row td{background:#f1f5f9!important;color:#1f2937;padding:2px 4px;font-weight:700;font-family:var(--font-family-heading)!important;font-size:12px;text-align:left;border:none!important;line-height:1.2}.debt-service-table .section-header-row .section-header-cell,.debt-service-table .section-header-row .line-item-cell{position:sticky!important;left:40px!important;z-index:6!important;background-color:#f1f5f9!important;font-weight:700!important;font-family:var(--font-family-heading)!important;text-align:left!important;box-shadow:none!important;min-width:200px;max-width:200px;width:200px}.debt-service-table .section-header-row .section-header-filler{background-color:#f1f5f9!important;border:none!important}.debt-service-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row):not(.section-last-row) .line-item-cell{border-left:none!important;border-right:none!important;border-top:none;border-bottom:none!important}.debt-service-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child{border-right:2px solid var(--color-primary)!important}.debt-service-table tbody .section-header-row+tr .line-item-cell{border-top:2px solid var(--color-primary)!important}.debt-service-table tbody .section-header-row+tr td:last-child{border-top:2px solid var(--color-primary)!important;border-right:2px solid var(--color-primary)!important}.debt-service-table tbody .section-header-row+tr td:not(.line-item-cell):not(:last-child):not(.collapse-button-cell){border-top:2px solid var(--color-primary)!important}.debt-service-table tbody .section-header-row+tr td.collapse-button-cell{border:none!important}.debt-service-table tbody tr.section-last-row td:not(.collapse-button-cell){border-bottom:2px solid var(--color-primary)!important}.debt-service-table tbody tr.section-last-row td.line-item-cell{border-bottom:2px solid var(--color-primary)!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.debt-service-table tbody tr.section-last-row td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important}.debt-service-table .subtotal-row td:not(.collapse-button-cell),.debt-service-table .total-row td:not(.collapse-button-cell){font-weight:700!important;font-family:var(--font-family-heading)!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;border-left:none!important;border-right:none!important}.debt-service-table .subtotal-row .line-item-cell,.debt-service-table .total-row .line-item-cell{background:#d0cece!important;border-left:none!important;border-top:2px solid var(--color-primary)!important;border-bottom:2px solid var(--color-primary)!important;box-shadow:inset 2px 0 0 0 var(--color-primary)!important}.debt-service-table .subtotal-row td:last-child,.debt-service-table .total-row td:last-child{border-right:2px solid var(--color-primary)!important}.debt-service-table .subtotal-row td.collapse-button-cell,.debt-service-table .total-row td.collapse-button-cell{border:none!important;background:#fff!important;background-color:#fff!important;box-shadow:5px 0 #fff!important}.debt-service-table .subtotal-row .total-cell,.debt-service-table .total-row .total-cell{background:#e2efda!important;color:#1f2937}.debt-service-table .accounting-cell{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-family-primary);line-height:1.2;min-height:auto;height:auto}.debt-service-table .accounting-cell .dollar-sign{text-align:left;padding-right:2px;line-height:1.2}.debt-service-table .accounting-cell .number-part{text-align:right;flex:1;line-height:1.2}.debt-service-table .negative,.debt-service-table .negative-value,.debt-service-table .accounting-negative{color:#c00000!important}.debt-service-table tr.balance-row td{font-weight:500;background-color:#f0f7ff}.debt-service-table tr:last-child td{font-weight:600}.debt-service-empty-state{padding:2rem;text-align:center;color:#666;font-style:italic;background-color:#f8f9fa;border-radius:8px}.density-compact .debt-service-table th,.density-compact .debt-service-table td{padding:.25rem .5rem;font-size:.8125rem}.density-comfortable .debt-service-table th,.density-comfortable .debt-service-table td{padding:.5rem .75rem}.debt-service-table .section-collapse-button{background:#2e4c7a33;border:1px solid rgba(46,76,122,.4);color:#1e232b;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px;transition:all .2s;min-width:32px}.debt-service-table .section-collapse-button:hover{background:#2e4c7a4d;border-color:#2e4c7a99}@media (max-width: 768px){.debt-service-table-wrapper{font-size:.75rem}.debt-service-table th,.debt-service-table td{padding:.25rem .5rem}}.financing-settings-compact{padding:8px 0}.settings-table{width:100%;border-collapse:collapse}.settings-table td{padding:8px 12px;border-bottom:1px solid #e5e7eb}.settings-table tr:last-child td{border-bottom:none}.settings-table td:first-child{width:180px}.settings-table td:last-child{text-align:left}.settings-table tr.group-header td{padding:12px 12px 6px;font-size:var(--font-size-small);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.settings-table tr.group-header:first-child td{padding-top:6px}.settings-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;background:#fff;cursor:pointer;min-width:160px}.settings-select:hover{border-color:#9ca3af}.settings-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.settings-input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;text-align:right}.settings-input:hover{border-color:#9ca3af}.settings-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.financing-tab{width:100%;height:100%;overflow-y:auto;padding:12px;background:#f8f9fa;font-family:var(--font-family-primary)}.financing-tab-content{max-width:100%;margin:0 auto}.financing-tab-content>.module-card:first-child{width:fit-content;margin-left:auto;margin-right:auto}.financing-section{background:#fff;border:2px solid var(--color-primary);border-radius:8px;margin-bottom:16px;overflow:hidden}.financing-section.loans-section{width:fit-content;margin-left:auto;margin-right:auto}.financing-section-header{background:var(--color-primary);color:#fff;padding:10px 16px;margin:0;font-size:16px;font-weight:600;font-family:var(--font-family-primary)}.financing-section-header-with-actions{background:var(--color-primary);color:#fff;padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.financing-section-header-with-actions h3{margin:0;font-size:16px;font-weight:600;font-family:var(--font-family-primary)}.financing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:16px}.financing-field{display:flex;flex-direction:column;gap:4px}.financing-field label{font-weight:600;color:var(--color-primary);font-size:13px}.financing-value{padding:8px 10px;background:#f0f9ff;border:1px solid #cbd5e0;border-radius:4px;font-size:15px;font-weight:700;color:var(--color-primary);font-family:var(--font-family-primary)}.financing-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;font-family:var(--font-family-primary);transition:all .15s}.financing-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loan-table-wrapper{padding:0;width:fit-content;max-width:100%;margin:0 auto}.loan-table-scroll{display:inline-block;overflow-x:auto;overflow-y:visible;width:fit-content;max-width:100%}.loan-table{width:auto;table-layout:auto;border-collapse:collapse;font-size:12px;font-family:var(--font-family-primary);margin:0 auto}.loan-table thead{background:var(--color-primary);position:sticky;top:0;z-index:10}.loan-table th{padding:10px 12px;text-align:center;border:1px solid var(--color-primary-dark);font-weight:700;font-family:var(--font-family-heading);font-size:12px;color:#fff;white-space:nowrap;background:var(--color-primary)}.loan-table th.param-column{background:var(--color-primary);color:#fff;text-align:left;padding:10px 12px;position:sticky;left:0;z-index:11;white-space:nowrap;font-size:12px;font-family:var(--font-family-heading);font-weight:700;max-width:220px;width:auto;border:1px solid var(--color-primary-dark)}.loan-table th.loan-column{background:var(--color-primary);color:#fff;min-width:160px;width:auto;border:1px solid var(--color-primary-dark)}.loan-header-actions{display:flex;justify-content:center;align-items:center;padding:8px;gap:8px;position:relative}.loan-number{font-size:12px;font-weight:700;font-family:var(--font-family-heading);color:#fff;white-space:nowrap;text-align:center;flex-grow:1}.btn-loan-settings{background:transparent;color:#fffc;border:none;border-radius:3px;padding:4px 6px;cursor:pointer;font-size:12px;transition:all .2s;line-height:1;position:absolute;left:4px}.btn-loan-settings:hover{color:#fff;background:#ffffff1a;transform:scale(1.1)}.btn-remove-loan{background:transparent;color:#ffffffb3;border:none;border-radius:3px;padding:4px 8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;line-height:1;position:absolute;right:4px}.btn-remove-loan:hover{color:#ff6b6b;background:#ffffff1a}.loan-table tbody tr{border-bottom:1px solid #e1e4e8}.loan-table tbody tr:hover{background:#f8f9fa}.loan-table td{padding:6px 12px;border:1px solid #e1e4e8;text-align:center;white-space:nowrap;min-width:160px;width:auto;font-size:12px;font-family:var(--font-family-primary)}.loan-table td.param-label{background:#f8f9fa;text-align:left;font-weight:600;font-family:var(--font-family-primary);color:var(--color-primary);padding:6px 12px;position:sticky;left:0;z-index:5;border-right:none;box-shadow:inset -2px 0 0 0 var(--color-primary);white-space:nowrap;font-size:12px;max-width:220px;width:auto}.loan-table tr.calculated-row{background:#f0f9ff}.loan-table td.calculated-cell{background:#f0f9ff;font-weight:400;font-family:var(--font-family-primary);color:var(--color-primary);font-size:12px}.loan-table .loan-table-accounting,.loan-table .loan-table-accounting .dollar-sign,.loan-table .loan-table-accounting .number-part{font-size:12px}.loan-table-input,.loan-table-select{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;text-align:center;font-family:var(--font-family-primary);transition:all .15s}.loan-table-input:focus,.loan-table-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loan-table-select{text-align:center}.loan-table .table-cell-input{border:none;background:transparent;padding:4px 0;font-size:12px;font-family:var(--font-family-primary);text-align:center;color:#6b9bd1;white-space:nowrap}.loan-table .table-cell-input-money{text-align:right}.loan-table .table-cell-input[data-edited=true]{color:#00f}.loan-table .table-cell-input[data-edited=false]{color:#6b9bd1}.loan-table .table-cell-input:focus{outline:none;background:transparent}.loan-table .calculated-cell-text{font-size:12px;font-family:var(--font-family-primary);color:var(--color-primary);text-align:center;display:block}.loan-table .param-label .info-icon{color:#999;font-size:12px}.loan-table .constraint-label{font-size:var(--font-size-small);font-style:italic;color:var(--color-primary);margin-left:4px;white-space:nowrap;font-family:var(--font-family-primary)}.empty-state{text-align:center;padding:40px 20px;background:#fff;border:2px dashed #ccc;border-radius:8px;color:#666;margin:16px}.empty-icon{font-size:3rem;margin-bottom:12px;opacity:.4}.empty-state h4{font-family:var(--font-family-primary);font-size:1.1rem;color:#495057;margin:0 0 8px;font-weight:600}.empty-state p{font-family:var(--font-family-primary);font-size:.9rem;margin:0 0 6px;line-height:1.4;color:#6c757d}.btn-settings{font-family:var(--font-family-primary);background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s;box-shadow:0 2px 4px #0000001a}.btn-settings:hover{background-color:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.btn-settings:active{transform:translateY(0)}.btn-add-loan,.btn-add-loan-large{font-family:var(--font-family-primary);background-color:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0000001a}.btn-add-loan:hover,.btn-add-loan-large:hover{background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.btn-add-loan:active,.btn-add-loan-large:active{transform:translateY(0)}.btn-add-loan-large{padding:12px 32px;font-size:1rem;margin-top:8px}@media (max-width: 768px){.financing-tab{padding:8px}.financing-grid{grid-template-columns:repeat(2,1fr);padding:12px}.financing-section-header-with-actions{flex-direction:column;align-items:flex-start;gap:8px}.loan-table th.param-column{min-width:150px}.loan-table th.loan-column{min-width:140px}}@media (max-width: 480px){.financing-grid{grid-template-columns:1fr}}.expandable-modal-header h3{margin:0;font-size:18px;color:#fff!important}.density-default .loan-table th{padding:12px 14px!important}.density-default .loan-table td{padding:10px 14px!important}.density-default .summary-table th{padding:12px 18px!important}.density-default .summary-table td{padding:10px 18px!important}.density-comfortable .loan-table th{padding:10px 12px!important}.density-comfortable .loan-table td{padding:6px 12px!important}.density-comfortable .summary-table th{padding:10px 16px!important}.density-comfortable .summary-table td{padding:6px 16px!important}.density-compact .loan-table th{padding:6px 10px!important}.density-compact .loan-table td{padding:4px 10px!important}.density-compact .summary-table th{padding:6px 14px!important}.density-compact .summary-table td{padding:4px 14px!important}.editable-cell-wrapper{position:relative;display:inline-block;width:100%}.editable-cell-edit-indicator{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:10px;opacity:.6;z-index:1;pointer-events:none}.editable-cell-input{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-family:var(--font-family-primary);font-size:var(--font-size-body);color:var(--color-text-primary);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.editable-cell-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2e95c133}.editable-cell-input:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.editable-cell-input:read-only{background:#f9fafb}.editable-cell-input.edited,.editable-cell-input[data-edited=true]{background:#fffef0}.editable-cell-table .editable-cell-input{padding:4px 6px;font-size:var(--font-size-table);border:none;border-radius:0;background:transparent}.editable-cell-table .editable-cell-input:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--color-primary)}.editable-cell-input.negative{color:var(--color-error)}.editable-cell-input[style*="text-align: right"],.editable-cell-currency .editable-cell-input,.editable-cell-percent .editable-cell-input,.editable-cell-integer .editable-cell-input,.editable-cell-bps .editable-cell-input{text-align:right}.editable-cell-month .editable-cell-input{text-align:center}.editable-cell-multiplier .editable-cell-input{text-align:right}.editable-cell-text .editable-cell-input{text-align:left}.density-compact .editable-cell-input{padding:3px 6px;font-size:var(--font-size-small)}.density-comfortable .editable-cell-input{padding:6px 8px}.density-default .editable-cell-input{padding:8px 10px}.property-tab{width:100%;height:100%;overflow-y:auto;padding:var(--spacing-xl);background:var(--color-bg-secondary);font-family:var(--font-family-primary)}.fetch-button-field{grid-column:span 1}.btn-fetch-address-info{padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-primary-light);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-input);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);transition:var(--transition-normal);width:100%;max-width:300px}.btn-fetch-address-info:hover:not(:disabled){background:#2680a8;transform:translateY(-1px);box-shadow:0 4px 8px #2e95c14d}.btn-fetch-address-info:active:not(:disabled){transform:translateY(0)}.btn-fetch-address-info:disabled{background:var(--color-border);cursor:not-allowed;opacity:.6}.property-field-fullwidth{grid-column:1 / -1;margin:var(--spacing-sm) 0}.tax-data-message{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-input);font-weight:var(--font-weight-medium)}.tax-data-message.error{background:#fee;color:var(--color-error);border:1px solid #fcc}.tax-data-message.success{background:#efe;color:var(--color-success);border:1px solid #cfc}.supported-jurisdictions{font-size:var(--font-size-small);color:var(--color-text-muted);padding:var(--spacing-sm) 0}.property-tab-content{max-width:1400px;margin:0 auto}.property-section{background:var(--color-bg-primary);border:2px solid var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2xl);overflow:hidden}.property-section-header{background:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-xl);margin:0;font-size:var(--font-size-section-header);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary)}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);padding:var(--spacing-2xl)}.property-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.property-field label{font-weight:var(--font-weight-semibold);color:var(--color-primary);font-size:var(--font-size-label)}.property-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-input);font-family:var(--font-family-primary);transition:var(--transition-normal)}.property-input:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2e95c11a}.property-input:disabled{background:var(--color-bg-primary);color:var(--color-text-primary);cursor:default;font-weight:var(--font-weight-medium)}.property-input.calculated{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-muted);font-weight:var(--font-weight-medium);font-style:italic}.property-input[data-edited=true]{border-left:3px solid var(--color-primary-light)}.property-input[data-edited=false]{border-left:3px solid transparent}.property-input select,select.property-input{appearance:auto;cursor:pointer}@media (max-width: 768px){.property-grid{grid-template-columns:1fr}.property-tab{padding:var(--spacing-md)}.property-section{margin-bottom:var(--spacing-lg)}}.density-default .property-field label{padding:var(--spacing-sm) 0!important;font-size:var(--font-size-label)}.density-default .property-input,.density-default .property-input select{padding:var(--spacing-sm) var(--spacing-md)!important;font-size:var(--font-size-input)}.density-default .property-section-header{padding:var(--spacing-lg) var(--spacing-xl)!important;font-size:var(--font-size-section-header)}.density-default .property-grid{gap:var(--spacing-lg)!important;padding:var(--spacing-2xl)!important}.density-comfortable .property-field label{font-size:var(--font-size-label)}.density-comfortable .property-input,.density-comfortable .property-input select{padding:var(--spacing-sm) var(--spacing-md)!important;font-size:var(--font-size-input)}.density-comfortable .property-section-header{padding:var(--spacing-md) var(--spacing-xl)!important;font-size:var(--font-size-section-header)}.density-comfortable .property-grid{gap:var(--spacing-lg)!important;padding:var(--spacing-2xl)!important}.density-compact .property-field label{font-size:var(--font-size-label)}.density-compact .property-input,.density-compact .property-input select{padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:var(--font-size-input)}.density-compact .property-section-header{padding:var(--spacing-sm) var(--spacing-lg)!important;font-size:var(--font-size-section-header)}.density-compact .property-grid{gap:var(--spacing-md)!important;padding:var(--spacing-lg)!important}.file-importer-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.file-importer-modal{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.file-importer-header{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff!important;padding:20px;display:flex;justify-content:space-between;align-items:center}.file-importer-header h3{margin:0;font-size:18px;color:#fff!important}.file-importer-header .btn-close-modal{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;line-height:1}.file-importer-header .btn-close-modal:hover{background:#fff;color:#dc2626!important;transform:scale(1.1)}.file-importer-content{padding:30px;overflow-y:auto;flex:1}.file-drop-zone{border:2px dashed #2E95C1;border-radius:8px;padding:40px;text-align:center;background:#f8f9fa;transition:all .3s;cursor:pointer}.file-drop-zone:hover{background:#e9ecef;border-color:#1e232b}.file-drop-zone.dragging{background:#d4edda;border-color:#28a745;border-width:3px;transform:scale(1.02);box-shadow:0 4px 12px #28a74533}.file-drop-label{cursor:pointer;display:block}.upload-icon{font-size:48px;display:block;margin-bottom:15px}.file-drop-zone p{margin:5px 0;color:#495057}.file-drop-hint{color:#6c757d!important;font-size:14px}.file-formats{color:#6c757d!important;font-size:12px;margin-top:10px!important}.file-selected{margin-top:20px;padding:15px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.import-error{margin-top:20px;padding:15px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.file-preview{margin-top:20px;border:1px solid #dee2e6;border-radius:6px;padding:15px}.file-preview h4{margin-top:0;margin-bottom:10px;color:#495057;font-size:14px}.preview-table-container{overflow-x:auto;max-height:200px;overflow-y:auto}.preview-table{width:100%;border-collapse:collapse;font-size:12px}.preview-table td{border:1px solid #dee2e6;padding:6px 8px;white-space:nowrap}.preview-table tr:first-child td{background:#f8f9fa;font-weight:700}.import-instructions{margin-top:20px;padding:15px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px}.import-instructions h4{margin-top:0;margin-bottom:10px;color:#856404;font-size:14px}.import-instructions ul{margin:0;padding-left:20px;color:#856404;font-size:13px}.import-instructions li{margin:5px 0}.import-actions{margin-top:20px;display:flex;justify-content:flex-end}.btn-import{background:#2e95c1;color:#fff!important;border:none;padding:12px 30px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:400;transition:all .2s}.btn-import:hover:not(:disabled){background:#2680a8;transform:translateY(-1px);box-shadow:0 4px 8px #2e95c14d}.btn-import:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.pdf-notice{color:#2e95c1!important;font-weight:700;margin-top:10px!important;font-size:13px!important}.ocr-progress{margin-top:20px;padding:20px;background:#e7f3f8;border:1px solid #2E95C1;border-radius:6px;text-align:center}.ocr-progress p{margin:0 0 10px;color:#1e232b;font-weight:700}.progress-bar{width:100%;height:24px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a;margin:10px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#2e95c1,#2e4c7a);transition:width .5s ease;border-radius:12px}.progress-text{font-size:16px!important;font-weight:700!important;color:#2e4c7a!important;margin-top:8px!important}.import-progress{margin-top:20px;padding:20px;background:#e7f3f8;border:1px solid #2E95C1;border-radius:6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px}.import-progress p{margin:0;color:#1e232b;font-weight:700;font-size:16px}.spinner{width:50px;height:50px;border:4px solid rgba(46,149,193,.2);border-top:4px solid #2E95C1;border-radius:50%;animation:spin 1s linear infinite}.t12-viewer-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.t12-viewer-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column}.t12-viewer-modal.large{max-width:95vw;width:95%}.t12-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.t12-viewer-header>div{display:flex;align-items:center;gap:20px}.t12-viewer-header h2{margin:0;font-size:24px;color:#2d3748}.btn-toggle-monthly{padding:8px 16px;background-color:#4299e1;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.btn-toggle-monthly:hover{background-color:#3182ce}.t12-viewer-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid #e2e8f0;background-color:#f7fafc}.tab-btn{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#718096;transition:all .2s ease}.tab-btn:hover{color:#2d3748;background-color:#edf2f7}.tab-btn.active{color:#4299e1;border-bottom-color:#4299e1;background-color:#fff}.t12-viewer-content{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column}.t12-viewer-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e2e8f0}.no-data-message{text-align:center;padding:60px 20px}.no-data-icon{font-size:64px;margin-bottom:20px}.no-data-message h3{margin:0 0 10px;color:#2d3748;font-size:20px}.no-data-message p{margin:0;color:#718096;font-size:14px}.t12-summary{display:flex;flex-direction:column;gap:30px}.summary-section h3{margin:0 0 16px;font-size:18px;color:#2d3748}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:16px;color:#2d3748}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:20px;color:#fff}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.9;margin-bottom:8px}.card-value{font-size:28px;font-weight:700;margin-bottom:4px}.card-count{font-size:14px;opacity:.8}.summary-actions{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid #e2e8f0}.t12-data-table{overflow-x:auto}.t12-data-table table{width:100%;border-collapse:collapse;font-size:14px}.t12-data-table th{background-color:#f7fafc;padding:12px;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.t12-data-table td{padding:12px;border-bottom:1px solid #e2e8f0;color:#4a5568}.t12-data-table .text-right{text-align:right}.t12-data-table tr:hover:not(.total-row){background-color:#f7fafc}.t12-data-table .total-row{background-color:#edf2f7;font-weight:600}.t12-data-table .total-row td{border-top:2px solid #cbd5e0;border-bottom:2px solid #cbd5e0}.monthly-breakdown{overflow-x:auto;max-height:600px}.monthly-breakdown table{position:relative;min-width:100%}.monthly-breakdown .sticky-col{position:sticky;left:0;background-color:#fff;z-index:10;box-shadow:2px 0 5px #0000000d;min-width:200px;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-breakdown th.sticky-col{background-color:#f7fafc;z-index:11}.monthly-breakdown .total-row .sticky-col{background-color:#edf2f7}.t12-raw-data-table{flex:1;overflow:auto;padding:20px;overflow-x:auto;overflow-y:auto;position:relative;z-index:1}.t12-raw-data-table table{border-collapse:collapse;font-size:12px;font-family:var(--font-family-primary);position:relative}.t12-raw-data-table tr.header-row td{position:sticky!important;top:0!important;z-index:20!important;background-color:var(--color-primary)!important;color:#fff!important;font-weight:700}.t12-raw-data-table td.sticky-col{position:sticky!important;background-color:#fff;z-index:10;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.t12-raw-data-table td.sticky-col-0{left:0!important;box-shadow:2px 0 5px #0000001a;min-width:250px;width:auto}.t12-raw-data-table tr.header-row td.sticky-col{z-index:30!important;background-color:var(--color-primary)!important;color:#fff!important;position:sticky!important;top:0!important}.t12-raw-data-table tr.header-row td.sticky-col-0{left:0!important;background-color:var(--color-primary)!important;color:#fff!important}.t12-raw-data-table tr.header-row td.trailing-period-header{z-index:25!important;background:var(--color-primary)!important;background-color:var(--color-primary)!important;color:#fff!important;position:sticky!important;top:0!important}.t12-raw-data-table td{padding:4px 8px;border:1px solid #b8b8b8;white-space:nowrap;color:#000}.t12-raw-data-table td.sticky-col-0,.t12-raw-data-table td.sticky-col-1{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word}.t12-raw-data-table tr:nth-child(2n) td{background-color:#f9f9f9}.t12-raw-data-table tr:nth-child(2n) td.sticky-col{background-color:#f9f9f9}.t12-raw-data-table tr.header-row td.sticky-col{background-color:#fff}.t12-raw-data-table td.accounting-format{text-align:right;min-width:120px}.t12-raw-data-table td.accounting-format .accounting-cell{display:flex;justify-content:space-between;align-items:center;width:100%;font-family:var(--font-family-primary);font-size:12px}.t12-raw-data-table td.accounting-format .dollar-sign{margin-right:4px;flex-shrink:0}.t12-raw-data-table td.accounting-format .number-part{flex:1;text-align:right}.t12-raw-data-table td.negative,.t12-raw-data-table td.negative .accounting-cell,.t12-raw-data-table td.negative .dollar-sign,.t12-raw-data-table td.negative .number-part{color:#c00000!important}.t12-raw-data-table td.calculated-cell{background-color:#fffbea;position:relative}.t12-raw-data-table td.calculated-cell:after{content:"≈";position:absolute;top:2px;right:2px;font-size:var(--font-size-small);color:#d97706;font-weight:700}.t12-raw-data-table td.sticky-col.calculated-cell{background-color:#fffbea}.t12-raw-data-table tr:nth-child(2n) td.calculated-cell{background-color:#fef3c7}.t12-raw-data-table tbody tr td.calculated-col{background-color:#f0f4f8!important;border-left:2px solid var(--color-primary)!important;color:#000!important}.t12-raw-data-table tbody tr td.calculated-col .accounting-cell,.t12-raw-data-table tbody tr td.calculated-col .accounting-cell .dollar-sign,.t12-raw-data-table tbody tr td.calculated-col .accounting-cell .number-part{color:#000!important}.t12-raw-data-table tbody tr td.calculated-col.negative,.t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell,.t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell .dollar-sign,.t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell .number-part{color:#c00000!important}.t12-raw-data-table td.trailing-period-header{background:var(--color-primary)!important;background-color:var(--color-primary)!important;color:#fff!important;padding:8px 12px;text-align:center;font-weight:400;border:1px solid var(--color-primary-dark);font-size:13px;min-width:120px;position:sticky;top:0;z-index:25}.t12-raw-data-table tr.header-row td.trailing-period-header{background:var(--color-primary)!important;background-color:var(--color-primary)!important;color:#fff!important}.t12-raw-data-table td.t12-mismatch{background-color:#ffe6e6!important;border:2px solid #ff9999!important;position:relative}.t12-raw-data-table td.t12-mismatch:before{content:"⚠";position:absolute;top:2px;right:2px;font-size:var(--font-size-small);color:#c00;font-weight:700}.btn-close-modal{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;line-height:1}.btn-danger{padding:10px 20px;background-color:#f56565;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-danger:hover{background-color:#e53e3e}.btn-secondary{padding:10px 20px;background-color:#718096;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-secondary:hover{background-color:#4a5568}.btn-primary{padding:12px 24px;background-color:#4299e1;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background-color:#3182ce}.no-data-actions{margin-top:30px;display:flex;justify-content:center}.t12-raw-data-table td.edited-cell{background-color:#fff4e6!important;outline:1px solid #f59e0b}.btn-revert-cell{position:absolute;top:2px;right:2px;background:#f59e0b;color:#fff;border:none;border-radius:3px;padding:2px 6px;font-size:12px;font-weight:700;cursor:pointer;opacity:.8;transition:opacity .2s ease,background-color .2s ease;z-index:5}.btn-revert-cell:hover{opacity:1;background-color:#d97706}.excel-collapse-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border:1px solid #a0a0a0;border-radius:2px;color:#000;font-size:12px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:100;transition:background-color .15s ease,border-color .15s ease}.excel-collapse-btn:hover{background-color:#e8e8e8;border-color:#707070}.excel-collapse-btn:active{background-color:#d0d0d0}.t12-raw-data-table td[contenteditable=true]{cursor:text}.t12-raw-data-table td[contenteditable=false]{cursor:default}.t12-raw-data-table td[contenteditable=true]:focus,.t12-raw-data-table div[contenteditable=true]:focus{outline:2px solid #4299e1;outline-offset:-2px;background-color:#e6f7ff!important}.t12-raw-data-table td.mapping-cell{min-width:200px;max-width:200px;vertical-align:middle}.t12-raw-data-table td.mapping-header{text-align:center!important;min-width:200px;max-width:200px}.t12-raw-data-table .mapping-select{width:100%;padding:4px;font-size:var(--font-size-small);font-family:var(--font-family-primary);border:1px solid #cbd5e0;border-radius:3px;background-color:#fff;cursor:pointer;transition:border-color .2s ease;scroll-behavior:smooth}.t12-raw-data-table .mapping-select:hover{border-color:#4299e1}.t12-raw-data-table .mapping-select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 2px #4299e11a}.t12-raw-data-table td.sticky-col-1{left:200px!important;box-shadow:2px 0 5px #0000001a;min-width:300px;width:auto}.t12-raw-data-table tr.header-row td.sticky-col-1{left:200px!important;background-color:var(--color-primary)!important;color:#fff!important}.t12-raw-data-table tr.selected-row td{background-color:#e3f2fd!important;outline:1px solid #2196f3}.t12-raw-data-table tr.selected-row td.calculated-col{background-color:#d4e9f7!important}.t12-raw-data-table tr.selected-row td.sticky-col{background-color:#e3f2fd!important}.gp-fees-content{padding:8px 12px}.gp-fees-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-family-primary)}.gp-fees-table th{background:var(--color-primary);color:#fff;padding:6px 8px;text-align:left;font-weight:600;font-size:11px;border:1px solid var(--color-primary-dark);white-space:nowrap}.gp-fees-table td{padding:4px 8px;border:1px solid #e1e4e8;vertical-align:middle}.gp-fees-table tbody tr:hover{background:#f8f9fa}.gp-fees-table tbody tr.fee-disabled{opacity:.6}.gp-fees-table tbody tr.fee-disabled td{color:#999}.fee-enabled-col{width:40px;text-align:center!important}.fee-name-col{width:140px;font-weight:500;color:var(--color-primary)}.fee-rate-col{width:80px;text-align:right}.fee-basis-col{width:100px;color:#666;font-size:11px}.fee-timing-col{width:80px;color:#666;font-size:11px}.gp-fees-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}.rate-input-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:2px}.fee-rate-input{width:50px;padding:2px 4px;border:1px solid #d1d5db;border-radius:3px;font-size:12px;text-align:right;font-family:var(--font-family-primary)}.fee-rate-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.fee-rate-input:disabled{background:#f3f4f6;color:#999;cursor:not-allowed}.rate-unit{font-size:11px;color:#666}.fee-select{width:100%;padding:2px 4px;border:1px solid #d1d5db;border-radius:3px;font-size:11px;font-family:var(--font-family-primary);background:#fff;color:#666;cursor:pointer}.fee-select:hover:not(:disabled){border-color:#3b82f6}.fee-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.fee-select:disabled{background:#f3f4f6;color:#999;cursor:not-allowed}.revenue-expenses-tab{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:20px;padding:20px;align-items:start}.revenue-expenses-tab .rent-roll-module{grid-column:1 / -1;grid-row:1}.revenue-expenses-tab .losses-module{grid-column:1 / -1;grid-row:2}.revenue-expenses-tab .other-income-module{grid-column:1;grid-row:3 / 5;align-self:start}.revenue-expenses-tab .operating-expenses-module{grid-column:2;grid-row:3;align-self:start}.revenue-expenses-tab .gp-fees-module{grid-column:2;grid-row:4;align-self:start;margin:0;padding:0}.data-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;position:relative;display:flex;flex-direction:column;overflow:hidden}.data-table-header{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff!important;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.data-table-header h3{margin:0;font-size:12px;font-weight:400;color:#fff!important}.btn-expand{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff!important;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:400;transition:all .2s}.btn-expand:hover{background:#ffffff4d;color:#fff!important}.data-table-content{padding:20px;overflow-y:auto;overflow-x:visible;flex:1}.trailing-period-selector{position:sticky;top:0;z-index:10;padding:10px 15px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;align-items:center;gap:10px}.data-table{table-layout:fixed}.data-table td:first-child,.data-table th:first-child{width:auto;min-width:140px}.data-table-container.has-trailing-period .data-table th{top:41px}.data-table td input:not(.table-cell-input-formatted){width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-family:inherit}.data-table td input:not(.table-cell-input-formatted):focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.data-table td input:disabled{background:#f3f4f6;cursor:not-allowed}.table-cell-input{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:3px;font-size:12px;font-family:inherit;text-align:right;background:transparent;transition:all .15s}.table-cell-input:hover{border-color:#d1d5db;background:#fff}.table-cell-input:focus{outline:none;border-color:#2e95c1;background:#fff;box-shadow:0 0 0 2px #2e95c11a}.table-cell-input::placeholder{color:#9ca3af;font-style:italic}.table-cell-input-formatted{width:100%;padding:8px 12px;border:none;font-size:12px;font-family:var(--font-family-primary);text-align:right;background:transparent;color:#00f;white-space:nowrap}.table-cell-input-formatted:focus{outline:none;background:transparent}.table-cell-input-formatted::placeholder{color:#9ca3af;font-style:italic}.data-table td.text-right,.data-table th.text-right{white-space:nowrap;min-width:120px;max-width:140px;overflow:visible}.accounting-cell.bold-cell,.accounting-cell.bold-cell .dollar-sign,.accounting-cell.bold-cell .number-part{font-weight:700;font-family:var(--font-family-heading)}.expandable-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.expandable-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.expandable-modal-header{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff!important;padding:20px;display:flex;justify-content:space-between;align-items:center}.expandable-modal-header h3{margin:0;font-size:12px;color:#fff!important}.btn-close-modal{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:all .2s;line-height:1}.btn-close-modal:hover{background:#fff;color:#dc2626!important;transform:scale(1.1)}.expandable-modal-content{padding:30px;overflow-y:auto;flex:1}.stabilization-table thead th{background:#2c5282;color:#fff;padding:12px;font-size:12px;font-weight:600;text-align:center;border:1px solid #1a365d}.stabilization-table .label-cell{background:#e2e8f0;color:#1f2937;padding:10px 16px;text-align:left;font-weight:500;border-right:1px solid #cbd5e0;width:60%}.stabilization-table .value-cell{background:#fff;color:#2e95c1;padding:10px 16px;text-align:right;font-weight:600;width:40%}.stabilization-table .value-cell input{background:#fff;border:1px solid #cbd5e0;border-radius:4px;color:#2e95c1;font-family:var(--font-family-primary);font-size:12px;font-weight:600;padding:4px 8px;text-align:right;width:80px;transition:all .2s}.stabilization-table .value-cell input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.stabilization-table .value-cell input:hover{border-color:#2e95c1}.stabilization-table .value-cell .unit-label{margin-left:6px;color:#2e95c1;font-weight:600}.line-item-editor{display:flex;flex-direction:column;gap:20px}.editor-instructions{background:#f8f9fa;padding:15px;border-radius:6px;margin:0;color:#495057;font-size:12px}.line-items-list{display:flex;flex-direction:column;gap:10px}.line-item-header{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1.2fr 100px;gap:10px;padding:12px;background:var(--color-primary);color:#fff!important;border-radius:6px;font-size:12px;font-weight:400}.line-item-header-simple{display:grid;grid-template-columns:1fr 150px;gap:10px;padding:12px;background:var(--color-primary);color:#fff!important;border-radius:6px;font-size:12px;font-weight:400}.line-item-row-simple{display:grid;grid-template-columns:1fr 150px;gap:10px;padding:12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;align-items:center}.item-name-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;width:100%}.item-name-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.line-item-header-wide{display:grid;grid-template-columns:2fr 1fr .9fr .9fr 1fr .9fr .9fr 100px;gap:8px;padding:12px;background:var(--color-primary);color:#fff!important;border-radius:6px;font-size:12px;font-weight:400}.line-item-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1.2fr 100px;gap:10px;padding:12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;align-items:center}.line-item-row-wide{display:grid;grid-template-columns:2fr 1fr .9fr .9fr 1fr .9fr .9fr 100px;gap:8px;padding:12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;align-items:center}.line-item-row input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.line-item-row input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.line-item-actions{display:flex;gap:5px}.btn-icon{background:transparent;border:1px solid #d1d5db;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-icon:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon.danger:hover{background:#fee;border-color:#dc2626;color:#dc2626}.btn-add-item{background:#2e95c1;color:#fff!important;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:400;transition:all .2s;align-self:flex-start}.btn-add-item:hover{background:#2680a8;transform:translateY(-1px);box-shadow:0 4px 8px #2e95c14d}@media (max-width: 768px){.data-table-content{padding:10px}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px}.expandable-modal-content{padding:15px}.line-item-header-wide,.line-item-row-wide{grid-template-columns:1.5fr .8fr .7fr .7fr .8fr .7fr .7fr 80px;gap:5px;font-size:var(--font-size-small)}}.cash-flow-table-wrapper,.waterfall-table-container,.loan-table-wrapper,.debt-service-table-wrapper,.capex-table-wrapper,.t12-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 20px 20px;padding:0;position:relative}.cash-flow-table-wrapper-flush,.waterfall-table-container-flush,.loan-table-wrapper-flush{overflow-x:auto;overflow-y:visible;margin:0;padding:0;position:relative}.cash-flow-table,.waterfall-table,.debt-service-table,.capex-table,.t12-table,.data-table,.rent-roll-table{border-collapse:collapse;font-size:var(--font-size-table);font-family:var(--font-family-primary);width:100%;border:2px solid var(--color-table-border)}.cash-flow-table thead,.waterfall-table thead,.debt-service-table thead,.capex-table thead,.t12-table thead{position:sticky;top:0;z-index:10}.cash-flow-table thead th.collapse-button-col-header,.waterfall-table thead th.collapse-button-col-header,.debt-service-table thead th.collapse-button-col-header,.capex-table thead th.collapse-button-col-header,.t12-table thead th.collapse-button-col-header{position:sticky!important;left:0!important;z-index:15!important;background-color:#fff!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 #fff!important}.cash-flow-table td.collapse-button-cell,.waterfall-table td.collapse-button-cell,.debt-service-table td.collapse-button-cell,.capex-table td.collapse-button-cell,.t12-table td.collapse-button-cell{position:sticky!important;left:0!important;z-index:4!important;background-color:#fff!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 #fff!important}.cash-flow-table th.line-item-col-header,.waterfall-table th.line-item-col-header,.debt-service-table th.line-item-col-header,.capex-table th.line-item-col-header,.t12-table th.line-item-col-header{position:sticky!important;left:40px!important;z-index:20!important;background-color:var(--color-table-header-bg)!important;color:#fff;border-right:none!important;box-shadow:-5px 0 0 0 var(--color-table-header-bg)!important}.cash-flow-table .line-item-cell,.waterfall-table .line-item-cell,.debt-service-table .line-item-cell,.capex-table .line-item-cell,.t12-table .line-item-cell{position:sticky!important;left:40px!important;z-index:5!important;background-color:#d0cece!important;border-left:none!important;border-right:none!important;box-shadow:inset 2px 0 0 0 var(--color-table-border)!important}.loan-table th.param-column,.loan-table td.param-label{left:0!important}.loan-table th.param-column{position:sticky!important;left:0!important;z-index:11!important;background-color:var(--color-table-header-bg)!important;color:#fff}.loan-table td.param-label{position:sticky!important;left:0!important;z-index:5!important;background-color:#f8f9fa!important;border-right:none!important;box-shadow:inset -2px 0 0 0 var(--color-table-border)!important}.cash-flow-table .section-header-row td,.waterfall-table .section-header-row td,.debt-service-table .section-header-row td,.capex-table .section-header-row td,.t12-table .section-header-row td{background-color:var(--color-table-section-bg)!important;font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);text-align:left;border:none!important}.cash-flow-table .section-header-row td.collapse-button-cell,.cash-flow-table .section-header-row td.line-item-cell,.waterfall-table .section-header-row td.collapse-button-cell,.waterfall-table .section-header-row td.line-item-cell,.debt-service-table .section-header-row td.collapse-button-cell,.debt-service-table .section-header-row td.line-item-cell,.capex-table .section-header-row td.collapse-button-cell,.capex-table .section-header-row td.line-item-cell{background-color:#f1f5f9!important}.cash-flow-table .section-header-row .line-item-cell,.waterfall-table .section-header-row .line-item-cell,.debt-service-table .section-header-row .line-item-cell,.capex-table .section-header-row .line-item-cell{background-color:#f1f5f9!important;box-shadow:none!important}.cash-flow-table .section-header-row td.collapse-button-cell,.waterfall-table .section-header-row td.collapse-button-cell,.debt-service-table .section-header-row td.collapse-button-cell,.capex-table .section-header-row td.collapse-button-cell{background-color:#fff!important;box-shadow:5px 0 #fff!important}.cash-flow-table .subtotal-row td:not(.collapse-button-cell),.waterfall-table .subtotal-row td,.debt-service-table .subtotal-row td:not(.collapse-button-cell),.capex-table .subtotal-row td:not(.collapse-button-cell){font-weight:700;border-top:2px solid var(--color-table-border)!important;border-bottom:2px solid var(--color-table-border)!important;border-left:none!important;border-right:none!important}.cash-flow-table .subtotal-row .line-item-cell,.waterfall-table .subtotal-row .line-item-cell,.debt-service-table .subtotal-row .line-item-cell,.capex-table .subtotal-row .line-item-cell{background-color:#d0cece!important;border-left:none!important;box-shadow:inset 2px 0 0 0 var(--color-table-border)!important}.cash-flow-table .subtotal-row td.collapse-button-cell,.debt-service-table .subtotal-row td.collapse-button-cell,.capex-table .subtotal-row td.collapse-button-cell{border:none!important;background-color:#fff!important;box-shadow:5px 0 #fff!important}.cash-flow-table .subtotal-row td:last-child,.waterfall-table .subtotal-row td:last-child,.debt-service-table .subtotal-row td:last-child,.capex-table .subtotal-row td:last-child{border-right:2px solid var(--color-table-border)!important}.cash-flow-table .total-row td:not(.collapse-button-cell),.waterfall-table .total-row td,.debt-service-table .total-row td:not(.collapse-button-cell),.capex-table .total-row td:not(.collapse-button-cell){font-weight:700;border-top:2px solid var(--color-table-border)!important;border-bottom:2px solid var(--color-table-border)!important;border-left:none!important;border-right:none!important}.cash-flow-table .total-row .line-item-cell,.waterfall-table .total-row .line-item-cell,.debt-service-table .total-row .line-item-cell,.capex-table .total-row .line-item-cell{background-color:#d0cece!important;border-left:none!important;box-shadow:inset 2px 0 0 0 var(--color-table-border)!important}.cash-flow-table .total-row td.collapse-button-cell,.debt-service-table .total-row td.collapse-button-cell,.capex-table .total-row td.collapse-button-cell{border:none!important;background-color:#fff!important;box-shadow:5px 0 #fff!important}.cash-flow-table .total-row td:last-child,.waterfall-table .total-row td:last-child,.debt-service-table .total-row td:last-child,.capex-table .total-row td:last-child{border-right:2px solid var(--color-table-border)!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:not(.collapse-button-cell),.waterfall-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td,.debt-service-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:not(.collapse-button-cell),.capex-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:not(.collapse-button-cell){border-top:none;border-bottom:none}.cash-flow-table tbody .section-header-row+tr .line-item-cell,.cash-flow-table tbody .section-header-row+tr td:not(.collapse-button-cell),.waterfall-table tbody .section-header-row+tr td,.debt-service-table tbody .section-header-row+tr .line-item-cell,.debt-service-table tbody .section-header-row+tr td:not(.collapse-button-cell),.capex-table tbody .section-header-row+tr .line-item-cell,.capex-table tbody .section-header-row+tr td:not(.collapse-button-cell){border-top:2px solid var(--color-table-border)!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) .line-item-cell,.waterfall-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) .line-item-cell,.debt-service-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) .line-item-cell,.capex-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) .line-item-cell{border-left:none!important;box-shadow:inset 2px 0 0 0 var(--color-table-border)!important}.cash-flow-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child,.waterfall-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child,.debt-service-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child,.capex-table tbody tr:not(.section-header-row):not(.subtotal-row):not(.total-row) td:last-child{border-right:2px solid var(--color-table-border)!important}.cash-flow-table .accounting-cell,.waterfall-table .accounting-cell,.debt-service-table .accounting-cell,.loan-table .accounting-cell,.capex-table .accounting-cell,.t12-table .accounting-cell{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-family-primary)}.cash-flow-table .accounting-cell .dollar-sign,.waterfall-table .accounting-cell .dollar-sign,.debt-service-table .accounting-cell .dollar-sign,.loan-table .accounting-cell .dollar-sign,.capex-table .accounting-cell .dollar-sign,.t12-table .accounting-cell .dollar-sign{text-align:left;padding-right:2px}.cash-flow-table .accounting-cell .number-part,.waterfall-table .accounting-cell .number-part,.debt-service-table .accounting-cell .number-part,.loan-table .accounting-cell .number-part,.capex-table .accounting-cell .number-part,.t12-table .accounting-cell .number-part{text-align:right;flex:1}.cash-flow-table .negative,.cash-flow-table .accounting-negative,.waterfall-table .negative,.waterfall-table .accounting-negative,.debt-service-table .negative,.loan-table .negative,.capex-table .negative,.t12-table .negative{color:var(--color-error)}.cash-flow-table .percent-cell,.waterfall-table .percent-cell,.debt-service-table .percent-cell,.loan-table .percent-cell,.capex-table .percent-cell,.t12-table .percent-cell,.data-table .percent-cell,.rent-roll-table .percent-cell{text-align:center!important}.density-compact .cash-flow-table th,.density-compact .waterfall-table th,.density-compact .debt-service-table th,.density-compact .loan-table th,.density-compact .capex-table th,.density-compact .t12-table th{padding:4px 6px!important}.density-compact .cash-flow-table td,.density-compact .waterfall-table td,.density-compact .debt-service-table td,.density-compact .loan-table td,.density-compact .capex-table td,.density-compact .t12-table td{padding:3px 6px!important}.density-default .cash-flow-table th,.density-default .waterfall-table th,.density-default .debt-service-table th,.density-default .loan-table th,.density-default .capex-table th,.density-default .t12-table th{padding:10px 12px!important}.density-default .cash-flow-table td,.density-default .waterfall-table td,.density-default .debt-service-table td,.density-default .loan-table td,.density-default .capex-table td,.density-default .t12-table td,.density-comfortable .cash-flow-table th,.density-comfortable .waterfall-table th,.density-comfortable .debt-service-table th,.density-comfortable .loan-table th,.density-comfortable .capex-table th,.density-comfortable .t12-table th{padding:8px 10px!important}.density-comfortable .cash-flow-table td,.density-comfortable .waterfall-table td,.density-comfortable .debt-service-table td,.density-comfortable .loan-table td,.density-comfortable .capex-table td,.density-comfortable .t12-table td{padding:6px 8px!important}.data-table th,.rent-roll-table th{background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);text-align:left;border:1px solid var(--color-table-border);font-size:var(--font-size-table);position:sticky;top:0;z-index:5}.data-table th.text-right,.rent-roll-table th.text-right{text-align:right}.data-table th.text-center,.rent-roll-table th.text-center{text-align:center}.data-table td,.rent-roll-table td{padding:8px 12px;border:1px solid #b8b8b8;color:var(--color-text-primary);background:#fff;font-size:var(--font-size-table)}.data-table td.text-right,.rent-roll-table td.text-right{text-align:right}.data-table td.text-center,.rent-roll-table td.text-center{text-align:center}.data-table tbody tr:hover td,.rent-roll-table tbody tr:hover td{background:#f5f5f5}.data-table tbody tr.total-row,.rent-roll-table tbody tr.totals-row{background:var(--color-table-subtotal-bg);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading)}.data-table tbody tr.total-row td,.rent-roll-table tbody tr.totals-row td{background:var(--color-table-subtotal-bg);color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);border-top:2px solid var(--color-table-border);border-bottom:2px solid var(--color-table-border)}.data-table tbody tr.total-row td:first-child,.rent-roll-table tbody tr.totals-row td:first-child{border-left:2px solid var(--color-table-border)}.data-table tbody tr.total-row td:last-child,.rent-roll-table tbody tr.totals-row td:last-child{border-right:2px solid var(--color-table-border)}.rent-roll-table tbody tr.grand-row{background:#e2efda;font-weight:var(--font-weight-bold);font-family:var(--font-family-heading)}.rent-roll-table tbody tr.grand-row td{background:#e2efda;color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);border-top:2px solid var(--color-table-border);border-bottom:2px solid var(--color-table-border)}.data-table th:nth-child(2),.data-table td:nth-child(2){border-left:2px solid var(--color-table-border)}.data-table th:nth-child(4),.data-table td:nth-child(4){border-left:2px solid var(--color-table-border)}.data-table .accounting-cell,.rent-roll-table .accounting-cell{display:flex;justify-content:space-between;align-items:center;width:100%;font-family:var(--font-family-primary);font-size:var(--font-size-table)}.data-table .accounting-cell .dollar-sign,.rent-roll-table .accounting-cell .dollar-sign{margin-right:4px;flex-shrink:0}.data-table .accounting-cell .number-part,.rent-roll-table .accounting-cell .number-part{flex:1;text-align:right}.data-table tbody tr.total-row .accounting-cell,.data-table tbody tr.total-row .accounting-cell .dollar-sign,.data-table tbody tr.total-row .accounting-cell .number-part,.rent-roll-table tbody tr.totals-row .accounting-cell,.rent-roll-table tbody tr.totals-row .accounting-cell .dollar-sign,.rent-roll-table tbody tr.totals-row .accounting-cell .number-part,.rent-roll-table tbody tr.grand-row .accounting-cell,.rent-roll-table tbody tr.grand-row .accounting-cell .dollar-sign,.rent-roll-table tbody tr.grand-row .accounting-cell .number-part{font-weight:var(--font-weight-bold);font-family:var(--font-family-heading)}.data-table .negative,.data-table .negative-value,.rent-roll-table .negative,.rent-roll-table .negative-value{color:var(--color-error)}.density-compact .data-table th,.density-compact .rent-roll-table th{padding:4px 6px!important}.density-compact .data-table td,.density-compact .rent-roll-table td{padding:3px 6px!important}.density-default .data-table th,.density-default .rent-roll-table th{padding:10px 12px!important}.density-default .data-table td,.density-default .rent-roll-table td,.density-comfortable .data-table th,.density-comfortable .rent-roll-table th{padding:8px 10px!important}.density-comfortable .data-table td,.density-comfortable .rent-roll-table td{padding:6px 8px!important}.rent-roll-table{min-width:900px;background:#fff;table-layout:fixed}.rent-roll-table th:nth-child(1),.rent-roll-table td:nth-child(1){width:12%}.rent-roll-table th:nth-child(2),.rent-roll-table td:nth-child(2){width:8%}.rent-roll-table th:nth-child(3),.rent-roll-table td:nth-child(3){width:8%}.rent-roll-table th:nth-child(4),.rent-roll-table td:nth-child(4){width:12%}.rent-roll-table th:nth-child(5),.rent-roll-table td:nth-child(5){width:12%}.rent-roll-table th:nth-child(6),.rent-roll-table td:nth-child(6){width:12%}.rent-roll-table th:nth-child(7),.rent-roll-table td:nth-child(7){width:12%}.rent-roll-table th:nth-child(8),.rent-roll-table td:nth-child(8){width:12%}.rent-roll-table th:nth-child(9),.rent-roll-table td:nth-child(9){width:12%}.rent-roll-table thead{background:var(--color-table-header-bg);color:var(--color-table-header-text)}.rent-roll-table .header-group-row th,.rent-roll-table .header-group-row .header-cell,.rent-roll-table .header-group-row .header-group-cell{top:0}.rent-roll-table .header-subrow th,.rent-roll-table .header-subrow .header-subcell{top:33px}.rent-roll-table .header-group-row{border-bottom:1px solid var(--color-table-border)}.rent-roll-table .header-cell,.rent-roll-table .header-group-cell{padding:8px 6px;font-weight:700;font-family:var(--font-family-heading);text-align:center;border-right:1px solid var(--color-table-border);font-size:12px}.rent-roll-table .header-cell:last-child,.rent-roll-table .header-group-cell:last-child{border-right:none}.rent-roll-table .header-subrow{background:var(--color-table-header-bg)}.rent-roll-table .header-subcell{padding:6px;font-weight:700;font-family:var(--font-family-heading);text-align:center;border-right:1px solid var(--color-table-border);font-size:12px}.rent-roll-table .header-subcell:last-child{border-right:none}.rent-roll-table .data-row{border-bottom:1px solid #e2e8f0}.rent-roll-table .data-row:hover{background:#f7fafc}.rent-roll-table .data-row td{padding:6px 8px;font-size:12px}.rent-roll-table .unit-type-cell{text-align:center;font-weight:500;color:#2d3748;padding:0!important}.rent-roll-table .editable-text-input{width:100%;border:none;background:transparent;padding:6px 8px;text-align:center;font-family:var(--font-family-primary);font-size:12px;font-weight:500;color:#2d3748;cursor:text}.rent-roll-table .editable-text-input:focus{outline:2px solid #2E95C1;outline-offset:-2px;background:#f0f9ff}.rent-roll-table .number-cell{text-align:center;color:#4a5568}.rent-roll-table .currency-cell,.rent-roll-table .rate-cell{text-align:right;padding-right:12px}.rent-roll-table .totals-row{border-top:2px solid var(--color-table-border);border-bottom:1px solid var(--color-table-border);background:#edf2f7;font-weight:700}.rent-roll-table .totals-row td{padding:8px;font-size:12px;font-weight:700!important}.rent-roll-table .totals-row .unit-type-cell,.rent-roll-table .totals-row .number-cell,.rent-roll-table .totals-row .currency-cell,.rent-roll-table .totals-row .rate-cell,.rent-roll-table .totals-row .accounting-cell,.rent-roll-table .totals-row .accounting-cell .dollar-sign,.rent-roll-table .totals-row .accounting-cell .number-part{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .total-label-cell{text-align:center;font-weight:700;color:#2d3748}.rent-roll-table .grand-row{background:#cbd5e0;border-top:1px solid var(--color-table-border);border-bottom:2px solid var(--color-table-border);font-weight:700}.rent-roll-table .grand-row td{padding:8px;font-size:12px;font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .grand-row .no-right-border{border-right:none!important}.rent-roll-table .value-with-suffix{display:flex;align-items:center;justify-content:center;width:100%}.rent-roll-table .value-with-suffix .accounting-cell{width:110px;justify-content:space-between!important}.rent-roll-table .period-suffix{font-size:12px;font-family:var(--font-family-heading);color:#2d3748;font-weight:700;margin-left:4px;flex-shrink:0}.rent-roll-table .grand-label-cell{text-align:left;padding-left:12px;font-weight:700;font-family:var(--font-family-heading);color:#2d3748}.rent-roll-table .grand-row .summary-label-cell,.rent-roll-table .grand-row .currency-cell,.rent-roll-table .grand-row .accounting-cell,.rent-roll-table .grand-row .accounting-cell .dollar-sign,.rent-roll-table .grand-row .accounting-cell .number-part{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .grand-row td:nth-child(4){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table .grand-row td:nth-child(5){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table .grand-row td:nth-child(6){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table .text-right{text-align:right;padding-right:12px}.rent-roll-table .text-right .accounting-cell{display:inline-flex;align-items:center;justify-content:flex-end;width:100%}.rent-roll-table .dollar-sign{margin-right:2px;flex-shrink:0;color:#000;font-size:12px;font-weight:400}.rent-roll-table .table-cell-input-formatted{flex:1;min-width:0;padding:4px 0;border:none;font-size:12px;font-family:var(--font-family-primary);text-align:right;background:transparent;color:#6b9bd1;white-space:nowrap}.rent-roll-table .table-cell-input-formatted[data-edited=true]{color:#00f}.rent-roll-table .table-cell-input-formatted[data-edited=false]{color:#6b9bd1}.rent-roll-table .table-cell-input-formatted:focus{outline:none;background:transparent}.rent-roll-table .accounting-cell{display:flex;justify-content:space-between;align-items:center;width:100%;font-family:var(--font-family-primary);font-size:12px}.rent-roll-table .accounting-cell .dollar-sign{margin-right:4px;flex-shrink:0}.rent-roll-table .accounting-cell .number-part{flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis}.rent-roll-table .negative-value{color:#c00000!important}.rent-roll-table .accounting-negative{color:#c00000}.rent-roll-table thead .negative-value,.rent-roll-table thead .accounting-negative,.rent-roll-table .totals-row .negative-value,.rent-roll-table .totals-row .accounting-negative,.rent-roll-table .grand-row .negative-value,.rent-roll-table .grand-row .accounting-negative{color:#fff!important}.rent-roll-table .spacer-row{height:12px;background:#fff;border-top:2px solid var(--color-table-border)}.rent-roll-table .spacer-row td{border-left:none!important;border-right:none!important;padding:0}.rent-roll-table .summary-row{background:#f7fafc;border-bottom:1px solid #e2e8f0}.rent-roll-table .summary-row:first-of-type{border-top:2px solid var(--color-table-border)}.rent-roll-table .summary-row:first-of-type td{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .summary-row:first-of-type .summary-label-cell{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .summary-row:first-of-type .accounting-cell{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .summary-row:first-of-type .accounting-cell .dollar-sign,.rent-roll-table .summary-row:first-of-type .accounting-cell .number-part{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .summary-row td{padding:8px;font-size:12px}.rent-roll-table .summary-label-cell{text-align:center;padding:8px 12px;font-weight:600;color:#2d3748}.rent-roll-table .highlight-row{background:#edf2f7;border-top:2px solid var(--color-table-border);border-bottom:2px solid var(--color-table-border);font-weight:700}.rent-roll-table .highlight-row td,.rent-roll-table .highlight-row .summary-label-cell,.rent-roll-table .highlight-row .accounting-cell,.rent-roll-table .highlight-row .accounting-cell .dollar-sign,.rent-roll-table .highlight-row .accounting-cell .number-part{font-weight:700!important;font-family:var(--font-family-heading)!important}.rent-roll-table .gpr-centered{text-align:center!important;padding:8px 12px!important;vertical-align:middle}.rent-roll-table .gpr-centered .accounting-cell{justify-content:space-between!important;margin:0 auto;width:120px}.rent-roll-table .reconciling-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.rent-roll-table .reconciling-amount{font-weight:600;width:100%}.rent-roll-table .reconciling-percent{font-size:var(--font-size-small);font-weight:500}.rent-roll-table thead th:nth-child(1),.rent-roll-table tbody tr td:nth-child(1),.rent-roll-table .spacer-row td:nth-child(1){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table thead th:nth-child(4),.rent-roll-table tbody tr td:nth-child(4),.rent-roll-table .spacer-row td:nth-child(4){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table thead th:nth-child(5),.rent-roll-table tbody tr td:nth-child(5),.rent-roll-table .spacer-row td:nth-child(5){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table thead th:nth-child(7),.rent-roll-table tbody tr td:nth-child(7),.rent-roll-table .spacer-row td:nth-child(7){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table{border:1.5px solid var(--color-table-border)}.rent-roll-table .summary-row td:nth-child(3){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table .summary-row.highlight-row td:nth-child(3){border-left:1.5px solid var(--color-table-border)!important}.unified-settings-modal{max-height:90vh;overflow-y:auto}.accordion-section{margin-bottom:16px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f7fafc;border:none;cursor:pointer;transition:background-color .2s ease}.accordion-header:hover{background:#edf2f7}.accordion-header h4{margin:0;font-size:16px;font-weight:600;color:#1f2937;font-family:var(--font-family-heading)}.accordion-icon{font-size:12px;color:#6b7280;font-weight:700;transition:transform .2s ease}.accordion-content{padding:20px;background:#fff;border-top:1px solid #e2e8f0;animation:accordion-slide-down .2s ease-out}@keyframes accordion-slide-down{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.stabilization-table{width:100%;max-width:600px;margin:0 auto;border-collapse:collapse;font-family:var(--font-family-primary);font-size:12px}.stabilization-table thead th{background:#2c5282;color:#fff;padding:12px;font-size:14px;font-weight:600;text-align:center;border:1px solid #1a365d}.stabilization-table tbody tr{border-bottom:1px solid #e2e8f0}.stabilization-table .label-cell{background:#e2e8f0;color:#1f2937;padding:10px 16px;text-align:left;font-weight:500;border-right:1px solid #cbd5e0;width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stabilization-table .value-cell{background:#fff;padding:10px 16px;text-align:right;width:40%;white-space:nowrap;overflow:hidden}.stabilization-table .value-cell input.table-cell-input-formatted{width:80px;padding:4px 8px;border:none;background:transparent;color:#00f;font-family:var(--font-family-primary);font-size:12px;font-weight:600;text-align:right;white-space:nowrap}.stabilization-table .value-cell input.table-cell-input-formatted:focus{outline:none;background:transparent}.stabilization-table .value-cell .unit-label{margin-left:6px;color:#1f2937;font-weight:600}.stabilization-table .calculated-value .calculated-text{color:#4a5568;font-weight:600;margin-right:8px}.modal-footer{display:flex;gap:12px;padding:20px;border-top:2px solid #e5e7eb;margin-top:10px;position:sticky;bottom:0;background:#fff;z-index:10;box-shadow:0 -4px 6px -1px #0000001a;justify-content:flex-start;align-items:center}.btn-close-footer{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-family-primary);transition:background .2s}.btn-close-footer:hover{background:#5a6268}@media (max-width: 768px){.unified-settings-modal{width:95%!important}.accordion-header{padding:12px 16px}.accordion-header h4{font-size:14px}.accordion-content{padding:16px}}.settings-modal-content{display:flex;flex-direction:column;height:100%;font-family:var(--font-family-primary)}.settings-navigation{padding:10px 0;margin-bottom:15px}.btn-back{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-family:var(--font-family-primary);transition:background .2s}.btn-back:hover{background:#5a6268}.settings-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--color-primary);padding-bottom:0}.btn-settings-tab{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:6px 6px 0 0;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-family-primary);transition:background .2s}.btn-settings-tab:hover{background:#3d5f94}.btn-settings-tab.active{background:#2e95c1}.btn-settings-tab-secondary{padding:12px 24px;background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-bottom:none;border-radius:6px 6px 0 0;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-family-primary);transition:all .2s}.btn-settings-tab-secondary:hover{background:#f0f9ff}.settings-sections{flex:1;overflow-y:auto;padding-right:10px}.settings-section{margin-bottom:30px;border:2px solid var(--color-primary);border-radius:8px;overflow:hidden}.settings-section-header{background:var(--color-primary);color:#fff;padding:12px 16px;margin:0;font-size:16px;font-weight:600;font-family:var(--font-family-primary);transition:background .2s;-webkit-user-select:none;user-select:none}.settings-section-header:hover{background:#3d5f94}.settings-grid{display:grid;grid-template-columns:250px 1fr;gap:12px 20px;padding:20px;background:#fff;align-items:center}.settings-grid label{font-weight:500;color:var(--color-primary);text-align:right;font-size:14px}.settings-input{padding:8px 12px;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;font-family:var(--font-family-primary);width:100%;max-width:300px}.settings-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.settings-input[data-edited=true]{color:#00f;font-weight:600}.settings-input[data-edited=false]{color:#6b9bd1}.input-with-unit{display:flex;align-items:center;gap:8px;max-width:300px}.input-unit-prefix{font-weight:600;color:var(--color-primary);font-size:14px}.input-unit{font-weight:600;color:#2e95c1;font-size:14px;min-width:30px}.expense-growth-table{width:auto;border-collapse:collapse;margin:15px;font-size:12px;max-width:100%}.expense-growth-table th{background:var(--color-primary);color:#fff;padding:10px 8px;text-align:center;font-weight:600;border:1px solid var(--color-primary-dark);white-space:nowrap;font-size:var(--font-size-small)}.expense-growth-table td{padding:6px;border:1px solid #cbd5e0;text-align:center}.growth-rate-input{width:65px;padding:4px 6px;border:1px solid #cbd5e0;border-radius:3px;text-align:right;font-size:12px;font-family:var(--font-family-primary)}.growth-rate-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c11a}.growth-rate-unit{margin-left:3px;color:#2e95c1;font-weight:600;font-size:var(--font-size-small)}.property-tax-table{width:100%;border-collapse:collapse;margin:15px;font-size:12px;min-width:1400px}.property-tax-table th{background:var(--color-primary);color:#fff;padding:10px 8px;text-align:center;font-weight:600;border:1px solid var(--color-primary-dark);white-space:nowrap;font-size:var(--font-size-small)}.property-tax-table td{padding:8px;border:1px solid #cbd5e0;text-align:right;font-size:12px}.property-tax-table tr:nth-child(2n){background:#f8f9fa}.settings-footer{display:flex;gap:12px;padding:20px;border-top:2px solid #e5e7eb;margin-top:10px;position:sticky;bottom:0;background:#fff;z-index:10;box-shadow:0 -4px 6px -1px #0000001a}.btn-save-settings{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-family-primary);transition:background .2s}.btn-save-settings:hover{background:#059669}.btn-cancel-settings{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-family-primary);transition:background .2s}.btn-cancel-settings:hover{background:#5a6268}.btn-fetch-tax-data-modal{padding:10px 20px;background:#2e95c1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-family-primary);transition:all .2s;max-width:300px}.btn-fetch-tax-data-modal:hover:not(:disabled){background:#2680a8;transform:translateY(-1px);box-shadow:0 4px 8px #2e95c14d}.btn-fetch-tax-data-modal:active:not(:disabled){transform:translateY(0)}.btn-fetch-tax-data-modal:disabled{background:#cbd5e0;cursor:not-allowed;opacity:.6}.tax-data-message-modal{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%;box-sizing:border-box}.tax-data-message-modal.error{background:#fee;color:#c00;border:1px solid #fcc}.tax-data-message-modal.success{background:#efe;color:#060;border:1px solid #cfc}.tax-data-message-modal.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.tax-data-message-modal.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.data-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;font-family:var(--font-family-primary);border:2px solid var(--color-primary)}.data-table th{background:var(--color-primary);color:#fff;padding:10px 8px;text-align:center;font-weight:600;border:1px solid var(--color-primary-dark);white-space:nowrap;font-size:var(--font-size-small)}.data-table td{padding:8px;border:1px solid #cbd5e0;text-align:left;font-size:12px}.data-table td.label-cell{background:#d9d9d9;font-weight:600}.data-table td.year1-cell{font-weight:600}.data-table td.year1-cell.editable{color:#00f}.data-table td.text-center{text-align:center}.data-table td.text-right{text-align:right}.property-tax-summary{width:auto!important;max-width:600px;table-layout:auto!important}.property-tax-summary th,.property-tax-summary td{white-space:nowrap}.property-tax-table{width:100%;table-layout:auto;min-width:1200px}.invisible-column{border:none!important;background:transparent!important;padding:0!important;width:0!important}.invisible-column-with-content{border:none!important;background:transparent!important}.project-loader-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.project-loader-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.project-loader-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.project-loader-header h2{margin:0;font-size:1.5rem;color:#111827}.close-button{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;line-height:1}.close-button:hover{background:#fff;color:#dc2626!important;transform:scale(1.1)}.project-loader-content{padding:1.5rem;overflow-y:auto;flex:1}.loader-message,.loader-error,.loader-empty{text-align:center;padding:3rem 1rem;color:#6b7280}.loader-error{color:#dc2626}.loader-empty p{margin:.5rem 0}.project-list{display:flex;flex-direction:column;gap:.75rem}.project-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.project-item:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.project-info{flex:1}.project-info h3{margin:0 0 .25rem;font-size:1.125rem;color:#111827}.project-date{margin:0;font-size:.875rem;color:#6b7280}.project-actions{display:flex;gap:.5rem;align-items:center}.btn-load{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-load:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-load:active{transform:translateY(0)}.btn-delete{background:#fee2e2;color:#dc2626;border:1px solid #fecaca;padding:.5rem;border-radius:6px;font-size:1.125rem;cursor:pointer;transition:all .2s;line-height:1}.btn-delete:hover{background:#fecaca;border-color:#fca5a5}@media (max-width: 640px){.project-loader-modal{width:95%;max-height:90vh}.project-item{flex-direction:column;align-items:flex-start;gap:1rem}.project-actions{width:100%;justify-content:flex-end}}.version-history-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.version-history-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.version-history-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.version-history-header h2{margin:0;font-size:1.5rem;color:#111827}.version-history-header .close-button{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b!important;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;line-height:1}.version-history-header .close-button:hover{background:#fff;color:#dc2626!important;transform:scale(1.1)}.version-history-content{padding:1.5rem;overflow-y:auto;flex:1}.version-message,.version-error,.version-empty{text-align:center;padding:3rem 1rem;color:#6b7280}.version-error{color:#dc2626}.version-empty p{margin:.5rem 0}.version-info{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.version-info p{margin:0;font-size:.875rem;color:#1e40af}.version-list{display:flex;flex-direction:column;gap:.75rem}.version-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.version-item:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.version-details{flex:1}.version-number{margin-bottom:.25rem}.version-badge{display:inline-block;font-size:.875rem;font-weight:600;color:#374151}.version-date{margin:0;font-size:.875rem;color:#6b7280}.version-actions{display:flex;gap:.5rem;align-items:center}.btn-restore{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-restore:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-restore:active{transform:translateY(0)}@media (max-width: 640px){.version-history-modal{width:95%;max-height:90vh}.version-item{flex-direction:column;align-items:flex-start;gap:1rem}.version-actions{width:100%;justify-content:flex-end}}.form-container{max-width:1200px;margin:0 auto;padding:2rem}.form-container h2{margin:0 0 2rem;color:#1f2937;font-size:1.875rem;font-weight:700}.form-container h3{margin:0 0 1rem;color:#374151;font-size:1.25rem;font-weight:600}.form-section{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-group input,.form-group select{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:all .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.growth-inputs{display:flex;gap:1rem;flex-wrap:wrap}.growth-input{display:flex;flex-direction:column;gap:.25rem;min-width:100px}.growth-input label{font-size:.75rem;font-weight:500;color:#6b7280}.growth-input input{width:80px;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem}.growth-input span{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-size:.875rem}.budget-header{margin-bottom:2rem}.budget-summary{display:flex;gap:1rem;margin-top:1rem}.summary-card{background:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;flex:1}.summary-card label{display:block;font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.summary-value{font-size:1.5rem;font-weight:700;color:#1f2937}.category-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-tab{padding:.75rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.5rem}.category-tab:hover{background:#f9fafb;border-color:#9ca3af}.category-tab.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.budget-category{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.category-total{font-size:1.25rem;font-weight:700;color:#3b82f6}.budget-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.budget-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.budget-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.item-name{flex:1;font-size:1rem;font-weight:600;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem}.budget-item-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.btn-remove{padding:.5rem;background:#ef4444;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-remove:hover{background:#dc2626}.btn-add-item{width:100%;padding:.75rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-add-item:hover{background:#2563eb}.financing-header{margin-bottom:2rem}.financing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.loans-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem}.loan-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.loan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.loan-type-select{flex:1;font-size:1.125rem;font-weight:600;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff}.loan-fields .form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.results-container{max-width:1400px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-toggle{display:flex;gap:.5rem}.toggle-btn{padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.toggle-btn:hover{background:#f9fafb}.toggle-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}.metric-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.metric-card.primary .metric-label{color:#ffffffe6}.metric-card.primary .metric-value{color:#fff!important}.metric-label{font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:700;color:#1f2937}.results-section{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.info-item{display:flex;justify-content:space-between;padding:.75rem;background:#f9fafb;border-radius:.375rem}.info-label{font-size:.875rem;font-weight:500;color:#6b7280}.info-value{font-size:.875rem;font-weight:600;color:#1f2937}.table-container{overflow-x:auto}.results-table{width:100%;border-collapse:collapse;font-size:.875rem}.results-table thead{background:#f9fafb}.results-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.results-table td{padding:.75rem;border-bottom:1px solid #e5e7eb}.results-table tr:hover{background:#f9fafb}.results-table .positive{color:#10b981;font-weight:600}.results-table .negative{color:#ef4444;font-weight:600}.cashflow-table{font-size:.75rem}.cashflow-table th,.cashflow-table td{padding:.5rem}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-state h2{color:#374151;margin-bottom:.5rem}.empty-state p{font-size:1rem}.excel-container{background:#f0f0f0;padding:0;min-height:600px}.excel-toolbar{background:#fff;border-bottom:1px solid #d0d0d0;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.excel-title h2{margin:0;font-size:1.25rem;color:#2b2b2b;font-weight:600}.excel-notice{background:#fff;padding:3rem;margin:2rem;border-radius:4px;text-align:center;color:#666;border:1px solid #d0d0d0}.excel-sheet{background:#fff;margin:0;padding:1rem;overflow-x:auto}.excel-sheet.monthly-view{padding:0}.table-scroll{overflow-x:auto;max-width:100%}.excel-table{width:100%;border-collapse:collapse;font-family:Calibri,Segoe UI,Arial,sans-serif;font-size:11pt;background:#fff}.excel-table thead{position:sticky;top:0;z-index:10;background:#fff}.excel-table th{background:#f2f2f2;border:1px solid #d0d0d0;padding:8px 12px;font-weight:600;color:#2b2b2b;text-align:center;white-space:nowrap}.excel-table th.row-header{background:#f2f2f2;text-align:left;min-width:250px;max-width:250px;position:sticky;left:0;z-index:11}.excel-table th.col-header{min-width:120px}.excel-table th.col-header-sm{min-width:90px;font-size:10pt}.excel-table th.section-col{background:#d9e1f2;border-left:2px solid #4472c4;border-right:2px solid #4472c4;font-weight:700}.excel-table th.total-col{background:#e7e6e6;font-weight:700}.excel-table td{border:1px solid #d0d0d0;padding:6px 12px;text-align:right;color:#2b2b2b}.excel-table td.line-item{text-align:left;font-weight:500;background:#f9f9f9;min-width:250px;max-width:250px}.excel-table td.sticky-col{position:sticky;left:0;z-index:5;background:#f9f9f9}.excel-table td.line-item.indent{padding-left:24px}.excel-table td.line-item.bold{font-weight:700}.cell-input{background:#fff9e6;font-weight:600}.cell-calculated{background:#fff}.cell-calculated-sm{background:#fff;font-size:10pt;min-width:90px}.cell-subtotal{background:#f2f2f2;font-weight:600;border-top:1px solid #666}.cell-subtotal-sm{background:#f2f2f2;font-weight:600;border-top:1px solid #666;font-size:10pt}.cell-total{background:#e7e6e6;font-weight:700;border-left:2px solid #666}.cell-total-noi{background:#dae3f3;font-weight:700;border:2px solid #4472c4;border-left:2px solid #666}.cell-noi{background:#dae3f3;font-weight:700;border:2px solid #4472c4}.cell-noi-sm{background:#dae3f3;font-weight:700;border:2px solid #4472c4;font-size:10pt}.cell-percent{background:#fff;color:#2b2b2b}.negative{color:#c00000!important}.section-header td.negative{color:#fff!important}.section-header td{background:#4472c4;color:#fff;font-weight:700;text-align:left;padding:8px 12px;border:1px solid #2f5496}.subtotal-row{background:#f2f2f2}.subtotal-row td{border-top:1px solid #666}.total-row{background:#dae3f3}.total-row td{border-top:2px solid #4472c4;border-bottom:2px solid #4472c4;font-weight:700}.spacer-row td{border:none;background:#fff;height:12px;padding:0}.excel-table tbody tr:hover td{background-color:#f5f5f5}.excel-table tbody tr:hover td.line-item,.excel-table tbody tr:hover td.sticky-col{background-color:#f0f0f0}.excel-table tbody tr.section-header:hover td,.excel-table tbody tr.total-row:hover td.cell-noi,.excel-table tbody tr.total-row:hover td.cell-noi-sm{background-color:inherit}@media print{.excel-toolbar{display:none}.excel-table{font-size:9pt}.excel-table th,.excel-table td{padding:4px 8px}}@media (max-width: 768px){.excel-table{font-size:10pt}.excel-table th,.excel-table td{padding:6px 8px}.excel-table th.row-header,.excel-table td.line-item{min-width:180px}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column;background:#f3f4f6}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;position:sticky;top:0;z-index:10001}.header-content{max-width:1400px;margin:0 auto}.app-header h1{font-size:2.25rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.025em}.subtitle{font-size:1rem;opacity:.9;font-weight:400}.app-container{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.tab-nav{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.75rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:10001}.tab-button{flex:1;padding:1rem 1.5rem;background:transparent;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-button:hover{background:#f3f4f6;color:#374151}.tab-button.active{background:#3b82f6;color:#fff;box-shadow:0 4px 6px -1px #3b82f64d}.tab-icon{font-size:1.25rem}.tab-label{font-size:1rem}.content{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;min-height:500px}.action-bar{padding:2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.btn-calculate{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.5rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #0000001a}.btn-calculate:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #00000026}.btn-calculate:active{transform:translateY(0)}.btn-calculate:disabled{opacity:.6;cursor:not-allowed;transform:none}.app-footer{background:#1f2937;color:#9ca3af;padding:1.5rem;text-align:center;margin-top:auto}.app-footer p{font-size:.875rem}.app-footer-minimal{background:#f3f4f6;color:#6c757d;padding:1rem;text-align:center;font-size:.875rem;position:fixed;bottom:0;left:0;right:0;z-index:10000;pointer-events:none;margin-top:100px}.fab-run-analysis{position:fixed;bottom:30px;right:30px;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 10px 25px #667eea66;z-index:1000;display:flex;align-items:center;gap:.5rem}.fab-run-analysis:hover{transform:translateY(-3px);box-shadow:0 15px 30px #667eea80}.fab-run-analysis:active{transform:translateY(-1px)}.fab-run-analysis:disabled{opacity:.7;cursor:not-allowed;transform:none}.fab-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-container{padding:1rem}.tab-nav{flex-direction:column}.tab-button{justify-content:flex-start}.app-header h1{font-size:1.75rem}.metrics-grid,.form-grid{grid-template-columns:1fr}}:root{--font-family-primary: "Libre Franklin", "Franklin Gothic Book", Arial, sans-serif;--font-family-heading: "Libre Franklin", "Franklin Gothic Book", Arial, sans-serif;--font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "Consolas", "Monaco", "Courier New", monospace;--font-size-base: 14px;--font-size-table: 12px;--font-size-table-header: 12px;--font-size-input: 14px;--font-size-label: 14px;--font-size-select: 14px;--font-size-body: 14px;--font-size-small: 12px;--font-size-xs: 11px;--font-size-h1: 24px;--font-size-h2: 20px;--font-size-h3: 18px;--font-size-h4: 16px;--font-size-section-header: 17px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--color-primary: #2E4C7A;--color-primary-dark: #203764;--color-primary-light: #2E95C1;--color-text-primary: #2d3748;--color-text-secondary: #4a5568;--color-text-muted: #718096;--color-text-light: #a0aec0;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f3f4f6;--color-bg-muted: #e2e8f0;--color-table-header-bg: var(--color-primary);--color-table-header-text: #ffffff;--color-table-row-alt: #f8f9fa;--color-table-line-item-bg: #D0CECE;--color-table-section-bg: #f1f5f9;--color-table-border: var(--color-primary);--color-table-total-bg: #E2EFDA;--color-table-t12-header-bg: #FFD966;--color-table-t12-cell-bg: #FFF9E6;--color-table-year-header-bg: #548235;--color-table-subtotal-bg: #D0CECE;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #c00000;--color-info: #3b82f6;--color-border: #cbd5e0;--color-border-light: #e2e8f0;--color-border-dark: var(--color-primary);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}.density-compact{--font-size-table: 11px;--font-size-table-header: 11px;--font-size-input: 12px;--font-size-label: 12px;--font-size-body: 12px;--font-size-section-header: 15px;--spacing-sm: 6px;--spacing-md: 8px;--spacing-lg: 12px}.density-default{--font-size-table: 13px;--font-size-table-header: 13px;--font-size-input: 14px;--font-size-label: 14px;--font-size-body: 14px;--font-size-section-header: 18px;--spacing-sm: 10px;--spacing-md: 14px;--spacing-lg: 18px}.density-comfortable{--font-size-table: 12px;--font-size-table-header: 12px;--font-size-input: 14px;--font-size-label: 14px;--font-size-body: 14px;--font-size-section-header: 17px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px}:root{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600}a{font-weight:500;color:#3b82f6;text-decoration:none}a:hover{color:#2563eb;text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}input,select,textarea{font-family:inherit;font-size:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
