.bulk-access {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px solid #d5dce5;
  border-radius: 12px;
  background: #fff;
  scroll-margin-top: 80px;
}
.bulk-input-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(320px, 1fr);
  gap: 24px;
  margin-bottom: 20px;
}
.bulk-input-grid label { display: grid; gap: 8px; }
.bulk-input-grid > label { align-content: start; }
.bulk-input-grid textarea { width: 100%; resize: vertical; min-height: 160px; }
.bulk-access #bulk-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bulk-access #bulk-projects legend { grid-column: 1 / -1; }
.bulk-access .form-status { color: var(--muted); }
.bulk-access .form-status[data-state="error"] { color: #b42318; }
.bulk-access .button-row { margin-top: 20px; }
#bulk-preview { scroll-margin-top: 128px; }
.bulk-table-scroll { overflow: auto; max-height: 480px; }
.bulk-preview-table { width: 100%; border-collapse: collapse; text-align: left; }
.bulk-preview-table caption { text-align: left; padding: 12px 0; font-weight: 600; }
.bulk-preview-table th, .bulk-preview-table td {
  padding: 12px;
  border-bottom: 1px solid #d5dce5;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.bulk-preview-table th { position: sticky; top: 0; background: #f4f6f9; }
.bulk-directory-row { display: flex; align-items: center; gap: 10px; }
.bulk-directory-row .user-directory-item { flex: 1; min-width: 0; }
.bulk-directory-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.login-panel #admission-request-panel { text-align: left; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.login-panel #admission-request-panel h2 { font-size: 18px; }
.login-panel #admission-request-panel p { line-height: 1.5; }
.login-panel #admission-request-status { color: var(--muted); }
.login-panel #admission-request-form { display: grid; gap: 12px; }
.login-panel #admission-request-reason { width: 100%; resize: vertical; }
