/* 진행도 UX — bulk toolbar, 행 selection, detail widget */

.bulk-toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  margin: var(--sp-3) 0;
  background: var(--c-bg-muted);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
}

.bulk-toolbar-row {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

.bulk-toolbar-all {
  padding-top: var(--sp-2);
  border-top: 1px dashed var(--c-border);
}

.bulk-info {
  font-size: var(--fs-base);
  color: var(--c-text);
  margin-right: var(--sp-1);
}

.bulk-count {
  font-weight: var(--fw-semibold);
  color: var(--c-text-link);
}

/* 선택된 행 미세 강조 */
tbody tr:has(.row-cb:checked) {
  background-color: var(--c-primary-soft);
}

/* 이미 완료된 행 — 약한 배경 (체크박스 자체 색으로 완료 표시) */
tbody tr.row-done {
  background-color: var(--c-bg-muted);
}

/* disabled checkbox — 회색 약함 회피, success 색 강조 + not-allowed cursor */
input[type=checkbox]:disabled {
  cursor: not-allowed;
  opacity: 1;
}
input[type=checkbox]:disabled:checked {
  accent-color: var(--c-success);
}

/* 진행도 배지 */
.progress-badge-done,
.progress-badge-not-done {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  padding: var(--sp-1) var(--sp-2);
}

/* detail page widget */
.progress-widget {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin: var(--sp-2) 0 var(--sp-4);
  padding: 0.625rem 0.875rem;
  background: var(--c-bg-muted);
  border-radius: var(--r-md);
}

.progress-widget .badge {
  font-size: var(--fs-base);
  padding: 0.375rem 0.625rem;
}

/* 비로그인 사용자 hint */
.requires-login {
  cursor: pointer;
  opacity: 0.85;
}
.requires-login:hover {
  opacity: 1;
}

.progress-done-icon {
  color: var(--c-success);
  font-size: 1rem;
  display: flex;
  justify-content: center;
}
