/* ============================================================
   StartupValue 전용 — 형제 앱의 chrome · views · stream 위에 얹는 것만
   ============================================================ */

/* 2열 단계 여덟 개는 4×2 로 — 한 줄이면 라벨이 잘린다 */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.step-b .sd[data-s="blocked"] { background: var(--danger); }
.ws-flow { grid-template-columns: repeat(4, 1fr); }

/* 인용 칩 — 회사 주장 · 외부 확인 · 계산을 다르게 */
.cite {
  display: inline-block; margin: 0 1px; padding: 0 4px; border-radius: 3px;
  font-size: 9.5px; font-weight: 650; line-height: 15px; vertical-align: 1px;
  text-decoration: none; white-space: nowrap;
}
.cite.co { background: var(--bg-subtle); color: var(--text-2); }
.cite.ext { background: var(--accent-subtle); color: var(--accent-text); }
a.cite.ext:hover { background: var(--accent); color: #fff; }
.cite.calc { background: var(--success-subtle); color: var(--success); }

/* 키-값 표 */
.tb.kv th { width: 150px; background: var(--bg-sidebar); font-weight: 650; color: var(--text-2); font-size: var(--fs-11); vertical-align: top; }
.tb.kv td { line-height: 1.65; }
.tb td.lbl { color: var(--text-3); font-size: var(--fs-11); }
.tb .li, .note .li { display: block; padding-left: 11px; position: relative; line-height: 1.65; }
.tb .li::before, .note .li::before { content: "·"; position: absolute; left: 2px; }

/* 추정손익 — 심사역 열을 진하게 */
.scroll-x { overflow-x: auto; }
.tb.fc { font-size: var(--fs-11); }
.tb.fc th, .tb.fc td { padding: 6px 8px; white-space: nowrap; }
.tb.fc .rv { font-weight: 700; background: rgba(22, 104, 179, .04); }

/* 접기 상자의 본문 */
.fold .fbody { padding: 11px 14px 12px; }
.fold .fbody .note { font-size: var(--fs-12); }
.fold .fh .fc { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finds { margin: 9px 0 6px; padding-left: 17px; }
.finds li { font-size: var(--fs-11); line-height: 1.7; color: var(--text-1); margin-bottom: 3px; }
.finds li .lbl2 { display: block; font-size: var(--fs-10); color: var(--text-3); }
.conflict { margin: 9px 0; padding: 8px 11px; border-left: 3px solid var(--warning);
  background: var(--warning-subtle); border-radius: 0 var(--r-6) var(--r-6) 0; }
.conflict b { font-size: var(--fs-11); }
.conflict p { font-size: var(--fs-11); line-height: 1.65; margin-top: 4px; }

.prose p { font-size: var(--fs-12); line-height: 1.75; margin-bottom: 5px; }
.prose p.bh { font-weight: 650; margin-top: 8px; }
.prose p.bh:first-child { margin-top: 0; }

/* 페이지 썸네일 */
.thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; }
.thumb { border: 1px solid var(--border-1); border-radius: var(--r-6); background: var(--bg-panel);
  padding: 4px; cursor: pointer; text-align: left; font: inherit; }
.thumb:hover { border-color: var(--accent); }
.thumb img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: var(--bg-subtle); border-radius: 3px; }
.thumb span { display: block; margin-top: 3px; font-size: var(--fs-10); color: var(--text-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.thumb span b { color: var(--text-1); }
.modal.wide { width: min(1100px, 94vw); max-width: none; }
.page-img { display: block; max-width: 100%; margin: 0 auto; border: 1px solid var(--border-1); }
img.cap { width: 76px; height: 48px; object-fit: cover; object-position: top; border: 1px solid var(--border-1); border-radius: 3px; }

/* 보고서 */
.report-wrap { display: flex; flex-direction: column; height: 100%; padding: 12px 16px 16px; box-sizing: border-box; }
.report-wrap .demo-bar { margin-bottom: 10px; }
.report-frame { flex: 1; width: 100%; min-height: 520px; border: 1px solid var(--border-1); border-radius: var(--r-8); background: #fff; }

.pl-r { cursor: pointer; }
.pl-n .btn { margin-top: 6px; }
textarea.inp { height: auto; padding-top: 6px; padding-bottom: 6px; resize: vertical; font: inherit; }
