/* evidence.css — 증거 파일 관리 화면 전용.
   색상은 common.css :root 토큰만 쓴다(하드코딩 금지 규칙). */

/* ── 탭 ── */
.ev-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin:0 0 16px;flex-wrap:wrap}
.ev-tab{border:1px solid var(--border);border-bottom:0;background:var(--gray-bg);color:var(--text2);
  border-radius:8px 8px 0 0;padding:8px 16px;font-size:13px;font-weight:700;margin-bottom:-2px}
.ev-tab.on{background:var(--surface);color:var(--navy);border-color:var(--border);
  border-bottom:2px solid var(--surface)}
.ev-tab .n{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;color:var(--text3)}
.ev-tab.on .n{color:var(--primary)}

/* ── 요약 타일 ── */
.ev-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:14px}
.ev-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.ev-kpi .n{font-size:24px;font-weight:800;line-height:1.1;color:var(--navy)}
.ev-kpi .l{font-size:11.5px;color:var(--text3);margin-top:2px}
/* ★ 수식 클래스에 .ok/.warn 같은 흔한 이름을 쓰면 안 된다 —
   content.css 의 전역 .ok(초록 알림 박스: padding/margin/background) 가 그대로 얹혀
   타일 배경이 바뀌고 막대가 밀려 사라졌다. 전용 접두사를 쓴다. */
.ev-kpi.k-bad .n{color:var(--danger)} .ev-kpi.k-warn .n{color:var(--warn)} .ev-kpi.k-ok .n{color:var(--success)}

/* ── 업로드 ── */
.ev-up{margin-bottom:16px}
.ev-drop{border:2px dashed var(--border);border-radius:var(--radius);background:var(--gray-bg);
  padding:22px;text-align:center;color:var(--text2);font-size:13px;cursor:pointer}
.ev-drop.over{border-color:var(--primary);background:var(--primary-weak);color:var(--primary)}
.ev-drop b{display:block;font-size:14px;color:var(--navy);margin-bottom:4px}
.ev-picked{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.ev-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:99px;
  background:var(--surface);padding:4px 10px;font-size:12px}
.ev-chip .x{color:var(--danger);font-weight:800;cursor:pointer}
.ev-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.ev-fields .wide{grid-column:1/-1}
.ev-prog{height:6px;border-radius:99px;background:var(--secondary05);overflow:hidden;margin-top:10px}
.ev-prog i{display:block;height:100%;background:var(--primary);width:0;transition:width .2s}

/* ── 파일 표 ── */
.ev-file{font-weight:700}
.ev-hash{font-family:ui-monospace,monospace;font-size:10.5px;color:var(--text3);word-break:break-all}
.ev-sz{font-family:ui-monospace,monospace;font-size:12px;color:var(--text2);white-space:nowrap}
.ev-acts{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ev-flag{display:block;font-size:11.5px;margin-top:3px}
.ev-flag.block{color:var(--danger)} .ev-flag.warn{color:var(--warn)}
.ev-none{color:var(--text3);font-size:12px}

/* ── 커버리지 ── */
.ev-fams{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin-bottom:16px}
.ev-fam{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:11px 12px}
.ev-fam-h{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;color:var(--navy);font-size:13px}
.ev-fam-h em{font-style:normal;font-size:11.5px;color:var(--text3);font-weight:700}
.ev-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--secondary05);margin-top:7px}
.ev-bar i{display:block;height:100%}
.ev-bar .b-ok{background:var(--success)} .ev-bar .b-stale{background:var(--warn)}
.ev-bar .b-draft{background:var(--danger)} .ev-bar .b-none{background:var(--gray30)}
.ev-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text2);margin-bottom:10px}
.ev-legend span{display:inline-flex;align-items:center;gap:5px}
.ev-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.ev-cov{font-weight:700;font-size:11.5px}
.ev-cov.OK{color:var(--success)} .ev-cov.STALE{color:var(--warn)}
.ev-cov.DRAFT_ONLY{color:var(--danger)} .ev-cov.NONE{color:var(--text3)}

/* ── 워크시트 대조 ── */
.ev-ctl{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px}
.ev-ctl-h{display:flex;gap:10px;align-items:center;padding:10px 12px;background:#F7FAFE;
  border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap}
.ev-ctl-h .pid{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--text3);min-width:118px}
.ev-ctl-h .t{flex:1;font-size:13px;font-weight:700;color:var(--navy)}
.ev-obj{padding:9px 12px;border-bottom:1px solid #EEF2F8}
.ev-obj:last-child{border-bottom:0}
.ev-obj.gap{background:#FEF6F6}
.ev-obj-h{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
.ev-obj-h .oid{font-family:ui-monospace,monospace;font-size:11px;color:var(--text3);min-width:78px}
.ev-obj-h .ot{flex:1;font-size:12.5px;min-width:220px}
.ev-links{margin-top:6px;padding-left:78px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ev-link{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:6px;
  padding:2px 8px;font-size:11.5px;background:var(--gray-bg)}
.ev-link.file{background:#E6F6EC;border-color:#BFE3CC;color:#14532D}
.ev-link.file.ng{background:#FDECEC;border-color:#F3C9C9;color:#8A1C1C}
.ev-link.meta{background:var(--primary-weak);border-color:#C9DCFB;color:var(--navy)}

/* ── 보관/무결성 ── */
.ev-int{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.ev-st{font-weight:800;font-size:12px}
.ev-st.OK{color:var(--success)} .ev-st.TAMPERED{color:var(--danger)} .ev-st.MISSING{color:var(--warn)}

@media (max-width:820px){
  .ev-obj-h .oid,.ev-links{padding-left:0;min-width:0}
  .ev-ctl-h .pid{min-width:0}
}
