:root{--bg:#f7f8fa;--card:#fff;--text:#17202a;--muted:#667085;--line:#e5e7eb;--accent:#1769e0;--accent2:#0f4fae;--danger:#d92d20;--ok:#067647}
*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit}.wrap{max-width:980px;margin:0 auto;padding:0 20px}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{height:64px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;text-decoration:none;font-size:20px}.navlinks{display:flex;gap:18px;font-size:14px}.navlinks a{text-decoration:none;color:#475467}.hero{padding:72px 0 30px}.eyebrow{color:var(--accent);font-weight:700}.hero h1{font-size:42px;line-height:1.18;margin:8px 0 14px}.hero p{font-size:18px;color:var(--muted);max-width:700px}.grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(16,24,40,.05)}h2{font-size:26px;margin:0 0 16px}h3{margin-top:0}.field{margin-bottom:16px}.field label{display:block;font-weight:700;margin-bottom:6px}.field small{display:block;color:var(--muted);margin-top:5px}.field input{width:100%;padding:12px 14px;border:1px solid #cfd4dc;border-radius:10px;font-size:16px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{width:100%;border:0;background:var(--accent);color:#fff;padding:14px 16px;border-radius:12px;font-size:17px;font-weight:800;cursor:pointer}.btn:hover{background:var(--accent2)}.result{margin-top:20px;padding:18px;border-radius:14px;background:#f2f7ff;border:1px solid #cfe0ff;display:none}.result strong.big{font-size:28px;display:block}.danger{color:var(--danger)}.ok{color:var(--ok)}.list{padding-left:20px}.cta{margin-top:26px;padding:18px;border-radius:14px;background:#f9fafb;border:1px solid var(--line)}.articles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none}.article:hover{border-color:#b8c8e8}.article span{display:block;color:var(--muted);font-size:14px}.content{padding:46px 0}.content h1{font-size:36px;line-height:1.25}.content h2{margin-top:34px}.note{background:#fff8e6;border:1px solid #f4d38b;border-radius:12px;padding:16px}.footer{margin-top:60px;padding:28px 0 40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}@media(max-width:760px){.hero{padding-top:44px}.hero h1{font-size:34px}.grid,.articles,.pair{grid-template-columns:1fr}.navlinks{display:none}}
.ocr-card{margin-bottom:24px}.ocr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ocr-head p{margin:4px 0 0;color:var(--muted)}.beta{font-size:12px;vertical-align:middle;color:#fff;background:var(--accent);border-radius:999px;padding:4px 7px}.privacy-badge{white-space:nowrap;font-size:13px;background:#eef8f2;color:#067647;border:1px solid #c7ead4;border-radius:999px;padding:8px 11px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.upload-box{border:1px dashed #b9c2cf;border-radius:14px;padding:18px;background:#fafbfc}.upload-box strong{display:block;margin-bottom:10px}.upload-box input[type=file]{width:100%;margin-bottom:12px}.btn.secondary{background:#344054;font-size:15px;padding:11px}.btn.secondary:hover{background:#1d2939}.btn:disabled{opacity:.55;cursor:not-allowed}.ocr-status{font-size:13px;color:var(--muted);margin-top:9px}.ocr-status.working{color:#175cd3}.ocr-status.done{color:#067647}.ocr-status.warn{color:#b54708}.ocr-note{font-size:13px;color:var(--muted);margin-top:12px}@media(max-width:760px){.ocr-head{display:block}.privacy-badge{display:inline-block;margin-top:12px}.upload-grid{grid-template-columns:1fr}}

.field select{width:100%;padding:12px 14px;border:1px solid #cfd4dc;border-radius:10px;font-size:16px;background:#fff}.month-field{max-width:220px;margin-bottom:20px}.muted{color:var(--muted)}.result-summary{padding-bottom:16px;border-bottom:1px solid #dbe7fb}.result-kicker{display:block;font-size:13px;font-weight:800;color:#175cd3;margin-bottom:4px}.diagnosis-head{padding:20px 0 10px}.diagnosis-head>span{font-size:13px;font-weight:800;color:#475467}.diagnosis-head h3{font-size:24px;margin:3px 0 4px}.diagnosis-head p{margin:0;color:#475467}.driver-list{display:grid;gap:10px}.driver-card{background:#fff;border:1px solid #d8e2f2;border-radius:12px;padding:15px}.driver-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.driver-number{font-size:20px;font-weight:800;margin:6px 0}.driver-number span{font-size:13px;font-weight:600;color:#667085}.driver-card p{margin:4px 0 0;color:#475467;font-size:14px}.tag{font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px}.tag.high{background:#fee4e2;color:#b42318}.tag.mid{background:#fff3d6;color:#b54708}.tag.low{background:#ecfdf3;color:#067647}.ocr-warning{margin:16px 0;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px;color:#9a3412}.ocr-warning p{margin:6px 0 0;font-size:14px}.residual{margin-top:12px;background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;padding:14px}.residual>strong{display:block}.residual>span{font-size:20px;font-weight:800}.residual p{font-size:13px;color:#667085;margin:5px 0 0}.next-check{margin-top:18px}.next-check h3{margin-bottom:10px}.next-check ol{padding:0;margin:0;list-style:none;display:grid;gap:8px}.next-check li{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:10px 12px;font-size:14px}.next-check li span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#eaf2ff;color:#175cd3;font-size:12px;font-weight:800}.accuracy-note{margin-top:16px;padding-top:14px;border-top:1px solid #dbe7fb;color:#667085;font-size:13px}.accuracy-note em{font-style:normal;font-weight:700;color:#344054}


.main-layout{display:grid;grid-template-columns:1.6fr .85fr;gap:24px;margin-top:24px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head>div{display:flex;align-items:center;gap:10px}.section-head h2{margin:0}
.step{display:inline-flex;width:28px;height:28px;border-radius:50%;background:#eaf2ff;color:#175cd3;align-items:center;justify-content:center;font-weight:800}
.mini-btn{border:1px solid #b9c7dc;background:#fff;color:#175cd3;padding:8px 11px;border-radius:9px;font-weight:700;cursor:pointer}.mini-btn:hover{background:#f2f7ff}
.apt-card{margin-bottom:24px}.apt-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.unit-input{display:flex;align-items:center;border:1px solid #cfd4dc;border-radius:10px;background:#fff}.unit-input input{border:0}.unit-input span{padding-right:12px;color:#667085}.data-note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:13px 15px;color:#475467;font-size:13px}
.totals-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid #e5e7eb;padding-bottom:16px;margin-bottom:16px}
.fee-group{margin:22px 0}.fee-title{display:flex;align-items:baseline;gap:10px;padding-bottom:7px;border-bottom:2px solid #eef2f6}.fee-title h3{margin:0}.fee-title span{font-size:12px;color:#667085}
.fee-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f5}.fee-row label{font-weight:700;font-size:14px}.fee-row input,.benchmark-row input,.detail-grid input{width:100%;padding:9px 10px;border:1px solid #d0d5dd;border-radius:8px;font-size:14px}
.detail-box{margin:20px 0;border:1px solid #e4e7ec;border-radius:12px;padding:12px 14px;background:#fafafa}.detail-box summary{font-weight:800;cursor:pointer}.detail-box>p{font-size:13px;color:#667085}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px}.field.compact{margin-bottom:5px}.field.compact label{font-size:13px}
.primary-large{margin-top:18px}
.benchmark-card{height:max-content;position:sticky;top:88px}.small-muted{font-size:12px;color:#667085}.benchmark-head,.benchmark-row{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:7px;align-items:center}.benchmark-head{font-size:12px;color:#667085;text-align:center;padding:8px 0;border-bottom:1px solid #e4e7ec}.benchmark-head span:first-child{text-align:left}.benchmark-row{padding:6px 0;border-bottom:1px solid #f0f2f5}.benchmark-row>span{font-size:12px;font-weight:700}.benchmark-row input{text-align:right;padding:7px 6px}
.api-status{margin-top:16px;border:1px solid #f4d38b;background:#fff8e6;border-radius:12px;padding:12px;display:flex;gap:9px}.api-status .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#f79009;flex:none}.api-status strong{font-size:13px}.api-status p{margin:2px 0 0;font-size:12px;color:#667085}
.compare-explain{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.compare-explain>div{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:16px}.compare-explain p{font-size:13px;color:#667085;margin:4px 0 0}
.comparison-list{display:grid;gap:12px}.comparison-card{background:#fff;border:1px solid #d8e2f2;border-radius:12px;padding:14px}.comparison-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.triple>div{background:#f8fafc;border-radius:10px;padding:9px}.triple small{display:block;color:#667085;font-size:12px}.triple b{display:block;font-size:14px}.triple em{font-style:normal;font-size:12px;color:#667085}.comparison-card p{font-size:12px;color:#475467;margin:9px 0 0}.tag.neutral{background:#f2f4f7;color:#475467}.empty-state{padding:18px;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;color:#667085}
@media(max-width:900px){.main-layout{grid-template-columns:1fr}.benchmark-card{position:static}.apt-grid{grid-template-columns:1fr 1fr}.compare-explain{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.apt-grid,.totals-row{grid-template-columns:1fr}.fee-row{grid-template-columns:1fr 1fr 1fr}.fee-row label{grid-column:1/-1}.triple{grid-template-columns:1fr}.benchmark-head,.benchmark-row{grid-template-columns:1.25fr .9fr .9fr}}


.api-setup-card{margin-bottom:24px;border:1px solid #bfd4f7;background:linear-gradient(180deg,#fbfdff,#f7fbff)}
.api-chip{padding:6px 10px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800}.api-chip.ok{background:#e7f7ee;color:#087443}
.api-key-row,.apt-search-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:10px 0}.apt-search-row{grid-template-columns:1fr auto}
.api-key-row input,.apt-search-row input,.api-load-row input{padding:11px 12px;border:1px solid #cfd4dc;border-radius:10px;font-size:14px}
.api-message{font-size:12px;color:#667085;padding:8px 10px;border-radius:8px}.api-message.ok{background:#ecfdf3;color:#067647}.api-message.warn{background:#fff4e5;color:#b54708}.api-message.working{background:#eff8ff;color:#175cd3}
.apt-results{max-height:290px;overflow:auto;display:grid;gap:6px;margin-top:8px}.apt-result-btn{border:1px solid #e4e7ec;background:#fff;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.apt-result-btn:hover{border-color:#84adf4;background:#f8fbff}.apt-result-btn b{display:block}.apt-result-btn span{display:block;font-size:12px;color:#667085;margin-top:2px}
.api-load-row{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:end;margin-top:14px}.selected-apt{margin-top:12px;padding:12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.selected-apt b,.selected-apt span,.selected-apt small{display:block}.selected-apt span{font-size:12px;color:#475467;margin-top:3px}.selected-apt small{font-size:12px;color:#667085;margin-top:5px;line-height:1.5}
@media(max-width:700px){.api-key-row,.apt-search-row,.api-load-row{grid-template-columns:1fr}.api-key-row .mini-btn{width:100%}}


.fee-input-section{margin-top:24px}.section-desc{margin:-4px 0 18px;color:#667085;font-size:13px}
.diagnose-btn{width:100%;font-size:16px;padding:14px 18px}
.dev-data-section{margin-top:18px}.developer-details{padding:0;overflow:hidden}.developer-details>summary{cursor:pointer;font-weight:800;padding:15px 18px;color:#667085}.developer-details[open]>summary{border-bottom:1px solid #e4e7ec}.developer-inner{padding:18px}
.result{margin-top:28px}.result-flow{display:grid;gap:18px}
.result-stage{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:22px;box-shadow:0 2px 10px rgba(16,24,40,.035)}
.stage-house{border-top:4px solid #2563eb}.stage-complex{border-top:4px solid #7c3aed}.stage-peer{border-top:4px solid #0f766e}
.stage-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.stage-no{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f2f4f7;font-weight:900;font-size:15px;flex:none}
.stage-head h2{margin:0;font-size:21px}.stage-head p{margin:2px 0 0;color:#667085;font-size:12px}
.house-total-card{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:14px;background:#f8fafc;border-radius:14px;padding:16px}
.house-total-card>div:not(.total-change){display:flex;flex-direction:column}.house-total-card small{color:#667085}.house-total-card strong{font-size:22px}.arrow{color:#98a2b3;font-size:20px}
.total-change{font-size:17px;font-weight:900;padding:9px 12px;border-radius:10px}.total-change.rise{background:#fff1f0;color:#b42318}.total-change.fall{background:#ecfdf3;color:#067647}.total-change.flat{background:#f2f4f7;color:#475467}
.stage-summary{margin:14px 0;padding:12px 14px;background:#f9fafb;border-radius:10px;font-size:14px}
.change-list{display:grid;gap:8px}.change-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #eef0f3;border-radius:11px;padding:11px 13px}.change-row>div:first-child{display:flex;flex-direction:column}.change-row span{font-size:12px;color:#667085;margin-top:2px}.change-number{font-weight:800;text-align:right}.change-number small{display:block;font-size:12px;color:#667085}
.change-row.up .change-number{color:#b42318}.change-row.down .change-number{color:#067647}
.stage-note{font-size:12px;color:#667085;background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.compare-list-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compare-row{border:1px solid #e4e7ec;border-radius:12px;padding:13px}.compare-row-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
.compare-two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.compare-two>div{background:#f8fafc;border-radius:9px;padding:8px}.compare-two small{display:block;font-size:12px;color:#667085}.compare-two b{font-size:13px}.compare-row p{margin:8px 0 0;font-size:12px;color:#475467}
.final-verdict{border:2px solid #d0d5dd;border-radius:16px;padding:18px 20px;background:#fff}.final-verdict span{display:block;font-size:12px;color:#667085;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.final-verdict strong{display:block;margin-top:5px;font-size:18px;line-height:1.45}
@media(max-width:760px){.house-total-card{grid-template-columns:1fr auto 1fr}.total-change{grid-column:1/-1;text-align:center}.compare-list-two{grid-template-columns:1fr}}


/* ===== v5.7 user-first UI reset ===== */
.user-flow-section{margin-top:22px}
.flow-card{padding:26px}
.primary-flow{border-top:4px solid #2563eb}
.flow-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}
.flow-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf2ff;color:#175cd3;font-weight:900;flex:none}
.flow-title h2{margin:0;font-size:24px}
.flow-title p{margin:3px 0 0;color:#667085;font-size:13px}
.ocr-inline{background:#f8fafc;border:1px solid #e4e7ec;border-radius:14px;padding:16px;margin-bottom:22px}
.ocr-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.manual-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid #e4e7ec}
.manual-head span{font-size:12px;color:#667085}
.apt-finder>label{display:block;font-weight:800;margin-bottom:7px}
.compact-btn{width:auto;white-space:nowrap;padding:10px 15px;font-size:14px}
.compare-settings{display:grid;grid-template-columns:1.5fr .75fr .8fr .8fr;gap:12px;margin-top:18px}
.data-load-btn{margin-top:3px}
.compare-explain-inline{margin-top:11px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#667085;font-size:12px}
.analyze-section{margin-top:24px}
.analyze-main-btn{padding:17px;font-size:18px;border-radius:15px}
.analyze-main-btn small{display:block;font-size:12px;font-weight:600;opacity:.8;margin-top:2px}
.result-wrap{margin-top:26px}

/* old result shell caused nested blue box; fully reset it */
.result{display:block;margin:18px 0 0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
.result[style*="display: none"],.result[style*="display:none"]{display:none!important}
.peer-result-inline{min-height:86px}
.peer-result-placeholder{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px dashed #b7c8df;border-radius:12px;background:#f8fbff;color:#344054}
.peer-result-placeholder b{font-size:14px}.peer-result-placeholder span{font-size:12px;color:#667085}
.result-flow{display:grid;gap:18px}
.result-stage{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:22px;box-shadow:0 4px 16px rgba(16,24,40,.045)}
.stage-house{border-top:4px solid #2563eb}
.stage-complex{border-top:4px solid #7c3aed}
.stage-peer{border-top:4px solid #0f766e}
.final-verdict{background:#101828;color:#fff;border:0}
.final-verdict span{color:#98a2b3}

.dev-only-section{margin-top:34px}
.developer-details{padding:0;box-shadow:none;background:#f9fafb}
.developer-details>summary{padding:14px 18px;color:#667085;font-size:13px;cursor:pointer}
.developer-inner{padding:18px;border-top:1px solid #e4e7ec}
.dev-block+ .dev-block{margin-top:22px;padding-top:20px;border-top:1px solid #e4e7ec}
.dev-block h3{margin:0 0 4px}
.dev-block p{margin:0 0 10px;color:#667085;font-size:12px}

/* keep developer/API presentation out of main flow */
.api-setup-card{display:none!important}
.apt-card{display:none!important}
.dev-data-section{display:none!important}
.compare-explain{display:none!important}

@media(max-width:850px){
  .compare-settings{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .compare-settings{grid-template-columns:1fr}
  .ocr-inline-head{align-items:flex-start;flex-direction:column}
  .apt-search-row{grid-template-columns:1fr}
  .compact-btn{width:100%}
}

/* ===== v5.8 auto apartment matching ===== */
.auto-match-box{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #d0d5dd;border-radius:13px;background:#f8fafc;margin-bottom:14px}
.auto-match-box.ok{background:#ecfdf3;border-color:#abefc6}
.auto-match-box.warn{background:#fff7ed;border-color:#fed7aa}
.auto-match-box.working{background:#eff8ff;border-color:#b2ddff}
.auto-match-icon{font-size:24px;line-height:1}
.auto-match-box strong{display:block;font-size:14px}
.auto-match-box p{margin:3px 0 0;color:#667085;font-size:12px}
.area-confirm-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:12px;margin-top:16px}
.field-help{display:block;margin-top:5px;color:#98a2b3;font-size:12px;line-height:1.35}
.manual-apt-search{margin-top:16px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa}
.manual-apt-search>summary{padding:12px 14px;cursor:pointer;font-weight:700;font-size:13px;color:#475467}
.manual-search-inner{padding:0 14px 14px}
@media(max-width:850px){.area-confirm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.area-confirm-grid{grid-template-columns:1fr}}

/* ===== v6.0 similar-complex auto selection ===== */
.peer-auto-box{margin-top:14px;border:1px solid #e4e7ec;border-radius:13px;background:#fafafa;padding:13px 14px}
.peer-auto-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.peer-auto-head strong{font-size:13px}
.peer-auto-head span{font-size:12px;color:#667085;text-align:right}
.peer-auto-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.peer-pill{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:9px}
.peer-rank{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef4ff;color:#175cd3;font-size:12px;font-weight:900;flex:none}
.peer-pill b{display:block;font-size:12px;line-height:1.25}
.peer-pill small{display:block;color:#667085;font-size:12px;line-height:1.35;margin-top:3px}
@media(max-width:800px){.peer-auto-list{grid-template-columns:1fr}.peer-auto-head{align-items:flex-start;flex-direction:column}.peer-auto-head span{text-align:left}}

/* ===== v6.1 result semantics / no-data handling ===== */
.total-change.nodata{background:#f2f4f7;color:#667085;font-size:12px}
.peer-scope{font-size:12px;color:#667085;background:#f2f4f7;border-radius:999px;padding:3px 6px;margin-left:auto;white-space:nowrap}
.compare-row-title .peer-scope + .tag{margin-left:4px}

/* ===== v6.2 WHY diagnosis layer ===== */
.why-box{margin-top:10px;border-top:1px dashed #d0d5dd;padding-top:8px}
.why-box>summary{list-style:none;cursor:pointer;font-size:12px;font-weight:800;color:#344054;display:flex;align-items:center;gap:6px}
.why-box>summary::-webkit-details-marker{display:none}
.why-mark{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;background:#fff4e5;color:#b54708;font-weight:900}
.why-content{margin-top:8px;background:#fffcf5;border:1px solid #fedf89;border-radius:9px;padding:10px 11px}
.why-content p{margin:0 0 7px!important;font-size:12px!important;line-height:1.55;color:#475467!important}
.why-content p:last-of-type{margin-bottom:5px!important}
.why-content small{display:block;font-size:12px;color:#98a2b3;line-height:1.45}
.why-observation{color:#101828!important}
.diagnosis-note{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #fedf89;background:#fffaeb;border-radius:13px;padding:12px 14px}
.diagnosis-note b{font-size:12px;color:#7a2e0e}
.diagnosis-note span{font-size:12px;color:#667085;text-align:right}
@media(max-width:650px){.diagnosis-note{align-items:flex-start;flex-direction:column}.diagnosis-note span{text-align:left}}

/* ===== v6.3 common-fee only / human reasoning ===== */
.similarity-proof{margin:12px 0;border:1px solid #d0d5dd;border-radius:12px;background:#fff}
.similarity-proof>summary{cursor:pointer;padding:11px 13px;font-size:12px;color:#344054}
.similarity-body{border-top:1px solid #eaecf0;padding:11px 12px}
.similarity-our,.similarity-row{display:grid;grid-template-columns:1.4fr .8fr 1.15fr 1fr;gap:8px;align-items:center;padding:7px 6px;font-size:12px}
.similarity-our{background:#f2f4f7;border-radius:8px;margin-bottom:4px}
.similarity-row{border-bottom:1px solid #f2f4f7}
.similarity-row:last-of-type{border-bottom:0}
.similarity-row small{color:#98a2b3;font-size:12px}
.similarity-body>p{margin:9px 0 0;font-size:12px;color:#667085;line-height:1.5}
.attention-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px 12px;margin:10px 0}
.attention-summary b{font-size:12px;color:#9a3412}
.attention-summary span{font-size:12px;color:#667085;text-align:right}
.attention-row{border-color:#fed7aa}
.why-priority .why-mark{background:#ffedd5;color:#c2410c}
.okay-items{margin-top:10px;border-top:1px dashed #d0d5dd;padding-top:8px;color:#667085}
.okay-items>summary{cursor:pointer;font-size:12px}
.okay-items p{font-size:12px;line-height:1.5}
@media(max-width:720px){
  .similarity-our,.similarity-row{grid-template-columns:1fr 1fr}
  .attention-summary{align-items:flex-start;flex-direction:column}
  .attention-summary span{text-align:left}
}


/* ===== v6.4 typography floor / readability ===== */
/* Product rule: no visible UI text below 10px. Critical diagnostic copy is 11px+. */
body{font-size:14px}
.small-muted,.field-help,.api-message,.stage-head p,.stage-note,.compare-explain-inline{font-size:12px!important}
.peer-auto-head span,.peer-pill small,.compare-row p,.change-number small{font-size:12px!important}
.peer-rank,.peer-scope,.tag{font-size:12px!important}

.why-box>summary{font-size:12px!important}
.why-mark{font-size:12px!important}
.why-content p{font-size:12px!important;line-height:1.65!important}
.why-content small{font-size:12px!important;line-height:1.55!important}

.similarity-proof>summary{font-size:12px!important}
.similarity-our,.similarity-row{font-size:12px!important}
.similarity-row small{font-size:12px!important}
.similarity-body>p{font-size:12px!important;line-height:1.6!important}

.attention-summary b{font-size:12px!important}
.attention-summary span{font-size:12px!important}
.okay-items>summary{font-size:12px!important}
.okay-items p{font-size:12px!important;line-height:1.6!important}

.final-verdict span{font-size:12px!important}
.final-verdict strong{font-size:18px!important;line-height:1.5!important}
.diagnosis-note b{font-size:12px!important}
.diagnosis-note span{font-size:12px!important;line-height:1.55!important}

.compare-two small{font-size:12px!important}
.compare-two b{font-size:13px!important}
.stage-summary{font-size:14px!important}
.empty-state{font-size:12px!important;line-height:1.55!important}

/* ===== v6.5 typography floor / readability ===== */
/* Product rule: no visible UI text below 12px. */
body{font-size:15px}

.small-muted,
.field-help,
.api-message,
.stage-head p,
.stage-note,
.compare-explain-inline,
.peer-auto-head span,
.peer-pill small,
.compare-row p,
.change-number small,
.peer-rank,
.peer-scope,
.tag,
.similarity-row small,
.similarity-body>p,
.attention-summary span,
.okay-items>summary,
.okay-items p,
.final-verdict span,
.diagnosis-note span,
.compare-two small{
  font-size:12px!important;
}

.why-box>summary{font-size:13px!important}
.why-mark{font-size:12px!important}
.why-content p{font-size:13px!important;line-height:1.7!important}
.why-content small{font-size:12px!important;line-height:1.6!important}

.similarity-proof>summary{font-size:13px!important}
.similarity-our,.similarity-row{font-size:12px!important}
.attention-summary b{font-size:13px!important}
.diagnosis-note b{font-size:13px!important}
.empty-state{font-size:13px!important;line-height:1.6!important}

.compare-two b{font-size:14px!important}
.stage-summary{font-size:15px!important}
.final-verdict strong{font-size:18px!important;line-height:1.55!important}

/* ===== v6.6 long-term repair reserve ===== */
.reserve-divider{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#667085;font-size:12px;font-weight:800}
.reserve-divider:before,.reserve-divider:after{content:"";height:1px;background:#e4e7ec;flex:1}
.reserve-card{border:1px solid #c7d7fe;background:#f5f8ff;border-radius:14px;padding:15px 16px}
.reserve-card.empty-reserve{background:#f9fafb;border-color:#e4e7ec}
.reserve-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.reserve-label{font-size:12px;font-weight:900;color:#3538cd}
.reserve-card h3{font-size:16px;margin:3px 0 0;color:#101828}
.reserve-badge{font-size:12px;font-weight:800;background:#eef4ff;color:#3538cd;border-radius:999px;padding:5px 8px;white-space:nowrap}
.reserve-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.reserve-values>div{background:#fff;border-radius:10px;padding:10px}
.reserve-values small{display:block;font-size:12px;color:#667085}
.reserve-values b{display:block;font-size:14px;margin-top:2px}
.reserve-interpret{font-size:13px;line-height:1.6;color:#475467;margin:11px 0 0}
.reserve-why{margin-top:10px}
@media(max-width:650px){.reserve-values{grid-template-columns:1fr}.reserve-card-head{flex-direction:column}}

/* ===== v7.1 comparison month accuracy ===== */
.month-basis{
  display:inline-block;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef4ff;
  color:#3538cd;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

/* ===== v8.0 document routing + full K-apt details ===== */
.complex-detail-box{margin-top:14px}
.complex-detail-box summary{font-size:14px;font-weight:800}
.complex-detail-box p{font-size:12px;line-height:1.6;color:#667085}
.detail-field{position:relative}
.detail-source{display:block;min-height:16px;margin-top:3px;font-size:12px;color:#667085}
.coverage-chip{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800}
.coverage-chip.ok{background:#ecfdf3;color:#027a48}
.coverage-chip.mid{background:#fffaeb;color:#b54708}
.coverage-chip.warn{background:#fef3f2;color:#b42318}

/* ===== v8.0 verified full K-apt detail coverage ===== */
.detail-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px;padding-top:14px;border-top:1px solid #e4e7ec;font-size:13px}
.detail-subhead:first-of-type{margin-top:12px}
.detail-help{font-size:12px;line-height:1.6;color:#667085;margin:0 0 10px}
.reserve-detail-grid{grid-template-columns:minmax(180px,1fr);max-width:340px}

/* ===== v8.2 upper 46-item complex list ===== */
.upper-complex-panel{margin-top:26px;padding-top:22px;border-top:2px solid #eef2f6}
.upper-complex-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.upper-complex-head h3{margin:0 0 6px;font-size:17px}
.upper-complex-head p{margin:0;max-width:760px;color:#667085;font-size:13px;line-height:1.6}
.upper-complex-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.upper-complex-group{border:1px solid #e4e7ec;border-radius:12px;background:#fafafa;overflow:hidden}
.upper-complex-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f2f4f7;border-bottom:1px solid #e4e7ec}
.upper-complex-title strong{font-size:14px}
.upper-complex-title span{font-size:12px;color:#667085;font-weight:800}
.upper-complex-row{display:grid;grid-template-columns:minmax(0,1fr) auto 46px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #eaecf0;background:#fff}
.upper-complex-row:last-child{border-bottom:0}
.upper-complex-label{font-size:13px;font-weight:700;color:#344054;min-width:0}
.upper-complex-value{font-size:13px;color:#101828;text-align:right;white-space:nowrap}
.upper-complex-source{font-size:12px;color:#667085;text-align:right}
@media(max-width:800px){.upper-complex-list{grid-template-columns:1fr}.upper-complex-head{flex-direction:column}.upper-complex-row{grid-template-columns:minmax(0,1fr) auto 46px}}

/* v9.0 — 1번: 실제 고지서 동적 항목 비교 */
.household-help{display:block;margin-top:5px;max-width:760px;line-height:1.55}
.dynamic-fee-head,.dynamic-fee-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(92px,.65fr);gap:8px;align-items:center}
.dynamic-fee-head{padding:9px 10px;border-radius:9px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800;margin:4px 0}
.dynamic-fee-row{padding:8px 10px;border-bottom:1px solid #eaecf0;background:#fff}
.dynamic-fee-row .dynamic-label{font-weight:700;font-size:14px;min-width:0;overflow-wrap:anywhere}
.dynamic-fee-row input{width:100%;padding:9px 10px;border:1px solid #d0d5dd;border-radius:8px;font-size:14px;text-align:right}
.dynamic-diff{text-align:right;font-weight:800;font-size:13px;white-space:nowrap}
.dynamic-diff.up{color:#b42318}.dynamic-diff.down{color:#027a48}.dynamic-diff.flat{color:#667085}
.dynamic-source{display:block;color:#98a2b3;font-size:11px;font-weight:500;margin-top:2px}
.ocr-debug-box{margin-top:18px;border-top:1px solid #eaecf0;padding-top:10px}
.ocr-debug-box summary{cursor:pointer;font-size:12px;color:#667085;font-weight:700}
.ocr-debug-box p{font-size:12px;color:#98a2b3;margin:8px 0}
.ocr-debug-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ocr-debug-grid pre{white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;background:#101828;color:#f2f4f7;border-radius:10px;padding:10px;font-size:11px;line-height:1.45;margin:0}
@media(max-width:700px){.dynamic-fee-head,.dynamic-fee-row{grid-template-columns:minmax(120px,1.2fr) 1fr 1fr}.dynamic-fee-head span:last-child,.dynamic-diff{display:none}.ocr-debug-grid{grid-template-columns:1fr}}

/* ===== v11.0 three-stage rebuild ===== */
.bundle-upload-section{margin-top:-8px;margin-bottom:18px}.bundle-upload-card{border:1px solid #dce5f5;background:#fff}.bundle-upload-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.bundle-upload-head h2{margin:4px 0 6px;font-size:22px}.bundle-upload-head p{margin:0;color:#687388;line-height:1.55}.bundle-kicker{font-size:12px;font-weight:800;color:#2767dc}.bundle-picker{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-top:18px;align-items:center}.bundle-picker input[type=file]{min-height:46px;padding:10px;border:1px dashed #b8c8e8;border-radius:10px;background:#f8fbff}.bundle-read-btn{height:46px}.bundle-file-list{display:grid;gap:8px;margin-top:12px}.bundle-file-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e6ebf4;border-radius:10px;background:#fbfcfe}.bundle-file-item .file-order{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef4ff;color:#2767dc;font-weight:800;font-size:12px}.bundle-file-item strong{display:block;font-size:13px;word-break:break-all}.bundle-file-item small{display:block;color:#8a93a3;margin-top:2px}.file-role{font-size:11px;padding:5px 8px;border-radius:999px;background:#eef1f6;color:#7a8495;white-space:nowrap}.file-role.done{background:#e9f8ef;color:#177343;font-weight:700}.page-role-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 12px;padding:9px 11px;border-radius:10px;background:#f7f9fc}.role-badge{font-size:12px;font-weight:800;border-radius:999px;padding:5px 9px}.role-badge.household{background:#eaf1ff;color:#255fc3}.role-badge.complex{background:#fff2db;color:#9a5b00}.page-file-name{font-size:12px;color:#6f7889;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-empty{margin-top:8px}.compact-total-card{margin:12px 0 16px}.bill-table-head{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(90px,.7fr));gap:8px;padding:9px 12px;border-radius:9px;background:#f1f4f8;color:#667085;font-size:12px;font-weight:800}.bill-money-list{display:grid}.bill-money-row{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(90px,.7fr));gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf0f5;font-size:13px}.bill-money-row strong{font-size:13px}.bill-money-row>span{text-align:right;font-variant-numeric:tabular-nums}.money-diff.up{color:#c33737;font-weight:800}.money-diff.down{color:#20704a;font-weight:800}.money-diff.flat{color:#737b88}.bill-table-head.two-col,.bill-money-row.two-col{grid-template-columns:minmax(180px,1fr) minmax(120px,.45fr)}.complex-money-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:12px 0 16px;padding:15px 16px;border:1px solid #f0dfbf;border-radius:12px;background:#fffaf1}.complex-money-summary small{display:block;color:#846f51;margin-bottom:5px}.complex-money-summary strong{font-size:24px}.top-share-note{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:62%}.top-share-note span{font-size:11px;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid #ead7b3;color:#6c5a3c}.page2-detail-box{margin-top:16px}.page2-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.page2-detail-row{display:flex;justify-content:space-between;gap:14px;padding:8px 3px;border-bottom:1px solid #edf0f4;font-size:12px}.page2-detail-row strong{font-weight:650}.page2-detail-row span{white-space:nowrap;font-variant-numeric:tabular-nums}.peer-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.peer-action-field .btn{width:100%;margin-top:0;min-height:44px}.ocr-debug-box pre{max-height:280px;overflow:auto;white-space:pre-wrap;word-break:break-word}.stage-peer{margin-top:0}
@media(max-width:760px){.bundle-upload-head{display:block}.bundle-upload-head .privacy-badge{display:inline-block;margin-top:10px}.bundle-picker{grid-template-columns:1fr}.bundle-file-item{grid-template-columns:30px 1fr}.bundle-file-item .file-role{grid-column:2;justify-self:start}.bill-table-head,.bill-money-row{grid-template-columns:minmax(100px,1.3fr) repeat(3,minmax(62px,.7fr));gap:5px;font-size:11px;padding-left:7px;padding-right:7px}.bill-money-row strong{font-size:11px}.complex-money-summary{display:block}.top-share-note{max-width:none;justify-content:flex-start;margin-top:10px}.page2-detail-list{grid-template-columns:1fr}.peer-controls-grid{grid-template-columns:1fr}}


/* ===== v11.12 K-apt API diagnostics (section 3 only) ===== */
.api-diagnostics{margin-top:10px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;overflow:hidden}
.api-diagnostics>summary{cursor:pointer;padding:10px 12px;font-weight:800;color:#334155;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}
.api-diagnostics>summary::-webkit-details-marker{display:none}
#apiDiagSummary{font-size:11px;font-weight:700;color:#64748b}
.api-diag-body{border-top:1px solid #e7edf5;padding:8px 10px 10px}
.api-diag-empty{font-size:12px;color:#64748b;padding:6px 2px}
.api-diag-overview{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.api-diag-chip{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#475569}
.api-diag-chip.ok{background:#e9f8ef;color:#167444}.api-diag-chip.warn{background:#fff5e5;color:#b45309}.api-diag-chip.bad{background:#fff0ef;color:#b42318}
.api-diag-list{display:grid;gap:6px}.api-diag-row{display:grid;grid-template-columns:minmax(120px,1fr) 78px 2fr;gap:8px;align-items:start;border-top:1px solid #edf1f6;padding-top:6px;font-size:11px}
.api-diag-row:first-child{border-top:0}.api-diag-name{font-weight:800;color:#1f2937}.api-diag-status{font-weight:800}.api-diag-status.ok{color:#167444}.api-diag-status.empty{color:#b45309}.api-diag-status.error{color:#b42318}.api-diag-detail{color:#64748b;word-break:break-word}.api-diag-op{display:block;color:#94a3b8;font-size:10px;font-weight:500;margin-top:2px}
@media(max-width:700px){.api-diag-row{grid-template-columns:1fr 70px}.api-diag-detail{grid-column:1/-1}}
