.a3maaly-field-invalid {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}

.a3maaly-field-error {
  margin-top: .35rem;
  color: #b91c1c;
  font-size: .78rem;
  line-height: 1.45;
}

.a3maaly-submitting {
  cursor: wait !important;
  opacity: .72;
  pointer-events: none;
}

.a3maaly-submitting::after {
  content: '';
  display: inline-block;
  inline-size: .85rem;
  block-size: .85rem;
  margin-inline-start: .45rem;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  vertical-align: -.12rem;
  animation: a3maaly-form-spin .7s linear infinite;
}

.a3maaly-draft-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem .9rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(37, 99, 235, .25);
  border-radius: .75rem;
  background: rgba(37, 99, 235, .07);
}

.a3maaly-draft-banner small {
  display: block;
  margin-top: .2rem;
  color: var(--text-muted, #64748b);
}

.a3maaly-draft-actions {
  display: flex;
  gap: .45rem;
  flex-shrink: 0;
}

.a3maaly-draft-actions button {
  min-height: 2.1rem;
  padding: .35rem .65rem;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: .55rem;
  background: var(--surface, #fff);
  color: inherit;
  cursor: pointer;
}

.a3maaly-draft-actions [data-restore] {
  border-color: var(--primary, #2563eb);
  background: var(--primary, #2563eb);
  color: #fff;
}

@keyframes a3maaly-form-spin { to { transform: rotate(360deg); } }

@media (max-width: 640px) {
  .a3maaly-draft-banner { align-items: stretch; flex-direction: column; }
  .a3maaly-draft-actions button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .a3maaly-submitting::after { animation-duration: 1.5s; }
}
