@import"https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700&display=swap";.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 var(--editable-cell-border, #d1d5db);border-radius:4px;font-family:var(--font-family-primary);font-size:var(--font-size-body);color:var(--editable-cell-text, var(--color-text-primary));background:var(--editable-cell-bg, white);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:var(--editable-cell-disabled-bg, #f3f4f6);color:var(--editable-cell-disabled-text, #6b7280);cursor:not-allowed}.editable-cell-input:read-only{background:var(--editable-cell-readonly-bg, #f9fafb)}.editable-cell-input.edited,.editable-cell-input[data-edited=true]{background:var(--editable-cell-edited-bg, #fffef0)}.editable-cell-table .editable-cell-input{padding:4px 6px;font-size:var(--font-size-table);border:none;border-radius:0;background:var(--editable-cell-table-bg, transparent)}.editable-cell-table .editable-cell-input:focus{background:var(--editable-cell-focus-bg, white);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{text-align:right}.accounting-cell-display{display:flex;justify-content:space-between;width:100%;white-space:nowrap;padding:6px 8px;cursor:pointer;border:1px solid transparent;border-radius:4px;transition:border-color .15s ease}.accounting-cell-display:hover{border-color:#d1d5db}.accounting-cell-display .dollar-sign{text-align:left;flex-shrink:0}.accounting-cell-display .number-part{text-align:right;flex-grow:1}.accounting-cell-display.edited,.accounting-cell-display.edited .dollar-sign,.accounting-cell-display.edited .number-part{color:#2e95c1;font-weight:500}.accounting-cell-display.negative-value,.accounting-cell-display.negative-value .dollar-sign,.accounting-cell-display.negative-value .number-part{color:var(--color-error, #dc3545)}.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}.file-drop-zone-container{display:flex;flex-direction:column;gap:8px}.file-drop-zone-label{font-size:14px;font-weight:600;color:var(--text-color, #333)}.file-drop-zone{border:2px dashed var(--border-color, #ccc);border-radius:8px;padding:24px 16px;min-height:100px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background-color:var(--bg-secondary, #fafafa)}.file-drop-zone:hover:not(.disabled){border-color:var(--primary-color, #4a90d9);background-color:var(--bg-hover, #f0f7ff)}.file-drop-zone.dragging{border-color:var(--primary-color, #4a90d9);background-color:var(--bg-hover, #f0f7ff);border-style:solid}.file-drop-zone.has-file{border-style:solid;border-color:var(--success-color, #28a745);background-color:var(--bg-success, #f0fff4)}.file-drop-zone.disabled{opacity:.6;cursor:not-allowed}.file-drop-zone-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted, #666)}.file-drop-zone-icon{font-size:32px;opacity:.7}.file-drop-zone-hint{font-size:13px;text-align:center}.file-drop-zone-file{display:flex;align-items:center;gap:10px;max-width:100%;padding:4px 8px;background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a}.file-drop-zone-file-icon{font-size:24px;flex-shrink:0}.file-drop-zone-file-name{font-size:13px;font-weight:500;color:var(--text-color, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.file-drop-zone-clear{flex-shrink:0;width:24px;height:24px;border:none;background-color:var(--danger-light, #fee);color:var(--danger-color, #dc3545);border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.file-drop-zone-clear:hover{background-color:var(--danger-color, #dc3545);color:#fff}.dark-theme .file-drop-zone-label{color:#cbd5e1}.dark-theme .file-drop-zone{border-color:#475569;background-color:#0f172a}.dark-theme .file-drop-zone:hover:not(.disabled){border-color:#3b82f6;background-color:#1e3a5f}.dark-theme .file-drop-zone.dragging{border-color:#3b82f6;background-color:#1e3a5f}.dark-theme .file-drop-zone.has-file{border-color:#10b981;background-color:#10b9811a}.dark-theme .file-drop-zone-empty{color:#94a3b8}.dark-theme .file-drop-zone-file{background-color:#334155;box-shadow:0 1px 3px #0000004d}.dark-theme .file-drop-zone-file-name{color:#f8fafc}.dark-theme .file-drop-zone-clear{background-color:#f43f5e33;color:#f43f5e}.dark-theme .file-drop-zone-clear:hover{background-color:#f43f5e;color:#fff}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog{background:linear-gradient(135deg,#2a3441,#1e2a3a);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;min-width:320px;max-width:450px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;animation:confirm-dialog-enter .2s ease-out}@keyframes confirm-dialog-enter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-title{margin:0 0 12px;font-size:18px;font-weight:600;color:#fff}.confirm-dialog-message{margin:0 0 24px;font-size:14px;line-height:1.8;color:#fffc;white-space:pre-line;text-align:left;overflow-y:auto;max-height:calc(80vh - 150px);flex-shrink:1}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-dialog-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none}.confirm-dialog-btn-cancel{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffe6}.confirm-dialog-btn-cancel:hover{background:#ffffff26;border-color:#ffffff4d}.confirm-dialog-btn-primary{background:linear-gradient(135deg,#2e95c1,#2e4c7a);color:#fff}.confirm-dialog-btn-primary:hover{background:linear-gradient(135deg,#3aa8d4,#3a5d8f);box-shadow:0 2px 8px #2e95c14d}.confirm-dialog-btn-danger{background:linear-gradient(135deg,#dc3545,#a71d2a);color:#fff}.confirm-dialog-btn-danger:hover{background:linear-gradient(135deg,#e04555,#b72a38);box-shadow:0 2px 8px #dc35454d}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1e232b,#2e4c7a);padding:20px;font-family:var(--font-family-primary, "Libre Franklin", Arial, sans-serif)}.error-boundary__card{background:var(--color-bg-primary, #ffffff);border-radius:var(--radius-xl, 12px);padding:48px 40px;max-width:480px;width:100%;text-align:center;box-shadow:0 8px 32px #0003}.error-boundary__icon{color:var(--color-error, #c00000);margin-bottom:20px}.error-boundary__title{font-size:var(--font-size-h1, 24px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #2d3748);margin:0 0 12px}.error-boundary__message{font-size:var(--font-size-body, 14px);color:var(--color-text-secondary, #4a5568);margin:0 0 24px;line-height:var(--line-height-normal, 1.5)}.error-boundary__details{text-align:left;margin-bottom:24px;background:var(--color-bg-tertiary, #f3f4f6);border-radius:var(--radius-md, 6px);padding:12px}.error-boundary__details summary{font-size:var(--font-size-small, 12px);color:var(--color-text-muted, #718096);cursor:pointer;-webkit-user-select:none;user-select:none}.error-boundary__details pre{font-family:var(--font-family-mono, monospace);font-size:11px;color:var(--color-error, #c00000);margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.error-boundary__actions{display:flex;gap:12px;justify-content:center}.error-boundary__btn{padding:10px 24px;border-radius:var(--radius-md, 6px);font-size:var(--font-size-body, 14px);font-weight:var(--font-weight-medium, 500);font-family:var(--font-family-primary, "Libre Franklin", Arial, sans-serif);cursor:pointer;border:none;transition:opacity .15s ease}.error-boundary__btn:hover{opacity:.9}.error-boundary__btn--primary{background:var(--color-primary, #2E4C7A);color:#fff}.error-boundary__btn--secondary{background:var(--color-bg-muted, #e2e8f0);color:var(--color-text-primary, #2d3748)}.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}.module-dashboard{min-height:100vh;background:#f5f7fa;padding-bottom:40px}.dashboard-actions{display:flex;gap:6px}.project-dashboard-view{padding:20px;background:#f5f7fa;min-height:calc(100vh - 120px)}.completeness-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-size:10px;font-weight:600;border-radius:9px;margin-left:6px;flex-shrink:0}.completeness-badge.complete{background:#10b981;color:#fff;width:18px}.completeness-badge.partial{background:#f59e0b;color:#fff;padding:0 5px}.completeness-badge.empty{background:transparent;color:#9ca3af;width:18px}.completeness-badge.partial{animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}.next-step-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #F59E0B;font-size:14px;color:#92400e}.next-step-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f59e0b;border-radius:50%;color:#fff;flex-shrink:0}.next-step-message{flex:1;font-weight:500}.btn-next-step{padding:6px 14px;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-next-step:hover{background:#d97706}.btn-next-step:active{transform:scale(.98)}.btn-dismiss-banner{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:4px;background:transparent;border:none;border-radius:4px;color:#92400e;cursor:pointer;opacity:.6;transition:opacity .15s ease,background .15s ease;flex-shrink:0}.btn-dismiss-banner:hover{opacity:1;background:#0000001a}.btn-dismiss-banner:active{transform:scale(.95)}.institutional-theme .next-step-banner{background:linear-gradient(135deg,#422006,#78350f);border-bottom-color:#92400e;color:#fde68a}.institutional-theme .next-step-icon,.institutional-theme .btn-next-step{background:#d97706}.institutional-theme .btn-next-step:hover{background:#b45309}.institutional-theme .btn-dismiss-banner{color:#fde68a}.institutional-theme .btn-dismiss-banner:hover{background:#ffffff1a}.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}}.whats-new-container{position:fixed;bottom:80px;right:24px;z-index:9998}.whats-new-trigger{width:40px;height:40px;border-radius:50%;background:#2e4c7ae6;color:#ffffffd9;border:1px solid rgba(255,255,255,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s ease;box-shadow:0 2px 8px #0003}.whats-new-trigger:hover{background:#2e95c1e6;color:#fff;box-shadow:0 4px 16px #2e95c14d}.whats-new-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:#dc3545;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;padding:0 4px;box-sizing:border-box}.whats-new-dropdown{position:absolute;bottom:48px;right:0;width:340px;max-height:420px;background:linear-gradient(135deg,#2a3441,#1e2a3a);border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;animation:whats-new-enter .15s ease-out}@keyframes whats-new-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.whats-new-header{padding:14px 16px 10px;font-size:15px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.whats-new-list{overflow-y:auto;flex:1;padding:4px 0}.whats-new-item{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.whats-new-item:last-child{border-bottom:none}.whats-new-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.whats-new-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.whats-new-pill-feature{background:#2e95c133;color:#5bc0de}.whats-new-pill-fix{background:#dc354533;color:#ff6b6b}.whats-new-pill-improvement{background:#28a74533;color:#5cb85c}.whats-new-date{font-size:12px;color:#fff6}.whats-new-item-title{font-size:14px;font-weight:500;color:#ffffffe6;line-height:1.4}.whats-new-item-desc{margin-top:4px;font-size:13px;color:#ffffff80;line-height:1.4}.bug-report-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2e95c1,#2e4c7a);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9999;box-shadow:0 4px 16px #0000004d;transition:all .2s ease}.bug-report-fab:hover{transform:scale(1.1);box-shadow:0 6px 24px #2e95c166}.bug-report-fab:active{transform:scale(.95)}.bug-report-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10002;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bug-report-modal{background:linear-gradient(135deg,#2a3441,#1e2a3a);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;width:90%;max-width:480px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;animation:bug-report-enter .2s ease-out}@keyframes bug-report-enter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.bug-report-title{margin:0 0 4px;font-size:18px;font-weight:600;color:#fff}.bug-report-subtitle{margin:0 0 20px;font-size:13px;color:#fff9}.bug-report-label{display:block;margin-bottom:16px;font-size:13px;font-weight:500;color:#fffc}.bug-report-input,.bug-report-textarea,.bug-report-select{display:block;width:100%;margin-top:6px;padding:10px 12px;font-size:14px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;outline:none;transition:border-color .15s ease;box-sizing:border-box;font-family:inherit}.bug-report-input:focus,.bug-report-textarea:focus,.bug-report-select:focus{border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c133}.bug-report-input::placeholder,.bug-report-textarea::placeholder{color:#ffffff59}.bug-report-textarea{resize:vertical;min-height:100px}.bug-report-select{cursor:pointer}.bug-report-select option{background:#1e2a3a;color:#fff}.bug-report-error{margin:0 0 12px;padding:8px 12px;font-size:13px;color:#ff6b6b;background:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:6px}.bug-report-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.bug-report-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none}.bug-report-btn:disabled{opacity:.6;cursor:not-allowed}.bug-report-btn-cancel{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffe6}.bug-report-btn-cancel:hover:not(:disabled){background:#ffffff26}.bug-report-btn-submit{background:linear-gradient(135deg,#2e95c1,#2e4c7a);color:#fff}.bug-report-btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#3aa8d4,#3a5d8f);box-shadow:0 2px 8px #2e95c14d}.bug-report-success{text-align:center;padding:20px 0}.bug-report-success-icon{width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#28a745,#1e8536);color:#fff;font-size:24px;line-height:48px}.bug-report-success h3{margin:0 0 8px;font-size:18px;color:#fff}.bug-report-success p{margin:0;font-size:14px;color:#ffffffb3}.legal-page{min-height:100vh;display:flex;flex-direction:column;background:#f9fafb;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.legal-header{background:#1e232b;border-bottom:2px solid #2E95C1;position:sticky;top:0;z-index:100}.legal-header-inner{max-width:860px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.legal-brand{font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.5px}.legal-brand:hover{color:#2e95c1}.legal-nav{display:flex;gap:20px}.legal-nav a{color:#9ca3af;text-decoration:none;font-size:.875rem;transition:color .15s}.legal-nav a:hover{color:#fff}.legal-content{max-width:860px;margin:0 auto;padding:48px 24px 64px;flex:1;width:100%;box-sizing:border-box}.legal-content h1{font-size:2rem;font-weight:700;color:#111827;margin:0 0 8px}.legal-updated{color:#6b7280;font-size:.875rem;margin:0 0 40px}.legal-content h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.legal-content h3{font-size:1.05rem;font-weight:600;color:#374151;margin:24px 0 8px}.legal-content p{font-size:.9375rem;line-height:1.7;color:#374151;margin:0 0 16px}.legal-content ul,.legal-content ol{margin:0 0 16px;padding-left:24px}.legal-content li{font-size:.9375rem;line-height:1.7;color:#374151;margin-bottom:6px}.legal-content a{color:#2e95c1;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content strong{font-weight:600;color:#1f2937}.legal-footer{background:#1e232b;border-top:1px solid #374151;padding:24px}.legal-footer-inner{max-width:860px;margin:0 auto;text-align:center}.legal-footer p{color:#9ca3af;font-size:.8125rem;margin:0 0 8px}.legal-footer-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.legal-footer-links a{color:#6b7280;text-decoration:none;font-size:.8125rem;transition:color .15s}.legal-footer-links a:hover{color:#2e95c1}.legal-sep{color:#4b5563;font-size:.75rem}@media(max-width:640px){.legal-header-inner{flex-direction:column;gap:12px}.legal-content{padding:32px 16px 48px}.legal-content h1{font-size:1.5rem}}.share-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.share-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e5}.share-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.share-modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px 8px;line-height:1}.share-modal-close:hover{color:#333}.share-modal-content{padding:24px;overflow-y:auto}.share-modal-subtitle{margin:0 0 20px;color:#666;font-size:14px}.share-modal-error{background:#fee2e2;border:1px solid #ef4444;color:#b91c1c;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.share-create-section{margin-bottom:24px}.share-create-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.share-create-form{display:flex;gap:8px;flex-wrap:wrap}.share-input{flex:1;min-width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.share-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.share-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.share-select:focus{outline:none;border-color:#2563eb}.share-date-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.share-date-input:focus{outline:none;border-color:#2563eb}.share-create-btn{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.share-create-btn:hover:not(:disabled){background:#1d4ed8}.share-create-btn:disabled{opacity:.6;cursor:not-allowed}.share-list-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.share-loading,.share-empty{color:#666;font-size:14px;text-align:center;padding:24px}.share-list{display:flex;flex-direction:column;gap:8px}.share-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:8px;gap:16px}.share-item-inactive{opacity:.6;background:#f3f4f6}.share-item-info{flex:1;min-width:0}.share-item-label{font-weight:500;color:#1a1a1a;font-size:14px;display:flex;align-items:center;gap:8px}.share-badge-inactive{font-size:11px;font-weight:500;background:#6b7280;color:#fff;padding:2px 6px;border-radius:4px}.share-item-meta{font-size:12px;color:#666;margin-top:4px}.share-item-actions{display:flex;gap:6px;flex-shrink:0}.share-action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.share-copy-btn{background:#10b981;color:#fff}.share-copy-btn:hover{background:#059669}.share-deactivate-btn{background:#f59e0b;color:#fff}.share-deactivate-btn:hover{background:#d97706}.share-delete-btn{background:#ef4444;color:#fff}.share-delete-btn:hover{background:#dc2626}.share-collaborators-section{margin-bottom:16px}.share-collaborators-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.share-collaborators-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.share-collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f0f9ff;border-radius:6px;gap:12px}.share-collaborator-info{flex:1;min-width:0}.share-collaborator-email{font-weight:500;color:#1a1a1a;font-size:14px;display:flex;align-items:center;gap:8px}.share-badge-accepted{font-size:10px;font-weight:500;background:#10b981;color:#fff;padding:2px 6px;border-radius:4px}.share-collaborator-meta{font-size:12px;color:#666;margin-top:2px}.share-collaborator-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.share-permission-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.share-permission-select:focus{outline:none;border-color:#2563eb}.share-section-divider{height:1px;background:#e5e5e5;margin:20px 0}.share-section-description{font-size:13px;color:#666;margin:-8px 0 12px}.dark-theme .share-modal{background:#fff;color:#1a1a1a}.dark-theme .share-modal-header{border-bottom-color:#e5e5e5}.dark-theme .share-modal-header h2{color:#1a1a1a}.dark-theme .share-modal-close{color:#666}.dark-theme .share-modal-close:hover{color:#333}.dark-theme .share-modal-subtitle{color:#666}.dark-theme .share-modal-subtitle strong{color:#1a1a1a}.dark-theme .share-input{background:#fff;border-color:#d1d5db;color:#1a1a1a}.dark-theme .share-input::placeholder{color:#9ca3af}.dark-theme .share-input:focus{border-color:#2563eb;background:#fff}.dark-theme .share-select{background:#fff;border-color:#d1d5db;color:#1a1a1a}.dark-theme .share-select:focus{border-color:#2563eb}.dark-theme .share-date-input{background:#fff;border-color:#d1d5db;color:#1a1a1a}.dark-theme .share-date-input:focus{border-color:#2563eb}.dark-theme .share-create-section h3,.dark-theme .share-list-section h3,.dark-theme .share-collaborators-section h3{color:#333}.dark-theme .share-loading,.dark-theme .share-empty{color:#666}.dark-theme .share-item{background:#f9fafb}.dark-theme .share-item-inactive{background:#f3f4f6}.dark-theme .share-item-label{color:#1a1a1a}.dark-theme .share-item-meta{color:#666}.dark-theme .share-collaborator-item{background:#f0f9ff}.dark-theme .share-collaborator-email{color:#1a1a1a}.dark-theme .share-collaborator-meta{color:#666}.dark-theme .share-permission-select{background:#fff;border-color:#d1d5db;color:#1a1a1a}.dark-theme .share-section-divider{background:#e5e5e5}.dark-theme .share-section-description{color:#666}.ai-settings-section{margin-top:24px;padding-top:24px;border-top:1px solid #e5e5e5}.ai-settings-section h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1a1a1a}.ai-settings-hint{font-size:12px;color:#666;margin:0 0 16px}.ai-status-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:16px}.ai-status-info{display:flex;align-items:center;gap:10px}.ai-status-badge{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.ai-status-badge-free{background:#e5e7eb;color:#374151}.ai-status-badge-connected{background:#d1fae5;color:#065f46}.ai-status-detail{font-size:13px;color:#555}.ai-status-mask{font-family:monospace;font-size:12px;color:#6b7280}.ai-usage-row{font-size:12px;color:#666}.ai-usage-bar{width:120px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;margin-left:8px}.ai-usage-bar-fill{height:100%;background:#2563eb;border-radius:3px;transition:width .3s ease}.ai-connect-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ai-connect-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.ai-connect-button:hover:not(:disabled){background:#1d4ed8}.ai-connect-button:disabled{opacity:.6;cursor:not-allowed}.ai-manual-section{margin-top:8px}.ai-manual-toggle{background:none;border:none;color:#2563eb;font-size:13px;cursor:pointer;padding:0}.ai-manual-toggle:hover{text-decoration:underline}.ai-manual-form{display:flex;gap:8px;margin-top:8px}.ai-key-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:monospace}.ai-key-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.ai-provider-select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.ai-save-button{padding:8px 16px;background:#059669;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.ai-save-button:hover:not(:disabled){background:#047857}.ai-save-button:disabled{opacity:.6;cursor:not-allowed}.ai-disconnect-section{margin-top:16px;padding-top:12px;border-top:1px solid #fee2e2}.ai-disconnect-button{padding:8px 16px;background:#fff;color:#dc2626;border:1px solid #dc2626;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.ai-disconnect-button:hover:not(:disabled){background:#fef2f2}.ai-disconnect-button:disabled{opacity:.6;cursor:not-allowed}.ai-message{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:13px}.ai-message-success{background:#d1fae5;color:#065f46}.ai-message-error{background:#fee2e2;color:#991b1b}.ai-loading{color:#666;font-size:13px;padding:12px 0}.seat-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.seat-modal{background:var(--bg-secondary, #1e1e1e);border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0006}.seat-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #333)}.seat-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #fff)}.seat-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #888);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .15s}.seat-modal-close:hover{background:var(--bg-hover, #333);color:var(--text-primary, #fff)}.seat-modal-content{padding:24px}.seat-modal-status{margin-bottom:20px}.seat-status-bar{height:8px;background:var(--bg-tertiary, #2a2a2a);border-radius:4px;overflow:hidden;margin-bottom:8px}.seat-status-fill{height:100%;background:linear-gradient(90deg,#e53935,#ff7043);border-radius:4px;transition:width .3s ease}.seat-status-text{font-size:.875rem;color:var(--text-secondary, #888);margin:0}.seat-extra-note{margin-left:8px;color:var(--text-tertiary, #666)}.seat-modal-message{color:var(--text-primary, #fff);margin:0 0 24px;line-height:1.5}.seat-modal-options{display:flex;flex-direction:column;gap:12px}.seat-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-tertiary, #2a2a2a);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s}.seat-option:hover{background:var(--bg-hover, #333)}.seat-option-selected{border-color:var(--primary-color, #4a9eff);background:#4a9eff1a}.seat-option-recommended{border-color:var(--success-color, #4caf50)}.seat-option-recommended.seat-option-selected{background:#4caf501a}.seat-option-danger{border-color:transparent}.seat-option-danger:hover{border-color:var(--danger-color, #e53935)}.seat-option-danger.seat-option-selected{border-color:var(--danger-color, #e53935);background:#e539351a}.seat-option input[type=radio]{margin-top:4px;accent-color:var(--primary-color, #4a9eff)}.seat-option-content{flex:1}.seat-option-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.seat-option-title{font-weight:600;color:var(--text-primary, #fff)}.seat-option-price{font-size:.875rem;color:var(--text-secondary, #888);margin-left:auto}.seat-option-badge{font-size:.75rem;padding:2px 8px;background:var(--success-color, #4caf50);color:#fff;border-radius:4px;font-weight:500}.seat-option-desc{font-size:.875rem;color:var(--text-secondary, #888);margin:0;line-height:1.4}.seat-member-select{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, #444)}.seat-member-select label{display:block;font-size:.875rem;color:var(--text-secondary, #888);margin-bottom:8px}.seat-member-select select{width:100%;padding:10px 12px;background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:6px;color:var(--text-primary, #fff);font-size:.875rem}.seat-member-select select:focus{outline:none;border-color:var(--primary-color, #4a9eff)}.seat-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color, #333)}.seat-modal-btn{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.seat-modal-btn:disabled{opacity:.5;cursor:not-allowed}.seat-modal-btn-secondary{background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border-color, #444);color:var(--text-primary, #fff)}.seat-modal-btn-secondary:hover:not(:disabled){background:var(--bg-hover, #333)}.seat-modal-btn-primary{background:var(--primary-color, #4a9eff);border:none;color:#fff}.seat-modal-btn-primary:hover:not(:disabled){background:var(--primary-color-hover, #3a8eef)}.org-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.org-modal{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.org-modal-large{max-width:700px}.org-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e5}.org-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.org-modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px 8px;line-height:1}.org-modal-close:hover{color:#333}.org-tabs{display:flex;border-bottom:1px solid #e5e5e5;padding:0 24px}.org-tab{padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:#666;cursor:pointer;margin-bottom:-1px}.org-tab:hover{color:#333}.org-tab-active{color:#2563eb;border-bottom-color:#2563eb}.org-modal-content{padding:24px;overflow-y:auto}.org-error{background:#fee2e2;border:1px solid #ef4444;color:#b91c1c;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.org-loading,.org-empty,.org-coming-soon{color:#666;font-size:14px;text-align:center;padding:24px}.org-no-org{text-align:center;padding:24px}.org-no-org p{margin:0 0 12px;color:#666}.org-hint{font-size:13px;color:#888;margin-top:16px!important}.org-section-header{margin-bottom:16px}.org-section-header h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a1a1a}.org-section-hint{font-size:13px;color:#666;margin:0}.org-members-list{display:flex;flex-direction:column;gap:8px}.org-member-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:8px}.org-member-info{flex:1}.org-member-name{font-weight:500;color:#1a1a1a;font-size:14px}.org-member-meta{font-size:12px;color:#666;margin-top:2px}.org-member-actions{display:flex;align-items:center;gap:8px}.org-role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.org-role-owner{background:#fef3c7;color:#92400e}.org-role-admin{background:#dbeafe;color:#1e40af}.org-role-member{background:#d1fae5;color:#065f46}.org-role-viewer{background:#e5e7eb;color:#374151}.org-setting-group{margin-bottom:24px}.org-setting-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.org-setting-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#f9fafb}.org-setting-input:disabled{cursor:not-allowed;color:#666}.org-setting-hint{font-size:12px;color:#666;margin-top:6px}.org-subscription-info{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:6px}.org-subscription-badge{background:#10b981;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.org-billing-link{color:#2563eb;font-weight:500;text-decoration:none}.org-billing-link:hover{text-decoration:underline}.org-danger-hint{font-size:13px;color:#666;padding:12px;background:#fef2f2;border-radius:6px;border:1px solid #fecaca}.org-modal-title-row{display:flex;align-items:center;gap:12px}.org-system-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.org-role-system-owner{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.org-role-system-admin{background:#ede9fe;color:#5b21b6}.org-role-system-member{background:#f3e8ff;color:#7c3aed}.org-role-system-viewer{background:#faf5ff;color:#9333ea}.org-tab-admin{color:#7c3aed}.org-tab-admin:hover{color:#5b21b6}.org-tab-admin.org-tab-active{color:#7c3aed;border-bottom-color:#7c3aed}.org-admin-section{display:flex;flex-direction:column;gap:16px}.org-admin-card{background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;padding:16px}.org-admin-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#5b21b6}.org-admin-card p{margin:0 0 12px;font-size:13px;color:#666;line-height:1.5}.org-admin-button{padding:8px 16px;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.org-admin-button:hover:not(:disabled){background:#6d28d9}.org-admin-button:disabled{background:#c4b5fd;cursor:not-allowed}.org-success{background:#d1fae5;border:1px solid #10b981;color:#065f46;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.org-invite-form{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e5e5e5}.org-invite-row{display:flex;gap:8px}.org-invite-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.org-invite-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.org-invite-select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;min-width:140px}.org-invite-button{padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.org-invite-button:hover:not(:disabled){background:#1d4ed8}.org-invite-button:disabled{background:#93c5fd;cursor:not-allowed}.org-pending-section{margin-bottom:24px}.org-pending-section h4,.org-current-members h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#666}.org-pending-list{display:flex;flex-direction:column;gap:8px}.org-pending-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fef3c7;border:1px dashed #f59e0b;border-radius:6px}.org-pending-info{display:flex;align-items:center;gap:12px}.org-pending-email{font-size:14px;color:#1a1a1a}.org-revoke-button{background:none;border:none;color:#ef4444;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px}.org-revoke-button:hover{background:#fee2e2}.org-invite-actions{display:flex;gap:4px}.org-resend-button{background:none;border:none;color:#2563eb;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px}.org-resend-button:hover{background:#dbeafe}.org-switcher-container{margin-top:20px;display:flex;justify-content:center}.org-header-switcher{margin-left:auto;margin-right:16px}.beta-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;padding:16px;background:#f8f9fa;border-radius:8px}.beta-status-item{display:flex;flex-direction:column;gap:4px}.beta-status-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.beta-status-value{font-size:16px;font-weight:600;color:#1a1a1a}.beta-status-value.beta-active{color:#059669}.beta-status-value.beta-inactive{color:#dc2626}.beta-note{font-size:13px;color:#9333ea;background:#faf5ff;padding:8px 12px;border-radius:6px;margin:12px 0}.beta-hint{font-size:13px;color:#666;margin:12px 0}.beta-hint code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px}.beta-message{padding:12px;border-radius:6px;margin:12px 0;font-size:14px}.beta-message-success{background:#d1fae5;color:#065f46}.beta-message-error{background:#fee2e2;color:#991b1b}.beta-confirm{background:#fef3c7;padding:16px;border-radius:8px;margin-top:12px}.beta-confirm-text{margin:0 0 12px;font-size:14px;color:#92400e}.beta-confirm-buttons{display:flex;gap:8px}.org-admin-button-danger{background:#dc2626!important;color:#fff!important}.org-admin-button-danger:hover{background:#b91c1c!important}.org-admin-button-danger:disabled{background:#9ca3af!important;cursor:not-allowed}.org-admin-button-primary{background:#7c3aed!important;color:#fff!important}.org-admin-button-primary:hover{background:#6d28d9!important}.beta-edit-section{margin:20px 0;padding:16px;background:#f8f9fa;border-radius:8px}.beta-edit-section h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.beta-edit-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.beta-edit-label{font-size:14px;color:#4b5563;min-width:120px;display:flex;align-items:center;gap:8px}.beta-edit-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.beta-edit-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;width:160px}.beta-edit-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.beta-edit-input-small{width:80px}.beta-danger-section{margin-top:20px;padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.beta-danger-section h5{margin:0 0 8px;font-size:14px;font-weight:600;color:#991b1b}.beta-danger-hint{font-size:13px;color:#7f1d1d;margin:0 0 12px}.feature-flags-hint{font-size:13px;color:#666;margin:0 0 16px}.feature-flags-list{display:flex;flex-direction:column;gap:12px}.feature-flag-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px;background:#fff;border:1px solid #e5e5e5;border-radius:8px}.feature-flag-info{flex:1}.feature-flag-name{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.feature-flag-description{font-size:13px;color:#666;line-height:1.4}.feature-flag-warning{font-size:12px;color:#b45309;margin-top:8px;padding:6px 8px;background:#fef3c7;border-radius:4px}.feature-flag-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.feature-flag-toggle input{opacity:0;width:0;height:0}.feature-flag-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.2s;border-radius:24px}.feature-flag-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.feature-flag-toggle input:checked+.feature-flag-slider{background-color:#7c3aed}.feature-flag-toggle input:checked+.feature-flag-slider:before{transform:translate(20px)}.feature-flag-toggle input:disabled+.feature-flag-slider{opacity:.5;cursor:not-allowed}.feature-flags-message{padding:10px 12px;border-radius:6px;margin-top:16px;font-size:13px}.feature-flags-message-success{background:#d1fae5;color:#065f46}.feature-flags-message-error{background:#fee2e2;color:#991b1b}.ai-config-plans{display:flex;flex-direction:column;gap:6px;margin:12px 0}.ai-config-plan-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e5e5;border-radius:6px;cursor:pointer;transition:border-color .15s}.ai-config-plan-option:hover{border-color:#c4b5fd}.ai-config-plan-selected{border-color:#7c3aed;background:#faf5ff}.ai-config-plan-option input[type=radio]{margin-top:3px;accent-color:#7c3aed}.ai-config-plan-info{display:flex;flex-direction:column;gap:2px}.ai-config-plan-name{font-size:14px;font-weight:600;color:#1a1a1a}.ai-config-plan-desc{font-size:12px;color:#666}.ai-config-custom{margin:12px 0;padding:12px;background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;gap:10px}.ai-config-field{display:flex;flex-direction:column;gap:4px}.ai-config-field-label{font-size:12px;font-weight:500;color:#4b5563}.ai-config-input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:monospace}.ai-config-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.ai-config-select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;width:100%;cursor:pointer}.ai-config-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.ai-config-select optgroup{font-weight:600;font-size:12px;color:#374151}.ai-config-select option{font-weight:400;font-size:13px;padding:4px}.ai-config-active{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin:8px 0 12px;padding:10px 12px;background:#f8f9fa;border-radius:6px;font-size:12px}.ai-config-active-label{color:#666;font-weight:500}.ai-config-model-id{font-family:monospace;font-size:12px;color:#5b21b6;background:#ede9fe;padding:1px 6px;border-radius:3px}.ai-config-message{padding:8px 12px;border-radius:6px;font-size:13px;margin-top:10px}.ai-config-message-success{background:#d1fae5;color:#065f46}.ai-config-message-error{background:#fee2e2;color:#991b1b}.merge-step-indicator{display:flex;gap:8px;margin-bottom:16px}.merge-step{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;background:#e5e7eb;color:#6b7280}.merge-step-active{background:#7c3aed;color:#fff}.merge-step-completed{background:#d1fae5;color:#065f46}.merge-org-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;margin-bottom:4px}.merge-source-list{display:flex;flex-direction:column;gap:4px;margin:8px 0;max-height:220px;overflow-y:auto}.merge-source-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;cursor:pointer}.merge-source-item:hover{background:#f9fafb}.merge-source-item input[type=checkbox]{accent-color:#7c3aed}.merge-preview-card{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin:12px 0}.merge-preview-target{font-weight:600;color:#065f46;background:#d1fae5;padding:4px 10px;border-radius:4px;display:inline-block;font-size:13px}.merge-preview-source{font-weight:600;color:#991b1b;background:#fee2e2;padding:3px 8px;border-radius:4px;display:inline-block;margin:2px 4px 2px 0;font-size:13px}.merge-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;padding:12px;background:#fff;border-radius:6px}.merge-stat-item{display:flex;flex-direction:column;gap:2px}.merge-stat-label{font-size:11px;color:#6b7280;text-transform:uppercase}.merge-stat-value{font-size:18px;font-weight:600;color:#1a1a1a}.merge-warnings{margin:12px 0 0;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:13px;color:#7f1d1d}.merge-confirm-input{padding:8px 12px;border:2px solid #dc2626;border-radius:6px;font-size:14px;width:180px}.merge-actions{display:flex;gap:8px;margin-top:12px}.dark-theme .merge-org-select{background:#1e1e2e;color:#e0e0e0;border-color:#444}.dark-theme .merge-source-item{background:#1e1e2e;border-color:#444;color:#e0e0e0}.dark-theme .merge-source-item:hover{background:#2a2a3e}.dark-theme .merge-preview-card{background:#3d2e00;border-color:#a57c00}.dark-theme .merge-stats-grid{background:#1e1e2e}.dark-theme .merge-stat-value{color:#e0e0e0}.dark-theme .merge-warnings{background:#3d1010;border-color:#7f1d1d;color:#fca5a5}.dark-theme .merge-confirm-input{background:#1e1e2e;color:#e0e0e0;border-color:#dc2626}.shared-view-container{min-height:100vh;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#333}.shared-view-header{background:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.shared-view-logo{display:flex;align-items:center;gap:12px}.shared-view-logo-text{font-size:20px;font-weight:700;color:#1e232b}.shared-view-badge{background:#10b981;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase}.shared-view-label{font-size:14px;color:#666}.shared-view-content{max-width:900px;margin:0 auto;padding:32px 24px}.shared-view-title-section{background:#fff;padding:32px;border-radius:12px;margin-bottom:24px;text-align:center;box-shadow:0 4px 12px #0000001a}.shared-view-title-section h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a1a}.shared-view-subtitle{margin:0;font-size:16px;color:#666}.shared-view-section{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 4px 12px #0000001a}.shared-view-section h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#1a1a1a;border-bottom:2px solid #e5e7eb;padding-bottom:12px}.shared-view-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.shared-view-metric{text-align:center;padding:16px;background:#f9fafb;border-radius:8px}.shared-view-metric-label{display:block;font-size:12px;font-weight:500;color:#666;text-transform:uppercase;margin-bottom:8px}.shared-view-metric-value{display:block;font-size:24px;font-weight:700;color:#1a1a1a}.shared-view-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.shared-view-detail{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:6px}.shared-view-detail-label{font-size:14px;color:#666}.shared-view-detail-value{font-size:14px;font-weight:600;color:#1a1a1a}.shared-view-disclaimer{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-top:32px}.shared-view-disclaimer p{margin:0;font-size:13px;color:#92400e;text-align:center}.shared-view-footer{text-align:center;padding:32px 24px;color:#ffffffe6}.shared-view-footer p{margin:0 0 8px;font-size:14px}.shared-view-footer-note{font-size:13px;opacity:.8}.shared-view-footer a{color:#fff;text-decoration:underline}.shared-view-footer a:hover{text-decoration:none}.shared-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff}.shared-view-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.shared-view-loading p{font-size:18px}.shared-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff;text-align:center;padding:24px}.shared-view-error h1{margin:0 0 16px;font-size:28px}.shared-view-error p{margin:0 0 24px;font-size:16px;opacity:.9}.shared-view-btn{padding:12px 24px;background:#fff;color:#1e232b;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.shared-view-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media(max-width:768px){.shared-view-header{flex-direction:column;gap:12px;text-align:center}.shared-view-title-section h1{font-size:22px}.shared-view-metrics{grid-template-columns:repeat(2,1fr)}.shared-view-metric-value{font-size:20px}.shared-view-details{grid-template-columns:1fr}}.invitation-banner-container{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;gap:2px}.invitation-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-size:14px;box-shadow:0 2px 8px #00000026}.invitation-content{display:flex;align-items:center;gap:12px}.invitation-icon{font-size:20px}.invitation-text{line-height:1.4}.invitation-text strong{font-weight:600}.invitation-role{background:#fff3;padding:2px 8px;border-radius:10px;font-weight:500}.invitation-actions{display:flex;align-items:center;gap:8px}.invitation-accept{padding:8px 16px;background:#fff;color:#2563eb;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.invitation-accept:hover:not(:disabled){background:#f0f9ff;transform:translateY(-1px)}.invitation-accept:disabled{opacity:.7;cursor:not-allowed}.invitation-decline{padding:8px 16px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.invitation-decline:hover:not(:disabled){background:#ffffff1a;border-color:#fff}.invitation-decline:disabled{opacity:.5;cursor:not-allowed}.invitation-dismiss{background:transparent;border:none;color:#ffffffb3;font-size:20px;cursor:pointer;padding:4px 8px;margin-left:8px;line-height:1;transition:color .15s}.invitation-dismiss:hover{color:#fff}.invitation-error{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;background:#ef4444;color:#fff;font-size:14px}.invitation-error-dismiss{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px}@media(max-width:768px){.invitation-banner{flex-direction:column;gap:12px;padding:16px}.invitation-content{text-align:center;flex-direction:column;gap:8px}.invitation-actions{width:100%;justify-content:center}}.share-notification-banner{position:fixed;top:0;left:0;right:0;z-index:999;background:linear-gradient(90deg,#0891b2,#0ea5e9);color:#fff;padding:10px 16px;box-shadow:0 2px 8px #00000026}.share-notification-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-notification-icon{font-size:18px}.share-notification-text{flex:1;font-size:14px}.share-notification-text strong{font-weight:600}.share-notification-actions{display:flex;gap:8px;flex-shrink:0}.share-notification-btn{padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.share-notification-dismiss{background:#fff3;color:#fff}.share-notification-dismiss:hover{background:#ffffff4d}.beta-ending-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;color:#fff;font-size:14px;box-shadow:0 2px 8px #00000026}.beta-banner-notice{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.beta-banner-warning{background:linear-gradient(135deg,#f59e0b,#f97316)}.beta-banner-urgent{background:linear-gradient(135deg,#dc2626,#ef4444);animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.9}}.beta-banner-content{display:flex;align-items:center;gap:12px}.beta-banner-icon{font-size:20px}.beta-banner-text{line-height:1.4}.beta-banner-text strong{font-weight:600}.beta-banner-days{background:#fff3;padding:2px 8px;border-radius:10px;font-weight:600}.beta-banner-actions{display:flex;align-items:center;gap:8px}.beta-banner-subscribe{padding:8px 16px;background:#fff;color:#6366f1;border:none;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}.beta-banner-warning .beta-banner-subscribe{color:#f59e0b}.beta-banner-urgent .beta-banner-subscribe{color:#dc2626}.beta-banner-subscribe:hover{background:#f0f9ff;transform:translateY(-1px)}.beta-banner-dismiss{background:transparent;border:none;color:#ffffffb3;font-size:20px;cursor:pointer;padding:4px 8px;margin-left:8px;line-height:1;transition:color .15s}.beta-banner-dismiss:hover{color:#fff}@media(max-width:768px){.beta-ending-banner{flex-direction:column;gap:12px;padding:16px}.beta-banner-content{text-align:center;flex-direction:column;gap:8px}.beta-banner-actions{width:100%;justify-content:center}}.referral-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.referral-section h3{margin:0 0 8px;color:#fff;font-size:1.3rem;font-weight:500;opacity:.9}.referral-section h4{margin:24px 0 12px;color:#ffffffe6;font-size:14px;font-weight:600}.referral-intro{color:#ffffffb3;margin-bottom:20px;font-size:14px}.referral-intro strong{color:#5bc0de}.referral-link-box{background:#f8f9fa;border-radius:6px;padding:16px;margin-bottom:20px}.referral-link-box label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:8px;text-transform:uppercase}.referral-link-row{display:flex;gap:8px}.referral-link-row input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:monospace;background:#fff}.referral-link-row input:focus{outline:none;border-color:#2e95c1}.copy-btn{padding:10px 20px;background:#2e4c7a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s;min-width:80px}.copy-btn:hover{background:#1d3a5c}.referral-code-note{margin:8px 0 0;font-size:12px;color:#888}.referral-code-note strong{color:#2e4c7a;font-family:monospace}.referral-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-box{background:#f8f9fa;border-radius:6px;padding:16px;text-align:center}.stat-box.earned{background:#e8f5e9}.stat-value{display:block;font-size:24px;font-weight:700;color:#2e4c7a}.stat-box.earned .stat-value{color:#2e7d32}.stat-label{display:block;font-size:12px;color:#666;margin-top:4px}.referral-history{margin-top:24px}.referral-history table{width:100%;border-collapse:collapse;font-size:14px}.referral-history th,.referral-history td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.referral-history th{background:#f8f9fa;font-weight:600;color:#666;font-size:12px;text-transform:uppercase}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.signed_up,.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.converted{background:#e3f2fd;color:#1565c0}.status-badge.rewarded{background:#e8f5e9;color:#2e7d32}.status-badge.expired{background:#fafafa;color:#999}.referral-how{background:#f8f9fa;border-radius:6px;padding:16px;margin-top:24px}.referral-how h4{margin-top:0}.referral-how ol{margin:0;padding-left:20px}.referral-how li{margin-bottom:8px;color:#555;font-size:14px}.referral-how li:last-child{margin-bottom:0}.loading,.no-code{color:#fff9;font-style:italic}@media(max-width:600px){.referral-stats{grid-template-columns:repeat(2,1fr)}.referral-link-row{flex-direction:column}.referral-history table{font-size:12px}.referral-history th,.referral-history td{padding:8px}}.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 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}.loan-card{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s}.loan-card:hover{box-shadow:0 4px 8px #00000026}.loan-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;cursor:pointer;-webkit-user-select:none;user-select:none}.loan-card-header:hover{background:#f8f9fa}.loan-card-summary{flex:1;display:flex;flex-direction:column;gap:8px}.loan-type{display:flex;align-items:center;gap:12px;font-size:16px}.loan-number{background:var(--color-primary);color:#fff;padding:4px 10px;border-radius:4px;font-size:14px;font-weight:600;min-width:36px;text-align:center}.loan-details{display:flex;align-items:center;gap:12px;font-size:14px;color:#555;flex-wrap:wrap}.loan-amount{font-weight:600;font-size:15px;color:#000}.loan-rate{color:#2e95c1;font-weight:500}.loan-timing{font-size:13px;color:#666}.io-badge{background:#fff3cd;color:#856404;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:8px}.loan-card-actions{display:flex;gap:8px;align-items:center}.btn-remove{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:16px;transition:background .2s}.btn-remove:hover{background:#c82333}.btn-expand{background:#6c757d;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:14px;transition:background .2s}.btn-expand:hover{background:#5a6268}.loan-card-body{padding:20px;background:#fafbfc}.loan-section{background:#fff;border:1px solid #e1e4e8;border-radius:6px;padding:20px;margin-bottom:16px}.loan-section.collapsible{border-left:4px solid #2E95C1}.section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-primary);display:flex;justify-content:space-between;align-items:center}.section-title.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px;margin:-8px;border-radius:4px;transition:background .2s}.section-title.clickable:hover{background:#f0f0f0}.expand-icon{color:#6c757d;font-size:14px;margin-left:auto}.section-content{margin-top:16px;padding-top:16px;border-top:1px solid #e1e4e8}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:500;color:#333;margin-bottom:6px}.loan-input{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.loan-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 3px #2e95c11a}.loan-input.small{width:80px}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit .loan-input{flex:1}.unit{font-size:14px;color:#666;font-weight:500;min-width:24px}.unit-detail{font-size:12px;color:#999;font-style:italic}.field-help{font-size:12px;color:#6c757d;margin-top:4px;font-style:italic}.radio-group{display:flex;gap:20px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label input[type=radio]{cursor:pointer}.calculated-field{background:#f8f9fa;padding:12px;border-radius:4px;border:1px solid #e1e4e8}.calculated-field label{font-size:12px;color:#6c757d;font-weight:500;margin-bottom:4px}.calculated-value{font-size:16px;font-weight:600;color:var(--color-primary);font-family:var(--font-family-primary)}.rate-components-box{background:#f0f8ff;border:1px solid #2E95C1;border-radius:6px;padding:16px;margin-top:12px}.btn-show-components{background:#6c757d;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:13px;transition:background .2s;width:100%}.btn-show-components:hover{background:#5a6268}.prepayment-schedule{background:#f8f9fa;padding:16px;border-radius:6px;border:1px solid #e1e4e8;margin-top:12px}.prepayment-schedule label{display:block;font-size:13px;font-weight:500;color:#333;margin-bottom:12px}.step-down-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.step-down-item{display:flex;flex-direction:column;gap:4px}.step-down-item label{font-size:12px;color:#666;margin-bottom:0}.advanced-subsection{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e1e4e8}.advanced-subsection:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.advanced-subsection h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#495057}.calculated-outputs{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid var(--color-primary)}.outputs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.output-item{background:#fff;padding:16px;border-radius:6px;border:1px solid #dee2e6;text-align:center}.output-item label{display:block;font-size:12px;color:#6c757d;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.output-value{font-size:20px;font-weight:700;color:var(--color-primary);font-family:var(--font-family-primary)}@media(max-width:768px){.loan-details{flex-direction:column;align-items:flex-start;gap:4px}.form-row,.outputs-grid{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:12px}}.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;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;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;border:none!important}.debt-service-table .section-header-row td.collapse-button-cell{background-color:#f1f5f9;color:#1f2937;box-shadow:5px 0 #f1f5f9}.debt-service-table .section-header-row td.collapse-button-cell .section-collapse-button{color:#1f2937}.debt-service-table .section-header-row.colored-section td{background:var(--loan-header-bg)!important;background-color:var(--loan-header-bg)!important;color:var(--loan-header-text)!important}.debt-service-table .section-header-row.colored-section td.collapse-button-cell{background-color:var(--loan-header-bg)!important;color:var(--loan-header-text)!important;box-shadow:5px 0 0 0 var(--loan-header-bg)!important}.debt-service-table .section-header-row.colored-section td.collapse-button-cell .section-collapse-button{color:var(--loan-header-text)!important;border-color:var(--loan-header-text)!important}.debt-service-table .section-header-row.colored-section td.line-item-cell,.debt-service-table .section-header-row.colored-section td.section-header-cell,.debt-service-table .section-header-row.colored-section td.section-header-filler{background:var(--loan-header-bg)!important;background-color:var(--loan-header-bg)!important;color:var(--loan-header-text)!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:var(--color-bg-tertiary);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);font-weight:600}.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{font-size:12px}.loan-table .loan-table-accounting .dollar-sign,.loan-table .loan-table-accounting .number-part{font-size:12px;font-weight:600}.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);font-weight:600;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);font-weight:600;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}.add-loan-dropdown{position:relative}.add-loan-menu{display:none;position:absolute;top:100%;right:0;margin-top:2px;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:180px;padding:4px 0}.add-loan-dropdown:hover .add-loan-menu{display:block}.add-loan-menu-divider{height:1px;background:#e1e4e8;margin:4px 0}.add-loan-menu button{display:block;width:100%;padding:6px 16px;border:none;background:none;text-align:left;font-size:12px;font-family:var(--font-family-primary);color:#333;cursor:pointer;white-space:nowrap}.add-loan-menu button:hover{background:#f0f9ff;color:var(--color-primary)}@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}.expandable-modal-header{background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.expandable-modal-header h3{margin:0;font-size:16px;font-weight:600}.btn-close-modal{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.btn-close-modal:hover{background:#fff;color:#dc2626;transform:scale(1.05)}.expandable-modal-content{padding:20px;overflow-y:auto;flex:1}.closing-costs-modal{max-width:700px;width:90%}.closing-costs-modal .settings-section{margin-bottom:24px;border:2px solid var(--color-primary, #2E95C1);border-radius:0;overflow:hidden}.closing-costs-modal .settings-section-header{background:var(--color-primary, #2E95C1);color:#fff;padding:12px 16px;margin:0;font-size:14px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.closing-costs-modal .settings-grid{display:grid;grid-template-columns:150px 1fr;gap:12px 20px;padding:16px;background:#fff;align-items:center}.closing-costs-modal .settings-grid label{font-size:13px;color:#444;font-weight:500}.closing-costs-modal .settings-input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;width:80px;text-align:right}.closing-costs-modal .settings-input:focus{outline:none;border-color:var(--color-primary, #2E95C1);box-shadow:0 0 0 2px #2e95c126}.closing-costs-modal .input-with-unit{display:flex;align-items:center;gap:6px}.closing-costs-modal .unit{font-size:13px;color:#666}.closing-costs-modal .settings-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;background:#fff;cursor:pointer;min-width:180px}.closing-costs-modal .settings-select:focus{outline:none;border-color:var(--color-primary, #2E95C1)}.closing-costs-modal .calculated-value{font-size:13px;color:#333;font-weight:500;padding:6px 10px;background:#f8f9fa;border-radius:4px;text-align:right}.closing-costs-modal .calculated-value.highlight{background:#e6f4ea;color:#137333;font-weight:600}.closing-costs-modal table{width:100%;border-collapse:collapse;font-size:13px}.closing-costs-modal th{background:#f5f5f5;color:#555;font-weight:600;font-size:12px;text-transform:uppercase;padding:8px 12px;text-align:left;border-bottom:2px solid #e0e0e0}.closing-costs-modal th:last-child{width:40px}.closing-costs-modal td{padding:8px 12px;border-bottom:1px solid #eee;vertical-align:middle}.closing-costs-modal tbody tr:hover{background:#fafafa}.closing-costs-table{background:#fff}.closing-costs-table td:nth-child(2){text-align:right;width:150px}.currency-input-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:2px}.currency-prefix{color:#666;font-size:13px}.amount-input{width:100px;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;text-align:right}.amount-input:focus{outline:none;border-color:var(--color-primary, #2E95C1);box-shadow:0 0 0 2px #2e95c126}.item-name-input{width:100%;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.item-name-input:focus{outline:none;border-color:var(--color-primary, #2E95C1)}.subtotal-row{background:#f8f9fa;font-weight:600}.subtotal-row td{border-top:2px solid #e0e0e0}.loan-fees-table th,.loan-fees-table td{text-align:right}.loan-fees-table th:first-child,.loan-fees-table td:first-child{text-align:left}.summary-table{background:#fff}.summary-table td:first-child{text-align:left}.summary-table td:last-child{text-align:right;font-weight:500}.summary-table .active-method{background:#e6f4ea}.summary-table .active-method td{color:#137333}.summary-table .final-row{background:linear-gradient(135deg,#1e232b,#2e95c1)}.summary-table .final-row td{color:#fff;font-size:14px;padding:12px}.method-indicator{text-align:center;padding:12px;font-size:13px;color:#666;background:#f8f9fa;margin:0;border-top:1px solid #eee}.method-indicator strong{color:var(--color-primary, #2E95C1)}.btn-add-item{padding:4px 12px;background:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.btn-add-item:hover{background:#ffffff4d}.btn-remove-item{padding:2px 8px;background:transparent;border:1px solid #dc3545;color:#dc3545;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#dc3545;color:#fff}.info-text{font-size:12px;color:#666;padding:12px 16px;margin:0;background:#f8f9fa}.info-text.muted{color:#999;font-style:italic}.summary-section{border-color:#1e232b!important}.summary-section .settings-section-header{background:linear-gradient(135deg,#1e232b,#2e95c1)}.closing-costs-modal .modal-footer{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #e0e0e0;background:#f8f9fa}.btn-close{padding:8px 20px;background:var(--color-primary, #2E95C1);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.btn-close:hover{background:#2780a8}.closing-costs-modal .checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#444;font-weight:500;cursor:pointer}.closing-costs-modal .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.closing-costs-modal .input-row{display:flex;align-items:center;gap:8px}.closing-costs-modal .settings-input.small{width:60px;text-align:center}.closing-costs-modal .settings-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.closing-costs-modal .calculated-inline{font-size:12px;color:#666;white-space:nowrap}.closing-costs-modal .spacer{height:8px}.closing-costs-modal .settings-grid label.checkbox-label{grid-column:1}.closing-costs-modal .settings-grid .input-row{grid-column:2}.waterfall-defaults-section{margin-bottom:20px}.waterfall-options-row{display:flex;gap:24px;margin-bottom:12px}.waterfall-option-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#444;cursor:pointer}.waterfall-option-checkbox input[type=checkbox]{cursor:pointer}.waterfall-option-checkbox .option-hint{font-size:.75rem;color:#888;margin-left:4px}[data-theme=dark] .waterfall-option-checkbox{color:#ccc}[data-theme=dark] .waterfall-option-checkbox .option-hint{color:#777}.waterfall-defaults-table-container{margin-top:8px}.waterfall-defaults-table{width:100%;border-collapse:collapse;font-size:.85rem}.waterfall-defaults-table thead{background:#f5f5f5}.waterfall-defaults-table th{padding:6px 8px;text-align:center;font-weight:600;color:#555;font-size:.8rem;border-bottom:1px solid #eee}.waterfall-defaults-table td{padding:6px 8px;text-align:center;border-bottom:1px solid #eee}.waterfall-defaults-table tbody tr:hover{background:#f8f9fa}.waterfall-defaults-table .col-tier{width:50px;text-align:center}.waterfall-defaults-table .col-hurdle{width:130px}.waterfall-defaults-table .col-split{width:100px}.waterfall-defaults-table .col-gp{width:120px}.waterfall-defaults-table .col-actions{width:60px}.waterfall-defaults-table input{width:55px;padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:.85rem;text-align:right}.waterfall-defaults-table input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c126}.waterfall-defaults-table .suffix{color:#888;font-size:.75rem;margin-left:3px}.end-hurdle-label{color:#666;font-size:.85rem}.end-hurdle-label .threshold-value{font-weight:500}.gp-split-display{color:#666}.btn-remove-hurdle{background:transparent;border:1px solid #ccc;color:#999;width:20px;height:20px;border-radius:3px;font-size:14px;line-height:1;cursor:pointer;transition:all .15s ease}.btn-remove-hurdle:hover{border-color:#dc3545;color:#dc3545}.btn-add-hurdle{margin-top:8px;padding:5px 12px;background:transparent;border:1px solid #2E95C1;color:#2e95c1;border-radius:3px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-add-hurdle:hover{background:#2e95c1;color:#fff}[data-theme=dark] .waterfall-defaults-table thead{background:#2a2a2a}[data-theme=dark] .waterfall-defaults-table th{color:#ccc;border-color:#444}[data-theme=dark] .waterfall-defaults-table td{border-color:#444}[data-theme=dark] .waterfall-defaults-table tbody tr:hover{background:#333}[data-theme=dark] .waterfall-defaults-table input{background:#333;border-color:#555;color:#fff}[data-theme=dark] .waterfall-defaults-table input:focus{border-color:#2e95c1}[data-theme=dark] .end-hurdle-label,[data-theme=dark] .gp-split-display{color:#aaa}[data-theme=dark] .btn-remove-hurdle{border-color:#555;color:#888}[data-theme=dark] .btn-remove-hurdle:hover{border-color:#dc3545;color:#dc3545}[data-theme=dark] .btn-add-hurdle{background:transparent}.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:0;box-shadow:0 4px 20px #0000004d;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column}.default-settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;border-radius:0;position:relative}.default-settings-header h2{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}.default-settings-header .btn-go-back{background:transparent;border:none;color:#fff;font-size:.9rem;cursor:pointer;padding:4px 8px;opacity:.8;transition:opacity .2s;display:flex;align-items:center;gap:4px;position:absolute;left:20px}.default-settings-header .btn-go-back:hover{opacity:1}.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;position:absolute;right:20px}.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:0;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}.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:0;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:0;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:0;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:0;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}.gp-fees-table td.fee-enabled-col{width:40px;text-align:center}.gp-fees-table td.fee-name-col{width:160px;font-weight:500;text-align:left}.gp-fees-table td.fee-rate-col{width:100px;text-align:center}.gp-fees-table .fee-basis-col{width:160px}.gp-fees-table .fee-timing-col{width:120px}.gp-fees-table .fee-rate-col input{width:50px}.gp-fees-table select{width:100%;padding:4px 6px;font-size:.8rem}.gp-fees-table tr.fee-disabled td{opacity:.5}.gp-fees-table input:disabled,.gp-fees-table select:disabled{background:#f3f4f6;color:#999;cursor:not-allowed}.property-tab [data-lastpass-icon-root],.property-tab [data-lastpass-root],.property-tab [data-1p-hint],.property-tab [data-1p-ignore]+div,.property-tab com-1password-button,.property-tab [data-bwid],.property-tab span[data-bwid],.property-tab [data-dashlane-rid],.property-tab [data-dashlane-shadowhost],.property-tab [data-keeper],.property-tab [data-np-uid],.property-tab [data-protonpass],.property-tab [data-protonpass-form],.property-tab protonpass-root,.property-tab protonpass-control,.property-tab input+img,.property-tab input+div[style*="position: absolute"]{display:none!important;visibility:hidden!important;width:0!important;height:0!important}.property-tab{padding:8px;background:var(--color-bg-tertiary);height:100%;overflow-y:auto;font-family:var(--font-family-primary);font-size:12px}.property-tab-layout{display:flex;gap:12px;align-items:flex-start}.property-column{display:flex;flex-direction:column;gap:12px;flex:0 0 auto}.property-tab .module-card{flex:0 1 auto;min-width:300px;max-width:380px;border-radius:4px;box-shadow:0 1px 3px #0000001a}.property-tab .module-card .module-header{padding:4px 8px;min-height:unset}.property-tab .module-card .module-header .module-name{font-size:var(--font-size-small, 12px);font-weight:600}.property-tab .module-card .module-header .module-icon{font-size:var(--font-size-small, 12px)}.property-tab .module-card .module-content,.property-tab .input-section-wrapper{padding:0}.property-tab .input-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-small, 12px);font-family:var(--font-family-primary)}.property-tab .input-table td{padding:3px 6px;border:1px solid #e5e7eb;vertical-align:middle;font-size:var(--font-size-small, 12px);font-weight:400}.property-tab .input-table td.input-label{text-align:left;color:#374151;font-weight:500;width:45%;background-color:#f9fafb;white-space:nowrap}.property-tab .input-table td.input-value{text-align:right;width:55%;white-space:nowrap}.property-tab .input-table td.input-value.calculated{background-color:#f8f9fa;color:#374151;font-style:italic}.property-tab .input-table td.input-value.text-center{text-align:center}.property-tab .table-input{width:100%;padding:2px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small, 12px);font-family:var(--font-family-primary);font-weight:400;background:transparent;text-align:right;transition:all .15s ease}.property-tab .editable-cell-input{font-size:var(--font-size-small, 12px)!important;font-weight:400!important}.property-tab .accounting-cell{font-size:var(--font-size-small, 12px);font-weight:400}.property-tab .table-input:hover{background:#fff;border-color:#d1d5db}.property-tab .table-input:focus{outline:none;background:#fff;border-color:var(--color-primary-light, #2E95C1);box-shadow:0 0 0 2px #2e95c126}.property-tab .table-input[type=text]:not(.city-input):not(.state-input):not(.zip-input){text-align:left}.property-tab .table-input[type=date]{text-align:center;font-size:inherit;font-weight:400}.property-tab select.table-input{text-align:left;cursor:pointer;appearance:auto;font-size:inherit;font-weight:400}.property-tab .table-input[data-edited=true],.property-tab .table-input.edited{border-left:3px solid var(--color-primary-light, #2E95C1)}.property-tab .currency-input-wrapper{display:flex;align-items:center;width:100%}.property-tab .currency-prefix{flex-shrink:0;padding-right:2px;color:#374151;font-weight:500}.property-tab .currency-input{flex:1;text-align:right!important}.property-tab .stealth-select{appearance:none;background:transparent;border:none;padding:2px 4px;font-size:inherit;font-family:inherit;color:#6b7280;cursor:pointer;text-align:right}.property-tab .stealth-select:hover{color:#374151;background:#f3f4f6;border-radius:2px}.property-tab .stealth-select:focus{outline:none;color:#374151;background:#e5e7eb;border-radius:2px}.property-tab .unit-select{margin-left:4px;min-width:30px}.property-tab .input-row-group{display:flex;align-items:center;justify-content:flex-end;gap:4px}.property-tab .city-input{flex:2;min-width:80px}.property-tab .state-input{flex:0 0 40px;text-align:center}.property-tab .zip-input{flex:0 0 60px;text-align:center}.property-tab .hold-months{width:50px;flex:0 0 50px;text-align:center}.property-tab .bps-input{width:100px;flex:0 0 100px;text-align:center}.property-tab .unit-label{font-size:var(--font-size-xs, 11px);color:#666;white-space:nowrap}.property-tab .calculated-inline{font-size:var(--font-size-xs, 11px);color:#666;font-style:italic}.property-tab .btn-gear-inline{background:transparent;border:none;padding:0 4px;font-size:12px;cursor:pointer;opacity:.5;transition:opacity .15s;vertical-align:middle}.property-tab .btn-gear-inline:hover{opacity:1}.property-tab .method-hint{display:block;font-size:var(--font-size-xs, 11px);color:#888;font-style:normal;margin-top:1px}.property-tab .btn-fetch-compact{padding:2px 8px;background:var(--color-primary-light, #2E95C1);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:var(--font-size-small, 12px);font-weight:500;transition:background .15s}.property-tab .btn-fetch-compact:hover:not(:disabled){background:#2680a8}.property-tab .btn-fetch-compact:disabled{background:#ccc;cursor:not-allowed}.property-tab .status-error{color:var(--color-error, #c00);font-size:var(--font-size-xs, 11px);white-space:normal;word-break:break-word;display:block}.property-tab .status-success{color:var(--color-success, #080);font-size:var(--font-size-xs, 11px);white-space:normal;display:block}.property-tab.density-compact .input-table td{padding:2px 4px;font-size:11px}.property-tab.density-compact .table-input,.property-tab.density-compact .editable-cell-input,.property-tab.density-compact .accounting-cell{padding:1px 4px;font-size:11px!important;font-weight:400!important}.property-tab.density-compact .module-card .module-header{padding:2px 6px}.property-tab.density-comfortable .input-table td{padding:3px 6px;font-size:12px}.property-tab.density-comfortable .table-input,.property-tab.density-comfortable .editable-cell-input,.property-tab.density-comfortable .accounting-cell{font-size:12px!important;font-weight:400!important}.property-tab.density-default .input-table td{padding:4px 8px;font-size:13px}.property-tab.density-default .table-input,.property-tab.density-default .editable-cell-input,.property-tab.density-default .accounting-cell{padding:3px 8px;font-size:13px!important;font-weight:400!important}@media(max-width:768px){.property-tab-layout{flex-direction:column}.property-column{width:100%}.property-tab .module-card{max-width:none}}.property-tab tr.highlight-target{animation:highlightFade 2.5s ease-out;background-color:#fef3c7!important}.property-tab tr.highlight-target td{background-color:#fef3c7!important}@keyframes highlightFade{0%{background-color:#fef3c7}70%{background-color:#fef3c7}to{background-color:transparent}}.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.accounting-cell-right{justify-content:flex-end;gap:4px}.accounting-cell.negative-value,.accounting-cell.negative-value .dollar-sign,.accounting-cell.negative-value .number-part{color:var(--color-error, #dc3545)}.summary-tab{padding:8px;background:var(--color-bg-tertiary)}.summary-tab,.summary-tab .module-card,.summary-tab .module-header,.summary-tab .module-header .module-name,.summary-tab .module-content,.summary-tab .input-table,.summary-tab .input-table td,.summary-tab .input-table .input-label,.summary-tab .input-table .input-value,.summary-tab .sources-uses-table,.summary-tab .sources-uses-table td,.summary-tab .sources-uses-table th,.summary-tab .metrics-table,.summary-tab .metrics-table td,.summary-tab .metrics-table th,.summary-tab .capital-stack-wrapper,.summary-tab .brace-label,.summary-tab .layer-name-vertical,.summary-tab .total-amount-side,.summary-tab span,.summary-tab p{font-weight:600!important}.summary-layout{display:inline-flex;flex-direction:row;gap:12px;align-items:stretch}.summary-main-content{flex:0 0 auto;display:flex;flex-direction:column;gap:12px}.summary-sidebar{flex:0 0 auto;display:flex;flex-direction:column}.summary-tab .summary-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;justify-content:flex-start}.summary-tab .module-card{flex:0 1 auto;min-width:260px;max-width:380px;border-radius:4px;box-shadow:0 1px 3px #0000001a}.summary-tab .module-card .module-header{padding:4px 8px;min-height:unset}.summary-tab .module-card .module-header .module-name,.summary-tab .module-card .module-header .module-icon{font-size:var(--font-size-small, 12px)}.summary-tab .module-card .module-content{padding:0}.summary-tab .sources-uses-card,.summary-tab .key-metrics-card{flex:0 1 auto;max-width:none;min-width:auto}.summary-tab .sources-uses-card,.summary-tab .sources-uses-card *{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;box-shadow:none!important;outline:none!important}.summary-tab .sources-uses-table{border:2px solid #374151!important}.summary-tab .sources-uses-table th:nth-child(2),.summary-tab .sources-uses-table td:nth-child(2){border-right:2px solid #374151!important}.summary-tab .sources-uses-table .total-row td{border-top:2px solid #374151!important}.summary-tab .sources-uses-card .module-content{background:#fff!important}.sources-uses-wrapper{padding:8px;background:#fff}.summary-tab .empty-state{padding:2rem;text-align:center;color:#666;font-style:italic;background-color:#f8f9fa}.input-section-wrapper{padding:0}.input-table{width:100%;border-collapse:collapse;font-size:var(--font-size-table, 12px);font-family:var(--font-family-primary)}.input-table td{padding:3px 6px;border:1px solid #e5e7eb;vertical-align:middle}.input-table td.input-label{text-align:left;color:#374151;font-weight:500;width:55%;background-color:#f9fafb}.input-table td.input-value{text-align:right;width:45%;white-space:nowrap}.input-table td.input-value.text-center,.input-table .readonly-row td.input-value.text-center,.input-table .calculated-row td.input-value.text-center{text-align:center!important}.input-table td.input-value.calculated{font-weight:600;color:#6b7280;font-style:italic;background-color:#f3f4f6}.input-table tr.calculated-row td{background-color:#f3f4f6}.input-table tr.stealth-link{cursor:pointer;transition:background-color .15s ease}.input-table tr.stealth-link:hover{background-color:#e0f2fe}.input-table tr.stealth-link:hover td,.input-table tr.stealth-link:hover .accounting-cell,.input-table tr.stealth-link:hover .accounting-cell .dollar-sign,.input-table tr.stealth-link:hover .accounting-cell .number-part{color:#0369a1}.input-field{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:var(--font-size-table, 12px);font-family:var(--font-family-primary);text-align:right;width:100px}.input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.input-field:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.input-field.input-currency{width:110px}.input-field.input-percent,.input-field.input-number{width:60px}.input-suffix{color:#6b7280;font-size:var(--font-size-small, 12px);margin-left:4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.input-table .accounting-cell{display:flex;align-items:center;justify-content:flex-end;width:100%;position:relative}.input-table .accounting-cell .dollar-sign,.input-table .accounting-cell .percent-sign{color:#6b7280;font-family:inherit;font-size:inherit;flex-shrink:0}.input-table .accounting-cell .dollar-sign{margin-right:2px}.input-table .accounting-cell .percent-sign{margin-left:2px}.input-table .accounting-cell .unit-suffix{color:#6b7280;font-family:inherit;font-size:inherit;margin-left:4px}.input-table .accounting-cell .edit-indicator{position:absolute;left:1px;top:50%;transform:translateY(-50%);font-size:8px;opacity:.6;z-index:1;pointer-events:none}.input-table .table-cell-input-formatted{border:none;background:transparent;font-family:inherit;font-size:inherit;text-align:right;padding:1px 2px;width:100px;outline:none}.input-table .table-cell-input-formatted:focus{background-color:#fffef0;box-shadow:inset 0 0 0 1px #3b82f6;border-radius:2px}.input-table .table-cell-input-formatted:disabled{color:#9ca3af;cursor:not-allowed}.input-table .readonly-row{cursor:help}.input-table .readonly-row:hover{background-color:#f8f9fa}.input-table .readonly-row .input-value.readonly{color:#374151;font-weight:500;text-align:right;padding-right:8px}.edit-hint{font-size:11px;color:#6b7280;font-style:italic;text-align:right;padding:6px 8px 2px;border-top:1px solid #e5e7eb;margin-top:4px}.sources-uses-wrapper{padding:0}.sources-uses-table{width:auto;border-collapse:separate;border-spacing:0;font-size:var(--font-size-table, 12px);font-family:var(--font-family-primary);border:2px solid #374151!important;border-radius:0}.sources-uses-table th,.sources-uses-table td{border:none;padding:6px 10px}.sources-uses-table th:nth-child(2),.sources-uses-table td:nth-child(2){border-right:2px solid #374151}.sources-uses-table .total-row td{background-color:#e5e7eb;font-weight:600;border-top:2px solid #374151}.sources-uses-table .text-right{text-align:right}.sources-uses-table td.source-debt{color:#1e40af;font-weight:500}.sources-uses-table td.source-preferred{color:#6d28d9;font-weight:500}.sources-uses-table td.source-lp{color:#047857;font-weight:500}.sources-uses-table td.source-gp{color:#b45309;font-weight:500}.sources-uses-table td.source-equity{color:#047857;font-weight:500}.sources-uses-table td.source-gap{color:#dc2626;font-weight:600;background-color:#fef2f2!important}.sources-uses-table td.source-excess{color:#0891b2;font-weight:500;background-color:#ecfeff!important}.sources-uses-table tr.gap-row td{background-color:#fef2f2;font-weight:600}.sources-uses-table tr.gap-row td.gap-label{color:#991b1b}.sources-uses-table tr.gap-row .negative{color:#dc2626}.sources-uses-table tr.gap-row .positive{color:#059669}.sources-uses-table td.clickable-cell{cursor:pointer}.sources-uses-table tr.collapsible-header{cursor:pointer;background-color:#f8fafc}.sources-uses-table tr.collapsible-header:hover{background-color:#f1f5f9}.sources-uses-table td.expandable-cell{padding-left:12px!important}.sources-uses-table .expand-icon{font-size:8px;color:#64748b;display:inline-block;width:12px;margin-right:6px}.sources-uses-table tr.child-row{background-color:#fefefe}.sources-uses-table tr.child-row:hover{background-color:#f8fafc}.sources-uses-table td.indent{padding-left:24px!important}.key-metrics-wrapper{padding:0;overflow-x:auto}.metrics-table{width:100%;border-collapse:collapse;font-size:var(--font-size-table, 12px);font-family:var(--font-family-primary)}.metrics-table.return-metrics-table{width:auto;min-width:100%}.metrics-table.return-metrics-table th{white-space:normal;word-break:keep-all;min-width:70px;max-width:100px;line-height:1.2;vertical-align:middle;text-align:center}.metrics-table th{min-width:80px;font-size:var(--font-size-table, 12px)}.metrics-table td{padding:3px 6px;border:1px solid #e5e7eb;vertical-align:middle;font-size:var(--font-size-table, 12px)}.metrics-table td.metric-label{text-align:left;color:#374151;font-weight:500;background-color:#f9fafb;white-space:nowrap}.metrics-table td.metric-value{text-align:center!important;font-weight:600;color:#111827;white-space:nowrap;min-width:80px}.metrics-table tbody tr td:nth-child(2){background-color:#f0f9ff;font-weight:700}.metrics-table tbody tr td:nth-child(odd):not(:first-child){background-color:#fafafa}.metrics-table tbody tr:hover td{background-color:#e8f4fc}.metrics-table tbody tr:hover td.metric-label{background-color:#dbeafe}.metrics-table tbody tr:hover td:nth-child(2){background-color:#dbeafe}.summary-tab .investment-cashflow-card{max-width:none;min-width:auto;width:100%}.investment-cashflow-wrapper{padding:8px;background:#fff;overflow-x:auto}.investment-cashflow-table.icf-horizontal{width:auto;border-collapse:collapse;font-size:var(--font-size-table, 12px);font-family:var(--font-family-primary)}.icf-horizontal th,.icf-horizontal td{padding:4px 10px;border:1px solid #c9cdd2;vertical-align:middle;white-space:nowrap;font-size:var(--font-size-table, 12px)}.icf-horizontal .icf-header-row th,.icf-horizontal .icf-subheader-row th{text-align:center;font-weight:700}.icf-horizontal .icf-row-label-header{background-color:#374151;border-color:#374151;min-width:90px}.icf-horizontal .icf-year-header{background-color:#2d4a3e;color:#fff;min-width:110px;font-weight:700;letter-spacing:.3px}.icf-horizontal .icf-year-subheader{background-color:#3d6b5a;color:#fff;font-weight:600;font-size:11px}.icf-horizontal .icf-acq-header{background-color:#92702a;color:#fff;min-width:110px;font-weight:700}.icf-horizontal .icf-acq-subheader{background-color:#a8873e;color:#fff;font-weight:600;font-size:11px}.icf-horizontal .icf-section-header td{background-color:#f1f5f9;border-bottom:2px solid #94a3b8;padding:3px 10px}.icf-horizontal .icf-section-label{font-weight:700;color:#334155;text-align:left;font-size:var(--font-size-table, 12px);letter-spacing:.3px}.icf-horizontal .icf-total-row td{background-color:#e2e8f0;font-weight:700;border-bottom:2px solid #64748b}.icf-horizontal .icf-total-label{text-align:left;color:#1e293b;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.icf-horizontal .icf-total-cell{text-align:right}.icf-horizontal .icf-row-label{text-align:left;font-weight:600;color:#374151;background-color:#f9fafb}.icf-horizontal .icf-class-tag{font-weight:700;text-align:center;font-size:11px;padding:3px 8px;letter-spacing:.3px}.icf-horizontal .icf-acq-cell{background-color:#fef9ee;text-align:right}.icf-horizontal tbody td{text-align:right}.icf-horizontal tbody tr:hover td{background-color:#e0f2fe}.icf-horizontal tbody tr.icf-section-header:hover td{background-color:#f1f5f9}.density-compact .input-table td,.density-compact .sources-uses-table td,.density-compact .sources-uses-table th,.density-compact .metrics-table td,.density-compact .metrics-table th{padding:4px 8px;font-size:var(--font-size-small, 12px)}.density-compact .input-field{padding:3px 6px;font-size:var(--font-size-small, 12px)}.density-comfortable .input-table td,.density-comfortable .sources-uses-table td,.density-comfortable .sources-uses-table th,.density-comfortable .metrics-table td,.density-comfortable .metrics-table th{padding:6px 12px}@media(max-width:1200px){.summary-tab .summary-row{flex-direction:column}.summary-tab .summary-row>.module-card{min-width:100%}}@media(max-width:768px){.sources-uses-table,.metrics-table,.input-table{font-size:var(--font-size-small, 12px)}}.summary-sidebar .capital-stack-card{flex:1;display:flex;flex-direction:column;width:340px;min-width:300px;max-width:380px}.summary-sidebar .capital-stack-card .module-content{flex:1;display:flex;flex-direction:column}.capital-stack-wrapper{padding:8px;display:flex;flex-direction:column;flex:1}.capital-stack-with-braces{display:flex;flex-direction:row;align-items:stretch;gap:4px;flex:1}.capital-stack-main{display:flex;flex-direction:column;flex:1;gap:4px;padding:4px}.stack-section{display:flex;flex-direction:row;align-items:stretch}.section-brace{display:flex;flex-direction:row;align-items:stretch;flex-shrink:0;position:relative;padding-left:40px;margin-right:4px}.brace-label{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;white-space:nowrap;width:36px;text-align:right}.brace-svg{width:16px;height:100%;flex-shrink:0;color:#94a3b8}.brace-svg.brace-right{color:#64748b}.equity-brace .brace-svg{color:#fb923c}.equity-brace .brace-label{color:#ea580c}.debt-brace .brace-svg{color:#4ade80}.debt-brace .brace-label{color:#16a34a}.section-layers{display:flex;flex-direction:column;flex:1;gap:2px}.capital-stack-right-brace{display:flex;flex-direction:row;align-items:stretch;position:relative;margin-right:70px}.total-amount-side{position:absolute;left:100%;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:#1e293b;white-space:nowrap;padding-left:6px}.capital-stack-layer-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:22px;border-radius:8px;transition:all .2s ease;cursor:pointer;box-shadow:0 2px 4px #0000001a,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.capital-stack-layer-vertical:hover{transform:scale(1.02);box-shadow:0 4px 8px #00000026,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.capital-stack-layer-vertical .layer-name-vertical{font-family:var(--font-family-primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;text-align:center;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 4px}@media(max-width:600px){.summary-tab .capital-stack-card{width:100%;min-width:100%;max-width:100%}.capital-stack-with-braces{height:320px}.capital-stack-layer-vertical .layer-name-vertical{font-size:10px}.capital-stack-layer-vertical .layer-amount-vertical{font-size:9px}}.cash-flow-tab{padding:20px;background:var(--color-bg-tertiary);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:240px;max-width:240px;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}.cash-flow-table .no-t12-data{background-color:#e9ecef!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:240px;max-width:240px;width:240px;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}.debt-service-detail-module{padding:16px}.no-loans-message{text-align:center;padding:32px;color:#6c757d}.no-loans-message p{margin:0}.loans-summary h4{font-family:var(--font-family-primary);font-size:16px;font-weight:600;margin-bottom:12px;color:#1f2937}.loans-table{width:100%;border-collapse:collapse;font-family:var(--font-family-primary)}.loans-table thead{background:var(--color-primary);color:#fff}.loans-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:13px;border:1px solid var(--color-primary-dark)}.loans-table th:last-child,.loans-table td:last-child{text-align:right}.loans-table tbody tr{background:#fff}.loans-table tbody tr:hover{background:#f3f4f6}.loans-table td{padding:8px 12px;border:1px solid #e5e7eb;font-size:13px;color:#1f2937}.loans-table tfoot tr{background:#c6e0b4;font-weight:700}.loans-table tfoot td{padding:8px 12px;border:1px solid #A9D08E;font-size:14px;color:#1f2937}.rent-roll-table{min-width:900px;background:#fff;table-layout:fixed;border:none!important;border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table thead{background:var(--color-table-header-bg);color:var(--color-table-header-text)}.rent-roll-table thead tr.header-subrow{background:var(--color-table-header-bg)}.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 th:not(.collapse-button-col-header){border-bottom:1px solid var(--color-table-border)}.rent-roll-table .header-group-row th:nth-child(2){border-left:1.5px solid var(--color-table-border)!important;border-top:2px solid var(--color-table-border)!important;background:var(--color-table-header-bg)!important}.rent-roll-table .header-subrow th:nth-child(2){border-left:1.5px solid var(--color-table-border)!important;background:var(--color-table-header-bg)!important;background-color:#2e4c7a!important;color:#fff!important}.rent-roll-table tbody td:nth-child(2){border-left:1.5px solid var(--color-table-border)!important}.rent-roll-table .header-group-row th:not(.collapse-button-col-header){background:var(--color-table-header-bg)!important;border-top:1.5px solid var(--color-table-border)!important}.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-subrow th,.rent-roll-table .header-subrow .header-subcell,table.rent-roll-table thead tr.header-subrow th.header-subcell,.rent-roll-table .unit-type-header{background:#2e4c7a!important;background-color:#2e4c7a!important;color:#fff!important}.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 td:not(.collapse-button-cell){box-shadow:inset 0 -1px #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{background:#edf2f7;font-weight:700}.rent-roll-table .totals-row td:not(.collapse-button-cell){padding:8px;font-size:12px;font-weight:700!important;box-shadow:inset 0 2px 0 0 var(--color-table-border),inset 0 -1px 0 0 var(--color-table-border)}.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;font-weight:700}.rent-roll-table .grand-row td:not(.collapse-button-cell){padding:8px;font-size:12px;font-weight:700!important;font-family:var(--font-family-primary)!important;box-shadow:inset 0 1px 0 0 var(--color-table-border),inset 0 -2px 0 0 var(--color-table-border)}.rent-roll-table .grand-row .no-right-border{border-right:none!important}.rent-roll-table .value-with-suffix{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.rent-roll-table .value-with-suffix .accounting-cell,.rent-roll-table .gpr-centered .value-with-suffix .accounting-cell{width:150px!important;margin:0 auto!important;justify-content:space-between!important}.rent-roll-table .period-suffix{position:absolute;left:calc(50% + 77px);font-size:12px;font-family:var(--font-family-primary);color:#2d3748;font-weight:700}.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{font-weight:700!important;font-family:var(--font-family-heading)!important}.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-primary)!important;font-size:12px!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}.rent-roll-table .summary-row td:not(.collapse-button-cell){box-shadow:inset 0 -1px #e2e8f0}.rent-roll-table .summary-row:first-of-type td:not(.collapse-button-cell){box-shadow:inset 0 2px 0 0 var(--color-table-border),inset 0 -1px #e2e8f0}.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;font-weight:700}.rent-roll-table .highlight-row td:not(.collapse-button-cell){box-shadow:inset 0 2px 0 0 var(--color-table-border),inset 0 -2px 0 0 var(--color-table-border)}.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:150px}.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(2),.rent-roll-table tbody tr td:nth-child(2),.rent-roll-table .spacer-row td:nth-child(2){border-right: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-left:1.5px solid var(--color-table-border)!important}.rent-roll-table thead th:nth-child(6),.rent-roll-table tbody tr td:nth-child(6),.rent-roll-table .spacer-row td:nth-child(6){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table thead th:nth-child(8),.rent-roll-table tbody tr td:nth-child(8),.rent-roll-table .spacer-row td:nth-child(8){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table .summary-row td:nth-child(3),.rent-roll-table .grand-row td:nth-child(5){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table .summary-row td:nth-child(4),.rent-roll-table .grand-row td:nth-child(6){border-right:1.5px solid var(--color-table-border)!important}.rent-roll-table .add-unit-row td{background:var(--color-table-row-even, #f9fafb);border-bottom:1px solid var(--color-table-border)}.rent-roll-table .add-unit-row .btn-add-item{margin:0}.rent-roll-table .btn-delete-row{background:transparent;border:none;color:#94a3b8;font-size:16px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;opacity:0;transition:opacity .15s,color .15s,background .15s}.rent-roll-table .data-row:hover .btn-delete-row{opacity:1}.rent-roll-table .btn-delete-row:hover{background:#fee2e2;color:#dc2626}.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}.rent-roll-table thead th.collapse-button-col-header{background:var(--table-collapse-bg)!important;background-color:var(--table-collapse-bg)!important;border:1px solid var(--table-collapse-bg)!important;border-top:1px solid var(--table-collapse-bg)!important;border-left:1px solid var(--table-collapse-bg)!important;border-bottom:1px solid var(--table-collapse-bg)!important;border-right:1px solid var(--table-collapse-bg)!important;box-shadow:none!important;outline:none!important;width:32px!important;min-width:32px!important;max-width:32px!important;padding:2px!important;vertical-align:middle!important}.rent-roll-table td.collapse-button-cell{background:var(--table-collapse-bg)!important;background-color:var(--table-collapse-bg)!important;border:1px solid var(--table-collapse-bg)!important;border-top:1px solid var(--table-collapse-bg)!important;border-left:1px solid var(--table-collapse-bg)!important;border-bottom:1px solid var(--table-collapse-bg)!important;border-right:1px solid var(--table-collapse-bg)!important;box-shadow:none!important;outline:none!important;width:32px!important;min-width:32px!important;max-width:32px!important;padding:0!important}.rent-roll-table tbody tr.totals-row td:first-child,.rent-roll-table tbody tr.grand-row td:first-child{border-left:none!important}.rent-roll-table .section-collapse-button{background:#e2e8f0;border:1px solid #cbd5e0;color:#4a5568;cursor:pointer;font-size:11px;font-weight:700;padding:1px 5px;border-radius:3px;transition:all .15s ease;line-height:1}.rent-roll-table .section-collapse-button:hover{background:#cbd5e0;border-color:#a0aec0}.rent-roll-table .section-collapse-button:active{background:#a0aec0}#unit-type-header{background:#2e4c7a!important;background-color:#2e4c7a!important;color:#fff!important;font-size:12px!important;line-height:1.4!important;padding:6px!important;display:table-cell!important;visibility:visible!important;opacity:1!important}table.rent-roll-table thead tr.header-subrow th.header-subcell.unit-type-header,table.rent-roll-table thead tr.header-subrow th:nth-child(2),.rent-roll-table .header-subrow .unit-type-header{background:#2e4c7a!important;background-color:#2e4c7a!important;color:#fff!important}table.rent-roll-table thead tr th.collapse-button-col-header{background:var(--table-collapse-bg)!important;background-color:var(--table-collapse-bg)!important;border:1px solid var(--table-collapse-bg)!important;border-top:1px solid var(--table-collapse-bg)!important;border-bottom:1px solid var(--table-collapse-bg)!important;border-left:1px solid var(--table-collapse-bg)!important;border-right:1px solid var(--table-collapse-bg)!important;box-shadow:none!important}table.rent-roll-table tbody tr td.collapse-button-cell{border:1px solid var(--table-collapse-bg)!important;border-top:1px solid var(--table-collapse-bg)!important;border-bottom:1px solid var(--table-collapse-bg)!important;border-left:1px solid var(--table-collapse-bg)!important;border-right:1px solid var(--table-collapse-bg)!important;background:var(--table-collapse-bg)!important}.dark-theme .rent-roll-table{background:#1e293b!important}.dark-theme .rent-roll-table .section-collapse-button{background:#334155;border-color:#475569;color:#f8fafc}.dark-theme .rent-roll-table .section-collapse-button:hover{background:#475569}.dark-theme .rent-roll-table tbody tr.data-row:nth-child(odd) td:not(.collapse-button-cell){background:#1e293b!important}.dark-theme .rent-roll-table tbody tr.data-row:nth-child(2n) td:not(.collapse-button-cell){background:#253449!important}.dark-theme .rent-roll-table tbody tr.data-row td{color:#f8fafc}.dark-theme .rent-roll-table .data-row td:not(.collapse-button-cell){box-shadow:inset 0 -1px #334155}.dark-theme .rent-roll-table .data-row:hover td:not(.collapse-button-cell){background:#334155!important}.dark-theme .rent-roll-table .unit-type-cell,.dark-theme .rent-roll-table .number-cell{color:#f8fafc}.dark-theme .rent-roll-table .editable-text-input{background:transparent!important;color:#f8fafc!important}.dark-theme .rent-roll-table .editable-text-input:focus{background:#0f172a!important}.dark-theme .rent-roll-table .dollar-sign{color:#94a3b8}.dark-theme .rent-roll-table .table-cell-input-formatted{background:transparent!important;color:#60a5fa}.dark-theme .rent-roll-table .table-cell-input-formatted[data-edited=true]{color:#60a5fa}.dark-theme .rent-roll-table .table-cell-input-formatted[data-edited=false]{color:#94a3b8}.dark-theme .rent-roll-table .totals-row,.dark-theme .rent-roll-table .totals-row td:not(.collapse-button-cell){background:#334155!important;color:#f8fafc!important}.dark-theme .rent-roll-table .totals-row td:not(.collapse-button-cell){box-shadow:inset 0 2px #475569,inset 0 -1px #475569}.dark-theme .rent-roll-table .grand-row,.dark-theme .rent-roll-table .grand-row td:not(.collapse-button-cell){background:#475569!important;color:#f8fafc!important}.dark-theme .rent-roll-table .spacer-row,.dark-theme .rent-roll-table .spacer-row td:not(.collapse-button-cell){background:#1e293b!important}.dark-theme .rent-roll-table .summary-row,.dark-theme .rent-roll-table .summary-row td:not(.collapse-button-cell){background:#253449!important;color:#f8fafc!important}.dark-theme .rent-roll-table .highlight-row,.dark-theme .rent-roll-table .highlight-row td:not(.collapse-button-cell){background:#334155!important;color:#f8fafc!important}.dark-theme .rent-roll-table .total-label-cell,.dark-theme .rent-roll-table .grand-label-cell,.dark-theme .rent-roll-table .summary-label-cell{color:#f8fafc!important}.dark-theme .rent-roll-table .negative-value,.dark-theme .rent-roll-table .accounting-negative{color:#f43f5e!important}.dark-theme .rent-roll-table .add-unit-row td:not(.collapse-button-cell){background:#253449!important}.dark-theme .rent-roll-table .accounting-cell,.dark-theme .rent-roll-table .accounting-cell .number-part,.dark-theme .rent-roll-table .period-suffix{color:#f8fafc}.dark-theme .rent-roll-table .accounting-cell .dollar-sign{color:#94a3b8}.dark-theme .rent-roll-table input.editable-text-input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),.dark-theme .rent-roll-table input.table-cell-input-formatted:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]){background:transparent!important;background-color:transparent!important}.dark-theme .rent-roll-table td.collapse-button-cell,.dark-theme .rent-roll-table tbody td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.data-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.summary-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.totals-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.grand-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.highlight-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.spacer-row td.collapse-button-cell,.dark-theme .rent-roll-table tbody tr.add-unit-row td.collapse-button-cell,.dark-theme table.rent-roll-table tbody tr td.collapse-button-cell,.dark-theme .rent-roll-table thead th.collapse-button-col-header,.dark-theme table.rent-roll-table thead th.collapse-button-col-header{background:#1e293b!important;background-color:#1e293b!important;border-color:#1e293b!important}.dark-theme .rent-roll-table .header-group-row th:nth-child(2),.dark-theme .rent-roll-table .header-subrow th:nth-child(2),.dark-theme .rent-roll-table tbody td:nth-child(2){border-left:1.5px solid #334155!important}.revenue-expenses-tab{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:20px;padding:20px;align-items:start;background:var(--color-bg-tertiary)}.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:0;border:none;font-size:var(--font-size-table);font-family:var(--font-family-primary);text-align:right;background:transparent;color:inherit;white-space:nowrap;flex-grow:1}.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}.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}.expense-item-name{background-color:#f4cdb0}.income-item-name{background-color:#ffc}.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)}}.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-close-modal:hover{background:#fff;color:#dc2626!important;transform:scale(1.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-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}.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-cell.sticky-col.category-gpr,.t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-gpr,.t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-gpr{background-color:#d9e1f2!important}.t12-raw-data-table td.mapping-cell.sticky-col.category-loss,.t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-loss,.t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-loss{background-color:#fcc!important}.t12-raw-data-table td.mapping-cell.sticky-col.category-income,.t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-income,.t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-income{background-color:#ffe699!important}.t12-raw-data-table td.mapping-cell.sticky-col.category-operating,.t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-operating,.t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-operating{background-color:#f8cbad!important}.t12-raw-data-table td.mapping-cell[data-category=gpr]{background-color:#d9e1f2!important}.t12-raw-data-table td.mapping-cell[data-category=loss]{background-color:#fcc!important}.t12-raw-data-table td.mapping-cell[data-category=income]{background-color:#ffe699!important}.t12-raw-data-table td.mapping-cell[data-category=operating]{background-color:#f8cbad!important}.t12-raw-data-table td.mapping-cell[data-category=gpr] .mapping-select{background-color:#d9e1f2!important}.t12-raw-data-table td.mapping-cell[data-category=loss] .mapping-select{background-color:#fcc!important}.t12-raw-data-table td.mapping-cell[data-category=income] .mapping-select{background-color:#ffe699!important}.t12-raw-data-table td.mapping-cell[data-category=operating] .mapping-select{background-color:#f8cbad!important}.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:transparent;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}.mapping-select optgroup[label="Gross Potential Rent"]{background-color:#d9e1f2;color:#1e293b;font-weight:600}.mapping-select optgroup[label="Gross Potential Rent"] option{background-color:#d9e1f2;color:#1e293b}.mapping-select optgroup[label=Losses]{background-color:#fcc;color:#1e293b;font-weight:600}.mapping-select optgroup[label=Losses] option{background-color:#fcc;color:#1e293b}.mapping-select optgroup[label="Other Income"]{background-color:#ffe699;color:#1e293b;font-weight:600}.mapping-select optgroup[label="Other Income"] option{background-color:#ffe699;color:#1e293b}.mapping-select optgroup[label="Operating Expenses"]{background-color:#f8cbad;color:#1e293b;font-weight:600}.mapping-select optgroup[label="Operating Expenses"] option{background-color:#f8cbad;color:#1e293b}.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}.dark-theme .t12-viewer-overlay{background-color:#000000b3}.dark-theme .t12-viewer-modal{background:#1e293b;box-shadow:0 4px 6px #0006}.dark-theme .t12-viewer-header{border-bottom-color:#334155}.dark-theme .t12-viewer-header h2{color:#f1f5f9}.dark-theme .t12-viewer-tabs{border-bottom-color:#334155;background-color:#0f172a}.dark-theme .tab-btn{color:#94a3b8}.dark-theme .tab-btn:hover{color:#f1f5f9;background-color:#1e293b}.dark-theme .tab-btn.active{color:#60a5fa;border-bottom-color:#60a5fa;background-color:#1e293b}.dark-theme .t12-viewer-content{background:#1e293b}.dark-theme .t12-viewer-footer{border-top-color:#334155;background:#1e293b}.dark-theme .t12-raw-data-table{background:#0f172a}.dark-theme .t12-raw-data-table td{border-color:#475569;color:#e2e8f0;background-color:#1e293b}.dark-theme .t12-raw-data-table tr:nth-child(2n) td{background-color:#0f172a}.dark-theme .t12-raw-data-table tr:nth-child(2n) td.sticky-col{background-color:#0f172a}.dark-theme .t12-raw-data-table td.sticky-col{background-color:#1e293b}.dark-theme .t12-raw-data-table td.sticky-col-0{box-shadow:2px 0 5px #0000004d}.dark-theme .t12-raw-data-table tr.header-row td{background-color:#1e3a5f!important;color:#fff!important;border-color:#334155}.dark-theme .t12-raw-data-table tr.header-row td.sticky-col{background-color:#1e3a5f!important}.dark-theme .t12-raw-data-table tr.header-row td.trailing-period-header{background:#1e3a5f!important;background-color:#1e3a5f!important}.dark-theme .t12-raw-data-table tbody tr td.calculated-col{background-color:#1e3a5f!important;border-left-color:#3b82f6!important;color:#e2e8f0!important}.dark-theme .t12-raw-data-table tbody tr td.calculated-col .accounting-cell,.dark-theme .t12-raw-data-table tbody tr td.calculated-col .accounting-cell .dollar-sign,.dark-theme .t12-raw-data-table tbody tr td.calculated-col .accounting-cell .number-part{color:#e2e8f0!important}.dark-theme .t12-raw-data-table td.negative,.dark-theme .t12-raw-data-table td.negative .accounting-cell,.dark-theme .t12-raw-data-table td.negative .dollar-sign,.dark-theme .t12-raw-data-table td.negative .number-part,.dark-theme .t12-raw-data-table tbody tr td.calculated-col.negative,.dark-theme .t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell,.dark-theme .t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell .dollar-sign,.dark-theme .t12-raw-data-table tbody tr td.calculated-col.negative .accounting-cell .number-part{color:#f87171!important}.dark-theme .t12-raw-data-table td.calculated-cell{background-color:#422006}.dark-theme .t12-raw-data-table td.calculated-cell:after{color:#fbbf24}.dark-theme .t12-raw-data-table tr:nth-child(2n) td.calculated-cell{background-color:#451a03}.dark-theme .t12-raw-data-table td.t12-mismatch{background-color:#450a0a!important;border-color:#dc2626!important}.dark-theme .t12-raw-data-table td.t12-mismatch:before{color:#f87171}.dark-theme .t12-raw-data-table td.edited-cell{background-color:#422006!important;outline-color:#fbbf24}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=gpr],.dark-theme .t12-raw-data-table td.mapping-cell.sticky-col.category-gpr,.dark-theme .t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-gpr,.dark-theme .t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-gpr{background-color:#d9e1f2!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=loss],.dark-theme .t12-raw-data-table td.mapping-cell.sticky-col.category-loss,.dark-theme .t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-loss,.dark-theme .t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-loss{background-color:#fcc!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=income],.dark-theme .t12-raw-data-table td.mapping-cell.sticky-col.category-income,.dark-theme .t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-income,.dark-theme .t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-income{background-color:#ffe699!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=operating],.dark-theme .t12-raw-data-table td.mapping-cell.sticky-col.category-operating,.dark-theme .t12-raw-data-table tr:nth-child(2n) td.mapping-cell.sticky-col.category-operating,.dark-theme .t12-raw-data-table tr:nth-child(odd) td.mapping-cell.sticky-col.category-operating{background-color:#f8cbad!important;color:#1e293b!important}.dark-theme .t12-raw-data-table .mapping-select{background-color:transparent;color:#e2e8f0;border-color:#475569}.dark-theme .t12-raw-data-table .mapping-select:hover{border-color:#60a5fa}.dark-theme .t12-raw-data-table .mapping-select:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=gpr] .mapping-select{background-color:#d9e1f2!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=loss] .mapping-select{background-color:#fcc!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=income] .mapping-select{background-color:#ffe699!important;color:#1e293b!important}.dark-theme .t12-raw-data-table td.mapping-cell[data-category=operating] .mapping-select{background-color:#f8cbad!important;color:#1e293b!important}.dark-theme .t12-raw-data-table tr.selected-row td{background-color:#1e3a5f!important;outline-color:#3b82f6}.dark-theme .t12-raw-data-table tr.selected-row td.calculated-col{background-color:#1e4976!important}.dark-theme .t12-raw-data-table tr.selected-row td.sticky-col{background-color:#1e3a5f!important}.dark-theme .t12-raw-data-table tr:hover:not(.header-row):not(.selected-row) td{background-color:#334155}.dark-theme .t12-raw-data-table td[contenteditable=true]:focus,.dark-theme .t12-raw-data-table div[contenteditable=true]:focus{outline-color:#60a5fa;background-color:#1e3a5f!important}.dark-theme .excel-collapse-btn{background:#334155;border-color:#475569;color:#e2e8f0}.dark-theme .excel-collapse-btn:hover{background-color:#475569;border-color:#64748b}.dark-theme .monthly-breakdown .sticky-col{background-color:#1e293b;box-shadow:2px 0 5px #0000004d}.dark-theme .monthly-breakdown th.sticky-col{background-color:#0f172a}.dark-theme .monthly-breakdown .total-row .sticky-col{background-color:#334155}.dark-theme .t12-data-table th{background-color:#0f172a;color:#e2e8f0;border-bottom-color:#334155}.dark-theme .t12-data-table td{border-bottom-color:#334155;color:#cbd5e1}.dark-theme .t12-data-table tr:hover:not(.total-row){background-color:#334155}.dark-theme .t12-data-table .total-row{background-color:#1e3a5f}.dark-theme .t12-data-table .total-row td{border-top-color:#475569;border-bottom-color:#475569}.dark-theme .no-data-message h3{color:#f1f5f9}.dark-theme .no-data-message p{color:#94a3b8}.dark-theme .summary-section h3{color:#f1f5f9}.dark-theme .info-item label{color:#94a3b8}.dark-theme .info-item span{color:#e2e8f0}.dark-theme .summary-actions{border-top-color:#334155}.validation-warnings-container{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;margin:15px 0;box-shadow:0 2px 8px #ffc10733;font-family:var(--font-family-primary)}.validation-warnings-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffc107;border-bottom:1px solid #ffb300;border-radius:6px 6px 0 0}.header-left{display:flex;align-items:center;gap:10px}.warning-icon{font-size:24px}.validation-warnings-header h4{margin:0;font-size:16px;font-weight:600;color:#333}.warning-count{background:#0000001a;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.btn-dismiss-all{padding:6px 14px;background:#0000001a;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-dismiss-all:hover{background:#0003}.validation-warnings-body{padding:16px;max-height:500px;overflow-y:auto}.warning-group{margin-bottom:20px}.warning-group-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;font-weight:600}.severity-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;font-size:13px}.severity-high{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.severity-medium{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.severity-low{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.group-count{background:#0000000d;padding:2px 8px;border-radius:10px;font-size:12px}.warning-list{display:flex;flex-direction:column;gap:8px}.warning-item{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.warning-high{border-left:4px solid #dc3545}.warning-medium{border-left:4px solid #ffc107}.warning-low{border-left:4px solid #17a2b8}.warning-main{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;transition:background .2s}.warning-main:hover{background:#f8f9fa}.warning-summary{display:flex;align-items:baseline;gap:8px;flex:1}.warning-field{font-weight:600;color:#495057;font-size:13px}.warning-message{color:#333;font-size:14px;line-height:1.4}.btn-expand{background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;font-size:12px;transition:transform .2s}.btn-expand:hover{color:#495057}.warning-details{padding:0 12px 12px;border-top:1px solid #e9ecef;background:#f8f9fa}.detail-row{display:flex;align-items:baseline;gap:10px;padding:8px 0;font-size:13px}.detail-label{font-weight:600;color:#6c757d;min-width:120px}.detail-value{color:#333;flex:1}.highlight-error{color:#dc3545;font-weight:600;background:#f8d7da;padding:2px 6px;border-radius:3px}.highlight-warning{color:#856404;font-weight:600;background:#fff3cd;padding:2px 6px;border-radius:3px}.highlight-success{color:#155724;font-weight:600;background:#d4edda;padding:2px 6px;border-radius:3px}.correction-reason{color:#6c757d;font-size:12px;font-style:italic;margin-left:8px}.warning-actions{display:flex;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #dee2e6}.btn-accept{padding:6px 14px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-accept:hover{background:#218838}.btn-ignore{padding:6px 14px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-ignore:hover{background:#5a6268}.warning-actions-inline{margin-left:auto}.btn-ignore-small{padding:4px 10px;background:transparent;color:#6c757d;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-ignore-small:hover{background:#e9ecef;color:#495057}.warning-group-collapsible{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:10px}.warning-group-collapsible summary{cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none;padding:4px}.warning-group-collapsible summary:hover{background:#f8f9fa;border-radius:4px}.validation-warnings-footer{padding:12px 16px;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 6px 6px}.footer-note{margin:0;font-size:13px;color:#6c757d;display:flex;align-items:center;gap:6px}.validation-warnings-body::-webkit-scrollbar{width:8px}.validation-warnings-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.validation-warnings-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.validation-warnings-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.validation-warnings-header{flex-direction:column;align-items:flex-start;gap:10px}.header-left{flex-wrap:wrap}.warning-main{flex-direction:column;align-items:flex-start;gap:8px}.detail-row{flex-direction:column;align-items:flex-start}.detail-label{min-width:auto}.warning-actions{flex-direction:column}.btn-accept,.btn-ignore{width:100%}}.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;font-size:14px;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;font-size:14px;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:14px;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-size:14px;font-weight:600}.stabilization-table .calculated-value .calculated-text{color:#4a5568;font-size:14px;font-weight:600}.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:0;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}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.gp-fees-settings-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:750px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.gp-fees-settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:var(--color-primary, #2E4C7A);color:#fff;border-radius:8px 8px 0 0}.gp-fees-settings-modal .modal-header h2{margin:0;font-size:16px;font-weight:600}.gp-fees-settings-modal .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#fff;opacity:.8;line-height:1;padding:0}.gp-fees-settings-modal .close-btn:hover{opacity:1}.gp-fees-settings-modal .modal-content{padding:20px;overflow-y:auto;flex:1}.gp-fees-settings-modal .modal-description{margin:0 0 16px;color:#6b7280;font-size:13px}.gp-fees-settings-modal .modal-footer{padding:12px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:8px}.fees-settings-table{width:100%;border-collapse:collapse;font-size:14px;font-family:var(--font-family-primary)}.fees-settings-table th{background:#f3f4f6;color:#374151;padding:10px 12px;text-align:left;font-weight:600;font-size:14px;border:1px solid #e5e7eb;white-space:nowrap}.fees-settings-table td{padding:8px 12px;border:1px solid #e5e7eb;vertical-align:middle;font-size:14px}.fees-settings-table tbody tr:hover{background:#f9fafb}.fees-settings-table tbody tr.fee-disabled{opacity:.5}.fees-settings-table .fee-name-col{font-weight:500;color:#374151;width:180px}.fees-settings-table .fee-enabled-col{width:60px;text-align:center}.fees-settings-table .fee-rate-col{width:100px;text-align:right}.rate-input-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:4px}.rate-input-wrapper .fee-rate-input{width:80px}.rate-input-wrapper .fee-rate-input .editable-cell-input{padding:4px 8px;font-size:14px}.rate-input-wrapper .rate-unit{font-size:14px;color:#374151;font-weight:500}.fees-settings-table .fee-basis-col{width:160px}.fees-settings-table .fee-timing-col{width:120px}.fees-settings-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}.rate-display{color:#374151}.fees-settings-table .fee-select{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:var(--font-family-primary);background:#fff;cursor:pointer}.fees-settings-table .fee-select:hover:not(:disabled){border-color:#3b82f6}.fees-settings-table .fee-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.fees-settings-table .fee-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.btn{padding:8px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;border:none}.btn-primary{background:var(--color-primary, #2E4C7A);color:#fff}.btn-primary:hover{background:var(--color-primary-dark, #1e3a5f)}.gp-fees-content{padding:0}.gp-fees-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-family-primary)}.gp-fees-table th{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}td.fee-enabled-col{width:40px;text-align:center!important}td.fee-name-col{width:140px;font-weight:500;color:var(--color-primary)}td.fee-rate-col{width:80px;text-align:center}td.fee-basis-col{width:100px;color:#666;font-size:11px}td.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}.gp-fees-content .empty-state{text-align:center;padding:20px;color:#666}.gp-fees-content .empty-state p{margin:0 0 12px;font-size:13px}.btn-configure-fees{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.btn-configure-fees:hover{background:var(--color-primary-dark)}.btn-gear-settings{padding:4px 8px;background:transparent;border:none;font-size:14px;cursor:pointer;opacity:.7;transition:opacity .2s}.btn-gear-settings:hover{opacity:1}.t12-mapper-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.t12-mapper-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:95vw;width:95%;max-height:90vh;display:flex;flex-direction:column}.t12-mapper-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.t12-mapper-header h2{margin:0;font-size:24px;color:#2d3748}.t12-mapper-instructions{padding:15px 20px;background-color:#f7fafc;border-bottom:1px solid #e2e8f0}.t12-mapper-instructions p{margin:0;color:#4a5568;font-size:14px}.t12-mapper-content{flex:1;overflow-y:auto;padding:20px}.mapping-section{margin-bottom:30px;border:1px solid #e2e8f0;border-radius:4px}.section-header{display:flex;align-items:center;gap:10px;padding:15px 20px;background-color:var(--color-primary);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px 4px 0 0}.section-header:hover{background-color:var(--color-primary-dark)}.section-header h3{margin:0;font-size:18px}.section-toggle{font-size:12px;width:20px;text-align:center}.mapping-table-container{overflow-x:auto;max-height:500px;overflow-y:auto}.mapping-table{width:100%;border-collapse:collapse;font-size:14px;font-family:var(--font-family-primary)}.mapping-table thead{position:sticky;top:0;z-index:10}.mapping-table th{background-color:#f7fafc;padding:12px;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.mapping-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0}.mapping-table tbody tr{transition:opacity .2s ease}.mapping-table tbody tr:hover{opacity:.85}.color-indicator{width:20px;padding:0!important}.line-item-name{font-weight:500;color:#2d3748;min-width:200px}.total-value{text-align:right;font-weight:600;color:#2d3748;min-width:120px}.mapping-dropdown{min-width:300px}.map-select{width:100%;padding:6px 10px;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;font-family:var(--font-family-primary);background-color:#fff;cursor:pointer;transition:border-color .2s ease}.map-select:hover{border-color:#4299e1}.map-select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.status-cell{text-align:center;min-width:100px}.confidence-badge{display:inline-block;padding:2px 8px;background-color:#0000001a;border-radius:12px;font-size:12px;font-weight:600;margin-right:5px}.t12-mapper-footer{padding:20px;border-top:2px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;position:sticky;bottom:0;background:#fff;z-index:10;box-shadow:0 -4px 6px -1px #0000001a}.mapping-legend{display:flex;gap:20px;align-items:center}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#4a5568}.legend-color{width:24px;height:16px;border:1px solid #cbd5e0;border-radius:2px}.footer-actions{display:flex;gap:10px}.btn-primary{padding:10px 20px;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}.btn-primary:disabled{background-color:#cbd5e0;cursor:not-allowed}.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}@media(max-width:768px){.t12-mapper-modal{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}.mapping-legend{flex-direction:column;align-items:flex-start;gap:8px}.t12-mapper-footer{flex-direction:column;gap:15px}.footer-actions{width:100%}.footer-actions button{flex:1}}.searchable-dropdown{position:relative;width:100%;font-family:var(--font-family-primary)}.searchable-dropdown.disabled{opacity:.6;cursor:not-allowed}.searchable-dropdown-selected{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;font-size:var(--font-size-small);font-weight:500;border:1px solid #cbd5e0;border-radius:3px;background-color:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.searchable-dropdown-selected:hover{border-color:#4299e1}.searchable-dropdown.disabled .searchable-dropdown-selected{cursor:not-allowed}.dropdown-arrow{font-size:8px;color:#718096;margin-left:8px;transition:transform .2s ease}.searchable-dropdown-menu{position:fixed;margin-top:4px;background:#fff;border:1px solid #cbd5e0;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:999999;max-height:400px;display:flex;flex-direction:column;min-width:200px;pointer-events:auto}.searchable-dropdown-search{padding:8px;border-bottom:1px solid #e2e8f0;background-color:#f7fafc}.searchable-dropdown-search-input{width:100%;padding:6px 8px;font-size:var(--font-size-small);font-family:var(--font-family-primary);border:1px solid #cbd5e0;border-radius:3px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.searchable-dropdown-search-input:focus{border-color:#4299e1;box-shadow:0 0 0 2px #4299e11a}.searchable-dropdown-list{flex:1;overflow-y:scroll;overflow-x:hidden;max-height:320px;scroll-behavior:auto;-webkit-overflow-scrolling:auto;overscroll-behavior:contain}.searchable-dropdown-list::-webkit-scrollbar{width:8px}.searchable-dropdown-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.searchable-dropdown-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.searchable-dropdown-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}.searchable-dropdown-group-label{padding:8px 12px 4px;font-size:var(--font-size-small);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#718096;background-color:#f7fafc;border-top:1px solid #e2e8f0}.searchable-dropdown-group:first-child .searchable-dropdown-group-label{border-top:none}.searchable-dropdown-option{padding:8px 12px;font-size:var(--font-size-small);font-weight:500;color:#2d3748;cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.searchable-dropdown-option:hover,.searchable-dropdown-option.highlighted{background-color:#e6f7ff}.searchable-dropdown-option.selected{background-color:#4299e1;color:#fff;font-weight:600}.searchable-dropdown-option.selected:hover,.searchable-dropdown-option.selected.highlighted{background-color:#3182ce}.searchable-dropdown-option.special{font-style:italic;color:#2563eb}.searchable-dropdown-option.special:hover,.searchable-dropdown-option.special.highlighted{background-color:#dbeafe}.searchable-dropdown-no-results{padding:20px;text-align:center;font-size:var(--font-size-small);color:#718096;font-style:italic}.searchable-dropdown-group[data-category=gpr] .searchable-dropdown-group-label{background-color:#d9e1f2;color:#1e293b}.searchable-dropdown-group[data-category=gpr] .searchable-dropdown-option{background-color:#e8edf5;color:#1e293b}.searchable-dropdown-group[data-category=gpr] .searchable-dropdown-option:hover,.searchable-dropdown-group[data-category=gpr] .searchable-dropdown-option.highlighted{background-color:#d9e1f2}.searchable-dropdown-group[data-category=loss] .searchable-dropdown-group-label{background-color:#fcc;color:#1e293b}.searchable-dropdown-group[data-category=loss] .searchable-dropdown-option{background-color:#ffe5e5;color:#1e293b}.searchable-dropdown-group[data-category=loss] .searchable-dropdown-option:hover,.searchable-dropdown-group[data-category=loss] .searchable-dropdown-option.highlighted{background-color:#fcc}.searchable-dropdown-group[data-category=income] .searchable-dropdown-group-label{background-color:#ffe699;color:#1e293b}.searchable-dropdown-group[data-category=income] .searchable-dropdown-option{background-color:#fff3cc;color:#1e293b}.searchable-dropdown-group[data-category=income] .searchable-dropdown-option:hover,.searchable-dropdown-group[data-category=income] .searchable-dropdown-option.highlighted{background-color:#ffe699}.searchable-dropdown-group[data-category=operating] .searchable-dropdown-group-label{background-color:#f8cbad;color:#1e293b}.searchable-dropdown-group[data-category=operating] .searchable-dropdown-option{background-color:#fce5d6;color:#1e293b}.searchable-dropdown-group[data-category=operating] .searchable-dropdown-option:hover,.searchable-dropdown-group[data-category=operating] .searchable-dropdown-option.highlighted{background-color:#f8cbad}.searchable-dropdown-group .searchable-dropdown-option.selected{background-color:#4299e1;color:#fff}.searchable-dropdown-group .searchable-dropdown-option.selected:hover,.searchable-dropdown-group .searchable-dropdown-option.selected.highlighted{background-color:#3182ce}.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{padding:15px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.file-selected p{margin:0}.btn-change-file{background:#6c757d;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s;margin-left:auto}.btn-change-file:hover{background:#5a6268}.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}.dark-theme .file-importer-overlay{background:#000000b3}.dark-theme .file-importer-modal{background:#1e293b;box-shadow:0 20px 60px #0009}.dark-theme .file-importer-header{background:linear-gradient(135deg,#0f172a,#1e3a5f)}.dark-theme .file-importer-content{background:#1e293b}.dark-theme .file-drop-zone{border-color:#3b82f6;background:#0f172a}.dark-theme .file-drop-zone:hover{background:#1e3a5f;border-color:#60a5fa}.dark-theme .file-drop-zone.dragging{background:#10b98126;border-color:#10b981}.dark-theme .file-drop-zone p{color:#94a3b8}.dark-theme .file-drop-hint,.dark-theme .file-formats{color:#64748b!important}.dark-theme .file-selected{background:#10b98126;border-color:#10b981;color:#10b981}.dark-theme .file-selected p{color:#e2e8f0}.dark-theme .file-selected strong{color:#10b981}.dark-theme .btn-change-file{background:#475569;color:#e2e8f0}.dark-theme .btn-change-file:hover{background:#64748b}.dark-theme .import-error{background:#ef444426;border-color:#ef4444;color:#fca5a5}.dark-theme .file-preview{border-color:#334155;background:#0f172a}.dark-theme .file-preview h4{color:#94a3b8}.dark-theme .preview-table td{border-color:#334155;color:#e2e8f0}.dark-theme .preview-table tr:first-child td{background:#1e293b}.dark-theme .import-instructions{background:#3b82f61a;border-color:#3b82f6}.dark-theme .import-instructions h4{color:#60a5fa}.dark-theme .import-instructions ul{color:#94a3b8}.dark-theme .import-instructions strong{color:#e2e8f0}.dark-theme .btn-import{background:#3b82f6}.dark-theme .btn-import:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 8px #3b82f64d}.dark-theme .btn-import:disabled{background:#475569}.dark-theme .ocr-progress{background:#3b82f61a;border-color:#3b82f6}.dark-theme .ocr-progress p{color:#e2e8f0}.dark-theme .progress-bar{background:#0f172a;box-shadow:inset 0 1px 3px #0000004d}.dark-theme .progress-fill{background:linear-gradient(90deg,#3b82f6,#1e3a5f)}.dark-theme .progress-text{color:#60a5fa!important}.dark-theme .import-progress{background:#3b82f61a;border-color:#3b82f6}.dark-theme .import-progress p{color:#e2e8f0}.dark-theme .spinner{border-color:#3b82f633;border-top-color:#3b82f6}.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}}.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;cursor:pointer}.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-icon{background:transparent;border:none;padding:.375rem;border-radius:4px;cursor:pointer;transition:all .2s;line-height:1;color:#374151;opacity:.6;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{opacity:1;background:#0000001a}.btn-icon.btn-share:hover{background:#2e95c133}.btn-icon.btn-duplicate:hover{background:#667eea33}.btn-icon.btn-delete:hover{background:#dc262633}.project-actions .btn-export{color:#374151;filter:none;opacity:.6;width:32px;height:32px;padding:.375rem}.project-actions .btn-export:hover{opacity:1;background:#0000001a}@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}.btn-icon{width:40px;height:40px;font-size:1.125rem}}.new-project-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.new-project-dialog{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:0 8px 32px #0003}.new-project-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #e0e0e0)}.new-project-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-color, #333)}.new-project-dialog-close{background:transparent;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.new-project-dialog-close:hover:not(:disabled){background-color:#f0f0f0;color:#333}.new-project-dialog-close:disabled{opacity:.5;cursor:not-allowed}.new-project-dialog-content{padding:24px}.new-project-dialog-field{margin-bottom:24px}.new-project-dialog-field label{display:block;font-size:14px;font-weight:600;color:var(--text-color, #333);margin-bottom:8px}.new-project-dialog-field input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--border-color, #ccc);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.new-project-dialog-field input:focus{outline:none;border-color:var(--primary-color, #4a90d9);box-shadow:0 0 0 3px #4a90d926}.new-project-dialog-field input:disabled{background-color:#f5f5f5;cursor:not-allowed}.new-project-dialog-field input::placeholder{color:#999}.new-project-dialog-hint{display:block;font-size:12px;color:#666;margin-top:6px}.new-project-dialog-dropzones{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.new-project-dialog-note{font-size:13px;color:#666;text-align:center;margin:0;padding:12px;background-color:#f9f9f9;border-radius:6px}.new-project-dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color, #e0e0e0);background-color:#fafafa;border-radius:0 0 12px 12px}.new-project-dialog-footer button{padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.new-project-dialog-footer .btn-cancel{background-color:#fff;border:1px solid #ccc;color:#666}.new-project-dialog-footer .btn-cancel:hover:not(:disabled){background-color:#f5f5f5;border-color:#999}.new-project-dialog-footer .btn-create{background-color:var(--primary-color, #4a90d9);border:1px solid var(--primary-color, #4a90d9);color:#fff}.new-project-dialog-footer .btn-create:hover:not(:disabled){background-color:var(--primary-dark, #3a7bc0);border-color:var(--primary-dark, #3a7bc0)}.new-project-dialog-footer button:disabled{opacity:.6;cursor:not-allowed}.new-project-dialog-loading{position:absolute;inset:0;background-color:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;z-index:10}.new-project-dialog-spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:var(--primary-color, #4a90d9);border-radius:50%;animation:npd-spin .8s linear infinite}@keyframes npd-spin{to{transform:rotate(360deg)}}.new-project-dialog-loading-text{margin-top:16px;font-size:15px;font-weight:500;color:#333}.new-project-dialog-loading-hint{margin-top:8px;font-size:13px;color:#666}.new-project-dialog{position:relative}.dark-theme .new-project-dialog-overlay{background-color:#000000b3}.dark-theme .new-project-dialog{background-color:#1e293b;box-shadow:0 8px 32px #00000080}.dark-theme .new-project-dialog-header{border-bottom-color:#475569}.dark-theme .new-project-dialog-header h2{color:#f8fafc}.dark-theme .new-project-dialog-close{color:#94a3b8}.dark-theme .new-project-dialog-close:hover:not(:disabled){background-color:#334155;color:#f8fafc}.dark-theme .new-project-dialog-content{background-color:#1e293b}.dark-theme .new-project-dialog-field label{color:#cbd5e1}.dark-theme .new-project-dialog-field input{background-color:#0f172a;border-color:#475569;color:#f8fafc}.dark-theme .new-project-dialog-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark-theme .new-project-dialog-field input:disabled{background-color:#334155;color:#64748b}.dark-theme .new-project-dialog-field input::placeholder{color:#64748b}.dark-theme .new-project-dialog-hint{color:#94a3b8}.dark-theme .new-project-dialog-note{color:#94a3b8;background-color:#0f172a}.dark-theme .new-project-dialog-footer{border-top-color:#475569;background-color:#0f172a}.dark-theme .new-project-dialog-footer .btn-cancel{background-color:#334155;border-color:#475569;color:#cbd5e1}.dark-theme .new-project-dialog-footer .btn-cancel:hover:not(:disabled){background-color:#475569;border-color:#64748b;color:#f8fafc}.dark-theme .new-project-dialog-footer .btn-create{background-color:#3b82f6;border-color:#3b82f6}.dark-theme .new-project-dialog-footer .btn-create:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.dark-theme .new-project-dialog-loading{background-color:#1e293bf2}.dark-theme .new-project-dialog-spinner{border-color:#334155;border-top-color:#3b82f6}.dark-theme .new-project-dialog-loading-text{color:#f8fafc}.dark-theme .new-project-dialog-loading-hint{color:#94a3b8}.account-dashboard{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1e232b,#2e4c7a,#2e95c1);color:#fff}.account-dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.account-header-left{display:flex;align-items:center;gap:12px}.account-logo{height:40px;filter:brightness(0) invert(1)}.account-header-left h1{margin:0;font-size:1.8rem;font-weight:600;letter-spacing:.5px}.version-badge{font-size:.75rem;color:#ffffffb3;padding:4px 8px;background:#ffffff1a;border-radius:4px;font-family:monospace;cursor:help}.account-header-right{display:flex;align-items:center;gap:20px}.user-greeting{font-size:.95rem;opacity:.9}.btn-logout{padding:8px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-logout:hover{background:#ffffff40}.account-dashboard-content{flex:1;padding:40px;max-width:1400px;margin:0 auto;width:100%}.account-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px}.account-left-column,.account-right-column{display:flex;flex-direction:column;gap:20px}.account-actions{margin-bottom:30px}.btn-new-project{padding:14px 28px;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#2e95c1,#3ba5d4);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2e95c14d}.btn-new-project:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2e95c166}.btn-new-project:active{transform:translateY(0)}.recent-projects-section{background:#ffffff0d;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.1)}.recent-projects-section h2{margin:0;font-size:1.3rem;font-weight:500;opacity:.9}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-view-all{padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.btn-view-all:hover{background:#fff3}.more-projects-hint{margin-top:16px;text-align:center;font-size:.9rem;opacity:.6;font-style:italic}.loading-state,.error-state,.empty-state{padding:40px;text-align:center;opacity:.8}.error-state button{margin-top:16px;padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;cursor:pointer}.error-state button:hover{background:#ffffff4d}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:#ffffff1a;border-radius:10px;padding:20px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.1);position:relative;min-height:90px}.project-card:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-card-header h3{margin:0;font-size:1.1rem;font-weight:500;line-height:1.3;word-break:break-word;flex:1}.btn-delete-project{position:absolute;bottom:12px;right:12px;background:transparent;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:.7;filter:grayscale(1) brightness(10);transition:all .2s ease}.btn-delete-project:hover{opacity:1;filter:grayscale(1) brightness(10);background:#ff64644d}.project-card-actions{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.project-card-actions button:not(.btn-delete-project){color:#fff;filter:grayscale(1) brightness(10);opacity:.7;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;font-size:1rem;cursor:pointer;border-radius:4px;transition:all .2s ease;box-sizing:border-box}.project-card-actions button:not(.btn-delete-project):hover{opacity:1;background:#fff3}.project-card-meta{margin-top:12px;font-size:.85rem;opacity:.7}.account-settings-section{background:#ffffff0d;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.1)}.account-settings-section h2{margin:0 0 20px;font-size:1.3rem;font-weight:500;opacity:.9}.settings-list{display:flex;flex-direction:column;gap:8px}.settings-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;color:#fff;width:100%}.settings-item:hover:not(:disabled){background:#ffffff26;transform:translate(4px)}.settings-item.disabled{opacity:.4;cursor:not-allowed}.settings-icon{font-size:1.4rem;width:32px;text-align:center}.settings-info{display:flex;flex-direction:column;gap:2px}.settings-name{font-size:1rem;font-weight:500}.settings-description{font-size:.8rem;opacity:.6}.account-dashboard-footer{padding:20px 40px;text-align:center;background:#0003;border-top:1px solid rgba(255,255,255,.1)}.account-dashboard-footer p{margin:0;font-size:.85rem;opacity:.7}@media(max-width:1024px){.account-dashboard-grid{grid-template-columns:1fr}.account-right-column{order:-1}}@media(max-width:768px){.account-dashboard-header{padding:16px 20px;flex-direction:column;gap:12px}.account-header-right{width:100%;justify-content:space-between}.account-dashboard-content{padding:20px}.projects-grid{grid-template-columns:1fr}}.export-button-container{position:relative}.btn-export{color:#fff;background:transparent;border:none;cursor:pointer;font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:4px;opacity:.5;transition:all .2s ease;box-sizing:border-box}.btn-export:hover{opacity:1;background:#ffffff26}.btn-export:disabled{cursor:wait;opacity:.5}.btn-export--done{color:#4caf50;opacity:1!important}.btn-export--error{color:#c00000;opacity:1!important}.export-dropdown{position:absolute;left:0;bottom:100%;margin-bottom:4px;background:#2b2b2b;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 4px 12px #0006;z-index:100;min-width:170px;padding:4px 0;animation:exportDropdownFadeIn .12s ease-out}@keyframes exportDropdownFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.export-dropdown-item{display:block;width:100%;background:none;border:none;color:#e0e0e0;padding:8px 14px;font-size:13px;text-align:left;cursor:pointer;transition:background .1s;white-space:nowrap}.export-dropdown-item:hover:not(:disabled){background:#ffffff1a}.export-dropdown-item--disabled{color:#666;cursor:not-allowed;font-style:italic}.export-dropdown-item--disabled:after{content:" (Coming Soon)";font-size:11px}:root{--export-modal-bg: #ffffff;--export-modal-text: #2d3748;--export-modal-text-muted: #718096;--export-modal-text-subtle: #a0aec0;--export-modal-border: #e2e8f0;--export-modal-border-light: #edf2f7;--export-modal-input-bg: #f7fafc;--export-modal-btn-bg: #f5f5f5;--export-modal-btn-hover-bg: #edf2f7;--export-modal-checkbox-hover: rgba(0, 0, 0, .04);--export-modal-shadow: 0 20px 60px rgba(0, 0, 0, .15)}.dark-theme{--export-modal-bg: #1e232b;--export-modal-text: #e0e0e0;--export-modal-text-muted: #8899aa;--export-modal-text-subtle: #666666;--export-modal-border: #3a4050;--export-modal-border-light: #2a3040;--export-modal-input-bg: #252a33;--export-modal-btn-bg: #252a33;--export-modal-btn-hover-bg: #2f3542;--export-modal-checkbox-hover: rgba(255, 255, 255, .04);--export-modal-shadow: 0 20px 60px rgba(0, 0, 0, .5)}.export-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10100;padding:20px}.export-modal{background:var(--export-modal-bg);color:var(--export-modal-text);border-radius:12px;width:480px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:var(--export-modal-shadow);display:flex;flex-direction:column}.export-modal-header{background:linear-gradient(135deg,#2e4c7a,#2e95c1);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.export-modal-header h3{margin:0;font-size:16px;font-weight:600}.export-modal-close{background:#fffffff2;border:1px solid rgba(255,255,255,1);color:#1e232b;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.export-modal-close:hover{background:#fff;transform:scale(1.05)}.export-modal-content{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.export-section{display:flex;flex-direction:column;gap:8px}.export-section-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--export-modal-text-muted);letter-spacing:.5px}.export-format-row{display:flex;gap:8px}.export-format-btn{flex:1;padding:10px 16px;border:1px solid var(--export-modal-border);border-radius:6px;background:var(--export-modal-btn-bg);color:var(--export-modal-text-muted);font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px;justify-content:center}.export-format-btn:hover:not(:disabled){border-color:var(--color-primary-light);color:var(--export-modal-text);background:var(--export-modal-btn-hover-bg)}.export-format-btn--active{border-color:#2e95c1;background:#2e95c126;color:#2e95c1;font-weight:600}.export-format-btn:disabled{opacity:.4;cursor:not-allowed}.export-format-badge{font-size:10px;background:var(--export-modal-border);padding:2px 6px;border-radius:3px;color:var(--export-modal-text-subtle)}.export-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.export-sheet-checkbox{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;cursor:pointer;transition:background .1s;font-size:13px}.export-sheet-checkbox:hover{background:var(--export-modal-checkbox-hover)}.export-sheet-checkbox input[type=checkbox]{accent-color:#2E95C1;width:15px;height:15px;cursor:pointer}.export-sheet-actions{display:flex;gap:12px;margin-top:2px}.export-sheet-action-link{background:none;border:none;color:#2e95c1;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.export-sheet-action-link:hover{color:#3fb8e8}.export-granularity-row{display:flex;gap:8px}.export-granularity-btn{flex:1;padding:8px 14px;border:1px solid var(--export-modal-border);border-radius:6px;background:var(--export-modal-btn-bg);color:var(--export-modal-text-muted);font-size:13px;cursor:pointer;transition:all .15s}.export-granularity-btn:hover{border-color:var(--color-primary-light);color:var(--export-modal-text);background:var(--export-modal-btn-hover-bg)}.export-granularity-btn--active{border-color:#2e95c1;background:#2e95c126;color:#2e95c1;font-weight:600}.export-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.export-toggle-label{font-size:13px;color:var(--export-modal-text)}.export-toggle-switch{position:relative;width:40px;height:22px;cursor:pointer}.export-toggle-switch input{opacity:0;width:0;height:0}.export-toggle-slider{position:absolute;inset:0;background:var(--export-modal-border);border-radius:11px;transition:background .2s}.export-toggle-slider:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:#ccc;border-radius:50%;transition:transform .2s}.export-toggle-switch input:checked+.export-toggle-slider{background:#2e95c1}.export-toggle-switch input:checked+.export-toggle-slider:before{transform:translate(18px);background:#fff}.export-password-input{width:100%;padding:8px 12px;border:1px solid var(--export-modal-border);border-radius:6px;background:var(--export-modal-input-bg);color:var(--export-modal-text);font-size:13px;transition:border-color .15s}.export-password-input:focus{outline:none;border-color:#2e95c1}.export-password-input::placeholder{color:var(--export-modal-text-subtle)}.export-password-hint{font-size:11px;color:var(--export-modal-text-subtle);margin-top:2px}.export-modal-footer{padding:14px 20px;border-top:1px solid var(--export-modal-border-light);display:flex;justify-content:flex-end;gap:10px}.export-btn-cancel{padding:8px 20px;border:1px solid var(--export-modal-border);border-radius:6px;background:transparent;color:var(--export-modal-text-muted);font-size:13px;cursor:pointer;transition:all .15s}.export-btn-cancel:hover{border-color:var(--color-primary-light);color:var(--export-modal-text)}.export-btn-export{padding:8px 24px;border:none;border-radius:6px;background:linear-gradient(135deg,#2e95c1,#2474a0);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.export-btn-export:hover:not(:disabled){background:linear-gradient(135deg,#3ba8d4,#2e95c1);transform:translateY(-1px)}.export-btn-export:disabled{opacity:.5;cursor:not-allowed}.project-list-panel{display:flex;flex-direction:column;gap:20px}.panel-header-content{margin-bottom:10px}.panel-section{background:#ffffff0d;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.1)}.panel-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-section .section-header h2{margin:0;font-size:1.3rem;font-weight:500;opacity:.9;color:#fff}.panel-section .btn-view-all{padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.panel-section .btn-view-all:hover{background:#fff3}.panel-loading-state,.panel-error-state,.panel-empty-state{padding:40px;text-align:center;opacity:.8;color:#fff}.panel-error-state button{margin-top:16px;padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;cursor:pointer}.panel-error-state button:hover{background:#ffffff4d}.panel-items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1200px){.panel-items-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.panel-items-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.panel-items-grid{grid-template-columns:1fr}}.panel-item-card{background:#ffffff1a;border-radius:10px;padding:20px 20px 48px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.1);position:relative;min-height:130px}.panel-item-card:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.panel-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-item-header h3{margin:0;font-size:1.1rem;font-weight:500;line-height:1.3;word-break:break-word;flex:1;color:#fff}.panel-item-badge{flex-shrink:0}.panel-item-badge .permission-badge{font-size:.75rem;font-weight:500;background:#2e95c1cc;color:#fff;padding:4px 10px;border-radius:4px;white-space:nowrap}.panel-item-actions{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.panel-item-actions button{color:#fff;filter:grayscale(1) brightness(10);opacity:.7;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;font-size:1rem;cursor:pointer;border-radius:4px;transition:all .2s ease;box-sizing:border-box}.panel-item-actions button:hover{opacity:1;background:#fff3}.panel-item-actions button.btn-delete:hover{background:#ff64644d}.panel-item-metrics{display:flex;gap:12px;margin-top:10px;padding:8px 0 4px;border-top:1px solid rgba(255,255,255,.08)}.panel-item-metrics .metric{display:flex;flex-direction:column;align-items:center;flex:1}.panel-item-metrics .metric-value{font-size:.95rem;font-weight:600;color:#fffffff2;line-height:1.2}.panel-item-metrics .metric-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#fff6;margin-top:1px}.panel-item-footer{position:absolute;bottom:8px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between}.panel-item-footer-left,.panel-item-footer-right{display:flex;align-items:center;gap:6px}.btn-card-action{color:#fff;opacity:.5;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;border-radius:4px;transition:all .2s ease}.btn-card-action:hover{opacity:1;background:#ffffff26}.btn-card-action--delete:hover{background:#ff64644d}.panel-item-meta{display:block;font-size:.75rem;opacity:.4;color:#fff;margin-top:4px}.panel-more-hint{margin-top:16px;text-align:center;font-size:.9rem;opacity:.6;font-style:italic;color:#fff}.capex-tab{padding:20px;background:var(--color-bg-tertiary);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:center!important;padding-left:12px!important}.capex-table .amount-header{min-width:100px;text-align:center!important}.capex-table .units-header{width:50px;min-width:50px;max-width:50px;text-align:center!important}.capex-table .perunit-header{min-width:80px;text-align:center!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:center!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 .editable-cell-wrapper{width:100%}.capex-table .editable-cell-input{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);background:transparent;box-shadow:none}.capex-table .editable-cell-input:hover{border-color:#dee2e6}.capex-table .editable-cell-input:focus{outline:none;border-color:#2e95c1;background:#fff;box-shadow:none}.capex-table .editable-cell-input.edited,.capex-table .editable-cell-input[data-edited=true]{color:#2e95c1;font-weight:500}.capex-table .accounting-cell-display{padding:4px 6px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-small);background:transparent}.capex-table .accounting-cell-display:hover{border-color:#dee2e6}.capex-table .accounting-cell-display.edited,.capex-table .accounting-cell-display.edited .dollar-sign,.capex-table .accounting-cell-display.edited .number-part,.capex-table .accounting-cell-display[data-edited=true],.capex-table .accounting-cell-display[data-edited=true] .dollar-sign,.capex-table .accounting-cell-display[data-edited=true] .number-part{color:#2e95c1;font-weight:500}.capex-table .editable-cell-edit-indicator{font-size:9px;left:4px}.capex-table .units-cell{text-align:center;width:50px;min-width:50px;max-width:50px}.capex-table .units-cell .editable-cell-input.edited,.capex-table .units-cell .editable-cell-input[data-edited=true]{color:#2e95c1;font-weight:500}.capex-table .perunit-cell{text-align:right}.capex-table .perunit-cell .editable-cell-input{color:#6c757d}.capex-table .perunit-cell .editable-cell-input:focus{color:#212529}.capex-table .perunit-cell .editable-cell-input.edited,.capex-table .perunit-cell .editable-cell-input[data-edited=true]{color:#2e95c1;font-weight:500}.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-units{text-align:center}.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{text-align:right}.capex-table .total-units{text-align:center}.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}}.institutional-theme{--inst-bg-primary: #0F172A;--inst-bg-secondary: #1E293B;--inst-bg-tertiary: #334155;--inst-bg-hover: #475569;--inst-bg-active: #64748B;--inst-text-primary: #F8FAFC;--inst-text-secondary: #94A3B8;--inst-text-muted: #64748B;--inst-text-inverse: #0F172A;--inst-positive: #10B981;--inst-positive-dim: rgba(16, 185, 129, .2);--inst-negative: #F43F5E;--inst-negative-dim: rgba(244, 63, 94, .2);--inst-warning: #F59E0B;--inst-warning-dim: rgba(245, 158, 11, .2);--inst-neutral: #3B82F6;--inst-neutral-dim: rgba(59, 130, 246, .2);--inst-border: #334155;--inst-border-light: #475569;--inst-border-focus: #3B82F6;--inst-chart-debt: #3B82F6;--inst-chart-equity: #10B981;--inst-chart-preferred: #8B5CF6;--inst-chart-noi: #10B981;--inst-chart-ds: #F43F5E;--inst-chart-grid: #334155;--inst-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--inst-shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--inst-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--inst-shadow-glow: 0 0 15px rgba(16, 185, 129, .3);--inst-font-primary: var(--font-family-primary);--inst-spacing-xs: 4px;--inst-spacing-sm: 8px;--inst-spacing-md: 16px;--inst-spacing-lg: 24px;--inst-spacing-xl: 32px;--inst-radius-sm: 4px;--inst-radius-md: 6px;--inst-radius-lg: 8px;background-color:var(--inst-bg-primary);color:var(--inst-text-primary);font-family:var(--inst-font-primary);min-height:100%}.institutional-theme .inst-card{background-color:var(--inst-bg-secondary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-md);padding:var(--inst-spacing-md);box-shadow:var(--inst-shadow)}.institutional-theme .inst-card-header{color:var(--inst-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--inst-spacing-sm)}.institutional-theme .inst-input{background-color:var(--inst-bg-tertiary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-sm);color:var(--inst-text-primary);padding:var(--inst-spacing-sm) var(--inst-spacing-md);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.institutional-theme .inst-input:focus{outline:none;border-color:var(--inst-border-focus);box-shadow:0 0 0 2px #3b82f633}.institutional-theme .inst-input::placeholder{color:var(--inst-text-muted)}.institutional-theme .metric-positive{color:var(--inst-positive)}.institutional-theme .metric-negative{color:var(--inst-negative)}.institutional-theme .metric-warning{color:var(--inst-warning)}.institutional-theme .metric-neutral{color:var(--inst-text-secondary)}.institutional-theme::-webkit-scrollbar{width:8px;height:8px}.institutional-theme::-webkit-scrollbar-track{background:var(--inst-bg-primary)}.institutional-theme::-webkit-scrollbar-thumb{background:var(--inst-bg-tertiary);border-radius:4px}.institutional-theme::-webkit-scrollbar-thumb:hover{background:var(--inst-bg-hover)}.institutional-tab{display:flex;flex-direction:column;min-height:calc(100vh - 120px);padding:14px;gap:14px}.metric-ribbon{position:sticky;top:0;z-index:10;background-color:var(--inst-bg-secondary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-md);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--inst-shadow-lg)}.metric-ribbon-title{color:var(--inst-text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.metric-ribbon-cards{display:flex;gap:20px;flex:1;justify-content:space-around}.metric-card{display:flex;flex-direction:column;align-items:center;min-width:100px}.metric-card-label{color:var(--inst-text-secondary);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.metric-card-value{font-family:var(--inst-font-primary);font-size:32px;font-weight:800;line-height:1;text-shadow:0 0 20px rgba(248,250,252,.1)}.metric-card-value.positive{color:var(--inst-positive);text-shadow:0 0 20px rgba(16,185,129,.3)}.metric-card-value.negative{color:var(--inst-negative);text-shadow:0 0 20px rgba(244,63,94,.2)}.metric-card-value.warning{color:var(--inst-warning);text-shadow:0 0 20px rgba(245,158,11,.2)}.metric-card-value.neutral{color:var(--inst-text-secondary)}.command-center{display:flex;gap:14px;flex:1}.left-rail{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:14px}.left-rail-section{background-color:var(--inst-bg-secondary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-md);padding:14px}.left-rail-section-header{color:var(--inst-text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--inst-border)}.left-rail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--inst-spacing-sm) 0}.left-rail-label{color:var(--inst-text-secondary);font-size:12px}.left-rail-value{color:var(--inst-text-primary);font-family:var(--inst-font-primary);font-size:13px;text-align:right}.left-rail-input{width:100px;background-color:var(--inst-bg-tertiary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-sm);color:var(--inst-text-primary);padding:4px 8px;font-family:var(--inst-font-primary);font-size:13px;text-align:right}.left-rail-input:focus{outline:none;border-color:var(--inst-border-focus)}.visual-pulse{flex:1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:14px;min-height:500px}.visual-pulse-card{background-color:var(--inst-bg-secondary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-md);padding:14px;display:flex;flex-direction:column}.visual-pulse-card-header{color:var(--inst-text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.visual-pulse-card-content{flex:1;display:flex;align-items:center;justify-content:center;min-height:200px;width:100%}.su-display{width:100%;font-family:var(--inst-font-primary)}.su-display-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--inst-spacing-md)}.su-display-column{display:flex;flex-direction:column}.su-display-header{color:var(--inst-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding-bottom:var(--inst-spacing-sm);border-bottom:1px solid var(--inst-border);margin-bottom:var(--inst-spacing-sm)}.su-display-items{display:flex;flex-direction:column;gap:2px}.su-display-item{display:grid;grid-template-columns:1fr auto auto;gap:var(--inst-spacing-sm);padding:6px 8px;border-radius:var(--inst-radius-sm);font-size:12px}.su-display-item.debt{background-color:#3b82f626;border-left:3px solid var(--inst-chart-debt)}.su-display-item.equity{background-color:#10b98126;border-left:3px solid var(--inst-chart-equity)}.su-display-item.uses{background-color:#64748b26;border-left:3px solid var(--inst-text-muted)}.su-display-item.empty{visibility:hidden}.su-item-label{color:var(--inst-text-primary);font-weight:500}.su-item-value{color:var(--inst-text-primary);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.su-item-pct{color:var(--inst-text-muted);font-size:11px;text-align:right;min-width:40px}.su-display-total{display:flex;justify-content:space-between;padding:var(--inst-spacing-sm) var(--inst-spacing-sm);margin-top:var(--inst-spacing-sm);border-top:1px solid var(--inst-border);font-weight:700}.su-total-label{color:var(--inst-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.su-total-value{color:var(--inst-text-primary);font-size:14px;font-variant-numeric:tabular-nums}.su-display-gap{display:flex;justify-content:space-between;padding:var(--inst-spacing-sm) var(--inst-spacing-md);margin-top:var(--inst-spacing-sm);border-radius:var(--inst-radius-sm);font-weight:600;font-size:12px}.su-display-gap.shortfall{background-color:var(--inst-negative-dim);border:1px solid var(--inst-negative)}.su-display-gap.shortfall .su-gap-label,.su-display-gap.shortfall .su-gap-value{color:var(--inst-negative)}.su-display-gap.excess{background-color:var(--inst-positive-dim);border:1px solid var(--inst-positive)}.su-display-gap.excess .su-gap-label,.su-display-gap.excess .su-gap-value{color:var(--inst-positive)}.heat-map-container{width:100%}.heat-map-grid{display:grid;grid-template-columns:auto repeat(5,1fr);gap:2px;font-family:var(--inst-font-primary);font-size:13px}.heat-map-header{color:var(--inst-text-secondary);font-weight:600;text-align:center;padding:6px 4px}.heat-map-row-label{color:var(--inst-text-secondary);font-weight:500;text-align:right;padding:8px 8px 8px 0;display:flex;align-items:center;justify-content:flex-end}.heat-map-cell{text-align:center;padding:8px 4px;border-radius:var(--inst-radius-sm);font-weight:600;transition:transform .1s ease}.heat-map-cell:hover{transform:scale(1.05);z-index:1}.heat-map-cell.base-case{border:2px solid var(--inst-text-primary)}.gauge-container{width:100%;display:flex;flex-direction:column;align-items:center}.gauge-svg{max-width:200px}.gauge-value{font-family:var(--inst-font-primary);font-size:28px;font-weight:700;margin-top:var(--inst-spacing-sm)}.gauge-label{color:var(--inst-text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.05em}@media(max-width:1200px){.command-center{flex-direction:column}.left-rail{width:100%;flex-direction:row;flex-wrap:wrap}.left-rail-section{flex:1;min-width:200px}.visual-pulse{grid-template-columns:1fr;min-height:auto}.visual-pulse-card{min-height:300px}}@media(max-width:768px){.metric-ribbon{flex-direction:column;gap:var(--inst-spacing-md)}.metric-ribbon-cards{flex-wrap:wrap;justify-content:center}.metric-card{min-width:80px}.metric-card-value{font-size:24px}}.institutional-tab.density-compact .metric-ribbon{padding:var(--inst-spacing-sm) var(--inst-spacing-md)}.institutional-tab.density-compact .metric-card-value{font-size:26px}.institutional-tab.density-compact .left-rail{width:240px}.institutional-tab.density-comfortable .metric-card-value{font-size:36px}.institutional-tab.density-comfortable .left-rail{width:320px}.risk-banner{background-color:var(--inst-bg-secondary);border:1px solid var(--inst-border);border-radius:var(--inst-radius-md);overflow:hidden}.risk-banner-main{display:flex;align-items:center;gap:20px;padding:14px 20px;flex-wrap:wrap}.risk-status-badge{display:flex;align-items:center;gap:var(--inst-spacing-sm);padding:var(--inst-spacing-sm) var(--inst-spacing-md);border-radius:var(--inst-radius-sm);font-weight:600;font-size:13px}.risk-status-badge.status-low{background-color:var(--inst-positive-dim);border:1px solid var(--inst-positive);color:var(--inst-positive)}.risk-status-badge.status-moderate{background-color:var(--inst-warning-dim);border:1px solid var(--inst-warning);color:var(--inst-warning)}.risk-status-badge.status-elevated{background-color:#f9731633;border:1px solid #F97316;color:#f97316}.risk-status-badge.status-high{background-color:var(--inst-negative-dim);border:1px solid var(--inst-negative);color:var(--inst-negative)}.risk-status-icon{font-size:14px}.risk-status-label{color:var(--inst-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.risk-status-value{font-weight:700}.risk-primary{flex:1;min-width:200px}.risk-primary-label{color:var(--inst-text-secondary);font-size:12px;font-weight:500;margin-right:var(--inst-spacing-sm)}.risk-primary-value{color:var(--inst-text-primary);font-size:13px}.risk-constraint-badge{display:flex;align-items:center;gap:var(--inst-spacing-xs);padding:var(--inst-spacing-xs) var(--inst-spacing-sm);background-color:var(--inst-neutral-dim);border:1px solid var(--inst-neutral);border-radius:var(--inst-radius-sm);font-size:12px}.risk-constraint-label{color:var(--inst-text-secondary);font-weight:500}.risk-constraint-value{color:var(--inst-neutral);font-weight:700}.risk-expand-toggle{display:flex;align-items:center;gap:var(--inst-spacing-xs);background:none;border:1px solid var(--inst-border);border-radius:var(--inst-radius-sm);padding:var(--inst-spacing-xs) var(--inst-spacing-sm);color:var(--inst-text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.risk-expand-toggle:hover{background-color:var(--inst-bg-tertiary);border-color:var(--inst-border-light)}.risk-expand-icon{font-size:10px;transition:transform .2s ease}.risk-expand-icon.expanded{transform:rotate(180deg)}.risk-mitigant-row{padding:var(--inst-spacing-sm) var(--inst-spacing-lg);background-color:var(--inst-bg-tertiary);border-top:1px solid var(--inst-border)}.risk-mitigant-label{color:var(--inst-positive);font-size:12px;font-weight:600;margin-right:var(--inst-spacing-sm)}.risk-mitigant-value{color:var(--inst-text-primary);font-size:13px}.risk-flags-panel{border-top:1px solid var(--inst-border);max-height:300px;overflow-y:auto}.risk-flags-header{display:grid;grid-template-columns:180px 80px 1fr 1fr;gap:var(--inst-spacing-md);padding:var(--inst-spacing-sm) var(--inst-spacing-lg);background-color:var(--inst-bg-tertiary);border-bottom:1px solid var(--inst-border);font-size:11px;font-weight:600;color:var(--inst-text-secondary);text-transform:uppercase;letter-spacing:.05em}.risk-flag-row{display:grid;grid-template-columns:180px 80px 1fr 1fr;gap:var(--inst-spacing-md);padding:var(--inst-spacing-sm) var(--inst-spacing-lg);border-bottom:1px solid var(--inst-border);font-size:12px;transition:background-color .15s ease}.risk-flag-row:last-child{border-bottom:none}.risk-flag-row:hover{background-color:var(--inst-bg-tertiary)}.risk-flag-row.flagged{background-color:#f43f5e0d}.risk-flag-name{color:var(--inst-text-primary);font-weight:500}.risk-flag-severity{font-weight:700;text-align:center;padding:2px 8px;border-radius:var(--inst-radius-sm)}.risk-flag-severity.severity-high{background-color:var(--inst-negative-dim);color:var(--inst-negative)}.risk-flag-severity.severity-medium{background-color:var(--inst-warning-dim);color:var(--inst-warning)}.risk-flag-severity.severity-low{background-color:var(--inst-positive-dim);color:var(--inst-positive)}.risk-flag-detail{color:var(--inst-text-secondary)}.risk-flag-mitigant{color:var(--inst-text-muted);font-style:italic}@media(max-width:1200px){.risk-banner-main{gap:var(--inst-spacing-md)}.risk-flags-header,.risk-flag-row{grid-template-columns:150px 70px 1fr}.risk-flags-header .risk-flags-col:last-child,.risk-flag-row .risk-flag-mitigant{display:none}}@media(max-width:768px){.risk-banner-main{flex-direction:column;align-items:flex-start}.risk-primary{width:100%}.risk-flags-header,.risk-flag-row{grid-template-columns:1fr 70px}.risk-flags-header .risk-flags-col:nth-child(3),.risk-flag-row .risk-flag-detail{display:none}}.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 th.acquisition-column{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;min-width:100px;max-width:100px;text-align:center}.waterfall-table td.acquisition-column{background:#fff9e6!important;color:#1f2937;font-weight:600;text-align:right;padding:2px;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}.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 .section-header-row.colored-section td{background:var(--equity-header-bg)!important;background-color:var(--equity-header-bg)!important;color:var(--equity-header-text)!important}.waterfall-table .section-header-row.colored-section td.collapse-button-cell{background-color:var(--equity-header-bg)!important;color:var(--equity-header-text)!important;box-shadow:5px 0 0 0 var(--equity-header-bg)!important}.waterfall-table .section-header-row.colored-section td.collapse-button-cell .section-collapse-button{color:var(--equity-header-text)!important;border-color:var(--equity-header-text)!important}.waterfall-table .section-header-row.colored-section td.line-item-cell,.waterfall-table .section-header-row.colored-section td.section-header-cell,.waterfall-table .section-header-row.colored-section td.section-header-filler{background:var(--equity-header-bg)!important;background-color:var(--equity-header-bg)!important;color:var(--equity-header-text)!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}}.waterfall-table tr.hurdle-row.tier-header td.line-item-cell{padding-left:16px!important;font-size:11px!important;font-weight:600!important;color:#374151!important;font-style:normal;background-color:#f8fafc!important}.waterfall-table tr.hurdle-row.tier-header td.month-cell,.waterfall-table tr.hurdle-row.tier-header td.total-cell{background-color:#f8fafc!important;font-size:11px!important;font-weight:600!important;color:#374151!important}.waterfall-table tr.hurdle-row.tier-header td.month-even{background-color:#f1f5f9!important}.waterfall-table tr.hurdle-row.tier-header td.total-cell{background-color:#e2efda!important}.waterfall-table tr.hurdle-row.tier-detail td.line-item-cell{padding-left:32px!important;font-size:10px!important;color:#6b7280!important;font-style:italic}.waterfall-table tr.hurdle-row.tier-detail td.month-cell,.waterfall-table tr.hurdle-row.tier-detail td.total-cell{background-color:#fefefe!important;font-size:10px!important;color:#6b7280!important}.waterfall-table tr.hurdle-row.tier-detail td.month-even{background-color:#f9fafb!important}.waterfall-table tr.hurdle-row.tier-detail td.total-cell{background-color:#f0f7ed!important}.waterfall-table tr.hurdle-row:not(.tier-header):not(.tier-detail) td.line-item-cell{padding-left:24px!important;font-size:11px!important;color:#4b5563!important;font-style:italic}.waterfall-table tr.hurdle-row:not(.tier-header):not(.tier-detail) td.month-cell,.waterfall-table tr.hurdle-row:not(.tier-header):not(.tier-detail) td.total-cell{background-color:#fafafa!important;font-size:11px!important;color:#4b5563!important}.waterfall-table tr.hurdle-row:not(.tier-header):not(.tier-detail) td.month-even{background-color:#f0f0f0!important}.waterfall-table tr.hurdle-row:not(.tier-header):not(.tier-detail) td.total-cell{background-color:#e8f4df!important}.fees-waterfall-tab{padding:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--color-bg-tertiary)}.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){background-color:#f8f9fa}.hurdles-table tbody tr:nth-child(2n){background-color:var(--card-tint-color, #f8f9fa)}.hurdles-table tbody tr:nth-child(odd){background-color:#fff}.fees-table tbody tr:hover,.preferred-equity-table tbody tr:hover{background-color:#e8f4fc}.hurdles-table tbody tr:hover{background-color:var(--card-tint-color, #e8f4fc);filter:brightness(.95)}.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:14px;font-family:var(--font-family-primary);color:#374151;font-weight:500}.currency-input-wrapper{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;background-color:#fff;padding:0 .5rem;min-width:140px}.currency-input-wrapper:focus-within{border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c133}.currency-symbol{font-size:.875rem;color:#666;flex-shrink:0}.currency-input{flex:1;border:none!important;background:transparent!important;text-align:right;padding:.5rem 0 .5rem .25rem;font-size:.875rem;min-width:0}.currency-input:focus{outline:none;box-shadow:none!important}.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-module{width:800px;max-width:100%;margin:0 auto 1rem}.equity-classes-section{padding:1rem}.equity-total-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;margin-bottom:1rem}.equity-total-label{font-size:1rem;font-weight:600;color:#333;text-transform:uppercase}.equity-total-value{font-size:1rem;font-weight:700;color:var(--color-primary, #2E4C7A)}.add-class-dropdown-wrapper{position:relative;display:inline-block}.btn-add-equity{background-color:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8125rem;font-weight:600;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0000001a}.btn-add-equity:hover{background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.btn-add-equity:active{transform:translateY(0)}.add-class-dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:160px;overflow:hidden}.add-class-dropdown-item{display:block;width:100%;padding:10px 14px;text-align:left;background:#fff;border:none;cursor:pointer;font-size:.875rem;color:#333;transition:background-color .15s}.add-class-dropdown-item:hover{background-color:#f0f7ff}.add-class-dropdown-item:not(:last-child){border-bottom:1px solid #eee}.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;background-color:var(--card-tint-color, #f8f9fa)}.class-equity-row{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.class-details h4{margin:1rem 0 .5rem;color:var(--card-accent-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:#fff;border:1px dashed var(--card-accent-color, #2E95C1);color:var(--card-accent-color, #2E95C1);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-add-hurdle:hover{background-color:var(--card-tint-color, #e8f4fc)}.end-hurdle-row{background-color:var(--card-tint-color, #f0f7ff)!important;border-top:2px solid var(--card-accent-color, #2E95C1)}.end-hurdle-row td{font-weight:600}.end-hurdle-row .btn-remove:disabled{opacity:.3;cursor:not-allowed}.above-prefix{color:var(--card-accent-color, #2E95C1);font-weight:600;font-size:.75rem;margin-right:4px;text-transform:uppercase}.readonly-threshold{display:inline-block;width:60px;padding:.25rem;text-align:right;font-weight:600;color:var(--card-accent-color, #2E95C1)}.end-hurdle-row .input-with-unit{display:flex;align-items:center}.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}.advanced-settings-section{padding:1rem}.settings-description{margin:0 0 1.5rem;color:#555;font-size:14px;font-family:var(--font-family-primary);line-height:1.5}.methodology-link{display:inline-block;margin-left:1rem;color:#2e95c1;text-decoration:none;font-weight:500;transition:color .2s}.methodology-link:hover{color:#267a9e;text-decoration:underline}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-label{font-size:14px;font-family:var(--font-family-primary);font-weight:600;color:#333;text-transform:uppercase}.setting-label.checkbox-label{display:flex;align-items:center;gap:.5rem;text-transform:none;cursor:pointer}.setting-label.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.setting-select{padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:var(--font-family-primary);background-color:#fff;cursor:pointer}.setting-select:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c133}.setting-input{width:80px;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:var(--font-family-primary);text-align:right}.setting-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c133}.setting-help{font-size:13px;font-family:var(--font-family-primary);color:#666;line-height:1.4;font-style:italic}.settings-summary{padding:.75rem 1rem;background-color:#e8f4fc;border-radius:6px;border-left:4px solid #2E95C1;font-size:14px;font-family:var(--font-family-primary)}.settings-summary strong{margin-right:.5rem;color:#2e4c7a}.expandable-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.waterfall-settings-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:700px;width:90%;max-height:90vh;overflow-y:auto}.expandable-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#2e4c7a,#3a5a8a);color:#fff;border-radius:8px 8px 0 0}.expandable-modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.btn-close-modal{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .2s}.btn-close-modal:hover{opacity:1}.expandable-modal-content{padding:1.5rem}.expandable-modal-content .settings-description{margin-bottom:1.5rem}.expandable-modal-content .settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.expandable-modal-content .settings-summary{margin-top:1rem}@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}.settings-grid{grid-template-columns:1fr}.methodology-link{display:block;margin-left:0;margin-top:.5rem}}.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,.rent-roll-table thead th.collapse-button-col-header{position:sticky!important;left:0!important;z-index:15!important;background-color:var(--table-collapse-bg)!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 0 0 var(--table-collapse-bg)!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,.rent-roll-table td.collapse-button-cell{position:sticky!important;left:0!important;z-index:4!important;background-color:var(--table-collapse-bg)!important;width:40px;min-width:40px;max-width:40px;border:none!important;box-shadow:5px 0 0 0 var(--table-collapse-bg)!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:var(--color-table-line-item-bg)!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,.gp-fees-table th,.metrics-table th,.sources-uses-table th,.input-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:center!important;text-transform:uppercase;letter-spacing:.3px;border:1px solid var(--color-table-border);font-size:var(--font-size-table);padding:6px 8px}.data-table td,.rent-roll-table td{padding:8px 12px;border:1px solid var(--color-border);color:var(--color-text-primary);background:var(--table-cell-bg);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:nth-child(odd) td:not(.collapse-button-cell),.rent-roll-table tbody tr:nth-child(odd) td:not(.collapse-button-cell){background:var(--table-cell-odd)}.data-table tbody tr:nth-child(2n) td:not(.collapse-button-cell),.rent-roll-table tbody tr:nth-child(2n) td:not(.collapse-button-cell){background:var(--table-cell-even)}.data-table tbody tr:hover td:not(.collapse-button-cell),.rent-roll-table tbody tr:hover td:not(.collapse-button-cell){background:var(--table-cell-hover)}.data-table input:not([type=checkbox]):not([type=radio]),.data-table td input:not([type=checkbox]):not([type=radio]),.rent-roll-table input:not([type=checkbox]):not([type=radio]),.rent-roll-table td input:not([type=checkbox]):not([type=radio]),.data-table .accounting-cell,.rent-roll-table .accounting-cell{background:transparent!important;background-color:transparent!important}.data-table td,.rent-roll-table td{color:var(--table-text)}.data-table .dollar-sign,.rent-roll-table .dollar-sign{color:var(--table-dollar-sign)}.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:var(--color-table-total-bg);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading)}.rent-roll-table tbody tr.grand-row td{background:var(--color-table-total-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 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)}.data-table .edited-value,.rent-roll-table .edited-value,.data-table input.edited-value,.rent-roll-table input.edited-value{color:#00f}.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}.cell-readonly{background-color:var(--table-cell-readonly)!important;font-style:italic}.cell-editable{position:relative}.edit-indicator{position:absolute;left:2px;top:50%;transform:translateY(-50%);font-size:10px;opacity:.6;pointer-events:none}.table-input{width:100%;text-align:right;border:none;background:transparent;padding:4px;color:inherit;font-family:inherit;font-size:inherit}.mappings-manager-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.mappings-manager-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.mappings-manager-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#1e232b,#2e95c1);color:#fff;border-radius:8px 8px 0 0;position:relative}.mappings-manager-header h2{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}.mappings-manager-header .btn-go-back{background:transparent;border:none;color:#fff;font-size:.9rem;cursor:pointer;padding:4px 8px;opacity:.8;transition:opacity .2s;display:flex;align-items:center;gap:4px;position:absolute;left:20px}.mappings-manager-header .btn-go-back:hover{opacity:1}.mappings-manager-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;position:absolute;right:20px}.mappings-manager-header .btn-close:hover{opacity:1}.mappings-manager-body{flex:1;overflow-y:auto;padding:16px}.mappings-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:12px;text-align:center}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:#1e232b;margin-bottom:4px}.stat-card .stat-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-card.user{border-left:3px solid #28a745}.stat-card.global{border-left:3px solid #2E95C1}.stat-card.warning{border-left:3px solid #dc3545}.mappings-controls{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.mappings-controls .search-input{flex:1;min-width:180px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:.85rem}.mappings-controls .search-input:focus{outline:none;border-color:#2e95c1;box-shadow:0 0 0 2px #2e95c126}.mappings-controls select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background:#fff;cursor:pointer}.mappings-controls select:focus{outline:none;border-color:#2e95c1}.mappings-controls .btn-danger{padding:6px 12px;border:1px solid #dc3545;background:transparent;color:#dc3545;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.mappings-controls .btn-danger:hover{background:#dc3545;color:#fff}.mappings-alert{padding:10px 12px;border-radius:4px;margin-bottom:12px;font-size:.85rem;border-left:3px solid #ffc107;background:#fff8e6;color:#856404}.mappings-table-container{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.mappings-table{width:100%;border-collapse:collapse;font-size:.85rem}.mappings-table thead{background:#f5f5f5;position:sticky;top:0;z-index:1}.mappings-table th{padding:8px 10px;text-align:left;font-weight:600;color:#555;font-size:.8rem;border-bottom:2px solid #e0e0e0}.mappings-table th.col-source,.mappings-table th.col-arrow,.mappings-table th.col-freq,.mappings-table th.col-actions{text-align:center;width:60px}.mappings-table th.col-category{width:80px}.mappings-table tbody tr{border-bottom:1px solid #eee;transition:background .15s}.mappings-table tbody tr:hover{background:#f8f9fa}.mappings-table tbody tr.global-row{background:#f0f9ff}.mappings-table tbody tr.global-row:hover{background:#e0f2fe}.mappings-table tbody tr.suspicious-row{background:#fff8e6}.mappings-table tbody tr.suspicious-row:hover{background:#fff3cd}.mappings-table td{padding:8px 10px}.mappings-table td.col-source{text-align:center}.mappings-table td.col-arrow{text-align:center;color:#999}.mappings-table td.col-freq{text-align:center;font-family:Courier New,monospace;color:#666}.mappings-table td.col-actions{text-align:center}.source-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;cursor:help}.source-badge.source-user{background:#e8f5e9;color:#28a745}.source-badge.source-global{background:#e0f2fe;color:#2e95c1}.t12-name{font-weight:500;color:#333}.warning-icon{display:inline-block;background:#ffc107;color:#000;border-radius:50%;width:16px;height:16px;text-align:center;line-height:16px;font-size:.7rem;font-weight:700;margin-right:6px}.mapped-name{color:#2e95c1;font-weight:500}.category-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.category-badge.expense{background:#e3f2fd;color:#1976d2}.category-badge.income{background:#e8f5e9;color:#388e3c}.btn-delete-small{background:transparent;border:1px solid #dc3545;color:#dc3545;padding:2px 8px;border-radius:3px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-delete-small:hover{background:#dc3545;color:#fff}.global-hint{color:#adb5bd;cursor:help}.mappings-loading,.mappings-empty{text-align:center;padding:40px 20px;color:#666}.mappings-empty p{margin:4px 0;font-size:.9rem}.mappings-manager-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-legend{font-size:.8rem;color:#666}.footer-legend .legend-item{display:inline-flex;align-items:center;gap:4px;margin-right:16px}.btn-close-footer{padding:6px 16px;border:1px solid #ccc;background:#fff;color:#666;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-close-footer:hover{background:#f0f0f0}@media(max-width:768px){.mappings-stats{grid-template-columns:repeat(2,1fr)}.mappings-manager-modal{width:95%;max-height:90vh}.mappings-controls{flex-direction:column}.mappings-controls .search-input{width:100%}}.module-dashboard{min-height:100vh;background:var(--color-bg-tertiary);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;filter:brightness(0) invert(1)}.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 12px;border-radius:4px;background:#ffffff1a;transition:all .2s}.project-name-display:hover{background:#fff3}.project-name-text{color:#fff;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer}.project-name-text:hover{text-decoration:underline}.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}.btn-share-project-header{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;margin-left:4px}.btn-share-project-header: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:8px;align-items:flex-end}.dashboard-actions .dropdown-menu{display:flex;align-items:flex-end}.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}.toolbar-clerk-group{display:flex;flex-direction:column;align-items:center;gap:2px}.toolbar-version-label{font-size:12px;color:#ffffffb3;font-family:monospace;line-height:1}.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-right .dropdown-content{left:auto;right:0}.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}.app-logo-clickable{cursor:pointer;transition:all .2s ease;padding:4px 8px;margin:-4px -8px;border-radius:6px}.app-logo-clickable:hover{background:#ffffff26;transform:translateY(-1px)}.app-logo-clickable:active{transform:translateY(0)}.project-name-text.active{font-weight:600}.project-dashboard-view{padding:20px;background:var(--color-bg-tertiary);min-height:calc(100vh - 120px)}@keyframes scroll-highlight-pulse{0%{box-shadow:0 0 #facc15e6}50%{box-shadow:0 0 0 10px #facc154d}to{box-shadow:0 0 0 4px #facc15b3}}.scroll-highlight{animation:scroll-highlight-pulse .8s ease-out forwards;background-color:#facc1533!important;box-shadow:0 0 0 4px #facc15b3;border-radius:4px}.pricing-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:24px;display:flex;flex-direction:column;position:relative;transition:border-color .2s,box-shadow .2s,transform .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pricing-card:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.pricing-card-recommended{border-color:#60a5fa;border-width:2px;background:#60a5fa26}.pricing-card-current{border-color:#10b981;background:#10b98126}.pricing-recommended-badge,.pricing-current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.pricing-recommended-badge{background:#2563eb;color:#fff}.pricing-current-badge{background:#10b981;color:#fff}.pricing-tier-name{margin:0 0 16px;font-size:20px;font-weight:600;color:#fff;text-align:center}.pricing-price{display:flex;align-items:baseline;justify-content:center;margin-bottom:4px}.pricing-currency{font-size:24px;font-weight:500;color:#ffffffb3}.pricing-amount{font-size:48px;font-weight:700;color:#fff;line-height:1}.pricing-period{font-size:16px;color:#ffffffb3;margin-left:4px}.pricing-billed-yearly{text-align:center;font-size:13px;color:#fff9;margin-bottom:16px}.pricing-included{border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:16px 0;margin:16px 0}.pricing-included-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffe6;padding:4px 0}.pricing-features{list-style:none;margin:0 0 24px;padding:0;flex:1}.pricing-feature{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#ffffffb3;padding:6px 0}.pricing-check{color:#34d399;font-weight:700;flex-shrink:0}.pricing-button{width:100%;padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.pricing-button:hover:not(:disabled){background:#1d4ed8}.pricing-button:disabled{background:#93c5fd4d;color:#ffffff80;cursor:not-allowed}.pricing-button-current{background:#10b981}.pricing-button-current:hover:not(:disabled){background:#10b981}.subscription-status{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:24px;margin:0 40px 32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.subscription-status-loading,.subscription-status-error,.subscription-status-empty{text-align:center;color:#ffffffb3}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.subscription-title{margin:0;font-size:18px;font-weight:600;color:#fff}.subscription-portal-btn{padding:8px 16px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.subscription-portal-btn:hover:not(:disabled){background:#ffffff40}.subscription-portal-btn:disabled{opacity:.5;cursor:not-allowed}.subscription-details{display:flex;flex-direction:column;gap:12px}.subscription-plan{display:flex;align-items:center;gap:12px}.subscription-tier{font-size:24px;font-weight:700;color:#fff}.subscription-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-active{background:#10b9814d;color:#6ee7b7}.status-trialing{background:#60a5fa4d;color:#93c5fd}.status-past-due{background:#fbbf244d;color:#fcd34d}.status-canceled,.status-unpaid{background:#ef44444d;color:#fca5a5}.status-incomplete{background:#ffffff1a;color:#ffffffb3}.subscription-trial{display:flex;align-items:center;gap:8px;padding:12px;background:#60a5fa33;border:1px solid rgba(96,165,250,.4);border-radius:8px;font-size:14px;color:#93c5fd}.subscription-trial-icon{font-size:16px}.subscription-trial-expired{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.subscription-grace{display:flex;align-items:center;gap:8px;padding:12px;background:#fbbf2433;border:1px solid rgba(251,191,36,.4);border-radius:8px;font-size:14px;color:#fcd34d}.subscription-grace-icon{font-size:16px}.subscription-canceled-notice{padding:12px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:8px;font-size:14px;color:#fca5a5}.subscription-no-plan{padding:12px;background:#ffffff0d;border-radius:8px;font-size:14px;color:#ffffffb3}.subscription-not-owner{margin-top:12px;padding:12px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);border-radius:8px;font-size:13px;color:#fff9;text-align:center}.subscription-loading{padding:24px;color:#ffffffb3}.subscription-error{padding:12px;background:#ef444433;border:1px solid rgba(239,68,68,.5);border-radius:8px;color:#fca5a5;font-size:14px}.subscription-empty{padding:24px;color:#ffffffb3}@media(max-width:768px){.subscription-status{margin:0 20px 24px;padding:20px}.subscription-header{flex-direction:column;align-items:flex-start;gap:12px}}.billing-page{min-height:100vh;background:linear-gradient(135deg,#1e232b,#2e4c7a,#2e95c1);color:#fff;padding:0}.billing-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.billing-header-left{display:flex;align-items:center;gap:16px}.billing-title{margin:0;font-size:1.8rem;font-weight:600;color:#fff}.billing-org-name{padding:4px 12px;background:#ffffff26;border-radius:12px;font-size:14px;color:#ffffffe6}.billing-back-link{padding:8px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;text-decoration:none;font-size:.9rem;transition:all .2s ease}.billing-back-link:hover{background:#ffffff40;text-decoration:none}.billing-error{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:12px 16px;border-radius:8px;margin:24px 40px;font-size:14px}.billing-no-org{text-align:center;padding:48px 24px;margin:40px;background:#ffffff1a;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.billing-no-org h2{margin:0 0 16px;font-size:20px;color:#fff}.billing-no-org p{margin:0 0 12px;color:#fffc;font-size:16px}.billing-hint{font-size:14px;color:#fff9}.billing-pricing-section{padding:32px 40px}.billing-pricing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.billing-pricing-title{margin:0;font-size:20px;font-weight:600;color:#fff}.billing-period-toggle{display:flex;background:#ffffff1a;border-radius:8px;padding:4px}.billing-period-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.billing-period-btn:hover{color:#fff}.billing-period-active{background:#fff3;color:#fff}.billing-save-badge{padding:2px 6px;background:#10b981;color:#fff;border-radius:4px;font-size:11px;font-weight:600}.billing-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.billing-checkout-loading{text-align:center;padding:24px;color:#60a5fa;font-size:16px;font-weight:500}.billing-info-section{background:#ffffff0d;border-radius:12px;padding:32px;margin:0 40px 40px;border:1px solid rgba(255,255,255,.1)}.billing-info-section h3{margin:0 0 24px;font-size:18px;font-weight:600;color:#fff}.billing-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.billing-faq-item h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#fff}.billing-faq-item p{margin:0;font-size:14px;color:#ffffffb3;line-height:1.5}@media(max-width:768px){.billing-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 20px}.billing-pricing-section{padding:24px 20px}.billing-pricing-header{flex-direction:column;align-items:flex-start}.billing-pricing-grid{grid-template-columns:1fr}.billing-info-section{margin:0 20px 20px;padding:24px}}.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}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-tertiary)}.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:var(--color-bg-tertiary);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}.footer-legal-links{pointer-events:auto;margin-left:12px}.footer-legal-links a{color:#6c757d;text-decoration:none;font-size:.8125rem;margin:0 4px;transition:color .15s}.footer-legal-links a:hover{color:#2e95c1;text-decoration:underline}.auth-legal-links{margin-top:20px;display:flex;gap:10px;align-items:center}.auth-legal-links a{color:#ffffffb3;text-decoration:none;font-size:.8125rem;transition:color .15s}.auth-legal-links a:hover{color:#fff}.auth-legal-links span{color:#fff6;font-size:.75rem}.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-header-border: #1E3A5F;--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;--table-cell-bg: #FFFFFF;--table-cell-odd: #FFFFFF;--table-cell-even: #F8FAFC;--table-cell-hover: #EDF2F7;--table-cell-readonly: #F8F9FA;--table-collapse-bg: #FFFFFF;--table-expense-name-bg: #F4CDB0;--table-income-name-bg: #FFFFCC;--table-totals-bg: #D0CECE;--table-grand-bg: #cbd5e0;--table-summary-bg: #f7fafc;--table-highlight-bg: #edf2f7;--table-text: #2d3748;--table-text-muted: #718096;--table-text-edited: #0000FF;--table-dollar-sign: #000000;--table-row-border: #e2e8f0;--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}.dark-theme{--color-bg-primary: #1E293B;--color-bg-secondary: #1E293B;--color-bg-tertiary: #0F172A;--color-bg-muted: #334155;--color-text-primary: #F8FAFC;--color-text-secondary: #CBD5E1;--color-text-muted: #94A3B8;--color-text-light: #64748B;--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #60A5FA;--color-border: #475569;--color-border-light: #334155;--color-border-dark: #64748B;--color-table-header-bg: #2E4C7A;--color-table-header-text: #FFFFFF;--color-table-header-border: #475569;--color-table-row-alt: rgba(255, 255, 255, .02);--color-table-line-item-bg: #334155;--color-table-section-bg: #1E293B;--color-table-border: #475569;--color-table-total-bg: rgba(16, 185, 129, .15);--color-table-t12-header-bg: #334155;--color-table-t12-cell-bg: rgba(255, 255, 255, .02);--color-table-year-header-bg: #334155;--color-table-subtotal-bg: #334155;--table-cell-bg: #1E293B;--table-cell-odd: #1E293B;--table-cell-even: #253449;--table-cell-hover: #334155;--table-cell-readonly: #1E293B;--table-collapse-bg: #0F172A;--table-expense-name-bg: #334155;--table-income-name-bg: #334155;--table-totals-bg: #334155;--table-grand-bg: #475569;--table-summary-bg: #253449;--table-highlight-bg: #334155;--table-text: #F8FAFC;--table-text-muted: #94A3B8;--table-text-edited: #60A5FA;--table-dollar-sign: #94A3B8;--table-row-border: #334155;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #F43F5E;--color-info: #3B82F6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);background-color:var(--color-bg-tertiary)}.light-theme{--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f3f4f6;--color-bg-muted: #e2e8f0;--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);background-color:var(--color-bg-tertiary)}html.dark-theme,body.dark-theme,.dark-theme{background-color:#0f172a!important;color:#f8fafc;--editable-cell-bg: transparent;--editable-cell-text: #F8FAFC;--editable-cell-border: transparent;--editable-cell-disabled-bg: transparent;--editable-cell-disabled-text: #64748B;--editable-cell-readonly-bg: transparent;--editable-cell-edited-bg: transparent;--editable-cell-table-bg: transparent;--editable-cell-focus-bg: transparent}.dark-theme #root{background-color:#0f172a}.dark-theme .app{background:#0f172a}.dark-theme .dashboard-toolbar{background:linear-gradient(135deg,#1e293b,#334155);border-bottom:1px solid #475569}.dark-theme .dashboard-toolbar h1{color:#f8fafc!important}.dark-theme .project-name-text{color:#f8fafc}.dark-theme .btn-dashboard-action{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#f8fafc!important}.dark-theme .btn-dashboard-action:hover{background:#fff3}.dark-theme .dropdown-content{background:#1e293b;border:1px solid #475569}.dark-theme .dropdown-content button{background:#1e293b;color:#f8fafc;border-bottom-color:#334155}.dark-theme .dropdown-content button:hover{background:#334155}.dark-theme .toolbar-version-label{color:#64748b}.dark-theme .btn-theme-toggle{background:#3b82f633!important;border-color:#3b82f64d!important}.dark-theme .tab-bar{background:#1e293b;border-bottom:1px solid #475569}.dark-theme .tab-bar button{color:#94a3b8;background:transparent}.dark-theme .tab-bar button:hover{color:#f8fafc;background:#ffffff0d}.dark-theme .tab-bar button.active{color:#f8fafc;background:#3b82f6}.dark-theme .data-table-container{background:#1e293b;border:1px solid #475569;box-shadow:0 4px 6px -1px #0006}.dark-theme .data-table-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom:1px solid #475569}.dark-theme .data-table-header h3{color:#f8fafc!important}.dark-theme .btn-expand{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#f8fafc!important}.dark-theme .btn-expand:hover{background:#fff3}.dark-theme .data-table-content{background:#1e293b}.dark-theme .data-table th,.dark-theme .rent-roll-table th,.dark-theme .gp-fees-table th,.dark-theme .metrics-table th,.dark-theme .sources-uses-table th,.dark-theme .input-table th{background-color:var(--color-table-header-bg)!important;color:var(--color-table-header-text)!important;border-color:var(--color-table-border)!important}.dark-theme .data-table td:not(.collapse-button-cell),.dark-theme .rent-roll-table td:not(.collapse-button-cell){background-color:var(--table-cell-bg)!important;color:var(--color-text-primary)!important;border-color:var(--color-table-border)!important}.dark-theme .data-table tbody tr:nth-child(2n) td:not(.collapse-button-cell),.dark-theme .rent-roll-table tbody tr:nth-child(2n) td:not(.collapse-button-cell),.dark-theme .module-card .data-table tbody tr:nth-child(2n) td:not(.collapse-button-cell){background-color:var(--table-cell-even)!important}.dark-theme .data-table tbody tr:nth-child(odd) td:not(.collapse-button-cell),.dark-theme .rent-roll-table tbody tr:nth-child(odd) td:not(.collapse-button-cell),.dark-theme .module-card .data-table tbody tr:nth-child(odd) td:not(.collapse-button-cell){background-color:var(--table-cell-odd)!important}.dark-theme .data-table td.collapse-button-cell,.dark-theme .rent-roll-table td.collapse-button-cell,.dark-theme .module-card .data-table td.collapse-button-cell{background-color:var(--table-collapse-bg)!important}.dark-theme .data-table tbody tr:hover td:not(.collapse-button-cell),.dark-theme .rent-roll-table tbody tr:hover td:not(.collapse-button-cell),.dark-theme .module-card .data-table tbody tr:hover td:not(.collapse-button-cell){background-color:var(--table-cell-hover)!important}.dark-theme .data-table td.line-item-name,.dark-theme .data-table td[class*=line-item],.dark-theme .expense-item-name,.dark-theme .income-item-name{background-color:var(--color-table-line-item-bg)!important;color:var(--color-text-primary)!important}.dark-theme .data-table tfoot td:not(.collapse-button-cell),.dark-theme .data-table tr.total-row td:not(.collapse-button-cell),.dark-theme .data-table tr.totals-row td:not(.collapse-button-cell),.dark-theme .rent-roll-table tbody tr.totals-row td:not(.collapse-button-cell){background-color:var(--color-table-total-bg)!important;border-top:2px solid var(--color-border-dark);color:var(--color-text-primary)!important;font-weight:600}.dark-theme .data-table tr.subtotal-row td{background-color:var(--color-table-subtotal-bg);border-top:1px solid var(--color-border)}.dark-theme .data-table tr.section-divider td{border-top:2px solid var(--color-border)}.dark-theme .data-table td input,.dark-theme .rent-roll-table td input,.dark-theme .table-cell-input,.dark-theme .editable-cell-input,.dark-theme .editable-cell-table .editable-cell-input{background-color:transparent!important;color:var(--color-text-primary);border-color:transparent}.dark-theme .accounting-cell-display,.dark-theme .data-table .accounting-cell-display,.dark-theme .rent-roll-table .accounting-cell-display{background-color:transparent!important}.dark-theme .editable-cell-wrapper,.dark-theme .data-table .editable-cell-wrapper,.dark-theme .rent-roll-table .editable-cell-wrapper{background:transparent!important;background-color:transparent!important}.dark-theme .data-table td input:hover,.dark-theme .rent-roll-table td input:hover,.dark-theme .table-cell-input:hover,.dark-theme .editable-cell-input:hover{border-color:#475569;background:transparent!important}.dark-theme .data-table td input:focus,.dark-theme .table-cell-input:focus{border-color:#3b82f6;background:#0f172a;box-shadow:0 0 0 2px #3b82f633}.dark-theme .data-table td input:disabled,.dark-theme .rent-roll-table td input:disabled,.dark-theme .editable-cell-input:disabled{background:transparent!important;color:#64748b}.dark-theme .data-table td input::placeholder,.dark-theme .table-cell-input::placeholder{color:#64748b}.dark-theme select{background:#1e293b;color:#f8fafc;border:1px solid #475569}.dark-theme select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark-theme .trailing-period-selector{background-color:#0f172a;border-bottom:1px solid #334155;color:#94a3b8}.dark-theme .trailing-period-selector label{color:#94a3b8}.dark-theme .accounting-cell{color:#f8fafc}.dark-theme .accounting-cell .dollar-sign{color:#94a3b8}.dark-theme .accounting-cell .number-part{color:#f8fafc}.dark-theme .accounting-cell.negative,.dark-theme .accounting-cell.negative .dollar-sign,.dark-theme .accounting-cell.negative .number-part{color:#f43f5e}.dark-theme .accounting-cell-display:hover{background:transparent!important;border-color:#475569}.dark-theme .expandable-modal-overlay{background:#000000b3}.dark-theme .expandable-modal{background:#1e293b;border:1px solid #475569}.dark-theme .expandable-modal-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom:1px solid #475569}.dark-theme .expandable-modal-header h3{color:#f8fafc!important}.dark-theme .btn-close-modal{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#f8fafc!important}.dark-theme .btn-close-modal:hover{background:#f43f5e33;border-color:#f43f5e;color:#f43f5e!important}.dark-theme .expandable-modal-content{background:#1e293b;color:#f8fafc}.dark-theme .line-item-header,.dark-theme .line-item-header-simple,.dark-theme .line-item-header-wide{background:#0f172a;color:#94a3b8!important;border:1px solid #334155}.dark-theme .line-item-row,.dark-theme .line-item-row-simple,.dark-theme .line-item-row-wide{background:#1e293b;border:1px solid #334155}.dark-theme .line-item-row:hover{background:#334155}.dark-theme .item-name-input{background:#0f172a;border:1px solid #475569;color:#f8fafc}.dark-theme .item-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark-theme .editor-instructions{background:#0f172a;border:1px solid #334155;color:#94a3b8}.dark-theme .btn-add-item{background:#3b82f6;color:#f8fafc!important}.dark-theme .btn-add-item:hover{background:#2563eb}.dark-theme .btn-icon{background:transparent;border:1px solid #475569;color:#94a3b8}.dark-theme .btn-icon:hover:not(:disabled){background:#334155;border-color:#64748b;color:#f8fafc}.dark-theme .btn-icon.danger:hover{background:#f43f5e1a;border-color:#f43f5e;color:#f43f5e}.dark-theme .positive,.dark-theme .favorable{color:#10b981}.dark-theme .negative,.dark-theme .unfavorable{color:#f43f5e}.dark-theme .warning{color:#f59e0b}.dark-theme .muted{color:#64748b}.dark-theme .operating-expenses-module .data-table td:first-child,.dark-theme .losses-module .data-table td:first-child,.dark-theme .other-income-module .data-table td:first-child,.dark-theme .rent-roll-module .data-table td:first-child{background:#334155!important;color:#f8fafc!important}.dark-theme .chart-container{background:#1e293b;border:1px solid #475569}.dark-theme ::-webkit-scrollbar-track{background:#1e293b}.dark-theme ::-webkit-scrollbar-thumb{background:#475569;border:2px solid #1e293b}.dark-theme ::-webkit-scrollbar-thumb:hover{background:#64748b}.dark-theme *{scrollbar-color:#475569 #1e293b}.dark-theme th.collapse-button-col-header,.dark-theme td.collapse-button-cell,.dark-theme .collapse-button-col-header,.dark-theme .collapse-button-cell{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;outline:none!important}.dark-theme .cash-flow-table thead th.collapse-button-col-header,.dark-theme .waterfall-table thead th.collapse-button-col-header,.dark-theme .debt-service-table thead th.collapse-button-col-header,.dark-theme .capex-table thead th.collapse-button-col-header,.dark-theme .t12-table thead th.collapse-button-col-header,.dark-theme .rent-roll-table thead th.collapse-button-col-header,.dark-theme .cash-flow-table td.collapse-button-cell,.dark-theme .waterfall-table td.collapse-button-cell,.dark-theme .debt-service-table td.collapse-button-cell,.dark-theme .capex-table td.collapse-button-cell,.dark-theme .t12-table td.collapse-button-cell,.dark-theme .rent-roll-table td.collapse-button-cell{background:#0f172a!important;background-color:#0f172a!important;box-shadow:none!important;border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important}.dark-theme .cash-flow-table th.line-item-col-header,.dark-theme .waterfall-table th.line-item-col-header,.dark-theme .debt-service-table th.line-item-col-header,.dark-theme .capex-table th.line-item-col-header,.dark-theme .t12-table th.line-item-col-header{background-color:#0f172a!important;color:#94a3b8!important;box-shadow:-5px 0 #0f172a!important}.dark-theme .cash-flow-table .line-item-cell,.dark-theme .waterfall-table .line-item-cell,.dark-theme .debt-service-table .line-item-cell,.dark-theme .capex-table .line-item-cell,.dark-theme .t12-table .line-item-cell{background-color:#334155!important;color:#f8fafc!important}.dark-theme .cash-flow-table .section-header-row td,.dark-theme .waterfall-table .section-header-row td,.dark-theme .debt-service-table .section-header-row td,.dark-theme .capex-table .section-header-row td,.dark-theme .t12-table .section-header-row td{background-color:#0f172a!important;color:#94a3b8!important}.dark-theme .cash-flow-table .section-header-row td.collapse-button-cell,.dark-theme .waterfall-table .section-header-row td.collapse-button-cell,.dark-theme .debt-service-table .section-header-row td.collapse-button-cell,.dark-theme .capex-table .section-header-row td.collapse-button-cell{background:#0f172a!important;background-color:#0f172a!important;box-shadow:none!important;border:none!important}.dark-theme .cash-flow-table .section-header-row td.line-item-cell,.dark-theme .waterfall-table .section-header-row td.line-item-cell,.dark-theme .debt-service-table .section-header-row td.line-item-cell,.dark-theme .capex-table .section-header-row td.line-item-cell{background:#0f172a!important;background-color:#0f172a!important;box-shadow:none!important}.dark-theme .cash-flow-table .subtotal-row td.collapse-button-cell,.dark-theme .debt-service-table .subtotal-row td.collapse-button-cell,.dark-theme .capex-table .subtotal-row td.collapse-button-cell{background:#0f172a!important;background-color:#0f172a!important;box-shadow:none!important;border:none!important}.dark-theme .cash-flow-table .subtotal-row .line-item-cell,.dark-theme .waterfall-table .subtotal-row .line-item-cell,.dark-theme .debt-service-table .subtotal-row .line-item-cell,.dark-theme .capex-table .subtotal-row .line-item-cell{background-color:#334155!important}.dark-theme .cash-flow-table .total-row td.collapse-button-cell,.dark-theme .debt-service-table .total-row td.collapse-button-cell,.dark-theme .capex-table .total-row td.collapse-button-cell{background:#0f172a!important;background-color:#0f172a!important;box-shadow:none!important;border:none!important}.dark-theme .cash-flow-table .total-row .line-item-cell,.dark-theme .waterfall-table .total-row .line-item-cell,.dark-theme .debt-service-table .total-row .line-item-cell,.dark-theme .capex-table .total-row .line-item-cell{background-color:#334155!important}.dark-theme .loan-table th.param-column{background-color:#0f172a!important;color:#94a3b8!important}.dark-theme .loan-table td.param-label{background-color:#334155!important;color:#f8fafc!important}.dark-theme .rent-roll-table tbody tr.grand-row td:not(.collapse-button-cell){background:#10b98126!important;color:#f8fafc!important}.dark-theme .rent-roll-table .unit-type-cell,.dark-theme .rent-roll-table td.unit-type-cell,.dark-theme .rent-roll-table tbody td.unit-type-cell,.dark-theme table.rent-roll-table tbody tr td.unit-type-cell{background:#1e293b!important;background-color:#1e293b!important;color:#f8fafc!important}.dark-theme .rent-roll-table .text-right,.dark-theme .rent-roll-table td.text-right,.dark-theme .rent-roll-table tbody td.text-right,.dark-theme table.rent-roll-table tbody tr td.text-right{background:#1e293b!important;background-color:#1e293b!important}.dark-theme .rent-roll-table .unit-type-cell input,.dark-theme .rent-roll-table .text-right input{background:transparent!important;background-color:transparent!important;color:#f8fafc!important}.dark-theme .excel-container{background:#0f172a}.dark-theme .excel-toolbar{background:#1e293b;border-bottom-color:#475569}.dark-theme .excel-title h2{color:#f8fafc}.dark-theme .excel-notice{background:#1e293b;border-color:#475569;color:#94a3b8}.dark-theme .excel-sheet{background:#1e293b}.dark-theme .excel-table{background:#1e293b;color:#f8fafc}.dark-theme .excel-table thead{background:#0f172a}.dark-theme .excel-table th{background:#0f172a;border-color:#475569;color:#94a3b8}.dark-theme .excel-table th.row-header{background:#0f172a}.dark-theme .excel-table th.section-col{background:#1e293b;border-color:#3b82f6}.dark-theme .excel-table th.total-col{background:#334155}.dark-theme .excel-table td{border-color:#475569;color:#f8fafc;background:#1e293b}.dark-theme .excel-table td.line-item,.dark-theme .excel-table td.sticky-col{background:#334155;color:#f8fafc}.dark-theme .cell-input{background:#f59e0b26}.dark-theme .cell-calculated,.dark-theme .cell-calculated-sm{background:#1e293b}.dark-theme .cell-subtotal,.dark-theme .cell-subtotal-sm{background:#334155;border-top-color:#64748b}.dark-theme .cell-total{background:#334155;border-left-color:#64748b}.dark-theme .cell-total-noi,.dark-theme .cell-noi,.dark-theme .cell-noi-sm{background:#3b82f633;border-color:#3b82f6}.dark-theme .cell-percent{background:#1e293b;color:#f8fafc}.dark-theme .section-header td{background:#3b82f6;border-color:#2563eb}.dark-theme .subtotal-row{background:#334155}.dark-theme .subtotal-row td{border-top-color:#64748b}.dark-theme .total-row{background:#3b82f633}.dark-theme .total-row td{border-color:#3b82f6}.dark-theme .spacer-row td{background:#1e293b}.dark-theme .excel-table tbody tr:hover td{background-color:#334155}.dark-theme .excel-table tbody tr:hover td.line-item,.dark-theme .excel-table tbody tr:hover td.sticky-col{background-color:#475569}.dark-theme .form-container h2{color:#f8fafc}.dark-theme .form-container h3{color:#cbd5e1}.dark-theme .form-section{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .form-group label{color:#cbd5e1}.dark-theme .form-group input,.dark-theme .form-group select{background:#0f172a;border-color:#475569;color:#f8fafc}.dark-theme .form-group input:focus,.dark-theme .form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark-theme .growth-input label{color:#94a3b8}.dark-theme .growth-input input{background:#0f172a;border-color:#475569;color:#f8fafc}.dark-theme .summary-card{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .summary-card label{color:#94a3b8}.dark-theme .summary-value{color:#f8fafc}.dark-theme .category-tab{background:#1e293b;border-color:#475569;color:#cbd5e1}.dark-theme .category-tab:hover{background:#334155;border-color:#64748b}.dark-theme .category-tab.active{background:#3b82f6;color:#f8fafc;border-color:#3b82f6}.dark-theme .budget-category{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .category-header{border-bottom-color:#475569}.dark-theme .category-total{color:#60a5fa}.dark-theme .budget-item{background:#0f172a;border-color:#334155}.dark-theme .item-name,.dark-theme .loan-type-select{background:#1e293b;border-color:#475569;color:#f8fafc}.dark-theme .loan-card{background:#0f172a;border-color:#334155}.dark-theme .metric-card{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .metric-label{color:#94a3b8}.dark-theme .metric-value{color:#f8fafc}.dark-theme .results-section{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .info-item{background:#0f172a}.dark-theme .info-label{color:#94a3b8}.dark-theme .info-value{color:#f8fafc}.dark-theme .results-table thead{background:#0f172a}.dark-theme .results-table th{color:#94a3b8;border-bottom-color:#475569}.dark-theme .results-table td{border-bottom-color:#334155;color:#f8fafc}.dark-theme .results-table tr:hover{background:#334155}.dark-theme .toggle-btn{background:#1e293b;border-color:#475569;color:#cbd5e1}.dark-theme .toggle-btn:hover{background:#334155}.dark-theme .toggle-btn.active{background:#3b82f6;color:#f8fafc;border-color:#3b82f6}.dark-theme .empty-state{color:#94a3b8}.dark-theme .empty-state h2{color:#cbd5e1}.dark-theme .tab-content,.dark-theme .module-container,.dark-theme .revenue-expenses-tab,.dark-theme .property-tab,.dark-theme .capex-tab,.dark-theme .financing-tab,.dark-theme .cash-flow-tab,.dark-theme .waterfall-tab,.dark-theme .institutional-tab,.dark-theme .summary-tab,.dark-theme .dashboard-content,.dark-theme .module-content{background:#0f172a}.dark-theme .data-table-container{background:#1e293b!important}.dark-theme .trailing-period-selector{background-color:#0f172a!important;border-bottom-color:#475569!important}.dark-theme .table-cell-input:hover,.dark-theme .table-cell-input:focus{background:#0f172a!important}.dark-theme .stabilization-table .value-cell{background:#1e293b;color:#60a5fa}.dark-theme .stabilization-table .value-cell input{background:#0f172a;border-color:#475569;color:#60a5fa}.dark-theme .stabilization-table .label-cell{background:#334155;color:#f8fafc;border-right-color:#475569}.dark-theme .stabilization-table thead th{background:#1e293b;border-color:#3b82f6}.dark-theme .line-item-row,.dark-theme .line-item-row-simple,.dark-theme .line-item-row-wide{background:#1e293b!important;border-color:#475569!important}.dark-theme .line-item-row:hover{background:#334155!important}.dark-theme .line-item-row input,.dark-theme .line-item-row-wide input{background:#0f172a;border-color:#475569;color:#f8fafc}.dark-theme .tab-navigation{background:#1e293b!important;border-bottom-color:#475569}.dark-theme .tab-navigation::-webkit-scrollbar-track{background:#0f172a}.dark-theme .tab-navigation::-webkit-scrollbar-thumb{background:#475569}.dark-theme .tab-navigation .tab-button{color:#94a3b8}.dark-theme .tab-navigation .tab-button:hover{color:#60a5fa;background:#334155}.dark-theme .tab-navigation .tab-button.active{color:#f8fafc;background:#3b82f6;border-bottom-color:#3b82f6}.dark-theme .tab-settings-modal{background:#1e293b;box-shadow:0 20px 60px #0009}.dark-theme .tab-settings-modal h3{color:#f8fafc}.dark-theme .tab-toggle-item{background:#0f172a}.dark-theme .tab-toggle-item:hover{background:#334155}.dark-theme .tab-toggle-item label{color:#cbd5e1}.dark-theme .tab-nav{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .tab-button{color:#94a3b8}.dark-theme .tab-button:hover{background:#334155;color:#f8fafc}.dark-theme .content{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .action-bar{border-top-color:#475569}.dark-theme .module-selector{background:#1e293b;box-shadow:0 2px 8px #0006}.dark-theme .module-selector h3{color:#60a5fa}.dark-theme .module-toggle{background:#0f172a}.dark-theme .module-toggle:hover{background:#334155}.dark-theme .module-toggle span{color:#cbd5e1}.dark-theme .module-card{background:#1e293b!important;box-shadow:0 2px 8px #0006}.dark-theme .module-card:hover{box-shadow:0 4px 16px #00000080}.dark-theme .module-content{background:#1e293b}.dark-theme .module-card table,.dark-theme .module-card tbody,.dark-theme .module-card tr,.dark-theme .module-card td:not(.collapse-button-cell){background:#1e293b!important;border-color:#334155!important}.dark-theme .module-card tbody tr:nth-child(2n) td:not(.collapse-button-cell){background:#0f172a66!important}.dark-theme .module-card thead,.dark-theme .module-card thead tr,.dark-theme .module-card thead tr th{background:#334155!important;border-bottom:1px solid #475569}.dark-theme .module-card .data-table thead,.dark-theme .module-card .data-table thead tr,.dark-theme .module-card table.data-table thead,.dark-theme .module-card table.data-table thead tr,.dark-theme .module-card table.losses-table thead,.dark-theme .module-card table.losses-table thead tr{background:#2e4c7a!important;background-color:#2e4c7a!important}.dark-theme .module-card .data-table th,.dark-theme .module-card .data-table thead th,.dark-theme .module-card .data-table thead tr th,.dark-theme .module-card table.data-table th,.dark-theme .module-card table.data-table thead th,.dark-theme .module-card table.data-table thead tr th,.dark-theme .module-card table.losses-table th,.dark-theme .module-card table.losses-table thead th,.dark-theme .module-card table.losses-table thead tr th{background:#2e4c7a!important;background-color:#2e4c7a!important;color:#fff!important;border-color:#475569!important}.dark-theme .data-table input,.dark-theme .data-table .table-cell-input-formatted,.dark-theme .data-table td input[type=text]{color:#f8fafc!important}.dark-theme .data-table input[style*="color: rgb(0, 0, 255)"],.dark-theme .data-table input[style*="color:#0000FF"],.dark-theme .data-table input[style*="color: #0000FF"]{color:#60a5fa!important}.dark-theme .data-table td[style*=backgroundColor],.dark-theme .data-table td[style*=background-color],.dark-theme .data-table tr[style*=backgroundColor],.dark-theme .data-table tr[style*=background-color]{background-color:#334155!important}.dark-theme .data-table td[style*="#F4CDB0"],.dark-theme .data-table td[style*="rgb(244, 205, 176)"]{background-color:#475569!important;color:#f8fafc!important}.dark-theme .data-table td[style*="#f8f9fa"],.dark-theme .data-table td[style*="rgb(248, 249, 250)"]{background-color:#0f172a!important;color:#94a3b8!important}.dark-theme .data-table tr[style*="#D9E1F2"],.dark-theme .data-table tr[style*="rgb(217, 225, 242)"]{background-color:#1e3a5f!important}.dark-theme .data-table tr[style*="#D9E1F2"] td,.dark-theme .data-table tr[style*="rgb(217, 225, 242)"] td{background-color:#1e3a5f!important;color:#f8fafc!important}.dark-theme .accounting-cell input,.dark-theme .accounting-cell .dollar-sign,.dark-theme .accounting-cell .number-part{color:#f8fafc!important}.dark-theme .data-table input[style*="color: rgb(217, 83, 79)"],.dark-theme .data-table input[style*="color:#d9534f"],.dark-theme .data-table input[style*="color: #d9534f"],.dark-theme .negative,.dark-theme .accounting-cell.negative,.dark-theme .accounting-cell.negative .dollar-sign,.dark-theme .accounting-cell.negative .number-part,.dark-theme .accounting-negative,.dark-theme .negative-value,.dark-theme .data-table input[style*="color: rgb(192, 0, 0)"],.dark-theme .data-table input[style*="color:#c00000"],.dark-theme .data-table input[style*="color: #c00000"],.dark-theme .data-table input[style*="color: rgb(220, 53, 69)"],.dark-theme .data-table input[style*="color:#dc3545"],.dark-theme .data-table input[style*="color: #dc3545"],.dark-theme .data-table input[style*="color: rgb(239, 68, 68)"],.dark-theme .data-table input[style*="color:#ef4444"],.dark-theme .data-table input[style*="color: #ef4444"],.dark-theme .data-table td[style*="color: rgb(192, 0, 0)"],.dark-theme .data-table td[style*="color:#c00000"],.dark-theme .data-table td[style*="color: #c00000"],.dark-theme .accounting-cell input[style*=d9534f],.dark-theme .accounting-cell input[style*=c00000],.dark-theme .accounting-cell input[style*=dc3545],.dark-theme .accounting-cell input[style*=ef4444]{color:#f43f5e!important}.dark-theme [style*="background: white"],.dark-theme [style*="background-color: white"],.dark-theme [style*="background:#fff"],.dark-theme [style*="background-color:#fff"]{background:#1e293b!important}.dark-theme .data-table .edited-value,.dark-theme .rent-roll-table .edited-value,.dark-theme .data-table input.edited-value,.dark-theme .rent-roll-table input.edited-value{color:#60a5fa!important}.dark-theme .data-table .negative-value,.dark-theme .rent-roll-table .negative-value,.dark-theme .data-table input.negative-value,.dark-theme .rent-roll-table input.negative-value{color:#f43f5e!important}.dark-theme .gp-fees-settings-modal{background:#1e293b;box-shadow:0 4px 20px #00000080}.dark-theme .gp-fees-settings-modal .modal-content{background:#1e293b}.dark-theme .gp-fees-settings-modal .modal-description{color:#94a3b8}.dark-theme .gp-fees-settings-modal .modal-footer{border-top-color:#475569}.dark-theme .fees-settings-table th{background:#0f172a;color:#94a3b8;border-color:#475569}.dark-theme .fees-settings-table td{background:#1e293b;color:#f8fafc;border-color:#475569}.dark-theme .fees-settings-table tbody tr:hover{background:#334155}.dark-theme .fees-settings-table .fee-name-col,.dark-theme .fees-settings-table .rate-display,.dark-theme .fees-settings-table .rate-unit{color:#f8fafc}.dark-theme .fees-settings-table .fee-select{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .fees-settings-table .fee-select:disabled{background:#0f172a;color:#64748b}.dark-theme .fees-settings-table input[type=text],.dark-theme .fees-settings-table .editable-cell-input{background:#0f172a!important;color:#f8fafc!important;border-color:#475569!important}.dark-theme .gp-fees-table td{background:#1e293b;color:#f8fafc;border-color:#475569}.dark-theme .gp-fees-table tbody tr:hover{background:#334155}.dark-theme td.fee-name-col,.dark-theme .gp-fees-table td.fee-name-col,.dark-theme .gp-fees-module td.fee-name-col{color:#f8fafc!important}.dark-theme .gp-fees-table .fee-rate-input{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .gp-fees-table .fee-rate-input:disabled{background:#0f172a;color:#64748b}.dark-theme .gp-fees-table .rate-unit{color:#94a3b8}.dark-theme .gp-fees-table .fee-select{background:#0f172a;color:#94a3b8;border-color:#475569}.dark-theme .gp-fees-table .fee-select:disabled{background:#0f172a;color:#64748b}.dark-theme td.fee-basis-col,.dark-theme td.fee-timing-col,.dark-theme .gp-fees-content .empty-state{color:#94a3b8}.dark-theme .editable-cell-input{background:#0f172a!important;color:#f8fafc!important;border-color:#475569!important}.dark-theme .editable-cell-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633!important;background:#0f172a!important}.dark-theme .editable-cell-input:disabled{background:#1e293b!important;color:#64748b!important}.dark-theme .editable-cell-input:read-only{background:#1e293b!important}.dark-theme .editable-cell-input.edited,.dark-theme .editable-cell-input[data-edited=true]{background:#3b82f626!important}.dark-theme .editable-cell-table .editable-cell-input:focus{background:#0f172a!important}.dark-theme input:not([type=checkbox]):not([type=radio]){background-color:#0f172a!important;color:#f8fafc!important}.dark-theme input:not([type=checkbox]):not([type=radio]):focus{background-color:#0f172a!important}.dark-theme select{background-color:#1e293b!important;color:#f8fafc!important}.dark-theme .accounting-cell-display{color:#f8fafc}.dark-theme .accounting-cell-display:hover{border-color:#475569}.dark-theme .accounting-cell-display.edited,.dark-theme .accounting-cell-display.edited .dollar-sign,.dark-theme .accounting-cell-display.edited .number-part{color:#60a5fa}.dark-theme .accounting-cell-display.negative-value,.dark-theme .accounting-cell-display.negative-value .dollar-sign,.dark-theme .accounting-cell-display.negative-value .number-part{color:#f43f5e}.dark-theme .property-tab{background:#0f172a}.dark-theme .property-tab .module-card{background:#1e293b;box-shadow:0 1px 3px #0006}.dark-theme .property-tab .input-table td{border-color:#475569;color:#f8fafc}.dark-theme .property-tab .input-table td.input-label{background-color:#334155;color:#cbd5e1}.dark-theme .property-tab .input-table td.input-value{background-color:#1e293b}.dark-theme .property-tab .input-table td.input-value.calculated{background-color:#0f172a;color:#94a3b8}.dark-theme .property-tab .table-input,.dark-theme .property-tab input[type=text],.dark-theme .property-tab input[type=number],.dark-theme .property-tab input[type=date],.dark-theme .property-tab .editable-cell-input,.dark-theme .property-tab .editable-cell-wrapper input{background:#0f172a!important;color:#f8fafc!important;border-color:#475569}.dark-theme .property-tab .table-input:hover,.dark-theme .property-tab input:hover,.dark-theme .property-tab .editable-cell-input:hover{background:#0f172a!important;border-color:#64748b}.dark-theme .property-tab .table-input:focus,.dark-theme .property-tab input:focus,.dark-theme .property-tab .editable-cell-input:focus{background:#0f172a!important;border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633}.dark-theme .property-tab .table-input::placeholder,.dark-theme .property-tab input::placeholder{color:#64748b}.dark-theme .property-tab select.table-input,.dark-theme .property-tab select.table-input option{background:#1e293b;color:#f8fafc}.dark-theme .property-tab .stealth-select{color:#94a3b8}.dark-theme .property-tab .stealth-select:hover{color:#f8fafc;background:#334155}.dark-theme .property-tab .stealth-select:focus{color:#f8fafc;background:#475569}.dark-theme .property-tab .currency-prefix{color:#94a3b8}.dark-theme .property-tab .unit-label,.dark-theme .property-tab .calculated-inline,.dark-theme .property-tab .method-hint{color:#64748b}.dark-theme .property-tab .table-input[data-edited=true],.dark-theme .property-tab .table-input.edited{border-left-color:#60a5fa}.dark-theme .property-tab .btn-fetch-compact{background:#3b82f6}.dark-theme .property-tab .btn-fetch-compact:hover:not(:disabled){background:#2563eb}.dark-theme .property-tab .btn-fetch-compact:disabled{background:#475569;color:#64748b}.dark-theme .property-tab .btn-gear-inline{color:#94a3b8}.dark-theme .property-tab .btn-gear-inline:hover{color:#f8fafc}.dark-theme .property-tab .status-error{color:#f43f5e}.dark-theme .property-tab .status-success{color:#10b981}.dark-theme .property-tab tr.highlight-target,.dark-theme .property-tab tr.highlight-target td{background-color:#3b82f64d!important}@keyframes highlightFadeDark{0%{background-color:#3b82f64d}70%{background-color:#3b82f64d}to{background-color:transparent}}.dark-theme .closing-costs-modal,.dark-theme .expandable-modal-content{background:#1e293b}.dark-theme .closing-costs-modal .settings-section{border-color:#475569}.dark-theme .closing-costs-modal .settings-grid{background:#1e293b}.dark-theme .closing-costs-modal .settings-grid label{color:#cbd5e1}.dark-theme .closing-costs-modal .settings-input{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .closing-costs-modal .settings-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark-theme .closing-costs-modal .settings-input:disabled{background:#1e293b;color:#64748b}.dark-theme .closing-costs-modal .unit{color:#94a3b8}.dark-theme .closing-costs-modal .settings-select{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .closing-costs-modal .settings-select:focus{border-color:#3b82f6}.dark-theme .closing-costs-modal .calculated-value{background:#0f172a;color:#f8fafc}.dark-theme .closing-costs-modal .calculated-value.highlight{background:#10b98126;color:#10b981}.dark-theme .closing-costs-modal th{background:#0f172a;color:#94a3b8;border-bottom-color:#475569}.dark-theme .closing-costs-modal td{color:#f8fafc;border-bottom-color:#334155}.dark-theme .closing-costs-modal tbody tr:hover{background:#334155}.dark-theme .closing-costs-table{background:#1e293b}.dark-theme .closing-costs-modal .currency-prefix{color:#94a3b8}.dark-theme .closing-costs-modal .amount-input{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .closing-costs-modal .amount-input:focus{border-color:#3b82f6}.dark-theme .closing-costs-modal .item-name-input{background:#0f172a;color:#f8fafc;border-color:#475569}.dark-theme .closing-costs-modal .item-name-input:focus{border-color:#3b82f6}.dark-theme .closing-costs-modal .subtotal-row{background:#0f172a}.dark-theme .closing-costs-modal .subtotal-row td{border-top-color:#475569}.dark-theme .closing-costs-modal .summary-table{background:#1e293b}.dark-theme .closing-costs-modal .summary-table .active-method{background:#10b98126}.dark-theme .closing-costs-modal .summary-table .active-method td{color:#10b981}.dark-theme .closing-costs-modal .method-indicator{background:#0f172a;color:#94a3b8;border-top-color:#334155}.dark-theme .closing-costs-modal .info-text{background:#0f172a;color:#94a3b8}.dark-theme .closing-costs-modal .info-text.muted{color:#64748b}.dark-theme .closing-costs-modal .modal-footer{background:#0f172a;border-top-color:#475569}.dark-theme .closing-costs-modal .checkbox-label{color:#cbd5e1}.dark-theme .closing-costs-modal .calculated-inline{color:#64748b}.dark-theme,[data-theme=dark],.dark-theme input,.dark-theme textarea,.dark-theme select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{color-scheme:dark}.dark-theme input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]){background:#0f172a!important;background-color:#0f172a!important;color:#f8fafc!important;border-color:#475569!important}.dark-theme [class*=cl-] input,.dark-theme [class*=cl-] textarea,.dark-theme [class*=cl-] select,[data-theme=dark] [class*=cl-] input,[data-theme=dark] [class*=cl-] textarea,[data-theme=dark] [class*=cl-] select{background:unset!important;background-color:unset!important;color:unset!important;border-color:unset!important}.dark-theme .share-modal input,.dark-theme .share-modal textarea,.dark-theme .share-modal select,[data-theme=dark] .share-modal input,[data-theme=dark] .share-modal textarea,[data-theme=dark] .share-modal select{background:#fff!important;background-color:#fff!important;color:#1a1a1a!important;border-color:#d1d5db!important}.dark-theme .share-modal input::placeholder,[data-theme=dark] .share-modal input::placeholder{color:#9ca3af!important}.dark-theme .share-modal input:focus,.dark-theme .share-modal select:focus,[data-theme=dark] .share-modal input:focus,[data-theme=dark] .share-modal select:focus{border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb1a!important}html.dark-theme .property-tab input,html.dark-theme .property-tab input[type=text],html.dark-theme .property-tab input[type=number],html.dark-theme .property-tab input[type=date],html.dark-theme .property-tab .editable-cell-input,html.dark-theme .property-tab .editable-cell-wrapper input,html.dark-theme .property-tab .table-input input,html.dark-theme .property-tab .input-value input,html.dark-theme .property-tab td input,html.dark-theme .property-tab .currency-input,html.dark-theme .property-tab .hold-months,html.dark-theme .property-tab .city-input,html.dark-theme .property-tab .state-input,html.dark-theme .property-tab .zip-input,html.dark-theme .property-tab .bps-input,html[data-theme=dark] .property-tab input,html[data-theme=dark] .property-tab .editable-cell-input{background:#0f172a!important;background-color:#0f172a!important;color:#f8fafc!important;border-color:#475569!important;-webkit-appearance:none;-moz-appearance:none}.dark-theme .property-tab .editable-cell-wrapper,[data-theme=dark] .property-tab .editable-cell-wrapper{background:transparent!important}.dark-theme .property-tab select,.dark-theme .property-tab select.table-input,.dark-theme .property-tab .stealth-select,[data-theme=dark] .property-tab select{background:#1e293b!important;background-color:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}.dark-theme .property-tab select option,[data-theme=dark] .property-tab select option{background:#1e293b!important;color:#f8fafc!important}html.dark-theme .rent-roll-table input:not([type=checkbox]):not([type=radio]),html.dark-theme .rent-roll-table .editable-text-input:not([type=checkbox]),html.dark-theme .rent-roll-table .table-cell-input-formatted:not([type=checkbox]),html[data-theme=dark] .rent-roll-table input:not([type=checkbox]):not([type=radio]){background:#1e293b!important;background-color:#1e293b!important}html.dark-theme .rent-roll-table td.unit-type-cell,html[data-theme=dark] .rent-roll-table td.unit-type-cell,html.dark-theme .rent-roll-table td.text-right,html[data-theme=dark] .rent-roll-table td.text-right{background:#1e293b!important;background-color:#1e293b!important}.dark-theme .data-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),.dark-theme .capex-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),.dark-theme .gp-fees-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]){background:#1e293b!important;background-color:#1e293b!important}html.dark-theme .data-table td[style],html.dark-theme .data-table tr[style] td,html[data-theme=dark] .data-table td[style],html[data-theme=dark] .data-table tr[style] td{background:#1e293b!important;background-color:#1e293b!important}html.dark-theme .data-table td[style*=f8f9fa],html.dark-theme .data-table td[style*="248, 249, 250"],html[data-theme=dark] .data-table td[style*=f8f9fa],html[data-theme=dark] .data-table td[style*="248, 249, 250"]{background:#1e293b!important;background-color:#1e293b!important;color:#f8fafc!important}html.dark-theme .data-table tr[style*=D9E1F2] td,html.dark-theme .data-table tr[style*="217, 225, 242"] td,html[data-theme=dark] .data-table tr[style*=D9E1F2] td,html[data-theme=dark] .data-table tr[style*="217, 225, 242"] td{background:#1e3a5f!important;background-color:#1e3a5f!important}html.dark-theme .module-card .data-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html.dark-theme .module-card .data-table td input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html.dark-theme .data-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html.dark-theme .rent-roll-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html[data-theme=dark] .module-card .data-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html[data-theme=dark] .data-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]),html[data-theme=dark] .rent-roll-table input:not([type=checkbox]):not([type=radio]):not([type=range]):not([class*=cl-]){background:transparent!important;background-color:transparent!important}html.dark-theme .module-card .data-table .accounting-cell,html.dark-theme .module-card .data-table .table-cell-input-formatted,html.dark-theme .data-table .accounting-cell,html.dark-theme .rent-roll-table .accounting-cell,html[data-theme=dark] .module-card .data-table .accounting-cell,html[data-theme=dark] .data-table .accounting-cell,html[data-theme=dark] .rent-roll-table .accounting-cell{background:transparent!important;background-color:transparent!important}html.dark-theme .rent-roll-table td.collapse-button-cell,html.dark-theme .rent-roll-table td:first-child.collapse-button-cell,html.dark-theme .rent-roll-table tbody td.collapse-button-cell,html.dark-theme .rent-roll-table tbody td:first-child.collapse-button-cell,html.dark-theme .rent-roll-table tbody tr td.collapse-button-cell,html.dark-theme .rent-roll-table tbody tr td:first-child.collapse-button-cell,html.dark-theme table.rent-roll-table td.collapse-button-cell,html.dark-theme table.rent-roll-table td:first-child.collapse-button-cell,html.dark-theme table.rent-roll-table tbody td.collapse-button-cell,html.dark-theme table.rent-roll-table tbody td:first-child.collapse-button-cell,html.dark-theme table.rent-roll-table tbody tr td.collapse-button-cell,html.dark-theme table.rent-roll-table tbody tr td:first-child.collapse-button-cell,html.dark-theme .rent-roll-table thead th.collapse-button-col-header,html.dark-theme .rent-roll-table thead th:first-child.collapse-button-col-header,html.dark-theme table.rent-roll-table thead th.collapse-button-col-header,html.dark-theme table.rent-roll-table thead th:first-child.collapse-button-col-header{background:#1e293b!important;background-color:#1e293b!important;border-color:#1e293b!important}html.dark-theme .rent-roll-table-wrapper,html.dark-theme [style*=overflow] .rent-roll-table,html.dark-theme div>.rent-roll-table{background:transparent!important}: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}html{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-tertiary)}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:7px;border:2px solid #f1f5f9}::-webkit-scrollbar-thumb:hover{background:#64748b}*{scrollbar-width:auto;scrollbar-color:#94a3b8 #f1f5f9}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}
