.submission-list {
  display: grid;
}

.submission-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto 30px;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 13px 20px;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid #e8f0eb;
  transition: background-color .16s ease, transform .16s ease;
}

.submission-row:last-child {
  border-bottom: 0;
}

.submission-row:hover,
.submission-row:focus-visible {
  background: #f4faf6;
  outline: 0;
}

.submission-row:focus-visible {
  box-shadow: inset 3px 0 #0aa85d;
}

.submission-row .account-avatar {
  width: 38px;
  height: 38px;
  font-size: 13px;
}

.submission-row-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.submission-row-copy b,
.submission-row-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.submission-row-copy b {
  font-size: 12px;
}

.submission-row-copy small {
  color: var(--muted);
  font-size: 9px;
}

.submission-row .row-arrow {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #00894b;
  background: #e7f7ed;
  border-radius: 50%;
}

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

.action-back-icon span {
  font-size: 20px;
  line-height: 1;
}

.candidate-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 272px;
  gap: 18px;
  align-items: start;
}

.candidate-profile {
  min-width: 0;
  overflow: hidden;
}

.candidate-profile-hero {
  display: grid;
  grid-template-columns: 64px minmax(210px, .9fr) minmax(340px, 1.25fr);
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  background: linear-gradient(135deg, #f7fbf8 0%, #edf8f1 100%);
  border-bottom: 1px solid #dce9e1;
}

.candidate-avatar {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  color: #007b43;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 800;
  background: #d9f3e3;
  border: 1px solid #c5e8d2;
  border-radius: 20px;
}

.candidate-identity {
  min-width: 0;
}

.candidate-identity .status {
  margin-bottom: 7px;
}

.candidate-profile-hero h2 {
  margin: 7px 0 2px;
  overflow: hidden;
  font-size: 21px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-profile-hero p {
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-profile-hero dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 0;
  padding-left: 20px;
  border-left: 1px solid #d6e5dc;
}

.candidate-profile-hero dl > div:last-child {
  grid-column: 1 / -1;
}

.candidate-profile-hero dt,
.candidate-fields dt {
  margin: 0 0 4px;
  color: #6e837a;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.candidate-profile-hero dd {
  overflow-wrap: anywhere;
  margin: 0;
  color: #183c30;
  font-size: 11px;
  font-weight: 700;
}

.candidate-registration-id dd {
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
  letter-spacing: .015em;
  background: rgba(255, 255, 255, .72);
  border: 1px solid #dce9e1;
  border-radius: 7px;
}

.candidate-photo-section,
.candidate-data-section {
  padding: 19px 22px;
  border-bottom: 1px solid #e6eee9;
}

.candidate-data-section:last-child {
  border-bottom: 0;
}

.candidate-photo-section h3,
.candidate-data-section h3 {
  margin: 0 0 12px;
  color: #173c30;
  font-size: 12px;
}

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

.candidate-photo {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  text-decoration: none;
  background: #f8fbf9;
  border: 1px solid #dbe8e0;
  border-radius: 14px;
}

.candidate-photo:hover,
.candidate-photo:focus-visible {
  border-color: #83caa3;
  outline: 0;
  box-shadow: 0 8px 24px rgba(13, 74, 49, .08);
}

.candidate-photo img {
  display: block;
  width: 148px;
  height: 112px;
  object-fit: contain;
  background: #eaf1ed;
}

.candidate-photo > span {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.candidate-photo b,
.candidate-photo small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-photo b {
  font-size: 10px;
}

.candidate-photo small {
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}

.candidate-data-sections {
  display: grid;
}

.candidate-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.candidate-fields > div {
  min-width: 0;
  padding: 11px 12px;
  background: #f8fbf9;
  border: 1px solid #e2ebe5;
  border-radius: 11px;
}

.candidate-fields dd {
  overflow-wrap: anywhere;
  margin: 0;
  color: #173c30;
  font-size: 10px;
  line-height: 1.55;
}

.candidate-fields dd a {
  color: #008a4c;
  font-weight: 700;
}

.empty-value {
  color: #91a29b;
  font-style: italic;
}

.review-decision {
  position: sticky;
  top: 22px;
  padding: 20px;
}

.review-decision h2 {
  margin: 5px 0 7px;
  font-size: 18px;
}

.review-history {
  min-height: 35px;
  margin: 0 0 15px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.review-status-form,
.review-decision > form {
  display: grid;
  gap: 8px;
  margin: 0;
}

.review-status-form {
  margin-bottom: 8px;
}

.review-choice {
  display: flex;
  width: 100%;
  min-height: 44px;
  gap: 9px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 13px;
  color: #173c30;
  font: 800 10px/1 var(--body);
  cursor: pointer;
  background: #fff;
  border: 1px solid #d7e4dc;
  border-radius: 11px;
}

.review-choice span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
}

.review-choice:hover,
.review-choice:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.review-verified span {
  color: #008d4d;
  background: #ddf6e7;
}

.review-verified:hover,
.review-verified.selected {
  color: #007c44;
  background: #edf9f2;
  border-color: #86d3a7;
}

.review-suspend span {
  color: #a16a00;
  background: #fff1cf;
}

.review-suspend:hover,
.review-suspend.selected {
  color: #8b5c00;
  background: #fff9eb;
  border-color: #e5c16f;
}

.review-delete {
  color: #a8412c;
}

.review-delete span {
  color: #bd4e36;
  background: #fde9e4;
}

.review-delete:hover,
.review-delete:focus-visible {
  background: #fff6f3;
  border-color: #eab5a9;
}

.review-decision > .review-status-form,
.review-decision > form {
  display: none;
}

.review-actions {
  display: grid;
  gap: 8px;
}

.review-actions form {
  margin: 0;
}

.review-actions .review-choice {
  width: 100%;
  min-height: 38px;
  padding: 0 11px;
  font-size: 9px;
  border-radius: 9px;
}

.review-actions .review-choice > span {
  width: 21px;
  height: 21px;
}

.review-suspend-form {
  display: grid;
  gap: 7px;
}

.review-suspend-form label {
  display: grid;
  gap: 5px;
  margin: 0;
  color: #6e837a;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.review-suspend-form input {
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 11px;
  color: #173c30;
  font-size: 9px;
  background: #fffdf7;
  border: 1px solid #e6cc8e;
  border-radius: 9px;
}

.review-suspend-form input:focus {
  border-color: #b77b08;
  outline: 3px solid rgba(222, 165, 50, .15);
}

@media (max-width: 1240px) {
  .candidate-review-layout {
    grid-template-columns: 1fr;
  }

  .review-decision {
    position: static;
  }

  .review-status-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 761px) and (max-width: 1240px) {
  .review-decision {
    display: grid;
    grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr);
    gap: 20px;
    align-items: end;
    padding: 16px 18px;
  }

  .review-decision > .overline,
  .review-decision > h2,
  .review-decision > .review-history {
    grid-column: 1;
  }

  .review-decision > .overline {
    align-self: end;
    margin-bottom: -13px;
  }

  .review-decision > h2 {
    margin-bottom: -12px;
  }

  .review-decision > .review-history {
    min-height: 0;
    margin: 0;
  }

  .review-actions {
    grid-column: 2;
    grid-row: 1 / span 3;
    grid-template-columns: auto minmax(310px, 1fr) auto;
    align-items: end;
  }

  .review-suspend-form {
    grid-template-columns: minmax(190px, 1fr) auto;
    align-items: end;
  }

  .review-suspend-form label {
    min-width: 0;
  }

  .review-actions .review-choice {
    width: auto;
    min-width: 108px;
  }
}

@media (max-width: 760px) {
  .submission-row {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    padding: 12px 14px;
  }

  .submission-row .row-arrow {
    display: none;
  }

  .candidate-profile-hero {
    grid-template-columns: 54px minmax(0, 1fr);
    padding: 17px;
  }

  .candidate-avatar {
    width: 54px;
    height: 54px;
    border-radius: 16px;
  }

  .candidate-profile-hero dl {
    grid-column: 1 / -1;
    padding-top: 13px;
    padding-left: 0;
    border-top: 1px solid #dbe8e0;
    border-left: 0;
  }

  .candidate-profile-hero h2,
  .candidate-profile-hero p {
    white-space: normal;
  }

  .candidate-photo-section,
  .candidate-data-section {
    padding: 16px;
  }

  .candidate-photo-grid,
  .candidate-fields {
    grid-template-columns: 1fr;
  }

  .candidate-photo {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .candidate-photo img {
    width: 120px;
    height: 96px;
  }

  .review-status-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .submission-row .status {
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .candidate-profile-hero dl {
    grid-template-columns: 1fr;
  }

  .candidate-profile-hero dl > div:last-child {
    grid-column: auto;
  }

  .candidate-photo {
    grid-template-columns: 1fr;
  }

  .candidate-photo img {
    width: 100%;
    height: 170px;
  }
}

/* Single-decision review control */
.review-actions {
  grid-template-columns: 1fr;
  gap: 9px;
}

.review-decision-form {
  display: grid;
  gap: 8px;
  margin: 0;
}

.review-control {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 0;
  color: #6e837a;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.review-control[hidden],
.review-note[hidden] {
  display: none !important;
}

.review-control input {
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 11px;
  color: #173c30;
  font-size: 9px;
  background: #fffdf7;
  border: 1px solid #e3c77f;
  border-radius: 9px;
}

.review-control input:focus {
  border-color: #b77b08;
  outline: 3px solid rgba(222, 165, 50, .15);
}

.review-decision-form .custom-select-trigger {
  min-height: 38px;
  padding: 0 11px;
  font-size: 9px;
  border-radius: 9px;
}

.review-decision-form .custom-select-option {
  min-height: 36px;
  font-size: 9px;
}

.review-save {
  min-height: 38px;
  padding: 0 14px;
  color: #fff;
  font: 800 9px/1 var(--body);
  cursor: pointer;
  background: #08a85c;
  border: 1px solid #08a85c;
  border-radius: 9px;
}

.review-save:hover,
.review-save:focus-visible {
  background: #008f4e;
  border-color: #008f4e;
  outline: 3px solid rgba(8, 168, 92, .14);
}

.review-delete-form .review-choice {
  width: 100%;
}

/* Allow the decision form to shrink inside its grid track. */
.review-actions,
.review-decision-form,
.review-delete-form {
  min-width: 0;
}

@media (min-width: 761px) and (max-width: 1240px) {
  .review-actions {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .review-decision-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }

  .review-status-control {
    grid-column: 1;
    grid-row: 1;
  }

  .review-save {
    grid-column: 2;
    grid-row: 1;
    min-width: 92px;
  }

  .review-decision-form.is-rejected .review-status-control {
    grid-column: 1 / -1;
  }

  .review-decision-form.is-rejected .review-note {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .review-decision-form.is-rejected .review-save {
    grid-column: 2;
    grid-row: 3;
  }

  .review-delete-form {
    align-self: end;
  }
}

/* Give the controls the full panel width when the sidebar leaves less room. */
@media (min-width: 761px) and (max-width: 1000px) {
  .review-decision:not(.registrant-edit-decision) {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .review-decision:not(.registrant-edit-decision) > .overline,
  .review-decision:not(.registrant-edit-decision) > h2 {
    margin-bottom: 0;
  }

  .review-decision > .review-actions {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Registrant corrections */
.candidate-edit-toolbar{display:flex;justify-content:flex-end;padding:16px 22px;border-bottom:1px solid #e4eee8}
.candidate-edit-toolbar .button{min-height:40px;font-size:13px}
.registrant-edit-form{max-width:1000px;padding:24px}
.registrant-edit-intro h2{margin:0 0 8px}.registrant-edit-intro p{color:#62776b;line-height:1.6;font-size:14px}
.registrant-edit-section{border:0;border-top:1px solid #e4eee8;margin:24px 0 0;padding:20px 0 0;min-width:0}
.registrant-edit-section legend{padding:0 12px 0 0;font-size:16px;font-weight:700;color:#173c30}
.registrant-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.registrant-edit-field,.registrant-edit-note{display:grid;gap:8px;align-content:start;min-width:0}
.registrant-edit-field>label,.registrant-edit-note>label{font-size:13px;font-weight:700;color:#173c30}
.registrant-edit-field input:not([type=checkbox]),.registrant-edit-field textarea,.registrant-edit-field select,.registrant-edit-note textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #ccdcd2;border-radius:9px;font:inherit;font-size:14px;background:#fff;color:#173c30}
.registrant-edit-field input:focus,.registrant-edit-field textarea:focus,.registrant-edit-field select:focus,.registrant-edit-note textarea:focus{outline:3px solid #08a85c25;border-color:#08a85c}
.registrant-edit-field small,.registrant-edit-note label span{color:#62776b;font-size:12px;font-weight:400}
.registrant-edit-field.field-wide{grid-column:1/-1}.registrant-readonly{padding:11px 12px;background:#f4f8f5;border-radius:9px;overflow-wrap:anywhere;font-size:14px}
.registrant-edit-choices{display:grid;gap:10px}.registrant-edit-choices label{display:flex;align-items:center;gap:9px;font-size:14px}.registrant-edit-choices input{width:18px;height:18px;accent-color:#08a85c}
.registrant-edit-note{margin-top:24px}.registrant-edit-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e4eee8}
.candidate-edit-history{padding:22px;border-top:1px solid #e4eee8}.candidate-edit-history h3{font-size:16px;margin:0 0 8px}.candidate-edit-history>p,.candidate-edit-history details>p{font-size:12px;color:#62776b;overflow-wrap:anywhere}
.candidate-edit-history details{border-top:1px solid #e4eee8;padding:12px 0}.candidate-edit-history summary{cursor:pointer;font-size:13px;line-height:1.6}
.candidate-edit-change{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:12px;background:#f4f8f5;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.candidate-edit-change>b{grid-column:1/-1}.candidate-edit-change span{white-space:pre-wrap}.candidate-edit-change small{display:block;color:#62776b;margin-bottom:4px}
@media(max-width:760px){.registrant-edit-form{padding:16px}.registrant-edit-grid{grid-template-columns:1fr}.candidate-edit-toolbar{padding:16px}.candidate-edit-toolbar .button{width:100%}.registrant-edit-actions{flex-wrap:wrap}.candidate-edit-change{grid-template-columns:1fr}}

/* Editing shares the review page's profile, photo grid, and field cards. */
.registrant-edit-layout{margin:0}
.candidate-edit-mode{justify-content:flex-start;align-items:center;gap:12px;flex-wrap:wrap}
.candidate-edit-mode>span{padding:5px 9px;border-radius:7px;background:#e0f4e8;color:#007b43;font-size:11px;font-weight:800}
.candidate-edit-mode>p{margin:0;color:#62776b;font-size:12px}
.registrant-edit-layout .alert{margin:16px 22px}
.registrant-edit-layout .registrant-edit-grid{gap:9px}
.registrant-edit-layout .registrant-edit-field{gap:6px}
.registrant-edit-layout .registrant-edit-field>label{margin:0;color:#6e837a;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.registrant-edit-layout .registrant-edit-field input:not([type=checkbox]),.registrant-edit-layout .registrant-edit-field textarea,.registrant-edit-layout .registrant-edit-field select{padding:9px 10px;font-size:12px;border-radius:7px;min-height:38px}
.registrant-edit-layout .registrant-readonly{padding:0;background:transparent;font-size:10px;line-height:1.55}
.registrant-edit-layout .registrant-edit-choices label{font-size:12px}
.registrant-edit-layout .registrant-edit-field small{font-size:10px}
.registrant-edit-layout .registrant-edit-note{margin-top:0}
.registrant-edit-layout .registrant-edit-note>label{font-size:11px}
.registrant-edit-layout .registrant-edit-note textarea{font-size:12px}
.registrant-edit-layout .registrant-edit-actions{display:grid;gap:8px;margin-top:16px;padding-top:16px}
.registrant-edit-layout .registrant-edit-actions .button{width:100%;font-size:12px;min-height:40px}
.registrant-edit-status-note{margin:12px 0 0;font-size:11px;color:#62776b;line-height:1.6}
@media(min-width:761px) and (max-width:1240px){.registrant-edit-layout .registrant-edit-decision{display:block}.registrant-edit-layout .registrant-edit-decision>.overline{margin-bottom:0}.registrant-edit-layout .registrant-edit-decision>h2{margin-bottom:7px}.registrant-edit-layout .registrant-edit-decision>.review-history{margin-bottom:15px}}
@media(max-width:760px){.registrant-edit-layout .alert{margin:16px}.registrant-edit-layout .registrant-edit-field input:not([type=checkbox]),.registrant-edit-layout .registrant-edit-field textarea,.registrant-edit-layout .registrant-edit-field select,.registrant-edit-layout .registrant-edit-note textarea{font-size:16px}}

/* Compact edit action next to the submitted timestamp. */
.candidate-submitted{position:relative;padding-right:46px;min-height:38px}
.candidate-edit-icon{position:absolute;top:0;right:0;display:grid;place-items:center;width:36px;height:36px;border:1px solid #c5e3d1;border-radius:9px;color:#00894b;background:#fff;text-decoration:none}
.candidate-edit-icon:hover{background:#e7f7ed;border-color:#83caa3}
.candidate-edit-icon:focus-visible{outline:3px solid #08a85c40;outline-offset:2px}
@media(pointer:coarse){.candidate-submitted{padding-right:52px;min-height:44px}.candidate-edit-icon{width:44px;height:44px}}

/* Compact correction history: before, after, editor. */
.candidate-history-scroll{overflow-x:auto;border:1px solid #e4eee8;border-radius:9px}
.candidate-history-scroll:focus-visible{outline:2px solid #08a85c;outline-offset:2px}
.candidate-history-table{width:100%;min-width:420px;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:11px;line-height:1.5}
.candidate-history-table th,.candidate-history-table td{padding:9px 12px;border-bottom:1px solid #e4eee8;vertical-align:top;overflow-wrap:anywhere}
.candidate-history-table th{background:#f4f8f5;color:#62776b;font-size:10px;font-weight:700;letter-spacing:0;text-transform:none}
.candidate-history-table th:nth-child(1),.candidate-history-table th:nth-child(2){width:35%}
.candidate-history-table th:nth-child(3){width:30%}
.candidate-history-table tbody tr:last-child td{border-bottom:0}
.candidate-history-table td>span{white-space:pre-wrap}
.candidate-history-field{display:block;margin-bottom:3px;color:#62776b;font-size:10px;font-weight:700}
.candidate-history-editor strong{display:block;color:#173c30;font-size:11px}
.candidate-history-editor small{display:block;margin-top:3px;color:#62776b;font-size:10px}
.candidate-history-note{white-space:pre-wrap}

.candidate-edit-history .candidate-history-collapse{border:0;padding:0}
.candidate-edit-history .candidate-history-collapse>summary{font-size:16px;font-weight:700;line-height:1.5;color:#173c30;cursor:pointer}
.candidate-history-collapse[open]>summary{margin-bottom:12px}
.candidate-history-collapse>summary:focus-visible{outline:2px solid #08a85c;outline-offset:4px;border-radius:4px}

.candidate-photo-item{min-width:0}
.correction-photo-upload{margin-top:8px;min-width:0}
.correction-photo-drop{min-height:66px;padding:12px;font-size:12px;border-radius:9px}
.correction-photo-drop b{font-size:12px}.correction-photo-drop [data-file-name]{font-size:10px;overflow-wrap:anywhere}
.correction-photo-preview{margin-top:8px;min-width:0}.correction-photo-preview img{width:84px;height:72px;object-fit:contain}.correction-photo-preview small{overflow-wrap:anywhere}
.correction-photo-clear{margin-top:8px;padding:6px 0;border:0;background:transparent;color:#9b4934;font:inherit;font-size:11px;cursor:pointer;text-decoration:underline}
.registrant-upload-status{font-size:12px;line-height:1.5;color:#007b43}
[data-correction-save]:disabled{opacity:.65;cursor:wait}
