dialog[aria-labelledby="candidate-confirmation-title"] {
  position: fixed; inset: 0; margin: auto; box-sizing: border-box;
  width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  overflow: auto; border: 0; border-radius: 16px; padding: 28px 24px;
  background: #fff; color: #191c1d; font-family: inherit; text-align: right;
  box-shadow: 0 20px 60px #0004;
}
dialog[aria-labelledby="candidate-confirmation-title"]::backdrop { background: rgb(0 30 35 / 48%); }
#candidate-confirmation-title { font-size: 24px; line-height: 1.3; margin: 0 0 12px; }
#candidate-confirmation-description { font-size: 18px; line-height: 1.6; margin: 0 0 24px; }
dialog[aria-labelledby="candidate-confirmation-title"] button {
  box-sizing: border-box; min-height: 44px; padding: 10px 22px; border-radius: 8px;
  border: 1px solid #00616c; background: #fff; color: #00616c;
  font: inherit; font-size: 17px; font-weight: 600; cursor: pointer;
}
dialog[aria-labelledby="candidate-confirmation-title"] button + button { margin-inline-start: 10px; background: #00616c; color: #fff; }
dialog[aria-labelledby="candidate-confirmation-title"] button:focus-visible { outline: 3px solid #00a5b7; outline-offset: 3px; }
dialog[aria-labelledby="candidate-confirmation-title"] button:disabled { opacity: .6; cursor: wait; }

/* Native modal makes the background inert for pointer, touch and keyboard input. */
#candidate-submitting {
  position: fixed; inset: 0; margin: auto; box-sizing: border-box;
  width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  overflow: auto; overscroll-behavior: contain; border: 0; border-top: 5px solid #00616c;
  border-radius: 16px; padding: 32px 24px; background: #fff; color: #191c1d;
  font-family: inherit; text-align: center; box-shadow: 0 20px 60px #0004;
}
#candidate-submitting::backdrop { background: rgb(0 30 35 / 60%); }
#candidate-submitting-title { font-size: 24px; line-height: 1.4; margin: 18px 0 12px; }
#candidate-submitting-description { font-size: 18px; line-height: 1.7; margin: 0; }
.candidate-submitting-spinner {
  width: 44px; height: 44px; margin: 0 auto; border: 4px solid #d4e8ea;
  border-top-color: #00616c; border-radius: 50%; animation: candidate-submitting-spin 1s linear infinite;
}
#candidate-submitting[data-state="uncertain"] .candidate-submitting-spinner { display: none; }
@keyframes candidate-submitting-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .candidate-submitting-spinner { animation: none; } }

#candidate-submit-error { font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; text-align: right; }
#candidate-submit-error:empty { display: none; }
