/* ─ 소싱 운영 placeholder (Phase 2.3 이식 전 임시) ─ */
.so-placeholder{padding:80px 20px;text-align:center;color:var(--text3);}
.so-ph-icon{font-size:56px;margin-bottom:16px;opacity:.65;}
.so-ph-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;}
.so-ph-desc{font-size:13px;}

/* ── 샘플 결제 첨부 (모달 + 상세) ───────────────── */
.so-attach-zone {
  border: 1.5px dashed var(--border);
  border-radius: 8px;
  padding: 12px;
  background: var(--surface-2);
  transition: background 0.12s, border-color 0.12s;
}
.so-attach-zone.drag-over {
  border-color: #0EA5C9;
  background: rgba(14, 165, 201, 0.08);
}
.so-attach-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.so-attach-empty {
  font-size: 12.5px;
  color: var(--text-muted);
  font-style: italic;
  padding: 6px 4px;
}
.so-attach-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13px;
}
.so-attach-icon { font-size: 18px; flex-shrink: 0; }
.so-attach-meta { flex: 1; min-width: 0; }
.so-attach-name {
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.so-attach-sub { font-size: 11px; color: var(--text-muted); }
.so-attach-remove {
  color: var(--danger) !important;
  border-color: var(--danger) !important;
}
.so-attach-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* 상세 화면 카드 안의 첨부 블록 */
.so-attach-detail-block {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}
.so-attach-detail-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 6px;
}
