.ufm-required-submit {
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.ufm-required-submit:disabled,
.ufm-required-submit[aria-disabled="true"] {
    background: #dceaf6 !important;
    border-color: #bfd5e8 !important;
    box-shadow: none !important;
    color: #405d73 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    transform: none !important;
}

.ufm-required-submit.is-ready:not(:disabled) {
    background: var(--ufm-required-submit-active, #0b4f82) !important;
    border-color: var(--ufm-required-submit-active, #0b4f82) !important;
    color: #fff !important;
    cursor: pointer;
}

.ufm-required-submit.is-ready:not(:disabled):hover {
    background: var(--ufm-required-submit-hover, #07385e) !important;
    border-color: var(--ufm-required-submit-hover, #07385e) !important;
}

.ufm-required-submit:focus-visible {
    outline: 3px solid #ff6b5e !important;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .ufm-required-submit { transition: none; }
}

/* The auth shell promotes `no-js` to `js` immediately when scripting works.
   Keep intrinsic media/control sizes from widening the document in the real
   no-script fallback. */
html.no-js,
html.no-js body {
    max-inline-size: 100%;
    overflow-x: hidden;
}

html.no-js img,
html.no-js svg,
html.no-js button,
html.no-js input,
html.no-js select,
html.no-js textarea {
    box-sizing: border-box;
    max-inline-size: 100%;
}
