/* ═══════════════════════════════════════════════════════════════════
   CHECKLIST MODULE STYLES — paste into index.html <style> block
   (somewhere near the bottom of the existing :root / panel CSS)
   ═══════════════════════════════════════════════════════════════════ */

/* Question list inside a checklist */
.q-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.q-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  padding: 14px 14px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-left: 3px solid rgba(255, 109, 178, 0.35);
  border-radius: 8px;
  transition: background 0.18s, border-color 0.18s;
}

.q-row.filled {
  background: rgba(88, 249, 244, 0.04);
  border-left-color: var(--rr-cyan);
}

.q-row .q-num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 14px;
  color: var(--rr-text-muted);
  font-weight: 600;
  padding-top: 2px;
}

.q-row .q-body { display: flex; flex-direction: column; gap: 8px; }

.q-row .q-prompt {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rr-text);
  line-height: 1.4;
}

.q-row .q-notes {
  font-size: 11.5px;
  color: var(--rr-text-muted);
  font-style: italic;
}

.q-row .req-dot {
  color: var(--rr-pink);
  font-size: 10px;
  margin-left: 4px;
  vertical-align: 2px;
}

.q-row .q-input { margin-top: 2px; }

.q-row .q-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  font-size: 13px;
  color: var(--rr-text);
}
.q-row .q-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--rr-cyan);
}

.q-row .q-photo {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.q-row .q-photo-thumb {
  min-width: 80px;
  min-height: 50px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
}
.q-row .q-photo-btn {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12px;
}

.q-row .q-signature {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Shift-lead review rows */
.review-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.review-row:first-of-type { border-top: none; }

.review-row .review-answer { font-size: 13px; color: var(--rr-text); }
.review-row .review-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
