vaadin-integer-field[readonly][invalid] {
    --lumo-required-field-indicator-color: var(--lumo-primary-text-color);
    --vaadin-input-field-invalid-background: transparent;
    --vaadin-input-field-invalid-hover-highlight: transparent;
}

vaadin-integer-field[disabled][invalid] {
    --lumo-required-field-indicator-color: var(--lumo-primary-text-color);
    --vaadin-input-field-invalid-background: var(--lumo-contrast-5pct);
}

vaadin-integer-field[disabled][has-error-message]::part(error-message),
vaadin-integer-field[readonly][has-error-message]::part(error-message) {
    display: none;
}