:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#203b36;background:#f4f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1480px;margin:auto;padding:44px 36px}header{max-width:920px;margin-bottom:32px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#53766d;display:flex;gap:16px;align-items:center}.eyebrow span{background:#e1eae3;padding:5px 8px;border-radius:4px;font-size:10px}h1{font-size:32px;line-height:1.25;letter-spacing:-.8px;margin:16px 0}header p{color:#64766f;line-height:1.6}h2{font-size:19px;margin:0 0 7px;overflow-wrap:anywhere}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px}.panel{background:#fff;border:1px solid #dce5df;border-radius:12px;padding:24px}.assumptions{align-self:start}.hint{font-size:13px;color:#6c7c76;line-height:1.6;margin:0 0 20px}label{display:block;font-size:13px;font-weight:650;margin:18px 0 7px;line-height:1.5}small{font-weight:400;color:#75827e}input{width:100%;border:1px solid #cbd7d0;border-radius:6px;padding:11px 12px;font:inherit;font-size:15px;color:#243f37;background:#fff}input:focus{outline:3px solid #b2d9cd;border-color:#31765d}input[aria-invalid=true]{border-color:#b84738}.error{color:#aa382d;font-size:12px;margin:6px 0}.result-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.result-heading h2{font-size:23px}button{background:#164e45;color:#fff;border:0;border-radius:7px;padding:12px 18px;font:inherit;font-size:14px;font-weight:650;cursor:pointer;white-space:nowrap}button:focus-visible{outline:3px solid #74ae98;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:2px 0 24px}.cards article{padding:22px 18px;background:#fff;border:1px solid #dce5df;border-radius:10px}.cards p{font-size:12px;margin:0 0 12px;color:#67796f}.cards strong{font-size:25px;letter-spacing:-.6px;overflow-wrap:anywhere}.cards .featured{background:#164e45;color:#fff;border-color:#164e45}.featured p{color:#c0d9cc}.cards .margin{font-size:23px}.forecast{padding:24px 0 12px}.forecast h2{padding:0 24px 18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}th,td{padding:17px 15px;text-align:right;white-space:nowrap;border-bottom:1px solid #e8ede8}th:first-child{text-align:left;padding-left:24px}thead{background:#f5f8f5;color:#65776e}thead th{font-size:12px}tbody th{font-weight:550}.total{background:#edf5ef;font-weight:750}.total th{font-weight:750}tbody tr:last-child>*{border:0}.note{font-size:13px;line-height:1.7;color:#64766c;background:#e9efe8;border-left:3px solid #8fae95;border-radius:4px;padding:14px 17px;margin:20px 0 12px}.empty{padding:0 24px 18px;line-height:1.8;color:#976335}.status{font-size:13px;color:#164e45;min-height:20px}@media(max-width:1000px){main{padding:28px 20px}.layout{grid-template-columns:270px minmax(0,1fr);gap:18px}.cards{grid-template-columns:1fr}.cards article{padding:15px 18px}.cards p{margin-bottom:7px}}@media(max-width:700px){h1{font-size:26px}.layout,.cards{grid-template-columns:1fr}.result-heading{align-items:center}.result-heading h2{font-size:19px}.panel{padding:20px}.forecast{padding:20px 0 12px}main{padding:24px 16px}}.assumptions,.results{min-width:0}select{width:100%;padding:11px;border:1px solid #cbd7d0;border-radius:6px;background:#fff;font:inherit;color:#243f37}.scenario-panel{margin-bottom:20px}.scenario-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.scenario-tabs button[aria-pressed=false]{background:#e9efe8;color:#164e45}.rate-table input{min-width:85px;max-width:120px}.rate-table td{padding:10px}.rate-table .error{white-space:normal;min-width:100px}.reset{margin:16px 0;background:#edf5ef;color:#164e45;font-size:12px}details{font-size:12px;line-height:1.7;color:#65776e}summary{cursor:pointer}.scenario-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.scenario-summary article{padding:16px;background:#fff;border:1px solid #dce5df;border-radius:8px}.scenario-summary p{font-size:12px;color:#6c7c76}.scenario-summary strong{overflow-wrap:anywhere}@media(max-width:700px){.scenario-summary{grid-template-columns:1fr}}.expense-panel{margin-bottom:20px}input[readonly]{background:#edf3ef;color:#466557}.chat-panel{margin-bottom:24px;border-top:4px solid #164e45}.chat-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.chat-heading b{overflow-wrap:anywhere}.chat-badge{font-size:10px;background:#e9efe8;padding:7px;border-radius:4px;white-space:nowrap}.chat-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.chat-controls>div{flex:1;min-width:180px}.upload-box{background:#f5f8f5;padding:16px;border-radius:8px;margin:16px 0}.chat-panel h3{font-size:15px}.imported-file{padding:12px 0;border-top:1px solid #dce5df}.imported-file button{font-size:11px;padding:7px 10px}.chat-log{max-height:350px;overflow:auto;padding:12px;background:#f7f9f7;border-radius:8px}.chat-message{padding:12px;margin:8px 0;border-radius:8px;background:#e9efe8}.chat-message.user{background:#164e45;color:#fff;margin-left:10%}.chat-message b{font-size:12px}.chat-message p{font-size:13px;white-space:pre-wrap;line-height:1.7;margin:7px 0}.proposal{padding:18px;background:#eff6ef;border:1px solid #bacfc0;border-radius:8px;margin:16px 0}.proposal article{padding:10px 0;border-bottom:1px solid #d1dfd3;font-size:13px}.proposal p{line-height:1.7}.chat-panel textarea{width:100%;font:inherit;border:1px solid #cbd7d0;border-radius:7px;padding:12px;resize:vertical}.chat-panel input[type=file]{font-size:12px}.chat-controls .reset{margin:0}@media(max-width:700px){.chat-heading{flex-wrap:wrap}}[hidden]{display:none!important}.history-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.history-panel h3{margin-top:28px}.account-add{display:flex;gap:16px;align-items:end;margin:20px 0}.account-add>div{flex:1}.history-panel td input{width:140px}.history-panel tbody th{white-space:normal;min-width:200px}@media(max-width:700px){.history-profile{grid-template-columns:1fr}.account-add{flex-direction:column;align-items:stretch}}.history-template{margin:24px 0;max-width:760px}.account-label-edit{min-width:240px}.account-actions{display:flex;gap:6px;align-items:center}.account-actions .reset{margin:0;white-space:nowrap}.account-locked{background:#f0f6f2}.account-lock-status{display:block;margin-top:6px;color:#164e45}.account-actions{flex-wrap:wrap;min-width:250px}.account-name{display:flex;align-items:center;gap:8px}.drag-handle{cursor:grab;background:#e1ebe5;color:#164e45;padding:8px 10px;font-size:22px;flex-shrink:0}.drag-handle:active{cursor:grabbing}.account-dragging{opacity:.45}.drop-before>*{box-shadow:inset 0 3px #28765b}.drop-after>*{box-shadow:inset 0 -3px #28765b}.account-info-button{flex-shrink:0;border:1px solid #b8cec1;border-radius:50%;width:30px;height:30px;padding:0;background:#edf5ef;color:#164e45;font-size:21px}.account-info-button[aria-expanded=true]{background:#164e45;color:#fff}.account-info-description{max-width:390px;white-space:normal;font-weight:400;font-size:13px;line-height:1.6;background:#e7f0e9;padding:12px;border-radius:6px;margin-top:10px;text-align:left}.account-info-description p{margin:0 0 7px}.account-info-description small{color:#596f63}.history-finalize{margin-top:24px;padding:20px;background:#edf5ef;border-radius:8px}.history-finalize>button{white-space:normal}.history-finalize p{line-height:1.6}.investment-amount{display:flex;align-items:center;gap:12px;max-width:350px}.no-investment{display:flex;align-items:center;gap:10px;margin:20px 0}.no-investment input{width:auto}.investment-table input{width:160px}.investment-table tfoot{font-weight:700;background:#edf5ef}.investment-disabled,.investment-disabled thead,.investment-disabled tfoot{background:#e3e6e4;color:#748078}.investment-disabled input{background:#dce0dd;color:#748078}.investment-panel>button{margin-top:20px}.investment-over-budget{color:#c62828;font-weight:700}.investment-lock{margin-top:20px}.investment-lock>.reset{margin-left:12px}.investment-revenue-box{margin:20px 0;padding:20px;background:#edf5ef;border:1px solid #c4d6ca;border-radius:8px;max-width:650px}.investment-revenue-box h3{margin:0 0 12px;font-size:16px}.investment-revenue-box>strong{font-size:28px;color:#164e45}.investment-revenue-box p{font-size:13px;line-height:1.6}.financing-panel h3{margin-top:28px}.bank-reference{padding:20px;background:#edf5ef;border-radius:8px;margin-bottom:22px}.bank-reference h3{margin-top:0}.bank-reference p{font-size:13px;line-height:1.6}.finance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:15px 0}.finance-metrics article{padding:15px;background:#f4f8f5;border:1px solid #d1ded5;border-radius:7px}.finance-metrics span{display:block;font-size:12px;margin-bottom:8px}.finance-metrics strong{font-size:21px;overflow-wrap:anywhere}.finance-amount{display:flex;align-items:center;gap:8px;max-width:240px}.finance-amount input{min-width:100px;width:160px}.finance-checkbox{display:flex;align-items:center;gap:10px}.finance-checkbox input{width:auto}.loan-card{border:1px solid #ccdcd1;border-radius:9px;padding:20px;margin:16px 0}.loan-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.loan-heading h4{margin:0}.loan-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.loan-fields>div{min-width:0}.loan-fields label{font-size:12px}.loan-fields .finance-amount input{width:100%;min-width:0}.loan-schedule{max-height:420px;margin-top:15px}.loan-schedule thead{position:sticky;top:0}.finance-balanced{padding:15px;background:#e6f3e9;color:#164e45}.finance-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.finance-actions .reset{margin:0}.financing-panel tbody th{white-space:normal}@media(max-width:1000px){.loan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.loan-fields,.finance-metrics{grid-template-columns:1fr}.loan-card{padding:12px}.loan-heading{flex-wrap:wrap}}.financing-content{border:0;padding:0;margin:0;min-width:0}.financing-inactive{background:#e3e6e4;color:#6f7973}.financing-inactive .bank-reference,.financing-inactive .loan-card,.financing-inactive thead,.financing-inactive .total,.financing-inactive .finance-balanced,.financing-inactive .finance-metrics article{background:#dce1dd;color:#6f7973}.financing-inactive input,.financing-inactive select{background:#d4dad6;color:#6f7973}.history-scroll-container{min-width:0}.history-scroll-top{overflow-x:scroll;overflow-y:hidden;min-height:18px;margin-bottom:6px;scrollbar-color:#789789 #e3ebe5}.history-scroll-top:focus-visible{outline:2px solid #28765b;outline-offset:2px}.history-scroll-top::-webkit-scrollbar{height:14px}.history-scroll-top::-webkit-scrollbar-track{background:#e3ebe5;border-radius:6px}.history-scroll-top::-webkit-scrollbar-thumb{background:#789789;border-radius:6px}.investment-category-name{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:220px;white-space:normal}.investment-table tbody th{white-space:normal}.investment-table .reset{margin:0}.removed-items{margin-top:24px;padding:18px;background:#f1f4f1;border:1px solid #dce5df;border-radius:8px}.removed-items h3{margin:0 0 10px}.removed-items ul{padding:0;list-style:none}.removed-items li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid #dce5df}.removed-items li span{overflow-wrap:anywhere;min-width:0}.removed-items li .reset{margin:0;flex-shrink:0}.removed-items li:last-child{border-bottom:0}.removed-item-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.danger-button{background:#b42318;color:#fff}.danger-button:hover:not(:disabled){background:#8f1c13}.danger-button:disabled{opacity:.5}@media(max-width:700px){.removed-items li{flex-wrap:wrap}.removed-item-actions{width:100%}}button:hover:not(:disabled){background:#216858;color:#fff}.loan-analysis{min-width:0;border:1px solid #d2dfd5;padding:20px;margin:24px 0;border-radius:8px}.loan-analysis-inactive{background:#e3e6e4;color:#6f7973}.loan-removal-warning{padding:18px;background:#fff0e8;border:1px solid #d99b7b;border-radius:8px;margin-top:18px}.loan-removal-warning p{line-height:1.6}.loan-removal-warning button{margin-right:10px;white-space:normal}.integrated-statements,.integrated-statements h3{margin-top:24px}.integrated-statements th{white-space:normal;min-width:200px}.loan-info-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 7px;font-size:12px;font-weight:650;line-height:1.5;white-space:normal}.loan-info-heading .account-info-button{width:25px;height:25px;font-size:18px}.loan-info-description{max-width:100%;font-size:12px;margin:8px 0 12px}.loan-info-description a{color:#164e45;text-decoration:underline}.finance-metrics .loan-info-heading span{margin-bottom:0}.loan-fields .loan-info-heading{min-height:30px}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.profile-group{border:1px solid #dce5df;border-radius:8px;padding:18px;min-width:0;margin:0}.profile-group legend{font-size:14px;font-weight:700;padding:0 8px}.profile-group>label:first-of-type{margin-top:6px}.profile-check{display:flex;align-items:center;gap:10px}.profile-check input{width:auto}.profile-grid textarea{width:100%;font:inherit;border:1px solid #cbd7d0;border-radius:6px;padding:11px;resize:vertical}.profile-grid input,.profile-grid select{max-width:100%}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}.profile-group{padding:14px}}.reset.danger{background:#fbeceb;color:#aa382d}.diagnostic-panel{max-width:920px}.diagnostic-panel>button{white-space:normal;text-align:left}.diagnostic-panel>.reset.danger{display:block;margin:4px 0 8px}.diagnostic-review{border-top:1px solid #dce5df;margin-top:20px;padding-top:4px}.diagnostic-review h3{margin:16px 0 8px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.diagnostic-grid .hint{margin:6px 0 0}.diagnostic-financials h3{margin:20px 0 8px}.diagnostic-figures td:last-child{white-space:normal;text-align:left}.e3-preview td.e3-kept{color:#8a9893}.e3-preview td.e3-new{font-weight:650}.e3-preview sup{color:#aa382d;font-weight:700}.e3-replacements{font-size:13px;line-height:1.6;margin:8px 0 0;padding-left:20px}.diagnostic-comments h3{margin:20px 0 8px}.diagnostic-comments summary{font-size:13px;font-weight:650;color:#164e45;margin:8px 0}.diagnostic-comment{border-top:1px solid #e8ede8;padding:10px 0}.diagnostic-question{margin:0 0 6px;font-size:13px;font-weight:650;line-height:1.5}.diagnostic-question small{display:block;font-size:11px;font-weight:600;letter-spacing:.4px;color:#6c7c76}.diagnostic-comment textarea{width:100%;border:1px solid #cbd7d0;border-radius:6px;padding:9px 11px;font:inherit;font-size:14px}.diagnostic-comment p:not(.diagnostic-question){margin:0;font-size:13px;line-height:1.6}.diagnostic-no-comment{font-style:italic}.diagnostic-flags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:12px;color:#976335}.diagnostic-flags .reset{margin:0;padding:4px 9px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.diagnostic-answers{margin:2px 0 8px;padding-left:20px;font-size:13px;line-height:1.6}.diagnostic-comment label{margin:8px 0 4px;font-size:12px}.diagnostic-comment-text{font-size:13px;line-height:1.6;margin:0}.diagnostic-record-heading{font-size:13px;margin:14px 0 4px}.diagnostic-section{border-top:1px solid #e8ede8;padding:6px 0}.diagnostic-section>summary{font-size:13px;font-weight:650;color:#164e45;padding:4px 0}.e3-add{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}.e3-add label{width:100%;margin:4px 0 0}.e3-add select{width:auto;max-width:100%;min-width:0;flex:1 1 220px}.e3-add input{width:auto;flex:0 1 150px}.e3-add .reset{margin:0}.e3-form{margin-top:14px}.e3-form .chat-heading .reset{margin:0;padding:4px 10px}.e3-year{max-width:120px}.e3-codes input{min-width:130px;max-width:170px;padding:7px 9px;text-align:right}.e3-codes td:nth-child(2){white-space:normal;text-align:left}.diagnostic-file ul{margin:4px 0 8px;padding-left:20px;font-size:13px;line-height:1.7}@media(max-width:700px){.diagnostic-grid{grid-template-columns:1fr}}.diagnostic-format{margin:8px 0 0}.diagnostic-file{background:#f5f8f5;border:1px solid #dce5df;border-radius:8px;padding:14px 16px;margin-top:16px}.diagnostic-file p{margin:0 0 6px}.diagnostic-file .reset{margin:6px 0 0}.purpose-panel{max-width:920px}.purpose-hint{margin:10px 0 0}.purpose-next{margin:20px 0 0}.purpose-lock-text{margin:0}.note .reset{margin:10px 0 0;white-space:normal}.purpose-next button:disabled{background:#c9cfcb;color:#5f6965;opacity:1}.scenario-tabs button.tab-locked[aria-pressed=false]{background:#dcdfdd;color:#6f7973}.estimates-panel h3{margin-top:28px}.estimates-horizon{width:auto;min-width:90px;margin-bottom:16px}.estimates-table .finance-amount input{min-width:90px;width:120px}.estimates-table td{padding:10px}.estimates-warnings{margin:6px 0 0;padding-left:20px}.estimates-spaced{margin-top:16px}.estimates-lines{margin-top:20px}.estimates-lines h4{margin:0 0 8px}.estimates-line-fields{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:12px}.estimates-line-fields>div{flex:1 1 220px;min-width:0}.estimates-line-fields label{margin-top:0}.estimates-line-fields .reset{margin:0}@media(max-width:700px){button{white-space:normal}}.investment-life{width:70px!important}.expenses-table select{min-width:170px;font-size:13px;padding:8px}.expenses-table tbody th{white-space:normal;min-width:190px}.expenses-share{white-space:nowrap}.results-table tbody th{white-space:normal;min-width:190px}.estimates-table thead th:not(:first-child),.estimates-table td{padding-right:12px;text-align:right}.estimates-table .finance-amount{max-width:none;justify-content:flex-end}.estimates-table .finance-amount input{text-align:right}.finance-amount span:empty{display:none}.estimates-source{display:block;white-space:normal;max-width:130px;margin-left:auto;font-size:11px}.estimates-category{padding-left:40px!important;font-weight:400}.estimates-subtotal{font-weight:700;background:#f5f8f5}.estimates-subtotal th{font-weight:700}.e3-progress{display:flex;align-items:center;gap:12px;margin-top:4px}.e3-progress-track{flex:1;height:10px;background:#dce5df;border-radius:5px;overflow:hidden}.e3-progress-fill{height:100%;background:#164e45;border-radius:5px;transition:width .2s linear}.e3-progress span{min-width:42px;text-align:right;font-size:13px;font-weight:650;color:#164e45;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.e3-progress-fill{transition:none}}.history-year{display:inline-flex;align-items:center;gap:6px}.history-year-remove{margin:0;padding:1px 7px;font-size:13px;line-height:1.4}.expenses-share{white-space:nowrap;font-size:12px;color:#64766f}.expenses-amounts input{width:120px;min-width:90px;padding:8px 10px;text-align:right}.expenses-amounts input.expenses-overridden{background:#fff6e0;border-color:#c79a3b}.expenses-amounts tbody th{white-space:normal;min-width:190px}.expenses-automatic th{font-weight:400;font-style:italic}.expenses-scenario h4{margin:18px 0 8px}.workbook-export{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px}.workbook-export .hint{margin:0;flex:1 1 260px}.workbook-export .error{flex-basis:100%;margin:0}.plan-file{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px}.plan-file .hint{margin:0;flex:1 1 260px}.plan-file .error,.plan-file .note{flex-basis:100%;margin:0}
