  /* 매물검토 탭 */
  .review-view { flex:1; overflow-y:auto; padding:20px 24px; background:var(--bg); }
  .review-view::-webkit-scrollbar { width:4px; }
  .review-view::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

  /* 필터 영역 */
  .rv-filter-bar { display:flex; align-items:center; gap:8px; margin-bottom:18px; flex-wrap:wrap; }
  .rv-fsel { background:var(--surface); border:1.5px solid var(--border); border-radius:10px; color:var(--text); font-size:13px; font-weight:500; padding:7px 12px; cursor:pointer; outline:none; font-family:'Noto Sans KR',sans-serif; transition:border-color .2s; min-width:130px; }
  .rv-fsel:hover,.rv-fsel:focus { border-color:#f97316; }
  .rv-farrow { color:var(--text-muted); font-size:16px; }
  .rv-reset { background:transparent; border:1.5px solid var(--border); border-radius:10px; color:var(--text-muted); font-size:12px; padding:7px 12px; cursor:pointer; font-family:'Noto Sans KR',sans-serif; transition:all .2s; }
  .rv-reset:hover { border-color:var(--text-muted); color:var(--text-dim); }

  /* 요약 카드 */
  .rv-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
  .rv-sum-card { background:var(--surface2); border:1.5px solid var(--border); border-radius:12px; padding:14px 18px; }
  .rv-sum-lbl { font-size:12px; font-weight:600; color:var(--text-muted); margin-bottom:8px; }
  .rv-sum-val { font-size:26px; font-weight:700; display:flex; align-items:baseline; gap:4px; }
  .rv-sum-unit { font-size:14px; font-weight:400; color:var(--text-muted); }

  /* 단계 필터 */
  .rv-stage-bar { display:flex; gap:6px; margin-bottom:20px; flex-wrap:wrap; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--border); }
  .rv-slbl { font-size:12px; color:var(--text-muted); margin-right:2px; }
  .rv-spill { font-size:11px; font-weight:600; padding:4px 12px; border-radius:20px; border:1.5px solid; cursor:pointer; transition:all .2s; user-select:none; }
  .rv-spill:hover { filter:brightness(1.2); }
  .rv-spill.active { box-shadow:0 0 0 2px currentColor; }
  .rv-sp1 { background:rgba(99,102,241,.12); border-color:#6366f1; color:#a5b4fc; }
  .rv-sp2 { background:rgba(249,115,22,.12); border-color:#f97316; color:#fdba74; }
  .rv-sp3 { background:rgba(16,185,129,.12); border-color:#10b981; color:#34d399; }
  .rv-sp4 { background:rgba(239,68,68,.12); border-color:#ef4444; color:#fca5a5; }
  .rv-sp5 { background:rgba(107,114,128,.12); border-color:#4b5563; color:#9ca3af; }

  /* 범례 */
  .rv-legend { display:flex; gap:14px; margin-bottom:10px; flex-wrap:wrap; align-items:center; }
  .rv-leg-item { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text-muted); }
  .rv-leg-dot { width:10px; height:10px; border-radius:2px; flex-shrink:0; }

  /* 테이블 */
  .rv-tbl-wrap { background:var(--surface); border:1.5px solid var(--border); border-radius:14px; overflow:hidden; }
  .rv-tbl-scroll { overflow-x:auto; }
  .rv-tbl-scroll::-webkit-scrollbar { height:4px; }
  .rv-tbl-scroll::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }
  .rv-table { width:100%; border-collapse:collapse; min-width:980px; }
  .rv-table thead th { background:var(--surface2); font-size:12px; font-weight:600; color:var(--text-muted); padding:11px 14px; text-align:center; border-bottom:1.5px solid var(--border); white-space:nowrap; }
  .rv-table thead th.la { text-align:left; }
  .rv-table thead th.sortable { cursor:pointer; user-select:none; }
  .rv-table thead th.sortable:hover { color:var(--text); }
  .rv-table tbody tr { border-bottom:1px solid var(--border); transition:background .12s; cursor:pointer; }
  .rv-table tbody tr:hover td { background:rgba(255,255,255,.03); }
  .rv-table tbody tr:last-child { border-bottom:none; }
  .rv-table td { padding:12px 14px; vertical-align:middle; text-align:center; font-size:13px; color:var(--text); }
  .rv-table td.la { text-align:left; }

  /* 셀 스타일 */
  .rv-bldg-name { font-size:13px; font-weight:600; color:var(--text); margin-bottom:2px; }
  .rv-bldg-addr { font-size:11px; color:var(--text-muted); max-width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .rv-region { display:flex; flex-direction:column; gap:2px; }
  .rv-region-big { font-size:10px; font-weight:700; color:var(--text-muted); letter-spacing:.04em; }
  .rv-region-city { font-size:13px; font-weight:600; color:var(--text-dim); }
  .rv-region-gu { font-size:11px; color:var(--text-muted); }
  .rv-stg { font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; border:1.5px solid; white-space:nowrap; }

  /* 히트맵 셀 */
  .rv-hcell { font-size:12px; font-weight:600; border-radius:7px; padding:4px 10px; display:inline-block; min-width:56px; }
  .rv-h-good { background:rgba(16,185,129,.18); color:#34d399; }
  .rv-h-mid  { background:rgba(251,191,36,.15); color:#fcd34d; }
  .rv-h-bad  { background:rgba(239,68,68,.15);  color:#fca5a5; }
  .rv-auto-cell { font-size:12px; color:#ec4899; font-weight:600; }

  /* 그룹 헤더 행 */
  .rv-table thead tr.rv-group-row th { background:var(--bg); font-size:10px; font-weight:700; letter-spacing:.05em; padding:5px 10px; border-bottom:none; }
  .rv-table thead tr.rv-group-row th.rv-gh-basic { color:#93c5fd; }
  .rv-table thead tr.rv-group-row th.rv-gh-area  { color:#6ee7b7; }
  .rv-table thead tr.rv-group-row th.rv-gh-nego  { color:#fcd34d; }
  .rv-col-sep { border-left:2px solid var(--border) !important; }

  /* 정렬 아이콘 */
  .rv-sort-icon { font-size:9px; margin-left:3px; opacity:.4; }
  .rv-sort-icon.active { opacity:1; }

  /* 확장 행 */
  .rv-exp-row td { padding:0; }
  .rv-exp-inner { overflow:hidden; max-height:0; transition:max-height .32s ease; }
  .rv-exp-inner.open { max-height:200px; }
  .rv-exp-body { padding:16px 22px; background:var(--bg); border-top:1px solid var(--border); display:flex; gap:28px; flex-wrap:wrap; }
  .rv-exp-item { min-width:100px; }
  .rv-exp-lbl { font-size:11px; color:var(--text-muted); font-weight:600; margin-bottom:4px; letter-spacing:.04em; text-transform:uppercase; }
  .rv-exp-val { font-size:13px; color:var(--text); font-weight:500; }
  .rv-exp-link { font-size:12px; color:#60a5fa; cursor:pointer; text-decoration:underline; }
  .rv-exp-link:hover { color:#93c5fd; }
  .rv-chev { font-size:10px; color:var(--text-muted); transition:transform .25s; display:inline-block; }
  .rv-chev.open { transform:rotate(180deg); }

  .review-empty { color:var(--text-muted); font-size:13px; text-align:center; margin-top:60px; }
