:root{--nav:#0e2d54;--blue:#2563eb;--bg:#f4f7fb;--card:#fff;--line:#dce4ef;--text:#172033;--muted:#6b768c;--green:#047857;--red:#b42318;--amber:#a16207}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.hidden{display:none!important}.booting main,.booting header{visibility:hidden}button,input,select,textarea{font:inherit}button,.dash{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-weight:700;cursor:pointer;color:var(--text);text-decoration:none}.primary{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}header{position:sticky;top:0;z-index:20;background:var(--nav);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 12px #0002}.brand{font-size:18px;font-weight:850;white-space:nowrap}.brand small{font-size:11px;font-weight:500;opacity:.7}.modes{display:flex;background:#ffffff12;padding:3px;border-radius:10px;gap:3px}.mode,.nav{background:transparent;border:0;color:#dce9fa;white-space:nowrap}.mode.active{background:#fff;color:#12345c}.nav.active{background:#ffffff20;color:#fff}nav{display:flex;gap:3px;flex:1}.actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.dash{background:#eef6ff;color:#1d4ed8;border-color:#bdd7ff}#status{font-size:11px;color:#d8e7fb}.pill{font-size:10px;padding:4px 8px;border-radius:999px;background:#e8f1ff;color:#1d4ed8;font-weight:800}main{max-width:1600px;margin:auto;padding:20px}.readonly{padding:9px 12px;background:#eef6ff;border:1px solid #bdd7ff;border-radius:8px;color:#2459a8;margin-bottom:12px}.view{display:none}.view.active{display:block}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:15px}.pagehead h2{margin:0 0 4px;font-size:23px}.pagehead p{margin:0;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-bottom:13px}.kpi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px}.kpi small{display:block;color:var(--muted);margin-bottom:5px}.kpi b{font-size:19px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:14px;overflow:hidden}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--line)}.toolbar label,.selectbox{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.toolbar select,.selectbox select{border:1px solid var(--line);border-radius:7px;padding:6px;background:#fff}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1300px}th,td{border-bottom:1px solid #e8edf4;border-right:1px solid #f0f3f7;padding:8px 9px;white-space:nowrap;font-size:12px;text-align:right}th{background:#f7f9fc;color:#526078;position:sticky;top:0;z-index:2;text-align:center}td.left{text-align:left}.cell{width:105px;border:1px solid #dfd184;background:#fffbea;border-radius:5px;padding:5px;text-align:right}.cell.text{width:150px;text-align:left}.tag{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f7}.rent.전세{background:#e8f1ff;color:#1f5fbf}.rent.월세{background:#fff0dc;color:#a35a00}.pos{color:var(--green);font-weight:800}.neg{color:var(--red);font-weight:800}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;padding:14px}.field{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fbfcfe}.field label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:8px;background:#fff}.sectiontitle{font-weight:850;color:#163b6d;padding:14px 14px 6px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px;padding:14px}.metric{border:1px solid var(--line);border-radius:9px;padding:11px}.metric small{display:block;color:var(--muted);margin-bottom:4px}.metric b{font-size:16px}.scenario{min-width:700px}.scenario td,.scenario th{text-align:center}.overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0e2d54,#173f70);display:flex;align-items:center;justify-content:center;z-index:99;padding:20px}.auth-card{background:#fff;border-radius:16px;width:min(440px,100%);padding:24px;box-shadow:0 20px 70px #0005}.auth-card h1{font-size:23px;margin:0 0 5px}.auth-card p{color:var(--muted);line-height:1.6}.auth-card label{display:block;color:var(--muted);font-size:12px;margin:10px 0}.auth-card input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cbd5e1;border-radius:8px}.row{display:flex;gap:8px}.notice{background:#f2f6fb;padding:10px;border-radius:8px;font-size:12px;color:#56627a;margin-top:12px}.msg{font-size:12px;color:var(--red);min-height:18px;margin-top:8px}.center{text-align:center}.wait-icon{font-size:40px}.account-actions{display:flex;gap:4px;justify-content:center}.success{background:#047857;color:#fff}.warn{background:#fff7df;color:#8a5a00}.danger{color:#b42318}.owner-only{}@media(max-width:1100px){header{flex-wrap:wrap}.actions{width:100%;overflow-x:auto}.kpis{grid-template-columns:repeat(2,1fr)}.detail-grid,.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){main{padding:10px}.brand{width:100%}.brand small{display:none}.kpis,.detail-grid,.metrics{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.actions{font-size:11px}}

/* restored visual badges from pre-clean investment UI */
.rank{display:inline-flex;width:27px;height:27px;border-radius:50%;align-items:center;justify-content:center;background:#eaf2ff;color:#2563eb;font-weight:850}.rank.r1{background:#fff0bd;color:#8a6500}
.project-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf5ff;color:#2459a8;font-size:11px;font-weight:800}.biz-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef8f1;color:#20704a;font-size:11px;font-weight:800}.biz-badge.rebuild{background:#fff2e3;color:#995b10}
.type-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f7;color:#536176;font-size:11px;font-weight:800}.type-badge.a{background:#e8f0ff;color:#2459b4}.type-badge.b{background:#efeaff;color:#6743aa}
.rent-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850}.rent-badge.jeonse{background:#e8f1ff;color:#1f5fbf}.rent-badge.monthly{background:#fff0dc;color:#a35a00}.rent-badge.unknown{background:#f0f2f5;color:#6b7280}
.stage-badge{display:inline-flex;flex-direction:column;align-items:center;gap:1px;min-width:86px;padding:4px 7px;border-radius:8px;font-size:10px;font-weight:850;line-height:1.2}.stage-badge small{font-size:9px;font-weight:600;opacity:.72}.stage-badge.early{background:#f1f5f9;color:#475569}.stage-badge.approve{background:#e8f1ff;color:#1d4ed8}.stage-badge.manage{background:#ede9fe;color:#6d28d9}.stage-badge.build{background:#fff1db;color:#a45300}.stage-badge.complete{background:#e7f8ef;color:#047857}
tbody tr:hover td{background:#f8fbff}

.stage-cell{display:flex;align-items:center;justify-content:center;gap:5px}.stage-refresh{padding:3px 6px;border-radius:6px;font-size:11px;line-height:1.1;background:#fff;color:#315b8b;border:1px solid #cdd9e7}.stage-refresh:hover{background:#eef6ff}.stage-refresh.loading{opacity:.7;pointer-events:none}.stage-all-refresh{margin-left:auto;background:#eef6ff;color:#1d4ed8;border-color:#bdd7ff}.stage-source-link{font-size:10px;text-decoration:none;color:#64748b}.stage-source-link:hover{color:#1d4ed8}
.method-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f7;color:#536176;font-size:10px;font-weight:800}.calc-wait{color:var(--muted)!important;font-weight:700!important}.calc-pending-row td{background:#fbfcfe}.calc-pending-box{margin:4px 14px 12px;padding:12px 14px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calc-pending-box b{color:#8a5a00}.calc-pending-box span{font-weight:700}.calc-pending-box small{display:block;width:100%;color:var(--muted)}
.resolver-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:850}.resolver-chip.resolved{background:#e7f8ef;color:#047857}.resolver-chip.pending{background:#fff4d8;color:#8a5a00}.resolver-chip.failed{background:#feeceb;color:#b42318}.resolver-panel{margin:2px 14px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;display:grid;gap:3px;background:#f8fafc}.resolver-panel b{font-size:12px}.resolver-panel span,.resolver-panel small{font-size:11px;color:var(--muted)}.resolver-panel.resolved{background:#f0fbf5;border-color:#bce9cf}.resolver-panel.resolved b{color:#047857}.resolver-panel.pending,.resolver-panel.resolving{background:#fffaf0;border-color:#f0d9a4}.resolver-panel.pending b,.resolver-panel.resolving b{color:#8a5a00}.resolver-panel.stage_conflict,.resolver-panel.source_not_found,.resolver-panel.stage_not_detected,.resolver-panel.request_error,.resolver-panel.invalid_target,.resolver-panel.invalid_region,.resolver-panel.unresolved{background:#fff5f4;border-color:#f3c7c3}.resolver-panel.stage_conflict b,.resolver-panel.source_not_found b,.resolver-panel.stage_not_detected b,.resolver-panel.request_error b,.resolver-panel.invalid_target b,.resolver-panel.invalid_region b,.resolver-panel.unresolved b{color:#b42318}

/* B test: existing comparison table remains unchanged; this is an additive insight layer. */
.b-insights{margin-top:12px;background:#f8fbff;border:1px solid #cfdceb;border-radius:11px;padding:11px}.b-insights-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.b-insights-head h3{display:inline;margin:0 0 0 6px;font-size:16px;color:#153d6f}.b-insights-head p{display:inline;margin-left:8px;color:var(--muted);font-size:11px}.b-version-label{display:inline-block;background:#153d6f;color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:850;letter-spacing:.06em}.b-legend{display:flex;gap:10px;color:var(--muted);font-size:10px;white-space:nowrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}.dot.project{background:#2563eb}.dot.regional{background:#a8bbd5}.b-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:8px}.b-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 10px;box-shadow:none}.b-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.b-card-title{min-width:0}.b-card h4{display:inline;font-size:13px;margin:0 0 0 5px}.b-card-top small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-detail{padding:4px 7px;font-size:10px;color:#2459a8;background:#f4f8ff}.b-progress-line{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:7px;margin-top:8px}.b-progress-line>b{font-size:10px;color:#334155;white-space:nowrap}.b-progress-line>strong{font-size:11px;color:#1d4ed8}.b-progress{height:7px;background:#edf1f6;border-radius:999px;position:relative;overflow:hidden}.b-progress span{position:absolute;left:0;top:0;height:100%;border-radius:999px}.b-progress-region{background:#a8bbd5}.b-progress-project{background:#2563eb;height:3px!important;top:2px!important}.b-stats{display:flex;gap:0;margin-top:7px;background:#f7f9fc;border-radius:6px;padding:5px 0}.b-stats span{flex:1;padding:0 6px;border-right:1px solid #e4e9f1;color:var(--muted);font-size:9px;white-space:nowrap}.b-stats span:last-child{border-right:0}.b-stats b{color:#334155;font-size:10px}.b-issues{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;border-top:1px solid #edf1f6;margin-top:7px;padding-top:6px}.b-issues>small{font-weight:800;color:#526078;font-size:9px;white-space:nowrap}.b-issues>div{display:flex;gap:4px;min-width:0}.b-issues span{display:block;min-width:0;max-width:50%;padding:2px 5px;border-radius:4px;background:#f4f6f9;color:#526078;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-empty{grid-column:1/-1;padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;background:#fff}
@media(max-width:1100px){.b-insight-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.b-insights-head p{display:none}}@media(max-width:650px){.b-insights{padding:9px}.b-insights-head{align-items:flex-start;flex-direction:column}.b-insight-grid{grid-template-columns:1fr}.b-legend{white-space:normal}.b-stats span{white-space:normal}}
.b-issues a{display:block;min-width:0;max-width:50%;padding:2px 5px;border-radius:4px;background:#f4f6f9;color:#365b88;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.b-issues a:hover{background:#eaf2ff;color:#1d4ed8}.b-issues a em{font-style:normal;color:#7a8799;margin-right:4px}.b-issues .issue-loading,.b-issues .issue-wait{max-width:100%;color:#7a8799}

/* Keep the original compact stage layout; the arrow opens the notice. */
.stage-cell>.resolver-chip,.stage-cell>.stage-refresh{display:none}
.initial-cash{color:var(--red);font-weight:800}
