.photo-field {
  margin: 14px 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .42);
  border-radius: 14px;
  background: rgba(248, 250, 252, .92);
}
.photo-label { display: flex; flex-direction: column; gap: 2px; margin-bottom: 9px; }
.photo-label strong { font-size: .98rem; }
.photo-label span { color: #64748b; font-size: .86rem; }
.photo-file-input { width: 100%; font: inherit; }
.photo-preview { margin-top: 10px; display: grid; grid-template-columns: 76px 1fr; gap: 10px; align-items: center; }
.photo-preview[hidden] { display: none; }
.photo-preview img { width: 76px; height: 76px; object-fit: cover; border-radius: 10px; background: #e2e8f0; }
.photo-preview-copy { min-width: 0; }
.photo-preview-name { margin: 0 0 3px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.photo-status { margin: 0; color: #475569; font-size: .84rem; }
.photo-remove { margin-top: 7px; border: 0; background: transparent; color: #b91c1c; text-decoration: underline; padding: 0; font: inherit; cursor: pointer; }
.popup-photo { margin: 9px 0; }
.popup-photo[hidden] { display: none; }
.popup-photo a { display: block; }
.popup-photo img { display: block; width: 100%; max-width: 280px; max-height: 190px; object-fit: cover; border-radius: 10px; background: #e2e8f0; }
