/* ══════════════════════════════════════════════════════════════════
   Partner Institutions Module — Styles
   ══════════════════════════════════════════════════════════════════ */

.modal-wide { max-width: 800px; }
@media (max-width: 768px) { .modal-wide { max-width: 100%; } }

.form-section {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 20px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border, #d6e2de);
}
.form-section:first-of-type { margin-top: 0; }

.form-hint {
  font-size: 12px;
  color: var(--text-light);
  margin-top: 4px;
  font-style: italic;
}

.form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 768px) {
  .form-row-3, .form-row-2 { grid-template-columns: 1fr; }
}

.dept-checks { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 4px; }
.dept-check {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  font-size: 13px; padding: 6px 10px; border: 1px solid var(--border, #d6e2de);
  border-radius: 8px; background: #fff;
}
.dept-check:hover { border-color: var(--primary, #157a72); }
.dept-check input { width: 15px; height: 15px; accent-color: var(--primary, #157a72); cursor: pointer; }

.agreement-radios { display: flex; gap: 8px; margin-top: 4px; }
.radio-pill {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  font-size: 13px; padding: 7px 12px; border: 1px solid var(--border, #d6e2de);
  border-radius: 8px; background: #fff; flex: 1; justify-content: center;
}
.radio-pill:hover { border-color: var(--primary, #157a72); }
.radio-pill input { width: 14px; height: 14px; accent-color: var(--primary, #157a72); cursor: pointer; }

.status-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.agreement-moa { background: #dbeafe; color: #1d4ed8; }
.agreement-mou { background: #ede9fe; color: #6d28d9; }
.agreement-na { background: #f1f5f9; color: #64748b; }

.actions-cell { white-space: nowrap; }
.actions-cell .btn { margin-right: 4px; }

.row-sub { font-size: 12px; color: var(--text-light); margin-top: 2px; }

/* ── Proof upload widgets ──────────────────────────────────────── */
.upload-file-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 8px 10px; border: 1px solid var(--border, #d6e2de);
  border-radius: 8px; margin-bottom: 8px; font-size: 13px;
}
.upload-file-row a { color: var(--primary, #157a72); text-decoration: none; word-break: break-all; }
.upload-file-row a:hover { text-decoration: underline; }

#docUploadWrap input[type="file"], #photoUploadWrap input[type="file"] {
  display: block; margin-bottom: 8px; font-size: 12px;
}

.upload-progress { font-size: 12px; color: var(--text-light); margin-top: 6px; }

.photo-thumb-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.photo-thumb { position: relative; width: 84px; height: 84px; }
.photo-thumb img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 8px;
  border: 1px solid var(--border, #d6e2de);
}
.photo-thumb-remove {
  position: absolute; top: -6px; right: -6px; width: 20px; height: 20px;
  border-radius: 50%; background: var(--danger, #dc2626); color: #fff;
  border: 2px solid #fff; cursor: pointer; font-size: 13px; line-height: 1;
  display: flex; align-items: center; justify-content: center; padding: 0;
}
