:root{--ink:#18211d;--muted:#79827b;--paper:#f6f7f3;--card:#fff;--line:#e5e8e1;--green:#1e7b57;--soft:#e5f3eb;--lime:#d5e85a;--yellow:#f4c95d;--red:#d7644f;--shadow:0 14px 40px rgba(24,33,29,.06);--mono:'DM Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Manrope,Arial,sans-serif}button,input{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:238px;border-right:1px solid var(--line);padding:32px 24px 26px;display:flex;flex-direction:column;background:#f8f9f6}.brand{font-size:20px;font-weight:800;letter-spacing:-.06em;display:flex;align-items:center;gap:8px}.brand-mark{background:var(--ink);color:var(--lime);width:27px;height:27px;border-radius:9px;display:grid;place-items:center}.brand-dot{color:var(--green)}.side-label,.eyebrow{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.side-label{margin:67px 0 16px}.nav-item,.settings-link{border:0;background:none;color:var(--muted);padding:12px 0;display:flex;gap:13px;align-items:center;width:100%;text-align:left;cursor:pointer}.nav-item span{font-size:18px;width:20px;text-align:center}.nav-item.active,.nav-item:hover,.settings-link:hover{color:var(--ink)}.nav-item.active{font-weight:800}.sidebar-bottom{margin-top:auto}.mini-quote{background:#e9efe6;border-radius:15px;padding:16px;font-size:12px;line-height:1.7;color:#556158}.settings-link{margin-top:25px;font-size:12px}.main{width:calc(100% - 238px);max-width:1440px;padding:36px 5.2vw 80px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:58px}.topbar h1{font-size:25px;letter-spacing:-.05em;margin:9px 0 0}.top-actions{display:flex;gap:20px;align-items:center}.saved{font:11px var(--mono);color:var(--muted)}.saved i{width:7px;height:7px;display:inline-block;background:var(--green);border-radius:50%;margin-right:7px}.avatar{border:0;background:var(--lime);width:36px;height:36px;border-radius:50%;font-weight:800}.view{display:none}.view.active{display:block}.eyebrow{margin:0 0 10px}.accent{color:var(--green)}.hero-row,.view-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.hero-row h2,.view-intro h2{font-size:clamp(35px,4.2vw,57px);line-height:1.02;letter-spacing:-.075em;margin:0 0 20px}.hero-row h2 em{font-style:normal;color:var(--green)}.subhead{color:var(--muted);max-width:480px;line-height:1.7;margin:0}.date-pill{min-width:250px;border-left:2px solid var(--lime);padding-left:20px}.date-pill span,.date-pill strong,.date-pill b{display:block}.date-pill span{font:10px var(--mono);color:var(--muted);letter-spacing:.1em}.date-pill strong{font-size:15px;margin:10px 0 21px}.date-pill b{font:500 22px var(--mono)}small{font:inherit;color:var(--muted);font-size:.58em}.status-banner{margin:45px 0 26px;padding:16px 20px;background:var(--soft);border-radius:12px;display:flex;align-items:center;gap:15px}.status-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.status-banner strong{font-size:13px}.status-banner p{margin:2px 0 0;color:#5f6e65;font-size:12px}.text-button{margin-left:auto;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer;font-size:12px}.metric-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:13px}.metric-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:var(--shadow);min-height:182px}.house-card{grid-row:span 2}.loan-card{grid-column:span 2}.card-top,.funding-line,.card-foot,.section-heading,.timeline-head,.detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-top{margin-bottom:19px}.tag,.status-chip{font:500 9px var(--mono);letter-spacing:.06em;border-radius:30px;padding:5px 8px}.green-tag{background:var(--soft);color:var(--green)}.yellow-tag{background:#fff5d9;color:#997019}.status-chip{background:var(--soft);color:var(--green)}.status-chip.tight{background:#fff5d9;color:#997019}.status-chip.shortfall{background:#fae9e5;color:var(--red)}.metric-main{display:flex;align-items:baseline;gap:14px}.metric-main>strong{font:500 53px var(--mono);letter-spacing:-.1em}.metric-main>strong span{font-size:28px}.metric-main div span,.metric-main div small{display:block}.metric-main div span{font-size:12px;color:var(--green)}.metric-main div small{font:11px var(--mono);margin-top:6px}.progress{height:7px;background:#eef0eb;border-radius:9px;overflow:hidden;margin:25px 0}.progress span{display:block;height:100%;background:var(--lime);border-radius:9px}.card-foot{font-size:11px;color:var(--muted);margin-top:22px}.card-foot b{font:11px var(--mono);color:var(--ink)}.big-number{font:500 23px var(--mono);display:block;margin:13px 0 21px}.funding-line{font-size:11px;color:var(--muted);padding:8px 0;border-top:1px solid var(--line)}.funding-line b{font:11px var(--mono);color:var(--ink)}.gap b{color:var(--green)}.loan-value{display:flex;align-items:baseline;gap:10px;margin:5px 0 16px}.loan-value strong{font:500 31px var(--mono)}.loan-value span{color:var(--muted);font-size:11px}.section-heading{margin:62px 0 16px}.section-heading h3{font-size:21px;letter-spacing:-.05em;margin:0}.outline-button,.primary-button{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer}.primary-button{background:var(--green);color:#fff}.timeline-card,.cashflow-summary,.table-wrap,.loan-detail-card,.repayment-card,.setting-card,.upside-card,.priority-strip,.expense-item{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:24px}.timeline-head>div:first-child strong,.timeline-head>div:first-child span{display:block}.timeline-head strong{font-size:15px}.timeline-head span{font-size:11px;color:var(--muted)}.legend{display:flex;gap:18px;font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--green)}.legend .loan-dot{background:var(--yellow)}.timeline{display:grid;grid-template-columns:repeat(7,1fr);margin-top:36px}.month{border-top:2px solid var(--line);position:relative;padding:13px 5px 0}.month:before{content:'';position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:#d7ddd6;border:2px solid var(--card)}.month.house:before{background:var(--green)}.month.final:before{background:var(--yellow)}.month strong,.month span,.month b{display:block}.month strong{font-size:11px}.month span{font-size:10px;color:var(--muted);margin-top:6px}.month b{font:10px var(--mono);margin-top:7px;color:var(--green)}
.view-intro{margin-bottom:38px}.view-intro h2{margin-bottom:12px}.settings-note,.muted{font:11px var(--mono);color:var(--muted)}.cashflow-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:16px}.cashflow-summary>div{padding-right:22px;border-right:1px solid var(--line)}.cashflow-summary>div:last-child{border:0}.cashflow-summary span,.cashflow-summary small{display:block;color:var(--muted);font-size:11px}.cashflow-summary strong{display:block;font:500 21px var(--mono);margin:10px 0}.cashflow-summary .priority{font:700 14px Manrope}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th{text-align:left;font:500 10px var(--mono);color:var(--muted);padding:0 15px 14px}td{border-top:1px solid var(--line);padding:16px 15px;font-size:12px}td:first-child{font-weight:800}td:not(:first-child){font-family:var(--mono)}.row-status{font:10px var(--mono);color:var(--green)}.loan-empty{text-align:center;background:#eef3ec;border-radius:17px;padding:60px 20px}.empty-icon{font-size:32px;color:var(--green)}.loan-empty h3{margin:10px 0 4px;font-size:20px}.loan-empty p{max-width:400px;margin:0 auto 25px;color:var(--muted);font-size:12px}.scenario-row{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.scenario-row button{border:1px solid #ced9ce;background:var(--card);padding:10px 14px;border-radius:8px;cursor:pointer;font:11px var(--mono)}.hidden{display:none!important}.loan-detail-card{margin-bottom:16px}.detail-top h3{margin:2px 0;font-size:22px}.detail-top span{color:var(--muted);font-size:11px}.loan-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}.loan-detail-grid span{display:block;color:var(--muted);font-size:11px}.loan-detail-grid strong{display:block;font:500 18px var(--mono);margin-top:8px}.loan-progress{margin-bottom:0}.repayment-card .section-heading{margin:0 0 12px}.repayment-row{display:grid;grid-template-columns:1fr 130px 90px;align-items:center;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.repayment-row span{font-size:12px}.repayment-row input{border:1px solid var(--line);border-radius:7px;padding:8px;font:11px var(--mono);width:100%}.repayment-row b{font:11px var(--mono);color:var(--muted)}.priority-strip{display:flex;gap:18px;align-items:center;background:#1f3129;color:#fff;margin-bottom:17px}.priority-strip span,.priority-strip small{color:#abc4b3;font-size:11px}.priority-strip strong{font-size:14px}.priority-strip b{color:var(--lime);margin:0 5px}.expense-list{display:grid;gap:10px}.expense-item{display:flex;align-items:center;justify-content:space-between}.expense-item h3{font-size:14px;margin:0 0 3px}.expense-item p{color:var(--muted);font-size:11px;margin:0}.expense-amount{font:500 15px var(--mono)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-card label{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:18px;color:var(--ink);font-size:12px}.setting-card label span{font:10px var(--mono);color:var(--muted)}.setting-card input{grid-column:1/-1;border:1px solid var(--line);background:#fafbf9;padding:11px;border-radius:8px;font:13px var(--mono);color:var(--ink);width:100%}.upside-card{margin-top:16px;display:flex;justify-content:space-between;align-items:center;background:#fffaf0}.upside-card h3{margin:4px 0;font-size:17px}.upside-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.modal{position:fixed;inset:0;background:rgba(24,33,29,.35);display:grid;place-items:center;padding:20px;z-index:5}.modal-panel{background:var(--paper);border-radius:17px;width:min(480px,100%);padding:28px;position:relative}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:25px;color:var(--muted);cursor:pointer}.modal-panel h3{font-size:24px;letter-spacing:-.05em;margin:0 0 7px}.modal-panel p{color:var(--muted);font-size:12px}.modal-panel label{display:block;font-size:11px;margin-top:17px}.modal-panel input,.modal-panel select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}@media(max-width:900px){.sidebar{width:190px}.main{width:calc(100% - 190px);padding:28px 3vw}.metric-grid{grid-template-columns:1fr 1fr}.house-card{grid-row:auto}.loan-card{grid-column:span 2}}@media(max-width:680px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);display:block}.side-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:15px;overflow:auto;margin-top:20px}.nav-item{padding:0 0 4px;width:auto;white-space:nowrap}.nav-item span{display:none}.main{width:100%;padding:25px 18px 55px}.topbar{margin-bottom:42px}.topbar h1{font-size:21px}.saved{display:none}.hero-row,.view-intro{display:block}.date-pill{margin-top:28px}.metric-grid{grid-template-columns:1fr}.loan-card{grid-column:auto}.status-banner{align-items:flex-start;flex-wrap:wrap}.text-button{margin-left:43px}.section-heading{margin-top:44px}.legend{display:none}.timeline-card{padding:18px 12px;overflow:hidden}.timeline{min-width:660px}.cashflow-summary{grid-template-columns:1fr;gap:16px}.cashflow-summary>div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.settings-grid{grid-template-columns:1fr}.upside-card,.priority-strip{display:block}.upside-card .tag{display:inline-block;margin-top:16px}.loan-detail-grid{grid-template-columns:1fr 1fr}.repayment-row{grid-template-columns:1fr 105px}.repayment-row b{display:none}}
.october-check{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;margin:18px 0 26px;box-shadow:var(--shadow)}.check-heading{display:flex;justify-content:space-between;align-items:flex-start}.check-heading h3{margin:0 0 3px;font-size:20px;letter-spacing:-.05em}.check-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px}.check-badge{background:#fae9e5;color:var(--red);border-radius:20px;padding:6px 10px;font:500 9px var(--mono)}.check-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr 1.1fr;align-items:end;gap:17px;margin-top:28px}.check-equation>div span,.check-equation>div small{display:block;color:var(--muted);font-size:10px}.check-equation strong{display:block;font:500 17px var(--mono);margin:8px 0}.check-equation>b{color:var(--muted);font-size:18px;padding-bottom:12px}.check-total{border-left:1px solid var(--line);padding-left:17px}.check-result{background:#fae9e5;border-radius:10px;padding:10px 13px}.check-result span{color:var(--red)!important}.check-result strong{color:var(--red)}@media(max-width:900px){.check-equation{grid-template-columns:1fr 1fr}.check-equation>b{display:none}.check-total{border-left:0;padding-left:0}.check-result{grid-column:span 2}}
.decision-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;margin-bottom:32px}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:23px}.decision-grid article{border:1px solid var(--line);border-radius:12px;padding:18px;min-height:210px;display:flex;flex-direction:column}.decision-grid article.recommended{border:2px solid var(--green);background:#f5faf6}.option-number{font:500 10px var(--mono);color:var(--green)}.decision-grid h4{font-size:15px;margin:13px 0 8px;letter-spacing:-.03em}.decision-grid p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}.option-result{font-size:11px;margin-top:auto;padding-top:16px}.option-result.green{color:var(--green)}.option-result.yellow{color:#997019}.decision-note{background:#fff7dd;border-radius:10px;padding:13px 15px;margin-top:14px;color:#725d29;font-size:11px}.decision-note b{color:#523f13}@media(max-width:680px){.decision-grid{grid-template-columns:1fr}.decision-grid article{min-height:170px}}
.quick-inputs{background:#eef3ec;border-radius:17px;padding:24px;margin-bottom:32px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.quick-grid label{font-size:11px}.quick-grid label span{float:right;color:var(--muted);font:10px var(--mono)}.quick-grid input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;font:13px var(--mono)}.input-help{margin:15px 0 0;color:var(--muted);font-size:10px}@media(max-width:900px){.quick-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.quick-grid{grid-template-columns:1fr}}
