.program-admin-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #dcf3e0;
  border-radius: 9px;
  background: #e7f6ec;
  color: #16382a;
  font-weight: 750;
  white-space: nowrap;
}
.program-admin-add:hover { background: #fff; }
.program-admin-add:disabled { opacity: .65; }
.program-admin-add svg, .program-admin-contract-link svg { flex: 0 0 auto; width: 16px; height: 16px; }

.program-admin-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.program-admin-filters > select { width: auto; max-width: 100%; min-height: 37px; }
.program-admin-filters .cc-search-field input { width: 230px; max-width: 100%; }
.program-admin .cc-feedback:not(:empty), .program-admin [data-program-admin-retry] { margin-bottom: 12px; }
.program-admin-table .program-admin-group th {
  padding: 8px 12px;
  border-top: 1px solid var(--border);
  background: var(--greenWash);
  color: var(--greenText);
  font-size: 12px;
  letter-spacing: .02em;
}
.program-admin-contract-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--greenText);
  font-weight: 700;
  white-space: nowrap;
}
.program-admin-contract-link:hover { text-decoration: underline; }

.program-admin-dialog { width: min(660px, calc(100vw - 28px)); }
.program-admin-dialog .editor-header { background: var(--greenWash); }
.program-admin-dialog .editor-content { padding-top: 18px; }
.program-admin-dialog .edit-field .input { min-height: 41px; font-size: 14px; }
.program-admin-dialog .edit-field small { color: var(--muted); }
.program-admin-dialog .form-error { margin: 10px 0; }
.program-admin-dialog .form-error:empty { display: none; }
.program-admin-active { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--sub); font-size: 13px; font-weight: 700; }
.program-admin-active input { width: 16px; height: 16px; accent-color: var(--green); }
.program-admin-editor-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.program-admin-dialog [data-program-admin-save-feedback]:not(:empty) { margin-top: 12px; }
.program-admin-contract { margin-top: 18px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel2); }
.program-admin-contract[hidden], .program-admin-contract-link[hidden] { display: none; }
.program-admin-contract h3 { margin: 0 0 5px; font-size: 17px; }
.program-admin-contract p { margin: 5px 0 8px; font-size: 13px; }
.program-admin-contract form { margin-top: 12px; }
.program-admin-contract input[type=file] { background: var(--field); }

@media (max-width: 460px) {
  .program-admin-filters { width: 100%; }
  .program-admin-filters > :is(label, select) { flex: 1 1 100%; width: 100%; }
  .program-admin-filters .cc-search-field input { width: 100%; }
}
