/* 연구·프로젝트 관리: 목록 표(좁은 화면 카드 행)와 편집 폼 */
.admin-projects .table-wrap:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.admin-projects-table th, .admin-projects-table td { padding: 12px 10px; }
.admin-projects-table th, .admin-projects-table td:not(.admin-project-title) { white-space: nowrap; }
.admin-layout .admin-projects-table td.admin-project-title { min-width: 200px; }
.admin-project-title a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 4px; }
.admin-projects .admin-project-actions .btn { min-height: 44px; }
.admin-project-actions .btn + .btn { margin-left: 6px; }

.admin-project-form fieldset { border: 0; margin: 0 0 20px; padding: 0; min-width: 0; }
.admin-project-form legend { padding: 0; margin-bottom: 6px; font-weight: 550; font-size: 14px; }
.admin-project-section { border-bottom: 1px solid var(--color-border); padding-bottom: 8px; margin-bottom: 28px; }
.admin-project-section h2 { font-size: 18px; margin-bottom: 16px; }
.admin-project-section .grid { row-gap: 0; }
.admin-project-section > .form-help { margin: 0 0 16px; }
.admin-project-section > .admin-project-list-help { margin-top: -8px; margin-bottom: 20px; }
.admin-project-demo { align-self: end; }
.admin-project-demo .check-label { min-height: 44px; margin: 0; }
.admin-project-form .admin-project-stage { border: 1px solid var(--color-border); border-radius: 8px; background: #fafbf8; padding: 8px 16px 2px; margin-bottom: 12px; }
.admin-project-stage-fields { clear: both; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 16px; }
.admin-project-stage .form-field { margin-bottom: 14px; }
.admin-project-stage-description { grid-column: 1 / -1; }
/* 위로·아래로 버튼은 단계 이름(legend) 줄 오른쪽에 둔다. */
.admin-project-form .admin-project-stage legend { float: left; line-height: 44px; margin-bottom: 4px; font-weight: 600; }
.admin-project-stage-move { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 4px; }
.admin-project-stage-move .btn { min-height: 44px; min-width: 64px; }
.admin-project-stage-move .btn:disabled { cursor: not-allowed; opacity: .45; }
.admin-project-stage-status { color: var(--color-primary); }
.admin-project-stage-status:empty { margin: 0; }
.admin-project-recruiting .check-label { min-height: 44px; margin: 0; }
.admin-project-choices .manage-checklist { margin-bottom: 4px; }
/* 후보가 많으면 목록 높이를 줄이고 안에서 스크롤한다. 체크 상자는 Tab 으로 차례로 지나가며 보이는 곳으로 스크롤된다. */
.admin-project-choice-list { max-height: 360px; overflow-y: auto; border: 1px solid var(--color-border); border-radius: 8px; padding: 4px 12px; }
.admin-project-choice-list input[type=checkbox] { flex: none; }
.admin-project-choice-search { margin-bottom: 12px; }
.admin-project-choice-search .form-help { min-height: 1lh; }
.admin-project-reselect { margin: 8px 0 0; }
.admin-project-reload { margin: 12px 0 0; }
.admin-projects .error-summary li a { display: inline-flex; align-items: center; min-height: 44px; }
.admin-project-actions-bar { margin-top: 8px; }

@media (max-width: 767px) {
  .admin-project-stage-fields { grid-template-columns: minmax(0, 1fr); }
  .admin-project-actions-bar .btn { flex: 1 1 140px; min-height: 48px; }
  .admin-projects .table-wrap { border: 0; overflow: visible; }
  .admin-projects-table, .admin-projects-table tbody { display: block; width: 100%; }
  .admin-projects-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .admin-projects-table tr { display: block; border: 1px solid var(--color-border); border-radius: 8px; padding: 6px 14px 14px; margin-bottom: 12px; background: white; }
  .admin-projects-table td, .admin-projects-table td:not(.admin-project-title) { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 0; padding: 6px 0; white-space: normal; text-align: right; }
  .admin-projects-table td[data-label]::before { content: attr(data-label); color: var(--color-muted); font-size: 13px; text-align: left; flex: none; }
  .admin-layout .admin-projects-table td.admin-project-title { display: block; min-width: 0; text-align: left; }
  .admin-projects-table td.admin-project-actions { gap: 8px; padding-top: 10px; }
  .admin-projects .admin-project-actions .btn { flex: 1 1 0; min-height: 48px; margin: 0; }
}
