:root {
  --urjc-red: #cb0017;
  --urjc-orange: #f48801;
  --ink: #222222;
  --muted: #666666;
  --line: #dddddd;
  --soft: #f6f6f6;
  --panel: #ffffff;
  --surface-raised: #ffffff;
  --surface-subtle: #fbfcfd;
  --surface-tinted: #f7fbfc;
  --surface-disabled: #f1f1f1;
  --surface-header: #eef4f7;
  --surface-accent: #f5e6e8;
  --surface-success: #eef8f2;
  --surface-warning: #fff7e8;
  --surface-danger: #fff2f3;
  --surface-hover: #fff7f7;
  --preview-overlay: rgba(245, 245, 245, .42);
  --content-width-compact: 520px;
  --content-width-medium: 760px;
  --content-width-wide: 980px;
  --control-height: 40px;
  --control-height-compact: 36px;
  --control-height-upload: 46px;
  --control-gap: 8px;
  --control-radius: 6px;
  --control-padding-inline: 12px;
  --chip-height: 24px;
  --chip-gap: 6px;
  --chip-padding-inline: 8px;
  --chip-neutral-border: #cbd6dc;
  --chip-neutral-bg: #f3f6f7;
  --chip-neutral-text: #42545c;
  --chip-pending-border: #dfbd79;
  --chip-pending-bg: #fff7e8;
  --chip-pending-text: #6b4b12;
  --chip-complete-border: #9bc8b1;
  --chip-complete-bg: #eef8f2;
  --chip-complete-text: #285b43;
  --chip-notified-border: #a8c8dd;
  --chip-notified-bg: #edf5fa;
  --chip-notified-text: #285b78;
  --chip-selected-border: #9ebdca;
  --chip-selected-bg: #e8f3f7;
  --chip-selected-text: #28566a;
  --chip-inactive-border: #c8ced2;
  --chip-inactive-bg: #eceff1;
  --chip-inactive-text: #59646a;
  --chip-error-border: #dfb5bd;
  --chip-error-bg: #fff2f4;
  --chip-error-text: #8c2739;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html[data-theme="dark"] {
  --ink: #eef2f4;
  --muted: #b7c0c5;
  --line: #4b565c;
  --soft: #171b1e;
  --panel: #242a2e;
  --surface-raised: #242a2e;
  --surface-subtle: #272e32;
  --surface-tinted: #293136;
  --surface-disabled: #30373b;
  --surface-header: #2c383e;
  --surface-accent: #3b252a;
  --surface-success: #20362a;
  --surface-warning: #3a3020;
  --surface-danger: #3d252b;
  --surface-hover: #35252a;
  --preview-overlay: rgba(8, 11, 13, .38);
  --chip-neutral-border: #56636a;
  --chip-neutral-bg: #2c3438;
  --chip-neutral-text: #d5dde1;
  --chip-pending-border: #826e42;
  --chip-pending-bg: #3a3020;
  --chip-pending-text: #f0d79e;
  --chip-complete-border: #466b56;
  --chip-complete-bg: #20362a;
  --chip-complete-text: #bce1ca;
  --chip-notified-border: #486a82;
  --chip-notified-bg: #223542;
  --chip-notified-text: #b9d9ed;
  --chip-selected-border: #47717a;
  --chip-selected-bg: #21393e;
  --chip-selected-text: #b5e0e7;
  --chip-inactive-border: #4b565c;
  --chip-inactive-bg: #30373b;
  --chip-inactive-text: #aeb8bd;
  --chip-error-border: #7b4149;
  --chip-error-bg: #3d252b;
  --chip-error-text: #f0b3bb;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

.content-width-compact,
.content-width-medium,
.content-width-wide {
  width: 100%;
  margin-right: auto;
}

.content-width-compact {
  max-width: var(--content-width-compact);
}

.content-width-medium {
  max-width: var(--content-width-medium);
}

.content-width-wide {
  max-width: var(--content-width-wide);
}

body {
  margin: 0;
  background: var(--soft);
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
}

body.process-app {
  min-width: 1520px;
  overflow-x: auto;
}

.topbar-icon-toggle {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  font-size: 1.15rem;
  cursor: pointer;
}

.completed-visibility-toggle[aria-pressed="true"] {
  border-color: rgba(203, 0, 23, .45);
  background: rgba(203, 0, 23, .08);
  color: var(--urjc-red);
}

html[data-theme="dark"] .process-sidebar,
html[data-theme="dark"] .process-workspace,
html[data-theme="dark"] .workspace-panel,
html[data-theme="dark"] .next-action-card,
html[data-theme="dark"] .profile-section,
html[data-theme="dark"] .coordination-panel,
html[data-theme="dark"] .course-instance-form,
html[data-theme="dark"] .course-inspection-empty,
html[data-theme="dark"] .course-restore-panel,
html[data-theme="dark"] .rotation-date-card,
html[data-theme="dark"] .quota-card,
html[data-theme="dark"] .informative-meeting-row,
html[data-theme="dark"] .specialized-upload-card,
html[data-theme="dark"] .specialized-hospital-card,
html[data-theme="dark"] .proposal-review-card,
html[data-theme="dark"] .direct-request-row,
html[data-theme="dark"] .direct-entry-form,
html[data-theme="dark"] .documentation-hospital-card,
html[data-theme="dark"] .quota-hospital-card,
html[data-theme="dark"] .assignment-hospital-card,
html[data-theme="dark"] .student-assignment-card,
html[data-theme="dark"] .student-swap-history article,
html[data-theme="dark"] .swap-request-card,
html[data-theme="dark"] .student-welcome-card {
  border-color: var(--line);
  background: var(--panel);
  color: var(--ink);
}

.consultation-list {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.consultation-card {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
}

.consultation-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}

.consultation-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border-top: 1px solid var(--line);
  padding: 12px 14px;
}

.consultation-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: .8rem;
}

.consultation-form textarea {
  width: 100%;
  resize: vertical;
}

.consultation-form button {
  justify-self: start;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .file-picker,
html[data-theme="dark"] .profile-table td,
html[data-theme="dark"] .profile-table th,
html[data-theme="dark"] .preview-table td,
html[data-theme="dark"] .preview-table th {
  border-color: var(--line);
  background: #30373b;
  color: var(--ink);
}

html[data-theme="dark"] .secondary-action,
html[data-theme="dark"] .panel-primary-action,
html[data-theme="dark"] .table-action-toggle,
html[data-theme="dark"] .topbar-icon-toggle {
  background: #30373b;
}

html[data-theme="dark"] .completed-visibility-toggle[aria-pressed="true"] {
  border-color: #a9535e;
  background: #42282e;
  color: #ffb1b9;
}

html[data-theme="dark"] .topbar {
  border-bottom-color: #3f484d;
  background: #161a1d;
  color: #f4f6f7;
}

html[data-theme="dark"] .brand img {
  filter: brightness(0) invert(1);
}

html[data-theme="dark"] .brand p,
html[data-theme="dark"] .topbar .eyebrow {
  border-left: 3px solid var(--urjc-red);
  color: #f4f6f7;
  padding-left: 7px;
}

html[data-theme="dark"] .topbar .process-context-label,
html[data-theme="dark"] .role-preview-form label {
  color: #c6cdd1;
}

html[data-theme="dark"] .topbar .role-list.compact span {
  border-color: #72414a;
  background: #3b252a;
  color: #ffffff;
}

html[data-theme="dark"] .topbar .hospital-context-chip {
  border-color: #64727a;
  background: #30393e;
  color: #f4f6f7;
}

html[data-theme="dark"] .topbar .account-email-chip {
  border-color: #52707e;
  background: #26343a;
  color: #eef5f7;
}

html[data-theme="dark"] .topbar .actions > form:last-child button {
  border-color: #606b71;
  background: #30373b;
  color: #ffffff;
}

html[data-theme="dark"] :is(
  .process-group,
  .process-stage-list,
  .next-action-card,
  .implementation-list article,
  .audit-table-wrap,
  .panel-primary-action,
  .danger-submit,
  .informative-meeting-row,
  .quota-row,
  .quota-email-preview,
  .quota-card,
  .sensitive-documents-panel,
  .attendance-hospital-card,
  .hospital-timeline article,
  .attendance-session-table,
  .attendance-student-row,
  .attendance-student-control,
  .absence-worklist-panel,
  .attendance-worklist-row,
  .test-notification-panel,
  .specialized-hospital-card,
  .proposal-review-return textarea,
  .direct-entry-form input,
  .direct-entry-form select,
  .direct-entry-form textarea,
  .review-request-form input,
  .direct-request-row,
  .preference-table-card,
  .preference-request-panel,
  .preference-discard-action form,
  .participant-priority-summary,
  .followup-table-card,
  .followup-hospital-card,
  .followup-cell-tooltip,
  .closure-table-card,
  .closure-hospital-card,
  .final-feedback-form-card,
  .feedback-entry-card,
  .icon-close-button,
  .minute-record-card,
  .minute-form-card,
  .minute-entry-form input,
  .minute-entry-form textarea,
  .assignment-count,
  .swap-requests-panel,
  .assigned-student-list,
  .section-status-pill,
  .student-swap-form input,
  .decline-swap input,
  .decline-swap[open] form,
  .profile-section,
  .file-picker,
  .manual-create summary,
  .secondary-action.is-enabled,
  .preview-table,
  .profile-data-row.is-odd td,
  .message,
  .stage-tab
) {
  border-color: var(--line);
  background: var(--surface-raised);
  color: var(--ink);
}

html[data-theme="dark"] :is(
  .coordination-panel,
  .course-instance-form,
  .course-inspection-empty,
  .course-restore-panel,
  .rotation-date-card,
  .presentation-panel,
  .documentation-card,
  .student-welcome-card,
  .sensitive-demo-upload,
  .sensitive-documents-grid article,
  .attendance-card-body,
  .attendance-session-entry[open] > summary,
  .attendance-student-list,
  .attendance-session-record-form,
  .attendance-session-details,
  .attendance-worklists,
  .test-upload-card,
  .test-notification-form,
  .specialized-summary-grid article,
  .specialized-upload-card,
  .specialized-group-roster-row,
  .proposal-hospital-group,
  .proposal-review-card,
  .proposal-review-return form,
  .proposal-revision-form,
  .group-request-card,
  .direct-entry-form,
  .preference-upload-card,
  .inactive-notification-panel,
  .preference-request-card,
  .participant-assignment-card,
  .participant-preference-card,
  .feedback-section-card,
  .followup-detail-panel,
  .minute-entry-form,
  .minute-empty,
  .assignment-hospital-card,
  .empty-state-inline,
  .swap-request-list article,
  .student-assignment-card,
  .student-swap-history article,
  .manual-create form,
  .profile-detail-row td,
  .profile-edit-row td
) {
  border-color: var(--line);
  background: var(--surface-tinted);
  color: var(--ink);
}

html[data-theme="dark"] :is(
  .audit-table th,
  .attendance-session-head,
  .preference-table-head,
  .followup-table th,
  .closure-table-head,
  .closure-hospital-card[open] > summary,
  .final-feedback-form-card[open] > summary,
  .feedback-section-card[open] > summary,
  .section-heading-row,
  .profile-table th,
  .preview-table th
) {
  border-color: var(--line);
  background: var(--surface-header);
  color: var(--ink);
}

html[data-theme="dark"] :is(
  .informative-meeting-head,
  .quota-head,
  .section-heading-row.preference-section-heading
) {
  border-color: #70414a;
  background: var(--surface-accent);
  color: var(--ink);
}

html[data-theme="dark"] :is(
  .course-complete-action,
  .panel-primary-action:disabled,
  .danger-submit:disabled,
  .informative-meeting-row input[readonly],
  .specialized-code.is-empty,
  .profile-section[open] summary,
  .profile-tools,
  .manual-create[open] summary,
  .secondary-action,
  .table-actions button,
  .table-action-toggle:disabled:not(.is-editing),
  .profile-data-row.is-inactive td,
  .stage-tab.is-disabled,
  .stage-tab.is-disabled em
) {
  border-color: var(--line);
  background: var(--surface-disabled) !important;
  color: #aeb8bd !important;
}

html[data-theme="dark"] .process-stage {
  border-color: #465158;
  background: #282f33;
  color: #aab4b9;
}

html[data-theme="dark"] .process-stage.is-previewable {
  border-color: #566168;
  background: #2a3034;
  color: #b4bdc2;
}

html[data-theme="dark"] .process-stage.is-previewable:hover {
  border-color: #7a878e;
  background: #31383c;
  color: #e0e5e7;
}

html[data-theme="dark"] .process-stage.is-enabled {
  border-color: #8b4a55;
  background: #33282c;
  color: #ff8491;
}

html[data-theme="dark"] .process-stage.is-enabled:hover {
  border-color: #e35b69;
  background: #42282e;
  color: #ffb1b9;
}

html[data-theme="dark"] .process-stage.is-selected {
  border-color: #ef6875;
  background: #48252d;
  color: #ffffff;
  box-shadow: inset 3px 0 0 var(--urjc-red);
}

html[data-theme="dark"] .process-stage.is-preview-selected {
  border-color: #849198;
  background: #374046;
  color: #f0f3f4;
  box-shadow: inset 3px 0 0 #7e8d94;
}

html[data-theme="dark"] :is(
  .participant-assignment-card,
  .minute-check,
  .message.success,
  .import-preview,
  .profile-notification-preview
) {
  background: var(--surface-success);
  color: #bce1ca;
}

html[data-theme="dark"] :is(
  .pending-list,
  .quota-balance.is-warning,
  .proposal-review-feedback,
  .preference-review-comment,
  .message.warning
) {
  border-color: #826e42;
  background: var(--surface-warning);
  color: #f0d79e;
}

html[data-theme="dark"] :is(
  .danger-action,
  .course-deletion-panel,
  .message.error,
  .import-preview.has-errors
) {
  border-color: #87505b;
  background: var(--surface-danger);
  color: #f0bcc5;
}

html[data-theme="dark"] :is(
  .specialized-hospital-card .specialized-code
) {
  border-color: var(--chip-neutral-border);
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
}

html[data-theme="dark"] :is(
  .workspace-panel,
  .workspace-panel.is-preview-mode,
  .workspace-panel h2,
  .workspace-panel h3,
  .workspace-panel h4,
  .workspace-panel label,
  .workspace-panel legend,
  .workspace-panel dt,
  .course-instance-form label > span,
  .course-instance-form legend,
  .course-inspection-picker label > span,
  .next-state-block h3,
  .file-picker-main,
  .profile-table th,
  .preview-table th,
  .audit-primary,
  .audit-table th,
  .close-course-form label,
  .decline-swap label
) {
  color: var(--ink);
}

html[data-theme="dark"] :is(
  .coordination-panel p,
  .course-inspection-empty p,
  .audit-secondary,
  .audit-context span,
  .profile-tools span,
  .profile-notification-form input[readonly]
) {
  color: var(--muted);
}

html[data-theme="dark"] :is(
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled
) {
  color: #aeb8bd;
  -webkit-text-fill-color: #aeb8bd;
  opacity: 1;
}

html[data-theme="dark"] .table-action-toggle {
  border-color: #76515a !important;
  background: var(--surface-raised) !important;
  color: #ff8d9a !important;
}

html[data-theme="dark"] .profile-data-row.is-even td {
  background: var(--surface-subtle);
}

html[data-theme="dark"] .profile-data-row:hover td {
  background: var(--surface-hover);
}

html[data-theme="dark"] .audit-table tbody tr:nth-child(even) {
  background: var(--surface-subtle);
}

html[data-theme="dark"] .message-close {
  border-color: var(--line);
  background: var(--surface-raised);
  color: var(--ink);
}

html[data-theme="dark"] .help-tooltip {
  border-color: #5a666c;
  background: var(--surface-raised);
  color: var(--muted) !important;
}

html[data-theme="dark"] .course-instance-form input[type="text"],
html[data-theme="dark"] .course-instance-form input[type="date"],
html[data-theme="dark"] .course-inspection-picker input[type="text"],
html[data-theme="dark"] .course-inspection-picker select,
html[data-theme="dark"] .course-deletion-form input[type="text"] {
  border-color: var(--line);
  background: var(--surface-disabled);
  color: var(--ink);
}

.topbar {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 28px;
  min-height: 104px;
  padding: 14px 30px;
  border-top: 8px solid var(--urjc-red);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.brand {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 18px;
}

.brand img {
  width: 190px;
  height: auto;
}

.brand > div {
  display: grid;
  grid-template-rows: 16px 28px;
  align-content: center;
  gap: 4px;
  min-height: 52px;
}

.topbar-context {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  gap: 28px;
  min-width: 260px;
  max-width: none;
  padding: 0;
}

.topbar-course-context,
.topbar-profile-context {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 52px;
}

.topbar-course-context {
  grid-template-rows: 16px 28px;
}

.topbar-profile-context {
  grid-template-rows: 24px 24px;
}

.role-preview-form {
  display: flex;
  align-items: stretch;
  gap: 6px;
  height: 40px;
  width: auto;
  flex: 0 0 auto;
}

.role-preview-form label {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 12px 26px;
  align-items: stretch;
  width: 208px;
  flex: 0 0 208px;
  gap: 2px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
}

.role-preview-form label > span {
  line-height: 12px;
  white-space: nowrap;
}

.role-preview-form label + label {
  width: 96px;
  flex-basis: 96px;
}

.role-preview-form select {
  width: 100%;
  height: 26px;
  min-height: 26px;
  max-width: none;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #ffffff;
  padding: 2px 8px;
  color: var(--ink);
  font: inherit;
  font-size: .82rem;
  font-weight: 400;
}

.topbar .actions > form:last-child button {
  height: 40px;
  min-height: 40px;
}

.topbar-context h2 {
  margin-right: 8px;
  font-size: 1.2rem;
  line-height: 28px;
  white-space: nowrap;
}

.brand p,
.eyebrow {
  margin: 0;
  color: var(--urjc-red);
  font-size: .75rem;
  font-weight: 800;
  line-height: 16px;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
}

h1 {
  font-size: 1.35rem;
  line-height: 28px;
}

.actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  margin-left: 0;
  flex: 0 0 auto;
}

.actions a,
.actions button {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  padding: 8px 12px;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.layout {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px;
}

.dashboard-layout {
  max-width: 1240px;
}

.dashboard-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 22px;
  align-items: start;
}

.dashboard-main {
  min-width: 0;
}

.process-layout {
  max-width: none;
}

.process-shell {
  display: grid;
  grid-template-columns: 320px minmax(1100px, 1fr);
  gap: 20px;
  min-height: calc(100vh - 150px);
}

.process-sidebar,
.process-workspace {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.process-sidebar {
  padding: 18px;
}

.process-context-label {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 700;
}

.role-list.compact {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  margin-top: 0;
}

.role-list.compact span {
  min-height: 24px;
  font-size: .74rem;
}

.topbar-identity-chips {
  flex-wrap: nowrap;
}

.topbar-account-chips {
  display: flex;
  align-items: center;
  gap: var(--chip-gap);
  min-width: 0;
}

.topbar .hospital-context-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--chip-height);
  box-sizing: border-box;
  border: 1px solid #c3cdd2;
  border-radius: 999px;
  background: #e9eef0;
  color: #40535d;
  padding: 0 var(--chip-padding-inline);
  font-size: .74rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.account-email-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 300px;
  height: var(--chip-height);
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #b8ccd5;
  border-radius: 999px;
  background: #eaf2f5;
  color: #315463;
  padding: 0 var(--chip-padding-inline);
  font-size: .74rem;
  font-weight: 400;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.process-menu {
  display: grid;
  gap: 10px;
}

.process-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.process-group summary {
  min-height: 46px;
  padding: 13px 14px;
  background: #222222;
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  list-style-position: inside;
}

.process-group[open] summary {
  background: var(--urjc-red);
}

.process-stage-list {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.process-stage-list > template {
  display: none;
}

.process-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  width: 100%;
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #f1f1f1;
  color: #777777;
  padding: 8px 10px;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  text-align: left;
  cursor: not-allowed;
}

.process-stage-label {
  display: block;
  min-width: 0;
}

.process-stage-dates {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chip-gap);
}

.workspace-panel-dates {
  align-items: center;
  margin-left: 2px;
}

.workspace-title .workspace-panel-dates {
  flex: 0 1 auto;
}

.process-stage-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--chip-height);
  box-sizing: border-box;
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 0 var(--chip-padding-inline);
  font-size: .68rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.process-stage.is-enabled .process-stage-date {
  border-color: var(--chip-selected-border);
  background: var(--chip-selected-bg);
  color: var(--chip-selected-text);
}

.process-stage.is-enabled {
  border-color: rgba(203, 0, 23, .35);
  background: #ffffff;
  color: var(--urjc-red);
  cursor: pointer;
}

.process-stage.is-enabled:hover {
  border-color: var(--urjc-red);
  background: rgba(203, 0, 23, .06);
}

.process-stage.is-previewable {
  border-color: #e0d7d9;
  background: #faf7f8;
  color: #7b6066;
  cursor: pointer;
}

.process-stage.is-previewable:hover {
  border-color: #c9aeb5;
  background: #f7eff1;
  color: #5f464c;
}

.process-stage.is-completed {
  opacity: .62;
  transition: opacity .16s ease, border-color .16s ease, background-color .16s ease;
}

html[data-completed-visibility="clear"] .process-stage.is-completed,
html.completed-visibility-clear .process-stage.is-completed {
  border-color: #c9aeb5;
  background: #ffffff;
  color: #5f464c;
  opacity: 1;
}

html[data-theme="dark"][data-completed-visibility="clear"] .process-stage.is-completed,
html[data-theme="dark"].completed-visibility-clear .process-stage.is-completed {
  border-color: #7a878e;
  background: #31383c;
  color: #e0e5e7;
}

.process-stage.is-selected {
  border-color: var(--urjc-red);
  background: rgba(203, 0, 23, .08);
}

.process-stage.is-preview-selected {
  border-color: #8a6f76;
  background: #f1e8eb;
  color: #43363a;
}

.process-note {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f8f8;
  color: var(--muted);
  padding: 12px;
}

.process-note p {
  margin: 0;
}

.process-workspace {
  min-height: 560px;
  min-width: 1000px;
  padding: 22px;
}

.workspace-empty {
  display: grid;
  align-content: start;
  min-height: 100%;
}

.next-action-card {
  border: 1px solid #d8d8d8;
  border-left: 5px solid var(--urjc-red);
  border-radius: 8px;
  background: #ffffff;
  padding: 18px 20px;
}

.next-action-card h2 {
  font-size: 1.05rem;
}

.next-action-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.state-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chip-gap);
}

.state-chip-list > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--chip-height);
  box-sizing: border-box;
  border: 1px solid rgba(203, 0, 23, .28);
  border-radius: 999px;
  background: rgba(203, 0, 23, .06);
  color: var(--urjc-red);
  padding: 0 var(--chip-padding-inline);
  font-size: .8rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.next-state-block {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.next-state-block h3 {
  margin: 0;
  color: #444444;
  font-size: .9rem;
}

.state-chip-list.is-next > span {
  border: 1px solid var(--chip-neutral-border);
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  font-size: .82rem;
  font-weight: 700;
}

.workspace-panel {
  position: relative;
  width: 100%;
}

.workspace-panel.is-preview-mode {
  color: #424242;
}

.workspace-panel.is-preview-mode::after {
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 8px;
  border: 1px solid rgba(151, 165, 172, .45);
  background: var(--preview-overlay);
  box-shadow: inset 0 0 0 1px rgba(151, 165, 172, .12);
  content: "";
  pointer-events: none;
}

html[data-completed-visibility="clear"] .workspace-panel.is-preview-mode.is-completed-preview::after,
html.completed-visibility-clear .workspace-panel.is-preview-mode.is-completed-preview::after {
  border-color: rgba(151, 165, 172, .16);
  background: rgba(245, 245, 245, .04);
  box-shadow: none;
}

html[data-theme="dark"][data-completed-visibility="clear"] .workspace-panel.is-preview-mode.is-completed-preview::after,
html[data-theme="dark"].completed-visibility-clear .workspace-panel.is-preview-mode.is-completed-preview::after {
  border-color: rgba(151, 165, 172, .18);
  background: rgba(8, 11, 13, .04);
}

.workspace-panel.is-preview-mode button,
.workspace-panel.is-preview-mode input,
.workspace-panel.is-preview-mode select,
.workspace-panel.is-preview-mode textarea,
.workspace-panel.is-preview-mode a[aria-disabled="true"] {
  cursor: not-allowed;
}

.workspace-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.workspace-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.workspace-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--control-gap);
  flex-wrap: nowrap;
}

.workspace-heading-actions > :is(a, button),
.workspace-heading-actions > form > :is(a, button) {
  min-width: 112px;
}

.workspace-heading > form {
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}

.workspace-panel h2 {
  font-size: 1.6rem;
}

.workspace-panel > .muted {
  margin: 8px 0 22px;
}

.course-complete-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: #f1f1f1;
  color: #777777;
  padding: 8px var(--control-padding-inline);
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: not-allowed;
}

.course-complete-action.is-enabled {
  border-color: rgba(203, 0, 23, .35);
  background: #ffffff;
  color: var(--urjc-red);
  cursor: pointer;
}

.course-complete-action.is-primary {
  border-color: var(--urjc-red);
  background: var(--urjc-red);
  color: #ffffff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .12);
}

.course-complete-action.is-primary:hover {
  background: #a90013;
}

.setup-status {
  margin: -8px 0 18px;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 650;
}

.setup-status-ready {
  color: #354f3f;
}

.implementation-list {
  display: grid;
  gap: 10px;
}

.implementation-list article {
  border: 1px solid var(--line);
  border-left: 4px solid var(--urjc-red);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px 16px;
}

.implementation-list strong,
.implementation-list span {
  display: block;
}

.implementation-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: .92rem;
}

.coordination-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f3f8fa;
  padding: 16px;
}

.coordination-panel > div:first-child {
  min-width: 0;
}

.coordination-panel h3 {
  margin: 0;
  font-size: 1.05rem;
}

.section-title-with-help {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.coordination-panel p {
  margin: 5px 0 0;
  color: #51606a;
  font-size: .9rem;
}

.backup-course-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.backup-course-grid .coordination-panel {
  min-width: 0;
  height: 100%;
  margin-bottom: 0;
}

.audit-summary-panel {
  margin-bottom: 12px;
}

.audit-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #cbd7dd;
  border-radius: 8px;
  background: #ffffff;
}

.audit-table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
  font-size: .82rem;
}

.audit-table th {
  background: #eaf2f5;
  color: #344750;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

.audit-table th,
.audit-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #dbe3e7;
  vertical-align: top;
}

.audit-table tbody tr:last-child td {
  border-bottom: 0;
}

.audit-table tbody tr:nth-child(even) {
  background: #f8fafb;
}

.audit-date {
  white-space: nowrap;
}

.audit-primary,
.audit-secondary,
.audit-context span {
  display: block;
}

.audit-primary {
  color: #242424;
}

.audit-secondary {
  margin-top: 2px;
  color: #66757c;
  font-size: .76rem;
  font-weight: 400;
}

.audit-outcome {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 2px 8px;
  font-size: .74rem;
  font-weight: 600;
  white-space: nowrap;
}

.audit-outcome.is-completed {
  border-color: var(--chip-complete-border);
  background: var(--chip-complete-bg);
  color: var(--chip-complete-text);
}

.audit-outcome.is-rejected,
.audit-outcome.is-failed {
  border-color: var(--chip-error-border);
  background: var(--chip-error-bg);
  color: var(--chip-error-text);
}

.audit-context summary {
  color: var(--urjc-red);
  font-weight: 600;
  cursor: pointer;
}

.audit-context span {
  max-width: 300px;
  margin-top: 4px;
  color: #596970;
  font-size: .75rem;
  overflow-wrap: anywhere;
}

.audit-empty {
  color: var(--muted);
  text-align: center;
}

.danger-action {
  border-color: #d9c7c7;
  border-left-color: var(--urjc-red);
  background: #fbf4f4;
}

.panel-primary-action,
.danger-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  border: 1px solid rgba(203, 0, 23, .35);
  border-radius: var(--control-radius);
  background: #ffffff;
  color: var(--urjc-red);
  padding: 8px var(--control-padding-inline);
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.panel-primary-action:hover,
.danger-submit:hover {
  border-color: var(--urjc-red);
  background: rgba(203, 0, 23, .06);
}

.panel-primary-action:disabled,
.danger-submit:disabled {
  border-color: #d6d6d6;
  background: #f1f1f1;
  color: #777777;
  cursor: not-allowed;
}

.course-instance-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  justify-items: start;
  margin-bottom: 18px;
}

.course-instance-form,
.course-inspection-empty,
.course-restore-panel {
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #f7fbfc;
  padding: 16px;
}

.course-instance-form {
  display: grid;
  gap: 14px;
}

.course-restore-panel {
  display: grid;
  gap: 14px;
}

.course-restore-heading {
  display: flex;
  align-items: center;
  gap: 8px;
}

.course-restore-panel h3,
.course-restore-panel p {
  margin: 0;
}

.course-restore-panel p {
  margin-top: 5px;
  color: var(--muted);
}

.restore-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.restore-summary div {
  min-width: 0;
}

.restore-summary dt {
  color: var(--muted);
  font-size: .76rem;
}

.restore-summary dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}

.course-instance-form label,
.course-instance-form fieldset {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

.course-instance-form label > span,
.course-instance-form legend,
.course-inspection-picker label > span {
  color: #40484d;
  font-size: .82rem;
  font-weight: 800;
}

.course-instance-form input[type="text"],
.course-instance-form input[type="date"],
.course-inspection-picker input[type="text"],
.course-inspection-picker select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #bfcbd1;
  border-radius: 6px;
  background: #ffffff;
  padding: 8px 10px;
  font: inherit;
  font-weight: 400;
}

.course-date-grid {
  display: grid;
  grid-template-columns: repeat(2, 155px);
  gap: 12px;
  justify-content: start;
}

.radio-option {
  display: inline-flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  width: fit-content;
  margin-right: 16px !important;
  font-weight: 700;
}

.course-instance-form fieldset {
  display: block;
}

.course-instance-form fieldset legend {
  margin-bottom: 8px;
}

.course-inspection-empty h3 {
  margin: 0;
  font-size: 1.05rem;
}

.course-inspection-empty p {
  color: #51606a;
  font-size: .9rem;
}

.course-inspection-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.course-inspection-picker {
  display: grid;
  gap: 8px;
  justify-items: stretch;
  flex: 0 0 320px;
}

.course-inspection-picker label {
  display: grid;
  gap: 7px;
}

.course-inspection-picker select {
  min-height: 40px;
  border: 1px solid #bfcbd1;
  border-radius: 6px;
  background: #ffffff;
  padding: 8px 10px;
  font: inherit;
  font-weight: 400;
}

.course-inspection-picker option {
  font-weight: 400;
}

.course-inspection-summary {
  display: grid;
  gap: 9px;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  border-left: 1px solid var(--line);
  padding: 2px 0 2px 22px;
}

.course-inspection-summary > div,
.course-inspection-summary-meta > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.course-inspection-summary dt {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 800;
}

.course-inspection-summary dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: .92rem;
  overflow-wrap: anywhere;
}

.course-inspection-summary dd > span {
  margin: 0 3px;
  color: var(--muted);
}

.course-inspection-summary-meta {
  gap: 28px !important;
}

.course-deletion-backup,
.course-deletion-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f5fafb;
  padding: 16px;
}

.course-deletion-panel {
  align-items: flex-start;
  border-color: #e0b8bd;
  border-left-color: var(--urjc-red);
  background: #fff7f8;
}

.course-deletion-backup h3,
.course-deletion-panel h3,
.course-deletion-backup p,
.course-deletion-panel p {
  margin: 0;
}

.course-deletion-backup p,
.course-deletion-panel p {
  margin-top: 5px;
  color: var(--muted);
  font-size: .88rem;
  font-weight: 400;
}

.course-deletion-form {
  display: grid;
  grid-template-columns: 280px auto;
  gap: 10px 14px;
  align-items: end;
  min-width: 560px;
}

.course-deletion-form > label:first-child {
  display: grid;
  gap: 5px;
  color: #444444;
  font-size: .8rem;
  font-weight: 700;
}

.course-deletion-form input[type="text"] {
  min-height: 40px;
  border: 1px solid #c9aeb3;
  border-radius: 6px;
  background: #ffffff;
  padding: 8px 10px;
  font: inherit;
  font-weight: 400;
}

.course-deletion-form .checkbox-line {
  grid-column: 1 / -1;
  font-size: .84rem;
}

.course-deletion-form .danger-submit {
  grid-column: 2;
  grid-row: 1;
}

.panel-primary-action:disabled {
  border-color: var(--line);
  background: #f1f1f1;
  color: #777777;
  cursor: not-allowed;
}

.pending-list {
  margin-bottom: 16px;
  border: 1px solid #e0d1b7;
  border-radius: 8px;
  background: #fff9ed;
  padding: 12px 14px;
}

.pending-list ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.pending-list li {
  color: #5c4b28;
  font-size: .9rem;
}

.close-course-form {
  display: grid;
  gap: 12px;
}

.rotation-start-form {
  display: grid;
  gap: 10px;
}

.rotation-milestone-grid,
.rotation-period-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rotation-date-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 10px;
  min-width: 0;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f7fbfc;
  padding: 13px 14px;
}

.rotation-date-card strong {
  font-size: .92rem;
}

.rotation-date-card label,
.rotation-duration-card > div {
  display: flex;
  align-items: center;
  gap: 7px;
}

.rotation-duration-card > div {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.rotation-date-card label {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .82rem;
}

.rotation-date-card input[type="date"] {
  width: 142px;
  min-height: var(--control-height-compact);
  padding: 6px 8px;
}

.rotation-period-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rotation-duration-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.informative-meetings-form,
.presentation-panel {
  margin-top: 14px;
}

.informative-meeting-table {
  display: grid;
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  overflow-x: auto;
}

.informative-meeting-head,
.informative-meeting-row {
  display: grid;
  grid-template-columns: 115px 145px 100px minmax(180px, 1fr) 105px 100px;
  gap: var(--control-gap);
  align-items: center;
  padding: 9px 10px;
  min-width: 780px;
}

.informative-meeting-table.is-read-only .informative-meeting-head,
.informative-meeting-table.is-read-only .informative-meeting-row {
  grid-template-columns: 115px 145px 100px minmax(180px, 1fr) 105px;
  min-width: 670px;
}

.informative-meeting-head {
  align-items: center;
  background: #f5e6e8;
  color: #3a1f23;
  font-size: .82rem;
}

.informative-meeting-row {
  border-top: 1px solid #d8e1e5;
  background: #ffffff;
}

.informative-meeting-row:nth-child(odd) {
  background: #f8fbfc;
}

.informative-meeting-row label {
  gap: 4px;
  font-size: .72rem;
}

.meeting-field-label {
  display: none;
}

.informative-meeting-row input {
  min-height: var(--control-height);
  padding: 8px 10px;
}

.informative-meeting-row input[readonly] {
  background: #f1f1f1;
  color: #333333;
  font-weight: 800;
}

.meeting-readonly-value {
  display: flex;
  align-items: center;
  min-height: var(--control-height);
  color: var(--ink);
  padding: 8px 10px;
  font-size: .88rem;
  font-weight: 400;
}

.meeting-status {
  align-self: center;
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 5px 8px;
  font-size: .76rem;
  font-weight: 800;
  text-align: center;
}

.meeting-pending-notice {
  margin-top: 14px;
}

.meeting-pending-notice p {
  margin: 0;
  color: var(--muted);
}

.presentation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 480px);
  align-items: center;
  gap: 12px;
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #f7fbfc;
  padding: 12px 14px;
}

.presentation-panel.is-read-only {
  grid-template-columns: minmax(0, 1fr);
  max-width: var(--content-width-medium);
}

.presentation-info {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
}

.presentation-info h3 {
  margin: 0;
}

.presentation-info p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.presentation-file-row {
  display: flex;
  align-items: center;
  gap: var(--control-gap);
  min-width: 0;
}

.presentation-filename {
  overflow: hidden;
  min-width: 0;
  color: var(--muted);
  font-size: .88rem;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.presentation-file-row .secondary-action {
  flex: 0 0 auto;
}

.presentation-upload-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 170px;
  gap: var(--control-gap);
  align-items: stretch;
  align-self: center;
}

.presentation-upload-form .secondary-action {
  min-height: var(--control-height-upload);
}

.rotation-quotas-form {
  margin-top: 14px;
}

.quota-table {
  display: grid;
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  overflow: hidden;
}

.quota-head,
.quota-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 120px minmax(220px, 1.6fr) 130px;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
}

.quota-head {
  background: #f5e6e8;
  color: #3a1f23;
  font-size: .82rem;
}

.quota-row {
  border-top: 1px solid #d8e1e5;
  background: #ffffff;
}

.quota-row:nth-child(odd) {
  background: #f8fbfc;
}

.quota-row label {
  gap: 4px;
  font-size: .72rem;
}

.quota-row input {
  min-height: 34px;
  padding: 6px 8px;
}

.quota-email-preview {
  grid-column: 1 / -1;
  border: 1px solid #d8e1e5;
  border-radius: 8px;
  background: #ffffff;
}

.quota-email-preview summary {
  padding: 8px 10px;
  color: var(--urjc-red);
  font-size: .84rem;
  font-weight: 800;
  cursor: pointer;
}

.quota-email-preview label {
  padding: 0 10px 10px;
}

.quota-email-preview textarea,
.quota-email-preview input[readonly] {
  background: #f7f7f7;
  color: #333333;
  font-weight: 400;
}

.template-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--control-gap);
  flex: 0 0 auto;
  flex-wrap: nowrap;
}

.template-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  min-width: 190px;
  text-decoration: none;
}

.quota-card-list {
  display: grid;
  gap: 10px;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
}

.quota-balance {
  border: 1px solid #cbdde2;
  border-left: 4px solid #4f7f94;
  border-radius: 8px;
  background: #f6fbfc;
  color: #31434c;
  padding: 8px 10px;
  font-size: .84rem;
  font-weight: 700;
}

.quota-balance.is-ok {
  border-left-color: #2f8060;
  background: #f1faf6;
}

.quota-balance.is-warning {
  border-left-color: #b46b1f;
  background: #fff8ef;
}

.quota-card {
  display: grid;
  grid-template-columns: 110px 282px 252px 200px;
  justify-content: start;
  gap: var(--control-gap);
  align-items: center;
  min-width: 900px;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.quota-card.is-confirmed {
  border-left-color: #2f8060;
}

.quota-card.is-hospital-view {
  grid-template-columns: 110px 138px 252px 284px;
  min-width: 860px;
}

.quota-card.is-hospital-view .quota-control {
  display: block;
}

.quota-card.is-hospital-view .quota-damero-upload {
  grid-template-columns: 180px 64px;
}

.quota-card.is-hospital-view .quota-card-actions {
  grid-template-columns: 96px minmax(180px, 1fr);
}

.quota-card-hospital {
  display: grid;
  gap: 2px;
}

.quota-card-hospital strong {
  font-size: 1rem;
}

.quota-card-hospital span {
  color: var(--muted);
  font-size: .75rem;
}

.quota-control {
  display: grid;
  grid-template-columns: 166px 108px;
  align-items: center;
  gap: var(--control-gap);
  min-width: 0;
}

.quota-number {
  display: grid;
  grid-template-columns: auto 56px minmax(72px, max-content);
  align-items: center;
  gap: 4px;
  justify-content: start;
  font-size: .8rem;
}

.quota-notify-action {
  width: 108px;
  min-height: var(--control-height-upload);
  white-space: nowrap;
}

.quota-readonly {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.quota-readonly span {
  color: var(--muted);
  font-size: .75rem;
}

.quota-readonly strong {
  font-size: .9rem;
}

.quota-number input {
  min-height: 34px;
  padding: 6px;
  text-align: center;
}

.quota-number em {
  color: var(--muted);
  font-style: normal;
  white-space: nowrap;
}

.quota-damero-upload {
  display: grid;
  grid-template-columns: 180px 64px;
  gap: var(--control-gap);
  align-items: stretch;
}

.quota-damero-upload .file-picker {
  min-height: var(--control-height-upload);
  padding: 6px 10px;
}

.quota-damero-upload .secondary-action {
  min-height: var(--control-height-upload);
}

.quota-card-actions {
  display: grid;
  grid-template-columns: repeat(2, 96px);
  gap: var(--control-gap);
  align-items: center;
}

.quota-card-actions .secondary-action,
.quota-download {
  min-height: var(--control-height-upload);
  width: 100%;
  text-align: center;
}

.quota-download {
  text-decoration: none;
}

.quota-confirmed-notice {
  justify-content: center;
  min-width: 0;
  white-space: nowrap;
}

.welcome-summary {
  margin-bottom: 14px;
}

.documentation-card-list {
  display: grid;
  gap: 8px;
  max-width: 100%;
  margin-bottom: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.documentation-card {
  display: grid;
  grid-template-columns: minmax(120px, 150px) minmax(320px, 1.2fr) minmax(160px, .6fr) minmax(380px, auto);
  gap: 10px;
  align-items: center;
  min-width: 1040px;
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.documentation-card.is-hospital-view {
  grid-template-columns: 150px 390px 180px 150px;
  min-width: 920px;
}

.documentation-hospital {
  display: grid;
  gap: 3px;
}

.documentation-hospital strong {
  color: #1f2c34;
  font-size: .98rem;
}

.documentation-hospital span,
.status-note {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
}

.welcome-upload-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 150px;
  gap: var(--control-gap);
  align-items: stretch;
}

.welcome-upload-form .file-picker,
.welcome-upload-form .secondary-action {
  min-height: var(--control-height-upload);
}

.documentation-state {
  display: grid;
  gap: 4px;
  justify-items: start;
}

.status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  height: var(--chip-height);
  box-sizing: border-box;
  flex: 0 0 auto;
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 0 var(--chip-padding-inline);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.status-chip.is-pending {
  border-color: var(--chip-pending-border);
  background: var(--chip-pending-bg);
  color: var(--chip-pending-text);
}

.status-chip.is-ready,
.status-chip.is-complete {
  border-color: var(--chip-complete-border);
  background: var(--chip-complete-bg);
  color: var(--chip-complete-text);
}

.status-chip.is-selected {
  border-color: var(--chip-selected-border);
  background: var(--chip-selected-bg);
  color: var(--chip-selected-text);
}

.status-chip.is-notified {
  border-color: var(--chip-notified-border);
  background: var(--chip-notified-bg);
  color: var(--chip-notified-text);
}

.status-chip.is-inactive,
.status-chip.is-muted {
  border-color: var(--chip-inactive-border);
  background: var(--chip-inactive-bg);
  color: var(--chip-inactive-text);
}

.status-chip.is-error,
.status-chip.is-rejected {
  border-color: var(--chip-error-border);
  background: var(--chip-error-bg);
  color: var(--chip-error-text);
}

.documentation-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  gap: var(--control-gap);
  white-space: nowrap;
}

.documentation-actions form {
  display: contents;
}

.documentation-actions .secondary-action {
  min-height: var(--control-height);
  min-width: 112px;
  text-align: center;
  text-decoration: none;
}

.student-welcome-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.student-welcome-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 240px;
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 14px;
}

.student-welcome-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.student-welcome-card-heading > div {
  display: grid;
  gap: 4px;
}

.student-welcome-card-heading span:not(.status-chip) {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.student-welcome-card h3 {
  margin: 0;
  font-size: 1.15rem;
}

.student-welcome-card p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 400;
}

.student-welcome-card > .secondary-action,
.student-document-download {
  width: fit-content;
  min-width: 170px;
  min-height: 40px;
  text-decoration: none;
}

.student-document-upload {
  display: grid;
  gap: var(--control-gap);
}

.student-document-upload .file-picker {
  width: 100%;
  min-height: var(--control-height-upload);
}

.student-document-upload .upload-submit {
  width: 170px;
  min-height: var(--control-height-upload);
}

.sensitive-documents-panel {
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.sensitive-demo-upload {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(320px, 460px) 150px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #d6e0e5;
  background: #f8fbfc;
  padding: 12px 14px;
}

.sensitive-demo-upload h4 {
  margin: 0 0 4px;
  color: #1f2c34;
  font-size: .96rem;
}

.sensitive-demo-upload p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 500;
}

.sensitive-demo-download {
  min-height: 42px;
  text-align: center;
  text-decoration: none;
}

.sensitive-documents-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
  padding: 12px;
}

.sensitive-documents-grid article {
  display: grid;
  gap: 4px;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px;
}

.sensitive-documents-grid strong {
  font-size: .92rem;
}

.sensitive-documents-grid span,
.sensitive-documents-grid em {
  color: var(--muted);
  font-size: .78rem;
  font-style: normal;
  font-weight: 500;
}

.sensitive-documents-note {
  border-top: 1px solid #d6e0e5;
  background: #f6fafb;
  padding: 11px 14px;
}

.sensitive-documents-note p {
  margin: 0;
  color: #405866;
  font-size: .86rem;
  font-weight: 500;
}

.attendance-hospital-list {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  text-align: left;
}

.attendance-hospital-card {
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.attendance-hospital-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 11px 14px;
  cursor: pointer;
}

.attendance-hospital-card > summary > span:first-child {
  display: grid;
  gap: 2px;
}

.attendance-hospital-card > summary strong {
  color: #1f2c34;
}

.attendance-hospital-card > summary em {
  color: var(--muted);
  font-size: .8rem;
  font-style: normal;
  font-weight: 500;
}

.attendance-card-body {
  display: grid;
  gap: 12px;
  border-top: 1px solid #d6e0e5;
  background: #f8fbfc;
  padding: 12px;
}

.hospital-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
}

.hospital-timeline article {
  display: grid;
  gap: 4px;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #ffffff;
  padding: 9px 10px;
}

.hospital-timeline span {
  color: #5e7f91;
  font-size: .76rem;
  font-weight: 800;
}

.hospital-timeline strong {
  color: #1f2c34;
  font-size: .86rem;
}

.hospital-timeline em {
  color: var(--muted);
  font-size: .76rem;
  font-style: normal;
  font-weight: 500;
}

.attendance-session-table {
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #ffffff;
  overflow-x: auto;
}

.attendance-session-head,
.attendance-session-row {
  display: grid;
  grid-template-columns: 90px minmax(150px, 1.05fr) minmax(180px, 1.15fr) minmax(210px, 1.4fr) minmax(125px, .8fr);
  gap: 8px;
  align-items: center;
  min-width: 850px;
  padding: 9px 10px;
  text-align: left;
}

.attendance-session-head > *,
.attendance-session-row > *,
.attendance-student-row > *,
.attendance-record-form label,
.attendance-worklist-row > * {
  text-align: left;
}

.attendance-session-head {
  background: #edf3f6;
  color: #2f3c44;
  font-size: .78rem;
}

.attendance-session-row {
  align-items: start;
  border-top: 1px solid #edf2f4;
  color: #26343c;
  font-size: .82rem;
}

.attendance-group-code {
  display: block;
  margin-top: 2px;
  color: #647883;
  font-size: .72rem;
  font-weight: 600;
}

.attendance-session-entry summary {
  cursor: pointer;
  list-style: none;
}

.attendance-session-entry summary::-webkit-details-marker {
  display: none;
}

.attendance-session-entry[open] > summary {
  background: #f6fafb;
}

.attendance-student-list {
  display: flex;
  gap: 8px;
  border-top: 1px solid #dbe5e9;
  background: #f8fbfc;
  padding: 10px;
  overflow-x: auto;
}

.attendance-student-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) auto;
  gap: 12px;
  align-items: center;
  flex: 1 1 240px;
  min-width: 230px;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #ffffff;
  padding: 9px 10px;
}

.attendance-student-identity,
.attendance-readonly-state {
  display: grid;
  gap: 3px;
}

.attendance-student-identity span,
.attendance-readonly-state > span:not(.status-chip),
.student-absence-actions > span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
}

.attendance-session-record-form {
  display: grid;
  grid-template-columns: minmax(390px, 1.2fr) minmax(220px, .75fr) minmax(260px, 1fr) 82px;
  gap: 8px;
  align-items: center;
  min-width: 1030px;
  border-top: 1px solid #dbe5e9;
  background: #f8fbfc;
  padding: 10px;
  overflow-x: auto;
}

.attendance-session-students {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}

.attendance-student-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 5px;
  flex: 1 1 0;
  min-width: 128px;
  border: 1px solid #d6e0e5;
  background: #ffffff;
  padding: 6px 8px;
}

.attendance-student-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 400;
}

.attendance-student-control select,
.attendance-session-field input {
  min-height: 34px;
  border-radius: 4px;
  padding: 5px 8px;
  font-size: .78rem;
  font-weight: 400;
}

.attendance-student-control select {
  width: 100%;
  min-height: 30px;
  border-radius: 3px;
  padding: 3px 6px;
  font-size: .76rem;
}

.attendance-session-field {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.attendance-session-field > span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
}

.attendance-session-details {
  display: flex;
  gap: 8px;
  align-items: baseline;
  min-width: 850px;
  border-top: 1px solid #dbe5e9;
  background: #f8fbfc;
  padding: 8px 10px;
  color: var(--muted);
  font-size: .78rem;
}

.attendance-session-details strong {
  color: var(--ink);
  font-size: .76rem;
}

.attendance-session-record-form > .secondary-action {
  width: 82px;
  min-height: var(--control-height-compact);
}

.section-title-with-help {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.section-title-with-help h3 {
  margin: 0;
}

.attendance-record-form select,
.attendance-record-form input,
.compact-request-form input,
.attendance-review-form input,
.attendance-review-form select {
  min-height: var(--control-height-compact);
  border: 1px solid #bdcbd2;
  border-radius: 6px;
  background: #ffffff;
  color: #26343c;
  padding: 7px 9px;
  font: inherit;
  font-weight: 400;
}

.student-absence-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px;
  border-top: 1px solid #e1e9ec;
  padding-top: 8px;
}

.compact-request-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 8px;
}

.absence-worklist-panel {
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.absence-worklist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px;
  padding: 12px;
}

.absence-worklist-grid article {
  display: grid;
  gap: 5px;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.absence-worklist-grid strong {
  color: #1f2c34;
  font-size: .9rem;
}

.absence-worklist-grid span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 500;
}

.attendance-worklists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  border-top: 1px solid #d6e0e5;
  background: #f8fbfc;
  padding: 12px;
}

.attendance-worklists.is-single-column {
  grid-template-columns: minmax(0, 1fr);
}

.attendance-worklists > section {
  display: grid;
  align-content: start;
  gap: 8px;
}

.attendance-worklists h4 {
  margin: 0;
  color: #1f2c34;
}

.attendance-worklist-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 8px;
  align-items: start;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.attendance-worklist-row > div {
  display: grid;
  gap: 3px;
}

.attendance-worklist-row span,
.attendance-worklist-row p {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
}

.attendance-review-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) repeat(2, auto);
  gap: 8px;
  align-items: center;
}

.test-upload-list {
  display: grid;
  gap: 8px;
  width: min(100%, var(--content-width-medium));
  margin-bottom: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.test-upload-card {
  display: grid;
  grid-template-columns: 110px minmax(260px, 350px) 130px 100px;
  gap: 10px;
  align-items: center;
  width: min(100%, var(--content-width-medium));
  min-width: 740px;
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.test-upload-card.has-document {
  border-left-color: #2f8060;
}

.test-upload-card .documentation-actions {
  grid-template-columns: minmax(0, 1fr);
}

.test-notification-panel {
  width: min(100%, var(--content-width-medium));
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.test-notification-form {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 130px minmax(0, 1fr);
  gap: 8px;
  align-items: end;
  background: #f8fbfc;
  padding: 12px 14px;
}

.test-notification-form .secondary-action {
  min-height: 40px;
  text-align: center;
  text-decoration: none;
}

.test-notification-date {
  display: grid;
  gap: 3px;
  align-content: center;
  min-height: 40px;
}

.test-notification-date span {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 700;
}

.test-notification-date strong {
  color: var(--ink);
  font-size: .9rem;
  font-weight: 500;
}

.specialized-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.specialized-summary-grid article {
  display: grid;
  gap: 4px;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.specialized-summary-grid span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
}

.specialized-summary-grid strong {
  color: #1f2c34;
  font-size: 1.15rem;
}

.specialized-upload-card {
  display: grid;
  grid-template-columns: 210px minmax(360px, 520px);
  justify-content: start;
  gap: 10px;
  align-items: center;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f8fbfc;
  margin-bottom: 14px;
  padding: 12px 14px;
}

.specialized-upload-card h3 {
  margin: 0;
  color: #1f2c34;
  font-size: 1rem;
}

.specialized-upload-card p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 500;
}

.specialized-upload-copy {
  min-width: 0;
}

.specialized-group-upload-form {
  grid-template-columns: minmax(210px, 320px) 150px;
  justify-content: start;
}

.specialized-hospital-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  align-items: start;
  gap: 8px;
  margin-bottom: 14px;
}

.specialized-hospital-card {
  display: grid;
  gap: 8px;
  border: 1px solid #cbdde2;
  border-left: 4px solid #9aaeba;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px 12px;
}

.specialized-hospital-main {
  display: grid;
  grid-template-columns: minmax(74px, 1fr) auto;
  gap: 12px;
  align-items: start;
  cursor: pointer;
  list-style: none;
}

.specialized-hospital-main::-webkit-details-marker {
  display: none;
}

.specialized-hospital-main::marker {
  content: "";
}

.specialized-hospital-summary {
  display: grid;
  align-content: start;
  gap: 1px;
  min-height: 56px;
}

.specialized-hospital-summary span {
  white-space: nowrap;
}

.specialized-hospital-summary .specialized-empty-state {
  padding-right: 4px;
  white-space: normal;
}

.specialized-hospital-card strong {
  color: #1f2c34;
}

.specialized-hospital-card span:not(.status-chip) {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
}

.specialized-code-list {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
  max-width: 112px;
}

.specialized-hospital-card .specialized-code,
.proposal-code {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid var(--chip-selected-border);
  border-radius: 999px;
  background: var(--chip-selected-bg);
  color: var(--chip-selected-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  padding: 4px 7px;
}

.specialized-code.is-empty {
  border-color: #d7dde0;
  background: #f5f6f7;
  color: #6d7479;
}

.specialized-group-roster {
  border-top: 1px solid #e2eaee;
  display: grid;
  gap: 6px;
  padding-top: 8px;
}

.specialized-group-roster-row {
  display: grid;
  gap: 2px;
  border-radius: 6px;
  background: #f6fafb;
  padding: 6px 7px;
}

.specialized-group-roster-row strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .75rem;
}

.specialized-student-list {
  display: grid;
  gap: 2px;
}

.specialized-student-list span {
  line-height: 1.35;
  white-space: normal;
}

.proposal-review-list {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.proposal-hospital-group,
.proposal-hospital-list {
  display: grid;
  gap: 8px;
}

.proposal-hospital-group {
  border: 1px solid #cbdde2;
  border-radius: 8px;
  background: #f4f8fa;
  padding: 10px;
}

.proposal-hospital-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 32px;
  padding: 0 4px;
}

.proposal-hospital-heading h3 {
  margin: 0;
  color: #27363e;
  font-size: .95rem;
}

.proposal-review-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 16px;
  align-items: start;
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 14px 16px;
}

.proposal-collapsible-card {
  display: block;
  padding: 0;
  overflow: hidden;
}

.proposal-collapsible-summary {
  min-height: 48px;
  padding: 10px 14px;
  list-style: none;
  cursor: pointer;
}

.proposal-collapsible-summary::-webkit-details-marker {
  display: none;
}

.proposal-collapsible-summary .proposal-review-title {
  flex: 1 1 auto;
}

.proposal-disclosure {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-right: 2px solid #6b7c85;
  border-bottom: 2px solid #6b7c85;
  transform: rotate(-45deg);
  transition: transform 140ms ease;
}

.proposal-collapsible-card[open] .proposal-disclosure {
  transform: rotate(45deg);
}

.proposal-collapsible-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 16px;
  align-items: start;
  border-top: 1px solid #dce6ea;
  padding: 14px 16px;
}

.proposal-collapsible-card.is-read-only .proposal-collapsible-body {
  grid-template-columns: minmax(0, 1fr);
}

.proposal-review-card.is-read-only .proposal-review-content {
  grid-column: 1 / -1;
}

.proposal-review-content {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.proposal-review-heading,
.proposal-review-title,
.proposal-context-chips {
  display: flex;
  align-items: center;
  gap: 8px;
}

.proposal-review-heading {
  align-items: flex-start;
  justify-content: space-between;
}

.proposal-review-title {
  min-width: 0;
}

.proposal-review-title strong {
  color: #1f2c34;
  font-size: .96rem;
}

.proposal-detail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 9px 12px;
  margin: 0;
}

.proposal-detail-grid > div {
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
}

.proposal-detail-grid .proposal-detail-wide {
  grid-column: 1 / -1;
}

.proposal-detail-grid dt {
  color: #566770;
  font-size: .72rem;
  font-weight: 700;
}

.proposal-detail-grid dd {
  color: #26343c;
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: anywhere;
}

.proposal-review-card .proposal-code {
  color: #284655;
  font-size: .74rem;
  font-weight: 700;
}

.proposal-review-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  justify-items: stretch;
}

.proposal-review-actions form {
  display: block;
  width: 100%;
}

.proposal-review-actions .secondary-action {
  width: 100%;
  min-height: 38px;
  text-align: center;
}

.proposal-review-return {
  position: relative;
}

.proposal-review-return > summary {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  list-style: none;
  cursor: pointer;
}

.proposal-review-return > summary::-webkit-details-marker {
  display: none;
}

.proposal-review-return form {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  border: 1px solid #d4dee3;
  border-radius: 6px;
  background: #f7fafb;
  padding: 10px;
}

.proposal-review-return label {
  display: grid;
  gap: 5px;
  color: #566770;
  font-size: .72rem;
  font-weight: 700;
}

.proposal-review-return textarea {
  width: 100%;
  min-height: 84px;
  resize: vertical;
  border: 1px solid #bdcbd2;
  border-radius: 5px;
  background: #ffffff;
  color: #26343c;
  padding: 7px 8px;
  font: inherit;
  font-weight: 400;
}

.proposal-review-feedback {
  display: grid;
  gap: 4px;
  border-left: 4px solid #b88a35;
  border-radius: 5px;
  background: #fff9eb;
  padding: 10px 12px;
}

.proposal-review-feedback strong {
  color: #684d1c;
  font-size: .78rem;
}

.proposal-review-feedback p {
  color: #3f4549;
  font-size: .82rem;
  line-height: 1.4;
  margin: 0;
}

.proposal-status-actions {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  justify-items: end;
}

.proposal-tutor-card-actions {
  display: grid;
  grid-template-columns: repeat(2, 96px);
  gap: 8px;
}

.proposal-tutor-card-actions .secondary-action {
  width: 96px;
  min-height: 38px;
}

.proposal-tutor-card-actions [hidden],
.proposal-tutor-editor[hidden] {
  display: none;
}

.proposal-tutor-collapsible-actions {
  display: grid;
  align-content: start;
}

.proposal-tutor-collapsible-actions .proposal-tutor-card-actions {
  grid-template-columns: minmax(0, 1fr);
}

.proposal-tutor-collapsible-actions .secondary-action {
  width: 100%;
}

.proposal-discard-form {
  display: none;
}

.proposal-revision-form {
  grid-template-columns: 150px 170px minmax(170px, 1fr);
  justify-content: start;
  border: 1px solid #d6e0e5;
  border-radius: 7px;
  background: #f7fafb;
  padding: 12px;
}

.proposal-revision-form .proposal-entry-wide {
  grid-column: 1 / -1;
}

.proposal-revision-footer {
  display: flex;
  grid-column: 1 / -1;
  gap: 8px;
  justify-content: flex-end;
}

.proposal-revision-footer .panel-primary-action,
.proposal-revision-footer .secondary-action {
  width: 170px;
  min-height: 40px;
}

html[data-theme="dark"] .proposal-review-feedback {
  border-left-color: #c39b51;
  background: #3a3325;
}

html[data-theme="dark"] .proposal-hospital-group {
  border-color: #45545c;
  background: #242d32;
}

html[data-theme="dark"] .proposal-hospital-heading h3 {
  color: var(--ink);
}

html[data-theme="dark"] .proposal-collapsible-body {
  border-top-color: #45545c;
}

html[data-theme="dark"] .proposal-review-feedback strong,
html[data-theme="dark"] .proposal-review-feedback p {
  color: var(--ink);
}

.specialized-request-panel {
  margin-top: 14px;
}

.proposal-new-entry-panel {
  margin-top: 20px;
}

.proposal-new-entry-disclosure > summary {
  min-height: 48px;
  list-style: none;
  cursor: pointer;
}

.proposal-new-entry-disclosure > summary::-webkit-details-marker {
  display: none;
}

.proposal-new-entry-disclosure > summary h3 {
  flex: 1 1 auto;
  margin: 0;
}

.proposal-new-entry-disclosure[open] > summary .proposal-disclosure {
  transform: rotate(45deg);
}

.proposal-new-entry-disclosure > .proposal-entry-form {
  border-bottom: 0;
}

.proposal-context-chips {
  justify-content: flex-end;
}

html[data-theme="dark"] .proposal-review-title strong,
html[data-theme="dark"] .proposal-detail-grid dd {
  color: var(--ink);
}

html[data-theme="dark"] .proposal-detail-grid dt {
  color: var(--muted);
}

.specialized-request-panel.is-student-view {
  max-width: var(--content-width-wide);
}

.group-request-form {
  grid-template-columns: repeat(2, 280px) 170px;
  justify-content: start;
}

.group-request-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.group-request-card {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #fbfcfd;
  max-width: var(--content-width-wide);
  padding: 10px 12px;
}

.group-request-content {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.group-request-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.group-request-heading > strong {
  color: var(--ink);
  font-size: .9rem;
}

.group-request-members {
  display: grid;
  gap: 3px;
}

.group-request-members span,
.group-request-content p {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 500;
  margin: 0;
}

.group-request-members strong {
  color: var(--ink);
  font-weight: 600;
}

.group-request-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.group-request-card .status-chip.is-complete {
  border-color: var(--chip-complete-border);
  background: var(--chip-complete-bg);
  color: var(--chip-complete-text);
}

.group-request-card .status-chip.is-muted {
  border-color: var(--chip-inactive-border);
  background: var(--chip-inactive-bg);
  color: var(--chip-inactive-text);
}

.direct-entry-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  border-top: 1px solid #dce5e9;
  border-bottom: 1px solid #dce5e9;
  background: #f7fafb;
  padding: 12px 14px;
}

.direct-entry-form label {
  display: grid;
  gap: 5px;
  color: #40515a;
  font-size: .76rem;
  font-weight: 700;
}

.direct-entry-form input,
.direct-entry-form select,
.direct-entry-form textarea,
.review-request-form input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #bdcbd2;
  border-radius: 6px;
  background: #ffffff;
  color: #26343c;
  padding: 8px 9px;
  font: inherit;
  font-weight: 400;
}

.direct-entry-form textarea {
  resize: vertical;
}

.direct-entry-form .direct-entry-wide {
  grid-column: span 2;
}

.direct-entry-form .checkbox-field {
  display: flex;
  align-items: center;
  align-self: center;
  gap: 7px;
}

.direct-entry-form .checkbox-field input {
  width: 16px;
  min-height: 16px;
}

.proposal-entry-form {
  grid-template-columns: 170px 210px minmax(170px, 1fr);
  justify-content: start;
}

.proposal-entry-form .proposal-entry-wide {
  grid-column: 1 / -1;
}

.proposal-entry-form .proposal-compact-field,
.proposal-entry-form .proposal-data-field {
  width: 100%;
}

.proposal-entry-form .panel-primary-action {
  align-self: end;
  justify-self: start;
  min-width: 170px;
}

.direct-request-list {
  display: grid;
}

.direct-request-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #e1e8eb;
  background: #ffffff;
  padding: 11px 14px;
}

.direct-request-row:first-child {
  border-top: 0;
}

.direct-request-row > div:first-child,
.direct-request-members {
  display: grid;
  gap: 3px;
}

.direct-request-row span,
.direct-request-row p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 500;
}

.direct-request-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.review-request-form {
  display: grid;
  grid-template-columns: minmax(160px, 240px) auto;
  gap: 8px;
}

.preference-intro-panel {
  margin-bottom: 14px;
}

.preference-flow {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.preference-section-heading {
  background: #f8e8eb;
}

.preference-section-heading h3 {
  color: #4f252d;
}

.preference-action-form {
  display: none;
}

.preference-upload-card {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(260px, 360px) 120px;
  gap: 10px;
  align-items: center;
  border: 1px solid #ccd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f8fbfc;
  padding: 12px 14px;
}

.preference-upload-card > div {
  display: grid;
  gap: 3px;
}

.preference-upload-card strong,
.preference-table-card h4,
.inactive-notification-panel h4 {
  margin: 0;
  color: #1f2c34;
  font-size: .95rem;
}

.preference-upload-card span,
.preference-table-card p,
.inactive-notification-panel p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 500;
}

.preference-table-card,
.preference-request-panel {
  display: grid;
  gap: 10px;
  border: 1px solid #d3dde2;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.preference-request-panel {
  gap: 0;
  overflow: visible;
  padding: 0;
}

.preference-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.preference-request-panel > .preference-card-heading {
  min-height: 50px;
  align-items: center;
  padding: 10px 12px;
}

.preference-request-panel > .preference-card-heading h4 {
  flex: 1 1 auto;
  margin: 0;
  color: #1f2c34;
  font-size: .95rem;
}

.preference-card-heading::-webkit-details-marker {
  display: none;
}

.preference-card-heading::marker {
  content: "";
}

.preference-card-heading::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid #cfd9de;
  border-radius: 999px;
  background: #f6f9fa;
  color: #526771;
  content: "−";
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
}

.preference-table-card:not([open]) .preference-card-heading::after,
.preference-request-panel:not([open]) .preference-card-heading::after {
  content: "+";
}

.preference-card-heading:hover h4 {
  color: var(--urjc-red);
}

.preference-card-heading > div {
  display: grid;
  gap: 3px;
}

.preference-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dce4e8;
  border-radius: 8px;
}

.preference-table-head,
.preference-table-row {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(220px, 1fr) minmax(260px, 1.3fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
}

.preference-table-head {
  background: #edf3f5;
  color: #31434c;
  font-size: .78rem;
  font-weight: 800;
}

.preference-table-row {
  min-height: 42px;
  border-top: 1px solid #e3eaee;
  color: #2b3338;
  font-size: .8rem;
}

.preference-table-row strong {
  color: #1f2c34;
  font-size: .8rem;
}

.preference-table-row span {
  color: var(--muted);
  line-height: 1.35;
}

.preference-assignment-list {
  display: grid;
  gap: 3px;
}

.preference-assignment-list span {
  line-height: 1.35;
}

.preference-table-row em {
  display: block;
  margin-top: 2px;
  color: #4f6976;
  font-size: .74rem;
  font-style: normal;
  font-weight: 800;
}

.preference-table-row b {
  color: #284655;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.preference-head-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.preference-head-action .secondary-action {
  min-height: 30px;
  padding: 5px 9px;
  white-space: nowrap;
}

.inactive-notification-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px dashed #cbd7dc;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.inactive-notification-panel > div {
  display: grid;
  gap: 3px;
}

.preference-request-list {
  display: grid;
  gap: 8px;
  padding: 10px 12px 12px;
}

.preference-request-help {
  margin: 0;
  border-top: 1px solid #e1e8eb;
  color: var(--muted);
  padding: 10px 12px 0;
  font-size: .8rem;
  font-weight: 500;
}

.preference-request-card {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #dce4e8;
  border-left: 4px solid #7895a4;
  border-radius: 8px;
  background: #fbfcfd;
  max-width: var(--content-width-wide);
  padding: 11px 12px;
}

.preference-request-content {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.preference-request-heading {
  display: flex;
  align-items: center;
  gap: 8px;
}

.preference-request-heading strong {
  color: var(--ink);
  font-size: .9rem;
}

.preference-priority-list {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 24px;
}

.preference-priority-list li {
  color: #40515a;
  font-size: .8rem;
  line-height: 1.35;
}

.preference-priority-list b {
  display: inline-block;
  min-width: 56px;
  color: #284655;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.preference-priority-list span {
  color: var(--muted);
}

.preference-request-meta,
.preference-review-comment {
  margin: 0;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 500;
}

.preference-review-comment {
  border-left: 3px solid #c59a48;
  background: #fff9eb;
  padding: 7px 9px;
}

.preference-request-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.preference-request-actions .secondary-action {
  width: 108px;
}

.preference-discard-action > summary {
  list-style: none;
}

.preference-discard-action > summary::-webkit-details-marker {
  display: none;
}

.preference-discard-action form {
  position: absolute;
  z-index: 5;
  right: 24px;
  display: grid;
  width: 300px;
  gap: 8px;
  margin-top: 6px;
  border: 1px solid #d5dfe4;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(31, 44, 52, .14);
  padding: 10px;
}

.preference-discard-action label {
  color: var(--muted);
  font-size: .74rem;
}

.participant-preference-layout {
  display: grid;
  max-width: var(--content-width-wide);
  gap: 14px;
}

.participant-assignment-card,
.participant-preference-card {
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f8fbfc;
  padding: 14px 16px;
}

.participant-assignment-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #eef8f2;
}

.participant-assignment-card > div,
.participant-assignment-list {
  display: grid;
  gap: 4px;
}

.participant-assignment-card span,
.participant-preference-heading span,
.participant-preference-copy span {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 500;
}

.participant-assignment-card h3,
.participant-preference-heading h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
}

.participant-assignment-list strong {
  color: var(--ink);
  font-size: .84rem;
}

.participant-preference-card {
  display: grid;
  gap: 14px;
}

.participant-preference-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.participant-preference-heading > div,
.participant-preference-copy {
  display: grid;
  gap: 3px;
}

.participant-preference-card > p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
}

.participant-priority-summary {
  border: 1px solid #dce5e9;
  border-radius: 7px;
  background: #ffffff;
  padding: 10px 12px 10px 34px;
}

.participant-preference-form {
  display: grid;
  gap: 12px;
  border-top: 1px solid #dce5e9;
  padding-top: 12px;
}

.preference-select-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 10px;
}

.preference-select-grid label {
  color: #40515a;
  font-size: .76rem;
}

.preference-select-grid select {
  font-weight: 400;
}

.participant-preference-form .panel-primary-action {
  justify-self: start;
  min-width: 170px;
}

.participant-preference-locked {
  border-top: 1px solid #dce5e9;
  background: #f2f6f8;
  padding: 10px 12px;
}

html[data-theme="dark"] .preference-section-heading {
  border-left-color: #dc697b;
  background: #432a31;
}

html[data-theme="dark"] .preference-section-heading h3,
html[data-theme="dark"] .preference-request-panel > .preference-card-heading h4 {
  color: var(--ink);
}

html[data-theme="dark"] .preference-request-panel,
html[data-theme="dark"] .preference-request-card,
html[data-theme="dark"] .participant-preference-card,
html[data-theme="dark"] .participant-priority-summary,
html[data-theme="dark"] .participant-preference-locked {
  border-color: var(--line);
  background: var(--panel);
}

.midpoint-consultation-card {
  overflow: hidden;
  border: 1px solid #cbd8de;
  border-left: 4px solid #5f8798;
  border-radius: 7px;
  background: #f8fbfc;
  margin: 14px 0;
}

.midpoint-consultation-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--surface-header);
}

.midpoint-consultation-heading > div {
  min-width: 0;
}

.midpoint-consultation-heading h3 {
  font-size: 1rem;
}

.midpoint-empty-state,
.midpoint-participant-status {
  color: var(--muted);
  font-size: .86rem;
  font-weight: 500;
  margin: 0;
  padding: 13px 14px;
}

.midpoint-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  border-top: 1px solid #d8e3e8;
  padding: 10px 14px;
}

.midpoint-hospital-list,
.midpoint-participant-list {
  display: grid;
  gap: 8px;
  border-top: 1px solid #d8e3e8;
  padding: 12px 14px 14px;
}

.midpoint-hospital-section,
.midpoint-participant-card,
.midpoint-response-row {
  overflow: hidden;
  border: 1px solid #d1dce1;
  border-radius: 6px;
  background: #fff;
}

.midpoint-hospital-section > summary,
.midpoint-participant-card > summary,
.midpoint-response-row > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.midpoint-hospital-section > summary::-webkit-details-marker,
.midpoint-participant-card > summary::-webkit-details-marker,
.midpoint-response-row > summary::-webkit-details-marker {
  display: none;
}

.midpoint-hospital-section > summary {
  justify-content: space-between;
  background: #eef4f7;
  padding: 10px 12px;
  font-size: .9rem;
  font-weight: 700;
}

.midpoint-hospital-section > summary::before,
.midpoint-participant-card > summary::before,
.midpoint-response-row > summary::before {
  content: "▸";
  flex: 0 0 auto;
  color: var(--urjc-red);
}

.midpoint-hospital-section[open] > summary::before,
.midpoint-participant-card[open] > summary::before,
.midpoint-response-row[open] > summary::before {
  content: "▾";
}

.midpoint-hospital-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 600;
}

.midpoint-response-list {
  display: grid;
  gap: 7px;
  padding: 9px;
}

.midpoint-response-row > summary {
  display: grid;
  grid-template-columns: minmax(230px, 1.5fr) minmax(150px, 1fr) 120px auto;
  padding: 8px 10px;
  font-size: .82rem;
}

.midpoint-response-project {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.midpoint-response-detail {
  border-top: 1px solid #dce5e9;
  padding: 12px;
}

.midpoint-answer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 18px;
  margin: 0;
}

.midpoint-answer-list > div {
  min-width: 0;
}

.midpoint-answer-list dt {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 700;
  margin-bottom: 2px;
}

.midpoint-answer-list dd {
  margin: 0;
  font-size: .86rem;
}

.midpoint-answer-list .midpoint-private-comment {
  grid-column: 1 / -1;
  border-top: 1px solid #dce5e9;
  padding-top: 9px;
}

.midpoint-coordination-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  border-top: 1px solid #dce5e9;
  margin-top: 12px;
  padding-top: 12px;
}

.midpoint-coordination-form label {
  display: grid;
  gap: 5px;
  font-size: .78rem;
  font-weight: 700;
}

.midpoint-coordination-form label span {
  color: var(--muted);
  font-weight: 500;
}

.midpoint-coordination-form textarea,
.midpoint-questionnaire select,
.midpoint-questionnaire textarea {
  border: 1px solid #bdcbd2;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 400;
  padding: 8px 9px;
}

.midpoint-coordination-note {
  border-top: 1px solid #dce5e9;
  margin-top: 12px;
  padding-top: 10px;
  font-size: .84rem;
}

.midpoint-coordination-note p {
  margin: 3px 0 0;
}

.midpoint-participant-card > summary {
  justify-content: space-between;
  padding: 10px 12px;
}

.midpoint-participant-card > summary > span:first-of-type {
  display: grid;
  gap: 2px;
  min-width: 0;
  margin-right: auto;
}

.midpoint-participant-card > summary strong {
  font-size: .9rem;
}

.midpoint-participant-card > summary small {
  color: var(--muted);
  font-size: .76rem;
}

.midpoint-questionnaire {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 14px;
  border-top: 1px solid #dce5e9;
  padding: 13px;
}

.midpoint-questionnaire label {
  display: grid;
  align-content: start;
  gap: 5px;
  font-size: .8rem;
  font-weight: 700;
}

.midpoint-questionnaire select {
  min-height: 38px;
}

.midpoint-question-wide,
.midpoint-privacy-note {
  grid-column: 1 / -1;
}

.midpoint-privacy-note {
  color: var(--muted);
  font-size: .76rem;
  margin: 0;
}

.midpoint-questionnaire .panel-primary-action {
  justify-self: end;
}

html[data-theme="dark"] .midpoint-consultation-card,
html[data-theme="dark"] .midpoint-hospital-section,
html[data-theme="dark"] .midpoint-participant-card,
html[data-theme="dark"] .midpoint-response-row {
  border-color: #53616a;
  background: #252b2f;
}

html[data-theme="dark"] .midpoint-consultation-heading,
html[data-theme="dark"] .midpoint-hospital-section > summary {
  background: #2e383d;
}

html[data-theme="dark"] .midpoint-coordination-form textarea,
html[data-theme="dark"] .midpoint-questionnaire select,
html[data-theme="dark"] .midpoint-questionnaire textarea {
  border-color: #66747c;
  background: #1f2529;
}

.followup-table-card {
  border: 1px solid #d3dde2;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.followup-hospital-list {
  display: grid;
  gap: 14px;
}

.followup-hospital-card {
  overflow: hidden;
  border: 1px solid #ccd9df;
  border-left: 4px solid #789aaa;
  border-radius: 8px;
  background: #ffffff;
}

.followup-hospital-heading {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #dce4e8;
  background: #f2f6f8;
  padding: 8px 12px;
}

.followup-hospital-heading h3 {
  margin: 0;
  font-size: 1rem;
}

.followup-table-wrap {
  overflow-x: auto;
}

.followup-table {
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 0;
  font-size: .76rem;
}

.followup-col-work {
  width: 74px;
}

.followup-col-group {
  width: 78px;
}

.followup-col-tutor {
  width: 64px;
}

.followup-col-minute {
  width: 60px;
}

.followup-col-actions {
  width: 132px;
}

.followup-table th,
.followup-table td {
  border-bottom: 1px solid #e3eaee;
  border-right: 1px solid #e3eaee;
  padding: 6px 5px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.followup-table th {
  background: #edf3f5;
  color: #31434c;
  font-weight: 800;
}

.followup-meeting-heading > span {
  font-size: .68rem;
  line-height: 1.08;
  white-space: normal;
}

.followup-meeting-heading .followup-label-line {
  display: block;
  white-space: nowrap;
}

.followup-table th > span,
.followup-table th > small {
  display: block;
}

.followup-table th > small {
  margin-top: 2px;
  color: #647780;
  font-size: .68rem;
  font-weight: 500;
}

.followup-table th:first-child,
.followup-table td:first-child,
.followup-table th:nth-child(2),
.followup-table td:nth-child(2),
.followup-table th:nth-child(3),
.followup-table td:nth-child(3) {
  text-align: left;
}

.followup-table td:first-child,
.followup-table td:nth-child(2),
.followup-table td:nth-child(3) {
  color: #284655;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight: 800;
}

.followup-tooltip-cell {
  position: relative;
}

.followup-cell-tooltip {
  position: absolute;
  z-index: 20;
  left: 6px;
  top: calc(100% + 6px);
  display: none;
  min-width: 210px;
  max-width: 300px;
  gap: 3px;
  border: 1px solid #bdccd3;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(31, 44, 52, .14);
  padding: 9px 10px;
  color: #27343b;
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 400;
  white-space: normal;
}

.followup-tooltip-cell:hover .followup-cell-tooltip,
.followup-tooltip-cell:focus-within .followup-cell-tooltip {
  display: grid;
}

.followup-cell-tooltip span {
  display: block;
  line-height: 1.25;
}

.closure-actions-panel {
  align-items: center;
}

.closure-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

.closure-actions form {
  display: contents;
}

.closure-table-card {
  border: 1px solid #d3dde2;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.closure-table {
  display: grid;
  overflow-x: auto;
  border: 1px solid #dce4e8;
  border-radius: 8px;
}

.panel-title-with-help {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.panel-title-with-help h3 {
  margin: 0;
}

.closure-action-groups {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 10px;
}

.closure-notification-actions,
.closure-template-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(172px, 1fr));
  gap: 7px;
}

.closure-template-actions {
  grid-template-columns: minmax(178px, 1fr);
}

.closure-notification-actions .secondary-action,
.closure-template-actions .secondary-action {
  width: 100%;
  min-height: var(--control-height-compact);
  padding: 6px 10px;
}

.closure-work-list {
  display: grid;
  gap: 9px;
}

.closure-hospital-card {
  overflow: hidden;
  border: 1px solid #cfd9de;
  border-left: 4px solid #5d8798;
  border-radius: 7px;
  background: #ffffff;
}

.closure-hospital-card > summary,
.final-feedback-form-card > summary,
.feedback-section-card > summary,
.feedback-entry-card > summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  color: #26363e;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.closure-hospital-card > summary::-webkit-details-marker,
.final-feedback-form-card > summary::-webkit-details-marker,
.feedback-section-card > summary::-webkit-details-marker,
.feedback-entry-card > summary::-webkit-details-marker {
  display: none;
}

.closure-hospital-card[open] > summary,
.final-feedback-form-card[open] > summary,
.feedback-section-card[open] > summary {
  border-bottom: 1px solid #dbe3e7;
  background: #edf4f6;
}

.closure-table {
  max-width: 100%;
  overflow-x: auto;
}

.closure-table-head,
.closure-table-row {
  display: grid;
  grid-template-columns:
    minmax(190px, 1.15fr)
    minmax(160px, .9fr)
    minmax(160px, .9fr)
    minmax(150px, .8fr)
    minmax(250px, 1.2fr);
  gap: 10px;
  align-items: center;
  min-width: 980px;
  padding: 8px 10px;
}

.closure-table-head {
  background: #edf3f5;
  color: #31434c;
  font-size: .78rem;
  font-weight: 800;
}

.closure-table-row {
  min-height: 60px;
  border-top: 1px solid #e3eaee;
  color: #2b3338;
  font-size: .8rem;
}

.closure-table-row strong,
.closure-table-row span {
  display: block;
}

.closure-table-row strong {
  color: #284655;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.closure-table-row span {
  color: var(--muted);
  line-height: 1.3;
}

.closure-rubric-upload {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 72px;
  gap: 8px;
  align-items: center;
}

.closure-rubric-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(94px, 1fr));
  gap: 8px;
}

.closure-rubric-actions .secondary-action {
  width: 100%;
  min-height: 30px;
  padding: 5px 9px;
}

.closure-rubric-upload,
.rubric-discard-form {
  grid-column: 1 / -1;
}

.rubric-discard-form {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 94px;
  gap: 7px;
}

.rubric-discard-form input {
  min-height: 30px;
  padding: 5px 8px;
  font-weight: 400;
}

.closure-rubric-status {
  display: grid;
  justify-items: start;
  gap: 5px;
}

.section-status-pill.is-warning {
  border-color: var(--chip-pending-border);
  background: var(--chip-pending-bg);
  color: var(--chip-pending-text);
}

.section-status-pill.is-pending {
  border-color: var(--chip-pending-border);
  background: var(--chip-pending-bg);
  color: var(--chip-pending-text);
}

.section-status-pill.is-inactive {
  border-color: var(--chip-inactive-border);
  background: var(--chip-inactive-bg);
  color: var(--chip-inactive-text);
}

.section-status-pill.is-rejected {
  border-color: var(--chip-error-border);
  background: var(--chip-error-bg);
  color: var(--chip-error-text);
}

.test-stage-intro,
.student-test-notice {
  width: min(100%, var(--content-width-medium));
}

.student-test-notice {
  align-items: center;
}

.student-test-notice p {
  margin: 4px 0 0;
}

.site-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  min-width: inherit;
  border-top: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
  padding: 12px 24px;
  font-size: .74rem;
}

.site-footer span + span::before {
  content: "\00b7";
  margin-right: 14px;
  color: var(--line);
}

.final-feedback-form-card,
.feedback-entry-card {
  overflow: hidden;
  border: 1px solid #d4dde1;
  border-radius: 7px;
  background: #ffffff;
}

.final-feedback-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(190px, 1fr));
  gap: 10px;
  padding: 12px;
}

.final-feedback-form label {
  display: grid;
  gap: 5px;
  color: #3d4a50;
  font-size: .76rem;
  font-weight: 700;
}

.final-feedback-form textarea {
  min-height: 86px;
  resize: vertical;
  font-weight: 400;
}

.final-feedback-form .secondary-action {
  grid-column: 1 / -1;
  justify-self: end;
}

.final-feedback-results {
  display: grid;
  gap: 10px;
}

.feedback-section-card {
  border-top: 1px solid #cfd9de;
  border-bottom: 1px solid #cfd9de;
  background: #f7fafb;
}

.feedback-entry-list {
  display: grid;
  gap: 8px;
  padding: 10px 0;
}

.feedback-entry-card {
  background: #ffffff;
}

.feedback-entry-card > summary {
  min-height: 38px;
  font-size: .8rem;
  font-weight: 600;
}

.feedback-entry-card > summary span:last-child {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 400;
}

.feedback-answer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 8px;
  border-top: 1px solid #e1e7ea;
  padding: 10px 12px;
}

.feedback-answer-grid > div {
  min-width: 0;
}

.feedback-answer-grid strong {
  color: #34464e;
  font-size: .72rem;
}

.feedback-answer-grid p {
  max-height: 150px;
  overflow: auto;
  margin: 4px 0 0;
  color: #3f4a4f;
  font-size: .78rem;
  line-height: 1.4;
  white-space: pre-wrap;
}

.followup-table tr:last-child td {
  border-bottom: 0;
}

.followup-table th:last-child,
.followup-table td:last-child {
  border-right: 0;
}

.followup-row-actions {
  display: grid;
  gap: 4px;
  min-width: 128px;
}

.followup-row-actions .secondary-action {
  width: 100%;
  min-height: 27px;
  padding: 4px 7px;
  font-size: .68rem;
}

.followup-detail-panel {
  border-top: 1px solid #dce4e8;
  background: #f8fafb;
  padding: 10px 12px 12px;
}

.followup-detail-panel > header {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.followup-detail-panel > header h4 {
  margin: 0;
  color: #2f4149;
  font-size: .82rem;
}

.icon-close-button {
  display: inline-grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid #c5d0d5;
  border-radius: 4px;
  background: #ffffff;
  color: #6d151f;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.minute-record-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}

.minute-record-card {
  display: flex;
  height: 190px;
  min-height: 190px;
  flex-direction: column;
  border: 1px solid #b9d4c2;
  border-left: 3px solid #3f8b5b;
  border-radius: 6px;
  background: #ffffff;
  padding: 9px 10px;
  color: #2b373d;
  font-family: var(--font-sans);
  font-size: .76rem;
  font-weight: 400;
}

.minute-record-card.is-pending {
  border-color: #d8e0e4;
  border-left-color: #aebbc1;
  background: #fbfcfc;
}

.minute-record-card header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  border-bottom: 1px solid #e1e8eb;
  padding-bottom: 6px;
  flex: 0 0 auto;
}

.minute-record-card header strong {
  color: #26383f;
  font-size: .8rem;
}

.minute-record-card header span {
  color: #647780;
  font-size: .7rem;
  white-space: nowrap;
}

.minute-record-card p {
  margin: 5px 0;
  line-height: 1.35;
}

.minute-record-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-gutter: stable;
}

.minute-record-card p b {
  font-weight: 700;
}

.minute-record-empty {
  color: #7c8b91;
}

.minute-legacy-download {
  display: inline-flex;
  min-height: 28px;
  margin-top: 5px;
  padding: 4px 8px;
  font-size: .7rem;
}

.minute-form-list {
  display: grid;
  gap: 8px;
}

.minute-form-card {
  border: 1px solid #d2dde2;
  border-radius: 6px;
  background: #ffffff;
}

.minute-form-card > summary {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  padding: 7px 10px;
  color: #28373e;
  font-weight: 700;
  list-style-position: inside;
}

.minute-entry-form {
  display: grid;
  grid-template-columns: minmax(150px, .45fr) minmax(240px, 1fr);
  gap: 9px 12px;
  border-top: 1px solid #e0e7ea;
  background: #f6fafb;
  padding: 11px;
}

.minute-entry-form label {
  display: grid;
  gap: 4px;
  color: #405159;
  font-size: .72rem;
  font-weight: 600;
}

.minute-entry-form input,
.minute-entry-form textarea {
  width: 100%;
  border: 1px solid #bdcbd1;
  border-radius: 4px;
  background: #ffffff;
  padding: 7px 8px;
  color: #243139;
  font: inherit;
  font-size: .78rem;
  font-weight: 400;
}

.minute-entry-wide {
  grid-column: 1 / -1;
}

.minute-entry-form .panel-primary-action {
  justify-self: end;
  grid-column: 1 / -1;
}

.minute-cell {
  width: 60px;
}

.minute-check,
.minute-empty {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
}

.minute-check {
  border: 1px solid #9fc8ad;
  background: #e9f6ed;
  color: #27643f;
  font-weight: 900;
  text-decoration: none;
}

.minute-empty {
  border: 1px dashed #cbd7dc;
  background: #f8fbfc;
}

html[data-theme="dark"] .followup-hospital-card,
html[data-theme="dark"] .minute-record-card,
html[data-theme="dark"] .minute-form-card {
  border-color: var(--line);
  background: var(--panel);
}

html[data-theme="dark"] .followup-hospital-heading,
html[data-theme="dark"] .followup-detail-panel,
html[data-theme="dark"] .minute-entry-form {
  border-color: var(--line);
  background: #253239;
}

html[data-theme="dark"] .icon-close-button {
  border-color: var(--line);
  background: var(--panel);
  color: #f0a1ac;
}

html[data-theme="dark"] .minute-entry-form input,
html[data-theme="dark"] .minute-entry-form textarea {
  border-color: var(--line);
  background: #1f2b31;
  color: var(--ink);
}

.assignment-stage-summary {
  margin-bottom: 14px;
}

.assignment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

.assignment-actions form {
  display: contents;
}

.assignment-actions button {
  min-height: 40px;
}

.assignment-hospital-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  align-items: start;
  gap: 8px;
  margin-bottom: 14px;
}

.assignment-hospital-card {
  border: 1px solid #cbdde2;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: #f8fbfc;
  overflow: hidden;
}

.assignment-hospital-card.has-assignments {
  border-left-color: #7c9a63;
}

.assignment-hospital-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 58px;
  padding: 10px 12px;
  cursor: pointer;
  list-style-position: inside;
}

.assignment-hospital-card summary > span:first-child {
  display: grid;
  gap: 2px;
}

.assignment-hospital-card strong {
  font-size: .92rem;
}

.assignment-hospital-card em {
  color: var(--muted);
  font-size: .74rem;
  font-style: normal;
  font-weight: 700;
}

.assignment-count {
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 4px 8px;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}

.swap-requests-panel {
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.assigned-student-list {
  border-top: 1px solid #d6e0e5;
  background: #ffffff;
  padding: 10px 12px;
}

.assigned-student-list p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 500;
}

.assigned-student-list ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.assigned-student-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf2f4;
  color: #22313a;
  font-size: .84rem;
  line-height: 1.25;
  padding-bottom: 6px;
}

.assigned-student-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.assigned-group-code {
  flex: 0 0 auto;
  border: 1px solid var(--chip-info-border);
  border-radius: 999px;
  background: var(--chip-info-bg);
  color: var(--chip-info-text);
  padding: 2px 7px;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.section-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #d6e0e5;
  background: #eef4f7;
  padding: 11px 14px;
}

.section-heading-row h3 {
  font-size: 1rem;
}

.section-status-pill {
  border: 1px solid var(--chip-neutral-border);
  border-radius: 999px;
  background: var(--chip-neutral-bg);
  color: var(--chip-neutral-text);
  padding: 4px 9px;
  font-size: .78rem;
  font-weight: 800;
}

.section-status-pill.is-success,
.section-status-pill.is-complete {
  border-color: var(--chip-complete-border);
  background: var(--chip-complete-bg);
  color: var(--chip-complete-text);
}

.section-status-pill.is-warning {
  border-color: var(--chip-pending-border);
  background: var(--chip-pending-bg);
  color: var(--chip-pending-text);
}

.empty-state-inline {
  border: 1px dashed #cbdde2;
  border-radius: 8px;
  background: #fbfcfd;
  color: var(--muted);
  margin: 12px;
  padding: 14px;
  font-size: .9rem;
  font-weight: 500;
}

.swap-request-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.swap-request-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.swap-request-list article span,
.swap-request-list article em {
  color: var(--muted);
  font-style: normal;
  font-weight: 500;
}

.student-assignment-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #bfd4dd;
  border-left: 4px solid #4f7f94;
  border-radius: 8px;
  background: #f4f9fb;
  margin-bottom: 14px;
  max-width: var(--content-width-medium);
  padding: 16px 18px;
}

.student-assignment-card > div {
  display: grid;
  gap: 4px;
}

.student-assignment-label {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.student-assignment-card strong {
  color: #222222;
  font-size: 1.5rem;
}

.student-assignment-card p,
.student-swap-form-wrap p,
.student-swap-history p {
  margin: 0;
  color: var(--muted);
  font-weight: 400;
}

.student-swap-form-wrap {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.student-swap-form {
  display: grid;
  grid-template-columns: 340px 150px;
  gap: 10px;
  align-items: end;
}

.student-swap-panel {
  max-width: var(--content-width-medium);
}

.student-swap-form .panel-primary-action {
  width: 150px;
  min-width: 150px;
}

.student-swap-form label {
  display: grid;
  gap: 5px;
  color: #333333;
  font-size: .8rem;
  font-weight: 700;
}

.student-swap-form input,
.decline-swap input {
  min-height: 40px;
  border: 1px solid #b9c8cf;
  border-radius: 6px;
  background: #ffffff;
  color: #222222;
  font: inherit;
  font-weight: 400;
  padding: 8px 10px;
}

.student-swap-history {
  display: grid;
  gap: 8px;
  border-bottom: 1px solid #d6e0e5;
  padding: 12px 14px;
}

.student-swap-history article {
  display: grid;
  gap: 6px;
  border: 1px solid #d6e0e5;
  border-radius: 7px;
  background: #fbfcfd;
  padding: 10px 12px;
}

.student-swap-history article > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.student-swap-history span {
  color: var(--muted);
  font-size: .8rem;
}

.swap-request-list .swap-request-card {
  grid-template-columns: minmax(0, 560px) minmax(240px, auto);
  justify-content: start;
}

.swap-students {
  display: grid;
  grid-template-columns: minmax(0, 260px) auto minmax(0, 260px);
  gap: 8px;
  align-items: center;
}

.swap-students > div {
  min-width: 0;
}

.swap-students strong {
  display: block;
  line-height: 1.3;
}

.swap-direction {
  color: var(--urjc-red) !important;
  font-size: 1.05rem;
}

.swap-resolution {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.swap-resolution form {
  display: contents;
}

.swap-resolution p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 400;
}

.decline-swap {
  position: relative;
}

.decline-swap > summary {
  min-height: 38px;
  border: 1px solid #e0aeb8;
  border-radius: 6px;
  color: var(--urjc-red);
  cursor: pointer;
  font-size: .82rem;
  font-weight: 700;
  list-style: none;
  padding: 9px 12px;
}

.decline-swap > summary::-webkit-details-marker {
  display: none;
}

.decline-swap[open] form {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: minmax(220px, 320px) auto;
  gap: 8px;
  align-items: end;
  width: max-content;
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
  padding: 10px;
}

.decline-swap label {
  display: grid;
  gap: 4px;
  color: #333333;
  font-size: .76rem;
  font-weight: 700;
}

.close-course-form label {
  color: #333333;
  font-size: .86rem;
  font-weight: 800;
}

.checkbox-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.checkbox-line input {
  width: 16px;
  height: 16px;
}

.danger-submit {
  width: fit-content;
}

.profile-accordion {
  display: grid;
  gap: 12px;
}

.profile-section {
  border: 1px solid #cfcfcf;
  border-left: 4px solid #9d9d9d;
  border-radius: 8px;
  background: #ffffff;
  overflow: visible;
}

.profile-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  cursor: pointer;
}

.profile-section-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.profile-section summary em {
  min-width: 32px;
  border-radius: 999px;
  background: rgba(203, 0, 23, .1);
  color: var(--urjc-red);
  padding: 4px 8px;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}

.profile-section[open] summary {
  border-bottom: 1px solid #d2d2d2;
  background: #f1f1f1;
}

.profile-tools {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  align-items: start;
  gap: 12px;
  overflow-x: auto;
  padding: 12px 16px;
  border-bottom: 1px solid #d0d0d0;
  background: #ececec;
}

.profile-tools span {
  color: var(--muted);
  font-size: .86rem;
}

.inline-upload-form {
  display: grid;
  grid-template-columns: minmax(280px, 360px) 150px 22px;
  align-items: stretch;
  gap: var(--control-gap);
  max-width: 100%;
  flex: 0 0 auto;
}

.profile-tools > .secondary-action,
.profile-tools > .manual-create {
  flex: 0 0 auto;
}

.profile-tools > .secondary-action {
  min-height: var(--control-height-upload);
}

.profile-tools > .manual-create[open] {
  grid-column: 1 / -1;
  width: 100%;
}

.preview-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--control-gap);
}

.file-picker {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 2px;
  width: 100%;
  height: var(--control-height-upload);
  min-height: var(--control-height-upload);
  border: 1px dashed #b8b8b8;
  border-radius: 8px;
  background: #ffffff;
  padding: 4px var(--control-padding-inline);
  line-height: 1.2;
  font-size: .84rem;
  cursor: pointer;
}

.file-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.file-picker-main {
  color: #444444;
  font-weight: 800;
  white-space: nowrap;
}

.file-picker-name {
  overflow: hidden;
  color: var(--muted);
  font-size: .8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-picker.is-dragging {
  border-color: var(--urjc-red);
  background: rgba(203, 0, 23, .05);
}

.file-picker.has-file {
  border-color: rgba(203, 0, 23, .45);
}

.file-picker.is-disabled {
  opacity: .58;
  cursor: not-allowed;
}

.file-picker.is-disabled input {
  cursor: not-allowed;
}

.inline-upload-form .secondary-action {
  min-height: var(--control-height-upload);
  width: 150px;
}

.upload-submit {
  height: var(--control-height-upload);
  min-height: var(--control-height-upload);
}

.manual-create {
  position: relative;
}

.manual-create summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height-upload);
  border: 1px solid rgba(203, 0, 23, .35);
  border-radius: var(--control-radius);
  background: #ffffff;
  color: var(--urjc-red);
  padding: 7px var(--control-padding-inline);
  font-size: .88rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.manual-create summary::-webkit-details-marker {
  display: none;
}

.manual-create[open] summary {
  border-color: #c9c9c9;
  background: #eeeeee;
  color: #777777;
  cursor: not-allowed;
  pointer-events: none;
}

.manual-create form {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
  width: min(var(--content-width-medium), 100%);
  margin-top: 10px;
  border: 1px solid #ccd7dd;
  border-radius: 8px;
  background: #f7fbfc;
  padding: 12px;
}

.manual-create form.has-hours {
  grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) 150px 90px;
  width: min(var(--content-width-wide), 100%);
}

.manual-hours-field input {
  width: 88px;
}

.manual-create label {
  font-size: .8rem;
}

.manual-create-wide {
  grid-column: 1 / -1;
}

.manual-create-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
}

.manual-create-actions button {
  align-self: end;
  width: fit-content;
}

.help-tooltip {
  position: relative;
  z-index: 3;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted) !important;
  font-size: .74rem !important;
  font-weight: 900;
  line-height: 1;
  cursor: help;
}

.help-tooltip::after {
  content: none;
}

.tooltip-popup {
  position: fixed;
  z-index: 10000;
  width: max-content;
  max-width: min(320px, calc(100vw - 24px));
  border: 1px solid #444444;
  border-radius: 6px;
  background: #222222;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .2);
  color: #ffffff;
  padding: 8px 10px;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.35;
  pointer-events: none;
  text-align: left;
  white-space: normal;
}

.form-help {
  align-self: center;
}

html[data-theme="dark"] .tooltip-popup {
  border-color: #65737a;
  background: #111517;
  color: #f4f6f7;
}

.secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: #f1f1f1;
  color: #777777;
  padding: 8px var(--control-padding-inline);
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: not-allowed;
}

.secondary-action.is-enabled {
  border-color: rgba(203, 0, 23, .35);
  background: #ffffff;
  color: var(--urjc-red);
  cursor: pointer;
}

.secondary-action.is-enabled:hover {
  border-color: var(--urjc-red);
  background: rgba(203, 0, 23, .06);
}

.secondary-action:disabled {
  opacity: 1;
}

button.is-loading,
.secondary-action.is-loading,
.panel-primary-action.is-loading,
.danger-submit.is-loading {
  pointer-events: none;
  cursor: progress;
}

button.is-loading::before,
.secondary-action.is-loading::before,
.panel-primary-action.is-loading::before,
.danger-submit.is-loading::before {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  content: "";
  animation: submit-spinner .7s linear infinite;
}

@keyframes submit-spinner {
  to {
    transform: rotate(360deg);
  }
}

.compact-messages {
  margin: 0 0 16px;
}

.import-preview {
  display: grid;
  gap: 10px;
  margin: 12px 16px;
  border: 1px solid #9bd2b5;
  border-radius: 8px;
  background: #eaf6ef;
  padding: 12px;
}

.import-preview.has-errors {
  border-color: #e5a3a8;
  background: #fff2f3;
}

.import-preview strong,
.import-preview span {
  display: block;
}

.import-preview span,
.import-preview li {
  color: var(--muted);
  font-size: .88rem;
}

.import-preview ul {
  margin: 0;
  padding-left: 18px;
}

.preview-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.preview-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  font-size: .82rem;
}

.preview-table th,
.preview-table td {
  border: 1px solid #d8eadf;
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}

.preview-table th {
  background: #f5e6e8;
  color: #3a1f23;
  font-weight: 800;
}

.preview-note {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: .82rem;
}

.profile-table-wrap {
  overflow-x: auto;
}

.profile-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
}

.profile-table th,
.profile-table td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.profile-table th {
  background: #f5e6e8;
  color: #3a1f23;
  font-weight: 800;
}

.profile-data-row.is-odd td {
  background: #ffffff;
}

.profile-data-row.is-even td {
  background: #f7f7f7;
}

.profile-data-row:hover td {
  background: #fff7f7;
}

.profile-data-row.is-inactive td {
  background: #e6e6e6;
  color: #5f5f5f;
  font-style: italic;
}

.profile-data-row.is-inactive td:first-child {
  box-shadow: inset 4px 0 0 #8a8a8a;
}

.profile-table th:last-child,
.profile-table td:last-child {
  width: 386px;
  min-width: 386px;
}

.profile-table tbody tr:last-child td {
  border-bottom: 0;
}

.table-actions {
  display: grid;
  grid-template-columns: repeat(4, 90px);
  gap: 6px;
  justify-content: start;
}

.table-actions form {
  margin: 0;
}

.table-actions button {
  min-height: 28px;
  width: 90px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f1f1f1;
  color: #777777;
  padding: 4px 8px;
  font: inherit;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: not-allowed;
}

.profile-notification-preview {
  display: grid;
  gap: 12px;
  margin: 12px 0 16px;
  border: 1px solid #9fc8ad;
  border-radius: 8px;
  background: #f1faf4;
  padding: 14px;
}

.profile-notification-heading,
.profile-notification-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.profile-notification-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .84rem;
}

.profile-notification-recipients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.profile-notification-recipients div {
  border-left: 3px solid #6ba17b;
  padding-left: 9px;
}

.profile-notification-recipients dt {
  color: var(--muted);
  font-size: .74rem;
}

.profile-notification-recipients dd {
  margin: 2px 0 0;
  overflow-wrap: anywhere;
  font-size: .84rem;
}

.profile-notification-form {
  display: grid;
  gap: 10px;
}

.profile-notification-form label {
  display: grid;
  gap: 5px;
  font-size: .8rem;
}

.profile-notification-form input,
.profile-notification-form textarea {
  width: 100%;
}

.profile-notification-form input[readonly] {
  background: #f7f8f8;
  color: #4f5d64;
}

.profile-notification-actions {
  justify-content: flex-end;
}

html[data-theme="dark"] .profile-notification-preview {
  border-color: #557363;
  background: #1d2c23;
}

.table-action-toggle {
  border-color: rgba(203, 0, 23, .35) !important;
  background: #ffffff !important;
  color: var(--urjc-red) !important;
  cursor: pointer !important;
}

.table-action-toggle.is-editing {
  border-color: #b8a4a6 !important;
  background: #eee6e7 !important;
  color: #5f4c4f !important;
  cursor: default !important;
}

.table-action-toggle:disabled:not(.is-editing) {
  border-color: var(--line) !important;
  background: #eeeeee !important;
  color: #999999 !important;
  cursor: not-allowed !important;
}

.profile-detail-row td {
  background: #eef4f7;
  padding: 8px 10px;
}

.profile-detail-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
}

.profile-detail-list div {
  min-width: 0;
  max-width: 260px;
}

.profile-detail-notes {
  flex: 1 1 320px;
  max-width: none;
  margin-left: 4px;
}

.profile-detail-list dt {
  color: #555555;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.profile-detail-list dd {
  margin: 1px 0 0;
  color: #222222;
  font-size: .82rem;
}

.profile-edit-row td {
  background: #eef4f7;
  padding: 10px;
}

.profile-edit-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.profile-edit-wide {
  grid-column: 1 / -1;
}

.profile-edit-form label {
  font-size: .8rem;
}

.profile-edit-form input,
.profile-edit-form select,
.profile-edit-form textarea {
  font-weight: 400;
}

textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid #c9c9c9;
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
  resize: vertical;
}

.profile-edit-actions {
  display: flex;
  gap: 8px;
  grid-column: 1 / -1;
}

.login-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  width: min(100%, var(--content-width-compact));
  max-width: var(--content-width-compact);
}

.hero,
.panel,
.metrics article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  padding: 24px;
}

.hero h2 {
  font-size: 1.9rem;
}

.hero p:last-child {
  margin: 8px 0 0;
  color: var(--muted);
}

.role-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--chip-gap);
}

.role-list span,
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--chip-height);
  box-sizing: border-box;
  border-radius: 999px;
  background: rgba(203, 0, 23, .1);
  color: var(--urjc-red);
  padding: 0 var(--chip-padding-inline);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.metrics article {
  padding: 18px;
  border-top: 4px solid var(--urjc-red);
}

.metrics strong {
  display: block;
  font-size: 2rem;
}

.metrics span,
.row span {
  color: var(--muted);
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.stage-sidebar {
  position: sticky;
  top: 18px;
}

.stage-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 16px;
}

.stage-card header {
  margin-bottom: 12px;
}

.stage-tabs {
  display: grid;
  gap: 8px;
}

.stage-tab {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 72px;
  border: 1px solid var(--line);
  border-left: 4px solid transparent;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  padding: 12px;
  text-decoration: none;
}

.stage-tab strong,
.stage-tab small,
.stage-tab em {
  display: block;
}

.stage-tab small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .78rem;
}

.stage-tab em {
  align-self: flex-start;
  border-radius: 999px;
  background: rgba(203, 0, 23, .1);
  color: var(--urjc-red);
  padding: 3px 8px;
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.stage-tab.is-current,
.stage-tab.is-active {
  border-left-color: var(--urjc-red);
}

.stage-tab.is-active:hover,
.stage-tab.is-current:hover {
  border-color: var(--urjc-red);
  border-left-color: var(--urjc-red);
}

.stage-tab.is-disabled {
  background: #f1f1f1;
  color: #777777;
  cursor: not-allowed;
  opacity: .76;
}

.stage-tab.is-disabled em {
  background: #e1e1e1;
  color: #777777;
}

.panel {
  padding: 18px;
}

.panel.wide {
  grid-column: 1 / -1;
}

.panel header {
  margin-bottom: 12px;
}

.login-panel {
  padding: 24px;
}

.login-panel h2 {
  font-size: 1.18rem;
}

.muted {
  color: var(--muted);
}

code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 800;
}

.rows {
  display: grid;
  gap: 10px;
}

.row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.row:last-child {
  border-bottom: 0;
}

.row strong {
  display: block;
}

.messages {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 8px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: #ffffff;
  transition: opacity .18s ease, transform .18s ease;
}

.message span {
  font-weight: 400;
}

.message.success {
  border-color: #9bd2b5;
  background: #eef8f2;
}

.setup-ready-message {
  margin-top: -6px;
}

.stage-ready-message {
  margin: 0 0 14px;
}

.message.error {
  border-color: #e5a3a8;
  background: #fff2f3;
}

.message.warning {
  border-color: #dfbd79;
  background: #fff7e8;
}

.message.is-hiding {
  opacity: 0;
  transform: translateY(-4px);
}

.message-close {
  min-height: 28px;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 6px;
  background: rgba(255, 255, 255, .65);
  color: #444444;
  padding: 4px 8px;
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
}

.import-grid {
  align-items: start;
}

.template-list {
  display: grid;
  gap: 10px;
}

.template-list a {
  display: block;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px 12px;
  color: var(--ink);
  text-decoration: none;
}

.template-list a:hover {
  border-color: var(--urjc-red);
  color: var(--urjc-red);
}

.import-form {
  display: grid;
  gap: 14px;
}

label {
  display: grid;
  gap: 6px;
  color: #444444;
  font-weight: 800;
}

input,
select {
  width: 100%;
  min-height: var(--control-height);
  border: 1px solid #c9c9c9;
  border-radius: var(--control-radius);
  padding: 8px 10px;
  font: inherit;
  font-weight: 400;
}

textarea {
  font-weight: 400;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  min-height: auto;
  justify-self: start;
}

.primary {
  min-height: var(--control-height);
  border: 0;
  border-radius: var(--control-radius);
  background: var(--urjc-red);
  color: #ffffff;
  padding: 8px var(--control-padding-inline);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.field-error,
.error-text {
  color: var(--urjc-red);
}

.field-help {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.35;
}

.field-help ul {
  margin: 5px 0 0;
  padding-left: 18px;
}

.password-change-panel header > p:last-child {
  margin: 6px 0 0;
  color: var(--muted);
  font-weight: 400;
}

.password-change-panel > form:last-child {
  margin-top: 10px;
}

:is(
  .status-chip,
  .state-chip-list > span,
  .process-stage-date,
  .role-list span,
  .tag,
  .topbar .hospital-context-chip,
  .account-email-chip,
  .audit-outcome,
  .meeting-status,
  .proposal-code,
  .assignment-count,
  .section-status-pill,
  .profile-section summary em,
  .stage-tab em
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  height: var(--chip-height);
  min-height: 0;
  box-sizing: border-box;
  padding-block: 0;
  padding-inline: var(--chip-padding-inline);
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 760px) {
  body:not(.process-app) .topbar,
  body:not(.process-app) .brand,
  body:not(.process-app) .hero,
  body:not(.process-app) .row {
    align-items: stretch;
    flex-direction: column;
  }

  body:not(.process-app) .topbar-context {
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: none;
    padding: 0;
  }

  body:not(.process-app) .metrics,
  body:not(.process-app) .grid,
  body:not(.process-app) .dashboard-shell,
  body:not(.process-app) .login-layout {
    grid-template-columns: 1fr;
  }
}

/* Shared visual language for management and process sections. */
.course-management-heading,
.course-management-content {
  width: min(100%, var(--content-width-medium));
  margin-right: auto;
}

.course-management-heading {
  padding-right: 0;
}

.course-management-workspace .course-instance-form,
.course-management-workspace .course-restore-panel,
.course-management-workspace .course-inspection-empty,
.course-management-workspace .course-deletion-backup,
.course-management-workspace .course-deletion-panel,
.course-management-workspace .course-close-card {
  width: 100%;
  max-width: none;
}

.coordination-panel.is-management,
.process-section-card.is-management {
  border-color: #c7d8e0;
  border-left-color: #5e7f91;
  background: var(--surface-header);
}

.process-section-card,
.process-section-accordion {
  width: 100%;
  margin-bottom: 14px;
  border: 1px solid #cbd7dd;
  border-left: 4px solid #5e7f91;
  border-radius: 8px;
  background: var(--panel);
  overflow: hidden;
}

.process-section-heading,
.process-section-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 52px;
  padding: 11px 14px;
}

.process-section-heading {
  border-bottom: 1px solid #d5e0e5;
  background: var(--surface-header);
}

.process-section-heading h3,
.process-section-accordion > summary strong {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
}

.process-section-accordion > summary {
  background: var(--surface-header);
  cursor: pointer;
  list-style: none;
}

.process-section-accordion > summary::-webkit-details-marker {
  display: none;
}

.process-section-accordion > summary > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.process-section-accordion > summary small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 400;
}

.process-section-accordion[open] > summary {
  border-bottom: 1px solid #d5e0e5;
}

.process-section-body {
  padding: 12px;
}

.clinical-dates-section .rotation-start-form {
  padding: 12px;
}

.specialized-dates-section .rotation-start-form {
  padding: 12px;
}

.specialized-import-section .specialized-import-form {
  grid-template-columns: max-content minmax(260px, 360px) 150px;
  justify-content: start;
  padding: 12px;
}

.specialized-template-actions {
  justify-content: flex-start;
}

.specialized-template-actions a {
  min-width: 128px;
  min-height: var(--control-height-upload);
}

.specialized-request-panel > .section-heading-row {
  border-bottom: 0;
}

.specialized-request-panel[open] > .section-heading-row {
  border-bottom: 1px solid #d5e0e5;
}

.specialized-request-body .group-request-list {
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.preference-flow.process-section-card {
  display: block;
}

.preference-flow-body {
  display: grid;
  gap: 10px;
}

.preference-import-section {
  display: grid;
  gap: 8px;
}

.preference-import-heading h4 {
  margin: 0;
  color: var(--ink);
  font-size: .95rem;
}

.preference-upload-card.specialized-import-form {
  grid-template-columns: max-content minmax(260px, 360px) 150px;
  justify-content: start;
}

.informative-meetings-section {
  margin-top: 14px;
}

.informative-meetings-section .meeting-summary {
  margin-bottom: 12px;
}

.informative-meetings-section .informative-meetings-form,
.informative-meetings-section .presentation-panel {
  margin-top: 0;
}

.informative-meetings-section .presentation-panel {
  margin-top: 12px;
}

.profile-section.is-management:not([open]) {
  border-color: #c7d8e0;
  border-left-color: #5e7f91;
}

.profile-section.is-management:not([open]) summary {
  background: var(--surface-header);
}

.audit-activity-panel {
  margin-bottom: 0;
}

.audit-activity-panel .audit-table-wrap {
  border: 0;
  border-radius: 0;
}

.course-deletion-panel {
  display: block;
  padding: 0;
}

.course-deletion-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  cursor: pointer;
  list-style: none;
}

.course-deletion-panel > summary::-webkit-details-marker {
  display: none;
}

.course-deletion-panel[open] > summary {
  border-bottom: 1px solid #e0b8bd;
}

.course-deletion-body {
  padding: 14px 15px 15px;
}

.course-deletion-body > p {
  margin: 0 0 12px;
}

.course-deletion-form {
  grid-template-columns: minmax(0, 1fr) max-content;
  min-width: 0;
}

.course-close-card {
  display: grid;
  align-items: stretch;
  justify-content: initial;
  gap: 14px;
}

.course-close-card .pending-list {
  margin: 0;
}

.course-close-card .close-course-form {
  width: 100%;
}

.course-close-card textarea {
  width: 100%;
  min-height: 80px;
  border: 1px solid #c9aeb3;
  border-radius: 6px;
  background: var(--panel);
  color: var(--ink);
  padding: 9px 10px;
  font: inherit;
  font-weight: 400;
  resize: vertical;
}

.documentation-section .documentation-card-list {
  margin-bottom: 0;
}

.sensitive-documents-panel {
  margin-top: 14px;
}

.sensitive-documents-panel .process-section-body {
  padding: 0;
}

html[data-theme="dark"] .coordination-panel.is-management,
html[data-theme="dark"] .process-section-card.is-management,
html[data-theme="dark"] .process-section-heading,
html[data-theme="dark"] .process-section-accordion > summary,
html[data-theme="dark"] .profile-section.is-management:not([open]) summary {
  border-color: var(--line);
  background: #253239;
}

html[data-theme="dark"] .process-section-card,
html[data-theme="dark"] .process-section-accordion,
html[data-theme="dark"] .course-close-card textarea {
  border-color: var(--line);
  background: var(--panel);
}
