*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f4f0;--surface:#ffffff;--surface2:#f0efe9;--border:rgba(0,0,0,0.1);--border2:rgba(0,0,0,0.18);--text:#1a1a18;--muted:#6b6b67;--accent:#185fa5;--accent-bg:#e6f1fb;--green:#0f6e56;--green-bg:#e1f5ee;--orange:#993c1d;--orange-bg:#faece7;--yellow:#854f0b;--yellow-bg:#faeeda;--red:#a32d2d;--red-bg:#fcebeb;--shadow:0 1px 3px rgba(0,0,0,0.08);--radius:10px;--radius-sm:6px}@media (prefers-color-scheme:dark){:root{--bg:#1a1a18;--surface:#242422;--surface2:#2c2c2a;--border:rgba(255,255,255,0.08);--border2:rgba(255,255,255,0.15);--text:#f0efe9;--muted:#888780;--accent:#85b7eb;--accent-bg:#042c53;--green:#5dcaa5;--green-bg:#04342c;--orange:#f0997b;--orange-bg:#4a1b0c;--yellow:#fac775;--yellow-bg:#412402;--red:#f09595;--red-bg:#501313}input[type=number],input[type=text],select{background:#ffffff!important;color:#1a1a18!important}input::placeholder{color:#999!important}.btn-calc,.btn-primary,.chart-tab.active,.res-panel-tab.active,.suggest-btn,.t1-path-badge,.t1-style-btn.active,.t2-panel-tab.active{color:#1a1a18!important}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;min-height:100vh}.step-tier1{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:max(3rem,8vh) 1rem 4rem}.t1-inner{width:100%;max-width:480px}.t1-brand{font-size:13px;color:var(--muted);margin-bottom:1rem;letter-spacing:.02em}.t1-heading{font-size:30px;font-weight:700;line-height:1.25;margin-bottom:.5rem}.t1-sub{font-size:15px;color:var(--muted);margin-bottom:2rem}.t1-field{margin-bottom:1rem}.t1-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.t1-field input{width:100%;padding:12px 14px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:15px;font-family:inherit;-moz-appearance:textfield}.t1-field input::-webkit-inner-spin-button,.t1-field input::-webkit-outer-spin-button{-webkit-appearance:none}.t1-field input:focus{outline:none;border-color:var(--accent)}.t1-error{font-size:13px;color:var(--red);margin-top:4px}.t1-privacy{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:11.5px;line-height:1.65;color:var(--muted)}.t1-choose-lead{font-size:14px;color:var(--muted);margin:.25rem 0 1.5rem}.t1-path-card{border:1px solid var(--border2);border-radius:var(--radius);padding:16px;margin-bottom:12px}.t1-path-card.primary{border-color:var(--accent);background:var(--accent-bg)}.t1-path-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.t1-path-title{font-size:16px;font-weight:700;color:var(--text)}.t1-path-badge{font-size:11px;font-weight:600;color:#fff;background:var(--accent);padding:2px 8px;border-radius:20px}.t1-path-desc{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0 0 12px}.btn-outline{width:100%;padding:13px;background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.btn-outline:hover{background:var(--accent-bg);transform:translateY(-1px)}.btn-outline:active{transform:translateY(0)}.t1-back-link{background:none;border:none;padding:0;font-family:inherit;font-size:13px;color:var(--muted);cursor:pointer;margin-bottom:.75rem}.t1-back-link:hover{color:var(--accent)}.t1-estimate-note{border-left:3px solid var(--accent);background:var(--surface2);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:1rem;font-size:12.5px;line-height:1.6;color:var(--muted)}.t1-estimate-note strong{color:var(--text);font-weight:600}.btn-primary{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .1s;margin-top:.5rem}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-primary:active{opacity:1;transform:translateY(0)}.t1-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:2rem 0 1.5rem;text-align:center}.loading-spinner{width:28px;height:28px;border:3px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.t1-style-btns{display:flex;gap:6px;margin-bottom:12px}.t1-style-btn{flex:1 1;padding:8px 4px;font-size:12px;font-family:inherit;border:1.5px solid var(--border2);border-radius:20px;background:var(--surface2);color:var(--muted);cursor:pointer;font-weight:500;transition:all .15s;white-space:nowrap;text-align:center}.t1-style-btn.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.t1-style-btn:not(.active):hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.t1-metrics-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:12px}.t1-metric-card{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);padding:12px 14px;transition:background .2s,border-color .2s}.t1-metric-card.green{background:var(--green-bg);border-color:var(--green)}.t1-metric-card.orange{background:var(--orange-bg);border-color:var(--orange)}.t1-metric-card.red{background:var(--red-bg);border-color:var(--red)}.t1-metric-label{font-size:11px;color:var(--muted);margin-bottom:4px}.t1-metric-val{font-size:clamp(17px,5vw,24px);font-weight:700;line-height:1.2}.t1-metric-card.green .t1-metric-val{color:var(--green)}.t1-metric-card.orange .t1-metric-val{color:var(--orange)}.t1-metric-card.red .t1-metric-val{color:var(--red)}.t1-metric-sub{font-size:11px;color:var(--muted);margin-top:3px}.t1-analysis-box{border-radius:var(--radius);padding:10px 14px;font-size:13px;line-height:1.6;margin-bottom:12px;border:1px solid transparent}.t1-analysis-box.green{background:var(--green-bg);border-color:var(--green);color:var(--green)}.t1-analysis-box.orange{background:var(--orange-bg);border-color:var(--orange);color:var(--orange)}.t1-analysis-box.red{background:var(--red-bg);border-color:var(--red);color:var(--red)}.t1-note{font-size:13px;color:var(--muted);text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease forwards}.reveal-item{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal-item.visible{opacity:1;transform:translateY(0)}.step-tier2{min-height:100vh;display:flex;flex-direction:column}.t2-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.85rem 1.25rem;display:flex;align-items:center;gap:10px;flex-shrink:0}.t2-header h1{font-size:17px;font-weight:600;flex:1 1;text-align:center}.btn-back{background:none;border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;padding:6px 12px;white-space:nowrap}.btn-back:hover{background:var(--surface2)}.header-spacer{width:80px}.progress-wrap{background:var(--surface2);height:8px;position:relative;flex-shrink:0}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.progress-label{position:absolute;right:8px;top:-18px;font-size:11px;color:var(--muted)}.t2-body{display:flex;flex:1 1;min-height:0}.t2-form{width:420px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:0}.t2-chart-panel{flex:1 1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.t2-chart-panel h3{font-size:14px;font-weight:500}.preview-chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;flex:1 1;min-height:300px;display:flex;flex-direction:column}.preview-chart-wrap canvas{display:block}@media (max-width:800px){.t2-body{flex-direction:column}.t2-form{width:100%;border-right:none;border-bottom:1px solid var(--border)}.t2-chart-panel,.t2-form{padding:.75rem}.preview-chart-wrap{min-height:220px}}.field{margin-bottom:.75rem}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.field .hint{font-size:11px;color:var(--muted);opacity:.7;margin-top:2px}input.num-fmt,input[type=number],select{width:100%;padding:10px 12px;background:#ffffff;border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit;transition:border-color .15s;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]:focus,select:focus{outline:none;border-color:var(--accent)}.input-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.input-row3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:8px;gap:8px}@media (max-width:800px){.input-row,.input-row3{gap:6px}.field{margin-bottom:.4rem}.field label{font-size:12px;margin-bottom:3px}}.section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:0;display:flex;align-items:center;gap:6px}details.section-collapse{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:0}details.section-collapse>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:44px;padding:10px 0}details.section-collapse>summary::-webkit-details-marker{display:none}details.section-collapse>summary .section-title{flex:1 1}details.section-collapse>summary:after{content:"▾";font-size:18px;color:var(--muted);margin-left:auto;transition:transform .15s}details.section-collapse:not([open])>summary:after{transform:rotate(-90deg)}@media (max-width:800px){details.section-collapse>summary:after{font-size:24px}details.section-collapse>summary .section-title{font-size:17px}}details.section-collapse>summary+*{margin-top:.75rem}.sec-pending{font-size:11px;color:#b8860b;background:#fff8c5;border-radius:10px;padding:2px 8px;margin-left:6px;vertical-align:middle;transition:opacity .2s}@media (prefers-color-scheme:dark){.sec-pending{color:#fac775;background:var(--yellow-bg)}}.sec-pending.done{display:none}.sec-err{font-size:11px;font-weight:500;color:var(--red);background:var(--red-bg);border-radius:4px;padding:1px 7px;margin-left:8px;vertical-align:middle}.expense-table{width:100%;border-collapse:collapse;font-size:13px}.expense-table th{text-align:right;font-size:11px;font-weight:500;color:var(--muted);padding:0 6px 6px}.expense-table th:first-child{text-align:left}.expense-table td{padding:3px 6px 3px 0;vertical-align:middle}.expense-table td:not(:first-child){padding-left:6px}.expense-table td input{width:100%;text-align:right;padding:5px 8px}.expense-table tfoot td{font-size:12px;color:var(--muted);padding-top:6px;border-top:1px solid var(--border)}.expense-table .cat-label{font-size:12px;color:var(--text);white-space:nowrap}.expense-del-btn{border:none;background:none;cursor:pointer;color:var(--muted);font-size:11px;line-height:1;padding:2px 4px;margin-right:4px;border-radius:3px;transition:color .15s,background .15s}.expense-del-btn:hover{color:var(--red);background:var(--red-bg)}.expense-add-row{display:flex;gap:6px;align-items:center;padding-top:6px}.expense-table .expense-add-row input{flex:1 1;width:auto;text-align:left;font-size:12px;padding:6px 8px}.expense-add-btn{flex-shrink:0;border:1px dashed var(--border2);background:none;color:var(--accent);font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.expense-add-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent)}.expense-add-btn:disabled{opacity:.4;cursor:default}.suggest-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.suggest-left{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:160px}.suggest-label{font-size:12px;color:var(--muted)}.suggest-left select{width:100%;font-size:15px;padding:10px 12px}.suggest-btn{flex-shrink:0;padding:8px 18px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 6px rgba(0,0,0,.15);white-space:nowrap}.suggest-btn:hover{opacity:.88;box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}.suggest-btn:active{opacity:1;transform:translateY(0)}.suggest-btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none;background:var(--muted)}.expense-detail-summary{font-size:12px;color:var(--muted);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.expense-detail-summary::-webkit-details-marker{display:none}.expense-detail-summary:before{content:"▶";font-size:13px;color:var(--accent);transition:transform .15s}.home-summary{margin-top:10px;border:1px solid var(--border2);border-radius:var(--radius-sm);overflow:hidden}.home-summary summary{padding:8px 12px;font-size:12px;color:var(--accent);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none}.home-summary summary::-webkit-details-marker{display:none}.home-summary summary:before{content:"▶";font-size:13px;color:var(--accent);transition:transform .15s;display:inline-block;margin-right:5px}.home-summary[open] summary:before{transform:rotate(90deg)}.home-summary-body{padding:10px 12px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.home-row{display:flex;justify-content:space-between;font-size:12px}.home-row .name{color:var(--muted)}.home-row .val{font-weight:500}.home-row.total{border-top:1px solid var(--border);padding-top:6px;font-size:13px}.home-row.total .name{color:var(--text)}.home-row.interest .val{color:var(--red)}.no-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;margin-bottom:8px}.no-toggle input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.fields-disabled{opacity:.35;pointer-events:none}.tooltip-wrap{position:relative}.tooltip-icon,.tooltip-wrap{display:inline-flex;align-items:center}.tooltip-icon{justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--surface2);border:1px solid var(--border2);font-size:10px;font-weight:600;color:var(--muted);cursor:default;flex-shrink:0}.tooltip-box{display:none;position:absolute;left:20px;top:50%;transform:translateY(-50%);background:var(--text);color:var(--bg);font-size:12px;font-weight:400;line-height:1.5;padding:7px 10px;border-radius:6px;width:230px;z-index:10;pointer-events:none}.tooltip-wrap:hover .tooltip-box{display:block}.tier2-actions{display:flex;gap:10px;margin-top:1.5rem;padding-top:1rem}.tier2-actions button{flex:1 1;padding:12px;border-radius:var(--radius-sm);font-size:15px;font-family:inherit;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-calc{background:var(--accent);color:#fff;border:none}.btn-calc:hover{opacity:.88}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:12px;color:var(--muted)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}.t2-panel-tabs{display:flex;gap:0;margin-bottom:10px;border:1.5px solid var(--accent);border-radius:8px;overflow:hidden}.t2-panel-tab{flex:1 1;padding:8px 6px;font-size:13px;font-family:inherit;border:none;border-right:1.5px solid var(--accent);background:var(--surface2);color:var(--accent);cursor:pointer;font-weight:500;transition:background .15s,color .15s}.t2-panel-tab:last-child{border-right:none}.t2-panel-tab.active{background:var(--accent);color:#fff;font-weight:700}.t2-panel-tab:not(.active):hover{background:var(--accent-bg)}.step-results{min-height:100vh;display:flex;flex-direction:column}.results-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.85rem 1.25rem;display:flex;align-items:center;gap:10px;flex-shrink:0}.results-header h1{font-size:clamp(13px,3.5vw,17px);font-weight:600;flex:1 1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-mobile{display:none}@media (max-width:560px){.title-full{display:none}.title-mobile{display:inline}}.results-body{padding:1.5rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1.25rem;max-width:900px;width:100%;margin:0 auto}.primary-scorecard{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:560px){.primary-scorecard{grid-template-columns:1fr}}.secondary-scorecard{display:grid;grid-template-columns:1fr 1fr!important;grid-gap:10px;gap:10px}@media (max-width:560px){.secondary-scorecard{grid-template-columns:1fr}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.metric-card .label{font-size:12px;color:var(--muted);margin-bottom:4px}.metric-card .value{font-size:clamp(16px,4vw,26px);font-weight:600}.metric-card .sub{font-size:11px;color:var(--muted);margin-top:2px}.metric-card.accent{background:var(--accent-bg);border-color:var(--accent)}.metric-card.accent .value{color:var(--accent)}.metric-card.green{background:var(--green-bg);border-color:var(--green)}.metric-card.green .value{color:var(--green)}.metric-card.orange{background:var(--orange-bg);border-color:transparent}.metric-card.orange .value{color:var(--orange)}.metric-card.sm .value{font-size:clamp(14px,3.5vw,20px)}.analysis-box{border-radius:var(--radius);padding:1rem 1.25rem;font-size:13px;line-height:1.65;border:1px solid transparent}.analysis-box.green{background:var(--green-bg);border-color:var(--green);color:var(--green)}.analysis-box.orange{background:var(--orange-bg);border-color:var(--orange);color:var(--orange)}.analysis-box strong{font-weight:600}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem}.chart-card h3{font-size:14px;font-weight:500;margin-bottom:.75rem}.chart-tabs{display:none;gap:0;margin-bottom:12px;border:1.5px solid var(--accent);border-radius:10px;overflow:hidden}@media (max-width:800px){.chart-tabs{display:flex}.chart-card-mobile-hidden{display:none!important}}.chart-tab{flex:1 1;padding:10px 4px;font-size:12px;font-family:inherit;border:none;border-right:1.5px solid var(--accent);background:var(--surface2);color:var(--accent);cursor:pointer;text-align:center;transition:background .15s,color .15s;font-weight:500}.chart-tab:last-child{border-right:none}.chart-tab.active{background:var(--accent);color:#fff;font-weight:700}.chart-tab:not(.active):hover{background:var(--accent-bg)}.neg-cashflow-warn{margin-top:8px;padding:8px 10px;border-radius:6px;background:var(--red-bg);color:var(--red);font-size:12px}.res-panel-tabs{display:flex;gap:0;margin-bottom:12px;border:1.5px solid var(--accent);border-radius:10px;overflow:hidden}.res-panel-tab{flex:1 1;padding:9px 6px;font-size:13px;font-family:inherit;border:none;border-right:1.5px solid var(--accent);background:var(--surface2);color:var(--accent);cursor:pointer;font-weight:500;transition:background .15s,color .15s}.res-panel-tab:last-child{border-right:none}.res-panel-tab.active{background:var(--accent);color:#fff;font-weight:700}.res-panel-tab:not(.active):hover{background:var(--accent-bg)}.data-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.data-table th{background:var(--surface2);color:var(--muted);font-weight:600;font-size:11px;text-align:right;padding:7px 10px;border:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.data-table th:first-child,.data-table th:nth-child(2){text-align:center}.data-table td{padding:6px 10px;border:1px solid var(--border);text-align:right;color:var(--text)}.data-table td:first-child,.data-table td:nth-child(2){text-align:center}.data-table tbody tr:nth-child(2n){background:var(--surface2)}.data-table tbody tr:hover{background:var(--accent-bg)}.data-table tr.phase-work td:nth-child(2){border-left:3px solid #378add}.data-table tr.phase-early td:nth-child(2){border-left:3px solid #1d9e75}.data-table tr.phase-late td:nth-child(2){border-left:3px solid #d85a30}.data-table .pos{color:var(--green);font-weight:500}.data-table .neg{color:var(--red);font-weight:500}