.feedback-attachment {
  margin: 2px 0 14px;
}

.feedback-upload {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px;
  border: 1px dashed #bfc7a7;
  border-radius: 15px;
  background: #f8f8ef;
  color: #424938;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.feedback-upload:hover {
  border-color: #7c875e;
  background: #f0f3e3;
}

.feedback-upload input { display: none; }

.feedback-upload-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #e4e9d1;
  color: #536044;
  font-size: 20px;
  font-weight: 900;
}

.feedback-upload b,
.feedback-upload small { display: block; }

.feedback-upload b { font-size: 14px; }
.feedback-upload small { margin-top: 3px; color: #7c8372; font-size: 11px; font-weight: 500; }

.feedback-preview {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #d8ddca;
  border-radius: 15px;
  background: #fafaf4;
}

.feedback-preview[hidden] { display: none; }

.feedback-preview img {
  width: 68px;
  height: 54px;
  border-radius: 10px;
  background: #eceee3;
  object-fit: cover;
}

.feedback-preview b,
.feedback-preview small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.feedback-preview b { color: #39402f; font-size: 13px; }
.feedback-preview small { margin-top: 4px; color: #858b7b; font-size: 11px; }
.feedback-preview button { padding: 7px 10px; background: #eceee3; color: #68705a; box-shadow: none; }

.feedback-attachment-link {
  display: inline-grid;
  grid-template-columns: 48px auto;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
  padding: 7px 10px 7px 7px;
  border: 1px solid #d9decc;
  border-radius: 12px;
  background: #f4f5ea;
  color: #596349;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.feedback-attachment-link img {
  width: 48px;
  height: 38px;
  border-radius: 8px;
  background: #e9ecdf;
  object-fit: cover;
}

.feedback-attachment-link:hover { background: #e9edd9; }

@media (max-width: 650px) {
  .feedback-preview { grid-template-columns: 56px minmax(0, 1fr) auto; }
  .feedback-preview img { width: 56px; height: 48px; }
}
