.loading-indicator {
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  box-sizing: border-box;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: loading-turn 700ms linear infinite;
}
.action-progress {
  position: fixed;
  z-index: 1100;
  left: 50%;
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: max-content;
  max-width: calc(100% - 2rem);
  box-sizing: border-box;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: #fff;
  color: #101827;
  box-shadow: 0 8px 32px rgb(16 35 51 / 18%);
  font-family: Onest, system-ui, sans-serif;
  font-size: 0.9rem;
  line-height: 1.45;
}
.action-progress[hidden] { display: none; }
.loading-indicator[hidden] { display: none; }
.action-progress > .loading-indicator { color: #075fc4; }
.action-progress p { margin: 0; font-weight: 650; }
.action-progress .action-progress-detail { margin-top: 0.2rem; font-size: 0.8rem; font-weight: 400; color: #526274; }
form[aria-busy="true"] button[type="submit"] { cursor: progress; }
@keyframes loading-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .loading-indicator { animation: none; }
}
