/* ★SV-d08e·9f58 작업완료 알림 모달(partials/notif_bell.html showModal) — 시안(SV_완료알림_시안_1011).
   ★SV-624e: 벨은 모든 화면에 붙는데 홈(dashboard)은 DS v3 제외 화면이라 legacy CSS 만 실려 .modal·.nvc-done
   규칙이 0 이었다 → 체크 SVG 무크기(큰 검은 삼각형)·× 기본 버튼·숫자/라벨 붙음. vd_sheet.css 와 같은 방식으로
   이 파일 하나가 모양을 전부 정한다 — DS v3 토큰을 쓰되 폴백 값을 DS v3 값으로 박았다. 새 토큰 0. */
dialog.nvc-done {
  box-sizing: border-box; width: min(400px, calc(100vw - 32px)); max-height: calc(100vh - 48px);
  margin: auto; padding: 0; overflow: auto; font-family: inherit;
  color: var(--ink, #1a1f27); background: var(--surface, #ffffff);
  border: 1px solid var(--line, rgba(40, 34, 24, .13)); border-radius: var(--radius-box, 8px); box-shadow: none;
}
dialog.nvc-done::backdrop { background: rgba(18, 21, 25, 0.45); }
dialog.nvc-done .modal-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--line, rgba(40, 34, 24, .13)); }
dialog.nvc-done .modal-head h2 { flex: 1; margin: 0; font-size: 14px; line-height: 20px; font-weight: 600; }
dialog.nvc-done .modal-body { display: grid; gap: 12px; padding: 16px; font-size: 13px; line-height: 20px; }
dialog.nvc-done .modal-body > * { margin: 0; }
dialog.nvc-done .modal-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line, rgba(40, 34, 24, .13)); }
dialog.nvc-done .modal-foot .btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

/* 배지 · 문구 · 닫기 */
dialog.nvc-done .m-badge { width: 20px; height: 20px; border-radius: 50%; background: var(--ok, #3C7D45); display: inline-flex; align-items: center; justify-content: center; flex: none; }
dialog.nvc-done .m-badge svg { width: 12px; height: 12px; stroke: #fff; stroke-width: 2.6; fill: none; }
dialog.nvc-done.nvc-warn .m-badge { background: var(--warn, #c77700); }
dialog.nvc-done .m-lead { font-size: 15px; font-weight: 600; color: var(--ink, #1a1f27); }
dialog.nvc-done .m-when { font-size: 12px; color: var(--ink-2, #5b6370); }
dialog.nvc-done .m-x { width: 28px; height: 28px; padding: 0; font-size: 15px; line-height: 1; color: var(--ink-2, #5b6370); background: transparent; border: 0; border-radius: 6px; cursor: pointer; box-shadow: none; }
dialog.nvc-done .m-x:hover { background: var(--surface-sunken, #f0f2f5); }
/* ★SV-9f58 완료 카드 — 대상 한 줄 · 메타 칩 · 결과 숫자 3칸(값 있는 칸만 그린다) */
dialog.nvc-done .m-target { font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
dialog.nvc-done .m-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -8px; }
dialog.nvc-done .m-chip { font-size: 12px; color: var(--ink-2, #5b6370); background: var(--surface-sunken, #f0f2f5); border-radius: 999px; padding: 2px 10px; }
dialog.nvc-done .m-chip.is-warn { color: var(--warn, #c77700); }
dialog.nvc-done .m-stats { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; border: 1px solid var(--line, rgba(40, 34, 24, .13)); border-radius: 6px; }
dialog.nvc-done .m-stat { display: grid; gap: 2px; padding: 12px 8px; text-align: center; }
dialog.nvc-done .m-stat + .m-stat { border-left: 1px solid var(--line, rgba(40, 34, 24, .13)); }
dialog.nvc-done .m-stat b { font-size: 22px; line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink, #1a1f27); }
dialog.nvc-done .m-stat span { font-size: 12px; color: var(--ink-2, #5b6370); }
dialog.nvc-done .m-stat.is-red b { color: var(--danger, #b3261e); }
dialog.nvc-done .m-stat.is-amber b { color: var(--warn, #c77700); }
dialog.nvc-done .m-note { font-size: 12px; color: var(--ink-2, #5b6370); }
